{"version":3,"sources":["webpack:///./src/views/markets/calendar.vue","webpack:///./src/views/markets/calendar.vue?cfaa","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/series/BaseColumnSeries.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/series/ColumnSeries.js","webpack:///./node_modules/@amcharts/amcharts5/.internal/charts/xy/axes/GaplessDateAxis.js"],"names":["class","_createElementVNode","aria-hidden","width","align","colspan","type","name","href","style","id","_hoisted_114","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_toDisplayString","_ctx","$t","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","onClick","_cache","$options","toggleFilter","_createVNode","_component_vue_feather","size","_hoisted_10","_normalizeClass","$data","filterOpen","country","_hoisted_11","_hoisted_12","_withModifiers","$event","dropdownMenu2","_hoisted_13","_Fragment","_renderList","countryFilterOptions","option","countryFilterKey","key","currentCountryFilter","selectCountriesFromTab","_hoisted_14","_hoisted_15","_hoisted_16","allCountries","countryKey","_hoisted_17","toggleSelection","checked","inSelectedCountries","_hoisted_19","_hoisted_20","_hoisted_21","clearCountries","getCalendarList","_hoisted_22","oneStar","filters","impact","twoStar","threeStar","_createBlock","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","value","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","getTimezoneSelected","selectedTimeZone","timezone","_hoisted_36","_hoisted_37","static_vars","timezonesCalendar","tz","label","_hoisted_38","_hoisted_39","customCalendarDate","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","formatCustomDate","_hoisted_44","_hoisted_45","dateChangeActive","_hoisted_46","dropdownMenu","filterJson","_hoisted_47","active","changeDate","toggleCalendar","showCalendar","_component_VueDatePicker","range","handleDate","multiCalendars","inline","autoApply","multiCalendarsSolo","enableTimePicker","ref","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","dateAdjustedEvents","row","iOuter","_hoisted_58","_hoisted_59","hideDateWise","includes","date","hideDateRow","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","formatDate","_hoisted_65","items","length","item","index","_hoisted_66","_hoisted_67","importance","_hoisted_68","_hoisted_69","_hoisted_70","_component_v_lazy_image","height","src","toLowerCase","alt","title","_hoisted_71","event","_hoisted_72","actual","_hoisted_73","teForecast","_hoisted_74","forecast","_hoisted_75","previous","_hoisted_76","_hoisted_77","_hoisted_78","modalIndexInner","modalIndexOuter","_hoisted_79","_hoisted_80","showAlertBox","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","indexInner","toggleInner","ticker","indexOuter","_hoisted_109","_hoisted_110","_hoisted_111","$setup","store","tradesLoading","_component_Loader","classname","calendarTickerData","definition","_hoisted_112","_hoisted_113","_hoisted_115","chartdata","_component_Nodata","_hoisted_116","setup","myStore","data","selectedCountries","addFilter","addImpactFilter","addTimeZone","openTable","addAlert","submitVote","sliderValue","slider","low","high","step","caldata","recent","this","today","tomorrow","week","nextWeek","nextMonth","yesterday","prevWeek","prevMonth","custom","countries","dates","from","moment","subtract","format","to","add","watch","computed","arr","economicCalendarCountries","map","i","push","Set","sort","a","b","localeCompare","Object","keys","calendarData","temp","allEvents","obj","assign","COMMON","formatCalendarDate","ind","findIndex","j","mounted","_that","$","document","on","target","closest","methods","indexOf","splice","k","d","Date","formData","filter","offset","getTimezoneOffset","priority","parseFloat","getCalendar","then","catch","err","console","log","message","startOf","endOf","tab","error","val","find","getFormattedPrice","price","isNaN","toFixed","stringPrice","parseInt","toLocaleString","toString","split","setSliderValues","operation","initialValue","match","Math","abs","symbol","getCalendarTickerHistory","Symbol","setTimeout","am5","drawBarChart","fromNow","disposeRoot","rootElements","dom","dispose","root","new","setThemes","am5themes_Animated","chart","container","children","am5xy","panX","panY","cursor","set","lineY","lineX","xRenderer","labels","template","setAll","centerY","xAxis","xAxes","baseInterval","timeUnit","count","gridIntervals","renderer","yAxis","yAxes","yRenderer","get","grid","stroke","strokeWidth","series","connect","valueXField","valueYField","tooltip","labelText","columns","adapters","fill","_dataItem","dataContext","slice","reverse","interfaceColors","fontSize","zoomOutButton","appear","__exports__","render","BaseColumnSeries","super","arguments","defineProperty","enumerable","configurable","writable","listTemplate","dataItem","makeColumn","_makeFieldNames","categoryAxis","valueAxis","isType","_xOpenField","_xField","_yOpenField","_yField","_prepareChildren","len","dataItems","startIndex","max","endIndex","min","inited","_createGraphics","_ph","plotContainer","_pw","baseAxis","columnsTemplate","isDirty","clusterCount","stacked","cellStartLocation","cellEndLocation","cellLocationX0","cellLocationX1","cellLocationY0","cellLocationY1","_aLocationX0","_aLocationX1","_aLocationY0","_aLocationY1","_axesDirty","_valuesDirty","_stackDirty","_sizeDirty","_toggleColumn","_updateGraphics","_skipped","updateLegendMarker","_updateChildren","graphics","_makeGraphics","_setDataItem","legendDataItem","markerRectangle","ds","states","lookup","setting","graphicsArray","setRaw","axisRanges","each","axisRange","rangeGraphics","setPrivate","axisDataItem","undefined","createAxisRange","previousDataItem","xField","yField","valueX","valueY","xOpenField","yOpenField","locationX","locationY","openLocationX","openLocationY","xStart","xEnd","yStart","yEnd","l","r","t","vcy","vcx","fitW","fitH","startLocation","endLocation","getDataItemPositionX","getDataItemPositionY","x","y","stackToItemY","component","basePosition","stackToItemX","_updateSeriesGraphics","_applyGraphicsStates","maxWidth","maxHeight","ptl","getPoint","pbr","tooltipPoint","point","_x","_y","_handleDataSetChange","_dataItems","dropFromOpen","riseFromOpen","dropFromPrevious","riseFromPrevious","open","close","previousClose","apply","disposeDataItem","removeValue","list","getPrivate","duration","_super","create","hideDataItem","promises","call","hide","Promise","all","visible","bullets","bullet","showDataItem","show","lastDataItem","column","_getTooltipTarget","classNames","concat","className","ColumnSeries","_new","_root","position","themeTags","mainContainer","make","_processAxisRange","GaplessDateAxis","valueFields","_afterNew","_customDates","_dates","_getDates","result","found","field","_updateDates","extraMax","extraMin","baseCount","extra","time","_getM","unshift","itemValue","baseDuration","round","findex","floor","setPrivateRaw","start","end","getTime","startValue","endValue","zoomToValues","zoom","valueToPosition","startTime","endTime","_seriesValuesDirty","_updateAllDates","utc","valueToIndex","maxCount","axisLength","Number","MAX_SAFE_INTEGER","frequency","ceil","_frequency","_toggleDataItem","minorDataItems","realDuration","gridInterval","intervalDuration","_intervalDuration","formats","firstTime","now","minorLabelsEnabled","minorGridEnabled","minorGridInterval","minorDuration","_getMinorInterval","selectedItems","_getIndexes","_m","previousValue","nextGridUnit","first","_addMinorGrid","minDistance","gridCount","_a","processDataItem","_createAssets","dateFormatter","timeUnit2","labelEndValue","next","_prepareDataItem","previousLabel","previousX","worse","_pickWorse","_markDirtyAxes","_updateGhost","dataItemA","dataItemB","interval","valueA","valueB","getDate","minorFormats","mTimeUnit","maxValue","minorSelectedItems","minorDataItem","firstValue","mmm","c","Infinity","fullDuration","originalValue","realValue","_hasDate"],"mappings":"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","file":"js/chunk-5e64d37e.538217b6.js","sourcesContent":["\n","import { render } from \"./calendar.vue?vue&type=template&id=0985ed1d\"\nimport script from \"./calendar.vue?vue&type=script&lang=js\"\nexport * from \"./calendar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/src/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { __awaiter } from \"tslib\";\r\nimport { XYSeries } from \"./XYSeries\";\r\nimport { Percent } from \"../../../core/util/Percent\";\r\nimport { visualSettings } from \"../../../core/render/Graphics\";\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $type from \"../../../core/util/Type\";\r\n/**\r\n * Base class for all \"column-based\" series\r\n */\r\nexport class BaseColumnSeries extends XYSeries {\r\n constructor() {\r\n super(...arguments);\r\n Object.defineProperty(this, \"_ph\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_pw\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n }\r\n _makeGraphics(listTemplate, dataItem) {\r\n return this.makeColumn(dataItem, listTemplate);\r\n }\r\n _makeFieldNames() {\r\n super._makeFieldNames();\r\n const xAxis = this.get(\"xAxis\");\r\n const yAxis = this.get(\"yAxis\");\r\n const categoryAxis = \"CategoryAxis\";\r\n const valueAxis = \"ValueAxis\";\r\n if (xAxis.isType(categoryAxis)) {\r\n if (!this.get(\"openCategoryXField\")) {\r\n this._xOpenField = this._xField;\r\n }\r\n }\r\n if (xAxis.isType(valueAxis)) {\r\n if (!this.get(\"openValueXField\")) {\r\n this._xOpenField = this._xField;\r\n }\r\n }\r\n if (yAxis.isType(categoryAxis)) {\r\n if (!this.get(\"openCategoryYField\")) {\r\n this._yOpenField = this._yField;\r\n }\r\n }\r\n if (yAxis.isType(valueAxis)) {\r\n if (!this.get(\"openValueYField\")) {\r\n this._yOpenField = this._yField;\r\n }\r\n }\r\n }\r\n _prepareChildren() {\r\n super._prepareChildren();\r\n const xAxis = this.get(\"xAxis\");\r\n const yAxis = this.get(\"yAxis\");\r\n const len = this.dataItems.length;\r\n const startIndex = Math.max(0, this.startIndex() - 2);\r\n const endIndex = Math.min(this.endIndex() + 2, len - 1);\r\n if (xAxis.inited && yAxis.inited) {\r\n for (let i = startIndex; i <= endIndex; i++) {\r\n let dataItem = this.dataItems[i];\r\n this._createGraphics(dataItem);\r\n }\r\n }\r\n }\r\n _updateChildren() {\r\n const chart = this.chart;\r\n if (chart) {\r\n this._ph = chart.plotContainer.height();\r\n this._pw = chart.plotContainer.width();\r\n }\r\n const xAxis = this.get(\"xAxis\");\r\n const yAxis = this.get(\"yAxis\");\r\n const baseAxis = this.get(\"baseAxis\");\r\n const columnsTemplate = this.columns.template;\r\n if (this.isDirty(\"fill\")) {\r\n if (columnsTemplate.get(\"fill\") == null) {\r\n columnsTemplate.set(\"fill\", this.get(\"fill\"));\r\n }\r\n }\r\n if (this.isDirty(\"stroke\")) {\r\n if (columnsTemplate.get(\"stroke\") == null) {\r\n columnsTemplate.set(\"stroke\", this.get(\"stroke\"));\r\n }\r\n }\r\n let index = 0;\r\n let clusterCount = 0;\r\n let i = 0;\r\n $array.each(baseAxis.series, (series) => {\r\n if (series instanceof BaseColumnSeries) {\r\n const stacked = series.get(\"stacked\");\r\n if (stacked && i == 0) {\r\n clusterCount++;\r\n }\r\n if (!stacked && series.get(\"clustered\")) {\r\n clusterCount++;\r\n }\r\n }\r\n if (series === this) {\r\n index = clusterCount - 1;\r\n }\r\n i++;\r\n });\r\n if (!this.get(\"clustered\")) {\r\n index = 0;\r\n clusterCount = 1;\r\n }\r\n if (clusterCount === 0) {\r\n clusterCount = 1;\r\n index = 0;\r\n }\r\n const xRenderer = xAxis.get(\"renderer\");\r\n const yRenderer = yAxis.get(\"renderer\");\r\n const cellStartLocation = \"cellStartLocation\";\r\n const cellEndLocation = \"cellEndLocation\";\r\n const cellLocationX0 = xRenderer.get(cellStartLocation, 0);\r\n const cellLocationX1 = xRenderer.get(cellEndLocation, 1);\r\n const cellLocationY0 = yRenderer.get(cellStartLocation, 0);\r\n const cellLocationY1 = yRenderer.get(cellEndLocation, 1);\r\n this._aLocationX0 = cellLocationX0 + (index / clusterCount) * (cellLocationX1 - cellLocationX0);\r\n this._aLocationX1 = cellLocationX0 + (index + 1) / clusterCount * (cellLocationX1 - cellLocationX0);\r\n ;\r\n this._aLocationY0 = cellLocationY0 + (index / clusterCount) * (cellLocationY1 - cellLocationY0);\r\n this._aLocationY1 = cellLocationY0 + (index + 1) / clusterCount * (cellLocationY1 - cellLocationY0);\r\n if (xAxis.inited && yAxis.inited) {\r\n if (this._axesDirty || this._valuesDirty || this._stackDirty || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._sizeDirty) {\r\n const len = this.dataItems.length;\r\n let startIndex = Math.max(0, this.startIndex() - 2);\r\n let endIndex = Math.min(this.endIndex() + 2, len - 1);\r\n for (let i = 0; i < startIndex; i++) {\r\n this._toggleColumn(this.dataItems[i], false);\r\n }\r\n let previous = this.dataItems[startIndex];\r\n for (let i = startIndex; i <= endIndex; i++) {\r\n let dataItem = this.dataItems[i];\r\n if (dataItem.get(\"valueX\") != null && dataItem.get(\"valueY\") != null) {\r\n previous = dataItem;\r\n if (i > 0 && startIndex > 0) {\r\n for (let j = i - 1; j >= 0; j--) {\r\n let dataItem = this.dataItems[j];\r\n if (dataItem.get(\"valueX\") != null && dataItem.get(\"valueY\") != null) {\r\n previous = dataItem;\r\n break;\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n else {\r\n this._toggleColumn(dataItem, false);\r\n }\r\n }\r\n for (let i = startIndex; i <= endIndex; i++) {\r\n let dataItem = this.dataItems[i];\r\n this._updateGraphics(dataItem, previous);\r\n if (dataItem.get(\"valueX\") != null && dataItem.get(\"valueY\") != null) {\r\n previous = dataItem;\r\n }\r\n }\r\n for (let i = endIndex + 1; i < len; i++) {\r\n this._toggleColumn(this.dataItems[i], false);\r\n }\r\n }\r\n }\r\n else {\r\n this._skipped = true;\r\n }\r\n this.updateLegendMarker(this.get(\"tooltipDataItem\"));\r\n super._updateChildren();\r\n }\r\n _createGraphics(dataItem) {\r\n let graphics = dataItem.get(\"graphics\");\r\n if (!graphics) {\r\n graphics = this._makeGraphics(this.columns, dataItem);\r\n dataItem.set(\"graphics\", graphics);\r\n graphics._setDataItem(dataItem);\r\n const legendDataItem = dataItem.get(\"legendDataItem\");\r\n if (legendDataItem) {\r\n const markerRectangle = legendDataItem.get(\"markerRectangle\");\r\n if (markerRectangle) {\r\n const ds = markerRectangle.states.lookup(\"default\");\r\n $array.each(visualSettings, (setting) => {\r\n const value = graphics.get(setting, this.get(setting));\r\n markerRectangle.set(setting, value);\r\n ds.set(setting, value);\r\n });\r\n }\r\n }\r\n let graphicsArray = dataItem.get(\"rangeGraphics\");\r\n if (graphicsArray) {\r\n $array.each(graphicsArray, (graphics) => {\r\n graphics.dispose();\r\n });\r\n }\r\n graphicsArray = [];\r\n dataItem.setRaw(\"rangeGraphics\", graphicsArray);\r\n this.axisRanges.each((axisRange) => {\r\n const container = axisRange.container;\r\n const rangeGraphics = this._makeGraphics(axisRange.columns, dataItem);\r\n if (graphicsArray) {\r\n graphicsArray.push(rangeGraphics);\r\n }\r\n rangeGraphics.setPrivate(\"list\", axisRange.columns);\r\n container.children.push(rangeGraphics);\r\n });\r\n }\r\n }\r\n createAxisRange(axisDataItem) {\r\n $array.each(this.dataItems, (dataItem) => {\r\n const graphics = dataItem.get(\"graphics\");\r\n if (graphics) {\r\n graphics.dispose();\r\n dataItem.set(\"graphics\", undefined);\r\n }\r\n });\r\n return super.createAxisRange(axisDataItem);\r\n }\r\n _updateGraphics(dataItem, previousDataItem) {\r\n let graphics = dataItem.get(\"graphics\");\r\n //if (!graphics) {\r\n //\tthis._createGraphics(dataItem);\r\n //\tgraphics = dataItem.get(\"graphics\")!;\r\n //}\r\n const xField = this._xField;\r\n const yField = this._yField;\r\n const valueX = dataItem.get(xField);\r\n const valueY = dataItem.get(yField);\r\n if (valueX != null && valueY != null) {\r\n const xOpenField = this._xOpenField;\r\n const yOpenField = this._yOpenField;\r\n const locationX = this.get(\"locationX\", dataItem.get(\"locationX\", 0.5));\r\n const locationY = this.get(\"locationY\", dataItem.get(\"locationY\", 0.5));\r\n const openLocationX = this.get(\"openLocationX\", dataItem.get(\"openLocationX\", locationX));\r\n const openLocationY = this.get(\"openLocationY\", dataItem.get(\"openLocationY\", locationY));\r\n const width = graphics.get(\"width\");\r\n const height = graphics.get(\"height\");\r\n const stacked = this.get(\"stacked\");\r\n const xAxis = this.get(\"xAxis\");\r\n const yAxis = this.get(\"yAxis\");\r\n const baseAxis = this.get(\"baseAxis\");\r\n const xStart = xAxis.get(\"start\");\r\n const xEnd = xAxis.get(\"end\");\r\n const yStart = yAxis.get(\"start\");\r\n const yEnd = yAxis.get(\"end\");\r\n let l;\r\n let r;\r\n let t;\r\n let b;\r\n let vcy = this.get(\"vcy\", 1);\r\n let vcx = this.get(\"vcx\", 1);\r\n let fitW = false;\r\n let fitH = false;\r\n if (yAxis.isType(\"CategoryAxis\") && xAxis.isType(\"CategoryAxis\")) {\r\n let startLocation = this._aLocationX0 + openLocationX - 0.5;\r\n let endLocation = this._aLocationX1 + locationX - 0.5;\r\n if (width instanceof Percent) {\r\n let offset = (endLocation - startLocation) * (1 - width.value) / 2;\r\n startLocation += offset;\r\n endLocation -= offset;\r\n }\r\n l = xAxis.getDataItemPositionX(dataItem, xOpenField, startLocation, vcx);\r\n r = xAxis.getDataItemPositionX(dataItem, xField, endLocation, vcx);\r\n startLocation = this._aLocationY0 + openLocationY - 0.5;\r\n endLocation = this._aLocationY1 + locationY - 0.5;\r\n if (height instanceof Percent) {\r\n let offset = (endLocation - startLocation) * (1 - height.value) / 2;\r\n startLocation += offset;\r\n endLocation -= offset;\r\n }\r\n t = yAxis.getDataItemPositionY(dataItem, yOpenField, startLocation, vcy);\r\n b = yAxis.getDataItemPositionY(dataItem, yField, endLocation, vcy);\r\n dataItem.setRaw(\"point\", { x: l + (r - l) / 2, y: t + (b - t) / 2 });\r\n }\r\n else if (xAxis === baseAxis) {\r\n let startLocation = this._aLocationX0 + openLocationX - 0.5;\r\n let endLocation = this._aLocationX1 + locationX - 0.5;\r\n if (width instanceof Percent) {\r\n let offset = (endLocation - startLocation) * (1 - width.value) / 2;\r\n startLocation += offset;\r\n endLocation -= offset;\r\n }\r\n l = xAxis.getDataItemPositionX(dataItem, xOpenField, startLocation, vcx);\r\n r = xAxis.getDataItemPositionX(dataItem, xField, endLocation, vcx);\r\n t = yAxis.getDataItemPositionY(dataItem, yField, locationY, vcy);\r\n if (this._yOpenField !== this._yField) {\r\n b = yAxis.getDataItemPositionY(dataItem, yOpenField, openLocationY, vcy);\r\n }\r\n else {\r\n if (stacked) {\r\n let stackToItemY = dataItem.get(\"stackToItemY\");\r\n if (stackToItemY) {\r\n b = yAxis.getDataItemPositionY(stackToItemY, yField, openLocationY, stackToItemY.component.get(\"vcy\"));\r\n }\r\n else {\r\n b = yAxis.basePosition();\r\n }\r\n }\r\n else {\r\n b = yAxis.basePosition();\r\n }\r\n }\r\n dataItem.setRaw(\"point\", { x: l + (r - l) / 2, y: t });\r\n fitH = true;\r\n }\r\n else if (yAxis === baseAxis) {\r\n let startLocation = this._aLocationY0 + openLocationY - 0.5;\r\n let endLocation = this._aLocationY1 + locationY - 0.5;\r\n if (height instanceof Percent) {\r\n let offset = (endLocation - startLocation) * (1 - height.value) / 2;\r\n startLocation += offset;\r\n endLocation -= offset;\r\n }\r\n t = yAxis.getDataItemPositionY(dataItem, yOpenField, startLocation, vcy);\r\n b = yAxis.getDataItemPositionY(dataItem, yField, endLocation, vcy);\r\n r = xAxis.getDataItemPositionX(dataItem, xField, locationX, vcx);\r\n if (this._xOpenField !== this._xField) {\r\n l = xAxis.getDataItemPositionX(dataItem, xOpenField, openLocationX, vcx);\r\n }\r\n else {\r\n if (stacked) {\r\n let stackToItemX = dataItem.get(\"stackToItemX\");\r\n if (stackToItemX) {\r\n l = xAxis.getDataItemPositionX(stackToItemX, xField, openLocationX, stackToItemX.component.get(\"vcx\"));\r\n }\r\n else {\r\n l = xAxis.basePosition();\r\n }\r\n }\r\n else {\r\n l = xAxis.basePosition();\r\n }\r\n }\r\n fitW = true;\r\n dataItem.setRaw(\"point\", { x: r, y: t + (b - t) / 2 });\r\n }\r\n this._updateSeriesGraphics(dataItem, graphics, l, r, t, b, fitW, fitH);\r\n if ((l < xStart && r < xStart) || (l > xEnd && r > xEnd) || (t < yStart && b <= yStart) || (t >= yEnd && b > yEnd) || $type.isNaN(l) || $type.isNaN(t)) {\r\n this._toggleColumn(dataItem, false);\r\n }\r\n else {\r\n this._toggleColumn(dataItem, true);\r\n }\r\n let rangeGraphics = dataItem.get(\"rangeGraphics\");\r\n if (rangeGraphics) {\r\n $array.each(rangeGraphics, (graphics) => {\r\n this._updateSeriesGraphics(dataItem, graphics, l, r, t, b, fitW, fitH);\r\n });\r\n }\r\n this._applyGraphicsStates(dataItem, previousDataItem);\r\n }\r\n }\r\n _updateSeriesGraphics(dataItem, graphics, l, r, t, b, fitW, fitH) {\r\n const width = graphics.get(\"width\");\r\n const height = graphics.get(\"height\");\r\n const maxWidth = graphics.get(\"maxWidth\");\r\n const maxHeight = graphics.get(\"maxHeight\");\r\n const ptl = this.getPoint(l, t);\r\n const pbr = this.getPoint(r, b);\r\n const tooltipPoint = dataItem.get(\"point\");\r\n if (tooltipPoint) {\r\n const point = this.getPoint(tooltipPoint.x, tooltipPoint.y);\r\n tooltipPoint.x = point.x + this._x;\r\n tooltipPoint.y = point.y + this._y;\r\n }\r\n l = ptl.x;\r\n r = pbr.x;\r\n t = ptl.y;\r\n b = pbr.y;\r\n if ($type.isNumber(width)) {\r\n const offset = ((r - l) - width) / 2;\r\n l += offset;\r\n r -= offset;\r\n }\r\n if ($type.isNumber(maxWidth) && maxWidth < Math.abs(r - l)) {\r\n const offset = ((r - l) - maxWidth) / 2;\r\n l += offset;\r\n r -= offset;\r\n }\r\n if ($type.isNumber(height)) {\r\n const offset = ((b - t) - height) / 2;\r\n t += offset;\r\n b -= offset;\r\n }\r\n if ($type.isNumber(maxHeight) && maxHeight < Math.abs(b - t)) {\r\n const offset = ((b - t) - maxHeight) / 2;\r\n t += offset;\r\n b -= offset;\r\n }\r\n if (this.get(\"adjustBulletPosition\")) {\r\n if (fitW) {\r\n r = Math.min(Math.max(0, r), this._pw);\r\n l = Math.min(Math.max(0, l), this._pw);\r\n }\r\n if (fitH) {\r\n t = Math.min(Math.max(0, t), this._ph);\r\n b = Math.min(Math.max(0, b), this._ph);\r\n }\r\n }\r\n dataItem.setRaw(\"left\", l);\r\n dataItem.setRaw(\"right\", r);\r\n dataItem.setRaw(\"top\", t);\r\n dataItem.setRaw(\"bottom\", b);\r\n graphics.setPrivate(\"width\", r - l);\r\n graphics.setPrivate(\"height\", b - t);\r\n graphics.set(\"x\", l);\r\n graphics.set(\"y\", b - (b - t));\r\n }\r\n _handleDataSetChange() {\r\n super._handleDataSetChange();\r\n $array.each(this._dataItems, (dataItem) => {\r\n this._toggleColumn(dataItem, false);\r\n });\r\n }\r\n _applyGraphicsStates(dataItem, previousDataItem) {\r\n const graphics = dataItem.get(\"graphics\");\r\n const dropFromOpen = graphics.states.lookup(\"dropFromOpen\");\r\n const riseFromOpen = graphics.states.lookup(\"riseFromOpen\");\r\n const dropFromPrevious = graphics.states.lookup(\"dropFromPrevious\");\r\n const riseFromPrevious = graphics.states.lookup(\"riseFromPrevious\");\r\n if (dropFromOpen || dropFromPrevious || riseFromOpen || riseFromPrevious) {\r\n const xAxis = this.get(\"xAxis\");\r\n const yAxis = this.get(\"yAxis\");\r\n const baseAxis = this.get(\"baseAxis\");\r\n let open;\r\n let close;\r\n let previousClose;\r\n if (baseAxis === xAxis && yAxis.isType(\"ValueAxis\")) {\r\n open = dataItem.get(this._yOpenField);\r\n close = dataItem.get(this._yField);\r\n previousClose = previousDataItem.get(this._yField);\r\n }\r\n else if (baseAxis === yAxis && xAxis.isType(\"ValueAxis\")) {\r\n open = dataItem.get(this._xOpenField);\r\n close = dataItem.get(this._xField);\r\n previousClose = previousDataItem.get(this._xField);\r\n }\r\n if ($type.isNumber(open) && $type.isNumber(close)) {\r\n if (close < open) {\r\n if (dropFromOpen) {\r\n dropFromOpen.apply();\r\n }\r\n }\r\n else {\r\n if (riseFromOpen) {\r\n riseFromOpen.apply();\r\n }\r\n }\r\n if ($type.isNumber(previousClose)) {\r\n if (close < previousClose) {\r\n if (dropFromPrevious) {\r\n dropFromPrevious.apply();\r\n }\r\n }\r\n else {\r\n if (riseFromPrevious) {\r\n riseFromPrevious.apply();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * @ignore\r\n */\r\n disposeDataItem(dataItem) {\r\n super.disposeDataItem(dataItem);\r\n const graphics = dataItem.get(\"graphics\");\r\n if (graphics) {\r\n this.columns.removeValue(graphics);\r\n graphics.dispose();\r\n }\r\n const rangeGraphics = dataItem.get(\"rangeGraphics\");\r\n if (rangeGraphics) {\r\n $array.each(rangeGraphics, (graphics) => {\r\n const list = graphics.getPrivate(\"list\");\r\n if (list) {\r\n list.removeValue(graphics);\r\n }\r\n graphics.dispose();\r\n });\r\n }\r\n }\r\n /**\r\n * Hides series's data item.\r\n *\r\n * @param dataItem Data item\r\n * @param duration Animation duration in milliseconds\r\n * @return Promise\r\n */\r\n hideDataItem(dataItem, duration) {\r\n const _super = Object.create(null, {\r\n hideDataItem: { get: () => super.hideDataItem }\r\n });\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const promises = [_super.hideDataItem.call(this, dataItem, duration)];\r\n const graphics = dataItem.get(\"graphics\");\r\n if (graphics) {\r\n promises.push(graphics.hide(duration));\r\n }\r\n const rangeGraphics = dataItem.get(\"rangeGraphics\");\r\n if (rangeGraphics) {\r\n $array.each(rangeGraphics, (graphics) => {\r\n promises.push(graphics.hide(duration));\r\n });\r\n }\r\n yield Promise.all(promises);\r\n });\r\n }\r\n _toggleColumn(dataItem, visible) {\r\n const graphics = dataItem.get(\"graphics\");\r\n if (graphics) {\r\n graphics.setPrivate(\"visible\", visible);\r\n }\r\n const rangeGraphics = dataItem.get(\"rangeGraphics\");\r\n if (rangeGraphics) {\r\n $array.each(rangeGraphics, (graphics) => {\r\n graphics.setPrivate(\"visible\", visible);\r\n });\r\n }\r\n const bullets = dataItem.bullets;\r\n if (bullets) {\r\n $array.each(bullets, (bullet) => {\r\n bullet.setPrivate(\"hidden\", !visible);\r\n });\r\n }\r\n }\r\n /**\r\n * Shows series's data item.\r\n *\r\n * @param dataItem Data item\r\n * @param duration Animation duration in milliseconds\r\n * @return Promise\r\n */\r\n showDataItem(dataItem, duration) {\r\n const _super = Object.create(null, {\r\n showDataItem: { get: () => super.showDataItem }\r\n });\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const promises = [_super.showDataItem.call(this, dataItem, duration)];\r\n const graphics = dataItem.get(\"graphics\");\r\n if (graphics) {\r\n promises.push(graphics.show(duration));\r\n }\r\n const rangeGraphics = dataItem.get(\"rangeGraphics\");\r\n if (rangeGraphics) {\r\n $array.each(rangeGraphics, (graphics) => {\r\n promises.push(graphics.show(duration));\r\n });\r\n }\r\n yield Promise.all(promises);\r\n });\r\n }\r\n /**\r\n * @ignore\r\n */\r\n updateLegendMarker(dataItem) {\r\n let legendDataItem = this.get(\"legendDataItem\");\r\n if (this.get(\"useLastColorForLegendMarker\")) {\r\n if (!dataItem) {\r\n const lastDataItem = this.dataItems[this.endIndex() - 1];\r\n if (lastDataItem) {\r\n dataItem = lastDataItem;\r\n }\r\n }\r\n }\r\n if (legendDataItem) {\r\n let graphics = this.columns.template;\r\n if (dataItem) {\r\n let column = dataItem.get(\"graphics\");\r\n if (column) {\r\n graphics = column;\r\n }\r\n }\r\n const markerRectangle = legendDataItem.get(\"markerRectangle\");\r\n if (markerRectangle) {\r\n if (!legendDataItem.get(\"itemContainer\").get(\"disabled\")) {\r\n const ds = markerRectangle.states.lookup(\"default\");\r\n $array.each(visualSettings, (setting) => {\r\n const value = graphics.get(setting, this.get(setting));\r\n markerRectangle.set(setting, value);\r\n ds.set(setting, value);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n _getTooltipTarget(dataItem) {\r\n if (this.get(\"seriesTooltipTarget\") == \"bullet\") {\r\n return super._getTooltipTarget(dataItem);\r\n }\r\n let column = dataItem.get(\"graphics\");\r\n if (column) {\r\n return column;\r\n }\r\n return this;\r\n }\r\n}\r\nObject.defineProperty(BaseColumnSeries, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"BaseColumnSeries\"\r\n});\r\nObject.defineProperty(BaseColumnSeries, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: XYSeries.classNames.concat([BaseColumnSeries.className])\r\n});\r\n//# sourceMappingURL=BaseColumnSeries.js.map","import { BaseColumnSeries } from \"./BaseColumnSeries\";\r\nimport { Template } from \"../../../core/util/Template\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { RoundedRectangle } from \"../../../core/render/RoundedRectangle\";\r\nimport * as $utils from \"../../../core/util/Utils\";\r\nexport class ColumnSeries extends BaseColumnSeries {\r\n constructor() {\r\n super(...arguments);\r\n /**\r\n * A [[TemplateList]] of all columns in series.\r\n *\r\n * `columns.template` can be used to set default settings for all columns,\r\n * or to change on existing ones.\r\n */\r\n Object.defineProperty(this, \"columns\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: new ListTemplate(Template.new({}), () => RoundedRectangle._new(this._root, {\r\n position: \"absolute\",\r\n themeTags: $utils.mergeTags(this.columns.template.get(\"themeTags\", []), [\"series\", \"column\"])\r\n }, [this.columns.template]))\r\n });\r\n }\r\n /**\r\n * @ignore\r\n */\r\n makeColumn(dataItem, listTemplate) {\r\n const column = this.mainContainer.children.push(listTemplate.make());\r\n column._setDataItem(dataItem);\r\n listTemplate.push(column);\r\n return column;\r\n }\r\n _processAxisRange(axisRange) {\r\n super._processAxisRange(axisRange);\r\n axisRange.columns = new ListTemplate(Template.new({}), () => RoundedRectangle._new(this._root, {\r\n position: \"absolute\",\r\n themeTags: $utils.mergeTags(axisRange.columns.template.get(\"themeTags\", []), [\"series\", \"column\"]),\r\n }, [this.columns.template, axisRange.columns.template]));\r\n }\r\n}\r\nObject.defineProperty(ColumnSeries, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"ColumnSeries\"\r\n});\r\nObject.defineProperty(ColumnSeries, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: BaseColumnSeries.classNames.concat([ColumnSeries.className])\r\n});\r\n//# sourceMappingURL=ColumnSeries.js.map","import { DateAxis } from \"./DateAxis\";\r\nimport { DataItem } from \"../../../core/render/Component\";\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $order from \"../../../core/util/Order\";\r\nimport * as $time from \"../../../core/util/Time\";\r\nimport * as $type from \"../../../core/util/Type\";\r\nimport * as $math from \"../../../core/util/Math\";\r\n/**\r\n * A version of a [[DateAxis]] which removes intervals that don't have any data\r\n * items in them.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/gapless-date-axis/} for more info\r\n * @important\r\n */\r\nexport class GaplessDateAxis extends DateAxis {\r\n constructor() {\r\n super(...arguments);\r\n Object.defineProperty(this, \"_frequency\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 1\r\n });\r\n Object.defineProperty(this, \"_m\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: 0\r\n });\r\n Object.defineProperty(this, \"_dates\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: []\r\n });\r\n Object.defineProperty(this, \"_customDates\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: void 0\r\n });\r\n }\r\n _afterNew() {\r\n this.valueFields.push(\"date\");\r\n super._afterNew();\r\n }\r\n _getDates() {\r\n if (this._customDates) {\r\n return this._customDates;\r\n }\r\n return this._dates;\r\n }\r\n _updateDates(date, series) {\r\n if (!series.get(\"ignoreMinMax\")) {\r\n const dates = this._getDates();\r\n const result = $array.getSortedIndex(dates, (x) => $order.compare(x, date));\r\n if (!result.found) {\r\n $array.insertIndex(dates, result.index, date);\r\n }\r\n }\r\n }\r\n _updateAllDates() {\r\n if (!this._customDates) {\r\n const dates = this._dates;\r\n dates.length = 0;\r\n $array.each(this.series, (series) => {\r\n let field = \"valueX\";\r\n if (series.get(\"yAxis\") == this) {\r\n field = \"valueY\";\r\n }\r\n $array.each(series.dataItems, (dataItem) => {\r\n let value = dataItem.get(field);\r\n if ($type.isNumber(value)) {\r\n if (dataItem.open) {\r\n this._updateDates(dataItem.open[field], series);\r\n }\r\n }\r\n });\r\n });\r\n const extraMax = this.get(\"extraMax\", 0);\r\n const extraMin = this.get(\"extraMin\", 0);\r\n let len = dates.length;\r\n const baseInterval = this.getPrivate(\"baseInterval\");\r\n const baseCount = baseInterval.count;\r\n const timeUnit = baseInterval.timeUnit;\r\n if (extraMax > 0) {\r\n const extra = len * extraMax;\r\n let time = dates[len - 1];\r\n if ($type.isNumber(time)) {\r\n for (let i = len - 1; i < len + extra; i++) {\r\n time += $time.getDuration(timeUnit, baseCount * this._getM(timeUnit));\r\n //time = $time.round(new Date(time), timeUnit, baseInterval.count, firstDay, utc, undefined, timezone).getTime();\r\n time = $time.roun(time, timeUnit, baseCount, this._root);\r\n dates.push(time);\r\n }\r\n }\r\n }\r\n if (extraMin > 0) {\r\n const extra = len * extraMin;\r\n let time = dates[0];\r\n if ($type.isNumber(time)) {\r\n for (let i = 0; i < extra; i++) {\r\n time -= $time.getDuration(timeUnit, baseCount);\r\n //time = $time.round(new Date(time), timeUnit, baseCount, firstDay, utc, undefined, timezone).getTime();\r\n time = $time.roun(time, timeUnit, baseCount, this._root);\r\n dates.unshift(time);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * Convers value to a relative position on axis.\r\n *\r\n * @param value Value\r\n * @return Relative position\r\n */\r\n valueToPosition(value) {\r\n const dates = this._getDates();\r\n const startLocation = this.get(\"startLocation\", 0);\r\n const endLocation = this.get(\"endLocation\", 1);\r\n const len = dates.length - startLocation - (1 - endLocation);\r\n const result = $array.getSortedIndex(dates, (x) => $order.compare(x, value));\r\n let index = result.index;\r\n if (result.found) {\r\n return (index - startLocation) / len;\r\n }\r\n else {\r\n if (index > 0) {\r\n index -= 1;\r\n }\r\n let itemValue = dates[index];\r\n let d = 0;\r\n if (itemValue > value && value > this.getPrivate(\"min\", 0)) {\r\n d = itemValue - value;\r\n }\r\n else {\r\n d = value - itemValue;\r\n }\r\n return (index - startLocation) / len + d / this.baseDuration() / len;\r\n }\r\n }\r\n /**\r\n * Converts numeric value from axis scale to index.\r\n *\r\n * @param value Value\r\n * @return Index\r\n */\r\n valueToIndex(value) {\r\n const dates = this._getDates();\r\n const result = $array.getSortedIndex(dates, (x) => $order.compare(x, value));\r\n let index = result.index;\r\n if (result.found) {\r\n return index;\r\n }\r\n else {\r\n if (index > 0) {\r\n index -= 1;\r\n }\r\n return index;\r\n }\r\n }\r\n /**\r\n * Converts a relative position to a corresponding numeric value from axis\r\n * scale.\r\n *\r\n * @param position Relative position\r\n * @return Value\r\n */\r\n positionToValue(position) {\r\n const startLocation = this.get(\"startLocation\", 0);\r\n const endLocation = this.get(\"endLocation\", 1);\r\n const dates = this._getDates();\r\n let len = Math.round(dates.length - startLocation - (1 - endLocation));\r\n let index = position * len;\r\n let findex = Math.floor(index);\r\n if (findex < 0) {\r\n findex = 0;\r\n }\r\n if (findex > len - 1) {\r\n findex = len - 1;\r\n }\r\n return dates[findex] + (index - findex + startLocation) * this.baseDuration();\r\n }\r\n _fixZoomFactor() {\r\n this.setPrivateRaw(\"maxZoomFactor\", this._getDates().length - this.get(\"startLocation\", 0) - (1 - this.get(\"endLocation\", 1)));\r\n }\r\n /**\r\n * Zooms the axis to specific `start` and `end` dates.\r\n *\r\n * Optional `duration` specifies duration of zoom animation in milliseconds.\r\n *\r\n * @param start Start Date\r\n * @param end End Date\r\n * @param duration Duration in milliseconds\r\n */\r\n zoomToDates(start, end, duration) {\r\n const dates = this._getDates();\r\n const len = dates.length;\r\n let result = $array.getSortedIndex(dates, (x) => $order.compare(x, start.getTime()));\r\n let startValue = dates[Math.min(result.index, len - 1)];\r\n result = $array.getSortedIndex(dates, (x) => $order.compare(x, end.getTime()));\r\n let endValue = dates[result.index];\r\n if (result.index >= len) {\r\n endValue = dates[len - 1] + this.baseDuration();\r\n }\r\n this.zoomToValues(startValue, endValue, duration);\r\n }\r\n /**\r\n * Zooms the axis to specific `start` and `end` values.\r\n *\r\n * Optional `duration` specifies duration of zoom animation in milliseconds.\r\n *\r\n * @param start Start value\r\n * @param end End value\r\n * @param duration Duration in milliseconds\r\n */\r\n zoomToValues(start, end, duration) {\r\n const min = this.getPrivate(\"min\", 0);\r\n const max = this.getPrivate(\"max\", 0);\r\n start = $math.fitToRange(start, min, max);\r\n end = $math.fitToRange(end, min, max);\r\n this.zoom(this.valueToPosition(start), this.valueToPosition(end), duration);\r\n }\r\n _prepareAxisItems() {\r\n let startTime = this.getPrivate(\"selectionMin\", 0);\r\n let endTime = this.getPrivate(\"selectionMax\", 0);\r\n if ($type.isNumber(startTime) && $type.isNumber(endTime)) {\r\n if (this._seriesValuesDirty) {\r\n this._seriesValuesDirty = false;\r\n this._updateAllDates();\r\n }\r\n const root = this._root;\r\n const utc = root.utc;\r\n const timezone = root.timezone;\r\n const dates = this._getDates();\r\n const renderer = this.get(\"renderer\");\r\n const len = dates.length;\r\n const baseDuration = this.baseDuration();\r\n let startIndex = this.valueToIndex(startTime);\r\n if (startIndex > 0) {\r\n startIndex--;\r\n }\r\n let endIndex = this.valueToIndex(endTime);\r\n if (endIndex < len - 1) {\r\n endIndex++;\r\n }\r\n let maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\"), 1 / Number.MAX_SAFE_INTEGER);\r\n let frequency = Math.min(len, Math.ceil((endIndex - startIndex) / maxCount));\r\n frequency = Math.max(1, frequency);\r\n startIndex = Math.floor(startIndex / frequency) * frequency;\r\n this._frequency = frequency;\r\n $array.each(this.dataItems, (dataItem) => {\r\n this._toggleDataItem(dataItem, false);\r\n });\r\n $array.each(this.minorDataItems, (dataItem) => {\r\n this._toggleDataItem(dataItem, false);\r\n });\r\n let realDuration = (endTime - startTime) - ((endTime - startTime) / baseDuration - (endIndex - startIndex)) * baseDuration;\r\n // if all items are on axis\r\n let gridInterval = $time.chooseInterval(0, realDuration, maxCount, this.get(\"gridIntervals\"));\r\n const baseInterval = this.getPrivate(\"baseInterval\");\r\n let intervalDuration = $time.getIntervalDuration(gridInterval);\r\n if (intervalDuration < baseDuration) {\r\n gridInterval = Object.assign({}, baseInterval);\r\n intervalDuration = $time.getIntervalDuration(gridInterval);\r\n }\r\n this._intervalDuration = intervalDuration;\r\n const timeUnit = gridInterval.timeUnit;\r\n const formats = this.get(\"dateFormats\");\r\n let firstTime = Date.now();\r\n if (dates[0]) {\r\n firstTime = dates[0];\r\n }\r\n //let value = $time.round(new Date(this.getPrivate(\"selectionMin\", 0)), timeUnit, gridInterval.count, firstDay, utc, firstDate, timezone).getTime();\r\n let value = $time.roun(this.getPrivate(\"selectionMin\", 0), timeUnit, gridInterval.count, root, firstTime);\r\n const minorLabelsEnabled = renderer.get(\"minorLabelsEnabled\");\r\n const minorGridEnabled = renderer.get(\"minorGridEnabled\", minorLabelsEnabled);\r\n let minorGridInterval;\r\n let minorDuration = 0;\r\n let previousDataItem;\r\n if (minorGridEnabled) {\r\n minorGridInterval = this._getMinorInterval(gridInterval);\r\n minorDuration = $time.getIntervalDuration(minorGridInterval);\r\n }\r\n let selectedItems = this._getIndexes(value, this.getPrivate(\"selectionMax\", value) + intervalDuration, gridInterval, this.getPrivate(\"min\", value));\r\n if (selectedItems.length > 0) {\r\n let i = 0;\r\n this._m = 0;\r\n let previousValue = value - intervalDuration * 10;\r\n const nextGridUnit = $time.getNextUnit(timeUnit);\r\n // MINOR GRID\r\n if (minorGridInterval) {\r\n let first = dates[selectedItems[0]];\r\n this._addMinorGrid(first - intervalDuration, first, minorDuration, minorGridInterval);\r\n }\r\n let minDistance = renderer.axisLength() / renderer.gridCount() * 0.5;\r\n $array.each(selectedItems, (index) => {\r\n var _a;\r\n let dataItem;\r\n if (this.dataItems.length < i + 1) {\r\n dataItem = new DataItem(this, undefined, {});\r\n this._dataItems.push(dataItem);\r\n this.processDataItem(dataItem);\r\n }\r\n else {\r\n dataItem = this.dataItems[i];\r\n }\r\n let value = dates[index];\r\n let date = new Date(value);\r\n let endValue = value;\r\n if (i < selectedItems.length - 1) {\r\n endValue = dates[selectedItems[i + 1]];\r\n }\r\n else {\r\n endValue += intervalDuration;\r\n }\r\n dataItem.setRaw(\"value\", value);\r\n dataItem.setRaw(\"endValue\", endValue);\r\n dataItem.setRaw(\"index\", i);\r\n dataItem.setRaw(\"labelEndValue\", undefined);\r\n let format = formats[timeUnit];\r\n if (nextGridUnit && this.get(\"markUnitChange\") && $type.isNumber(previousValue)) {\r\n if (timeUnit != \"year\") {\r\n if ($time.checkChange(value, previousValue, nextGridUnit, utc, timezone)) {\r\n format = this.get(\"periodChangeDateFormats\")[timeUnit];\r\n }\r\n }\r\n }\r\n this._createAssets(dataItem, []);\r\n const label = dataItem.get(\"label\");\r\n if (label) {\r\n label.set(\"text\", root.dateFormatter.format(date, format));\r\n }\r\n this._toggleDataItem(dataItem, true);\r\n let count = gridInterval.count;\r\n // so that labels of week would always be at the beginning of the grid\r\n if (timeUnit == \"week\") {\r\n dataItem.setRaw(\"labelEndValue\", value);\r\n }\r\n if (minorGridEnabled) {\r\n let timeUnit2 = gridInterval.timeUnit;\r\n if (timeUnit2 == \"week\") {\r\n timeUnit2 = \"day\";\r\n }\r\n if (count > 1 || gridInterval.timeUnit == \"week\") {\r\n //let labelEndValue = $time.round(new Date(value), timeUnit2, 1, firstDay, utc, undefined, timezone).getTime() + $time.getDuration(timeUnit2, this._getM(timeUnit2));\r\n let labelEndValue = $time.roun(value, timeUnit2, 1, root) + $time.getDuration(timeUnit2, this._getM(timeUnit2));\r\n let index = this.valueToIndex(labelEndValue);\r\n labelEndValue = dates[index];\r\n if (labelEndValue == value) {\r\n let next = dates[index + 1];\r\n if (next) {\r\n labelEndValue = next;\r\n }\r\n else {\r\n labelEndValue += minorDuration;\r\n }\r\n }\r\n dataItem.setRaw(\"labelEndValue\", labelEndValue);\r\n }\r\n count = 1;\r\n }\r\n this._prepareDataItem(dataItem, count);\r\n if (label && previousDataItem) {\r\n if (renderer.getPrivate(\"letter\") == \"X\") {\r\n let previousLabel = previousDataItem.get(\"label\");\r\n if (previousLabel) {\r\n let x = label.x();\r\n let previousX = previousLabel.x();\r\n if (x - previousX < minDistance) {\r\n let worse = this._pickWorse(previousDataItem, dataItem, gridInterval);\r\n if (worse) {\r\n (_a = worse.get(\"label\")) === null || _a === void 0 ? void 0 : _a.setPrivate(\"visible\", false);\r\n }\r\n }\r\n }\r\n }\r\n // todo y?\r\n }\r\n // MINOR GRID\r\n if (minorGridInterval) {\r\n this._addMinorGrid(value, endValue, minorDuration, minorGridInterval);\r\n }\r\n i++;\r\n if (label && label.getPrivate(\"visible\")) {\r\n previousDataItem = dataItem;\r\n }\r\n previousValue = value;\r\n });\r\n }\r\n $array.each(this.series, (series) => {\r\n if (series.inited) {\r\n series._markDirtyAxes();\r\n }\r\n });\r\n }\r\n this._updateGhost();\r\n }\r\n _pickWorse(dataItemA, dataItemB, interval) {\r\n const timeUnit = interval.timeUnit;\r\n const valueA = dataItemA.get(\"value\", 0);\r\n const valueB = dataItemB.get(\"value\", 0);\r\n if (timeUnit == \"hour\") {\r\n if (new Date(valueA).getDate() != new Date(valueB).getDate()) {\r\n return dataItemA;\r\n }\r\n }\r\n return dataItemB;\r\n }\r\n _addMinorGrid(startValue, endValue, minorDuration, gridInterval) {\r\n const minorFormats = this.get(\"minorDateFormats\", this.get(\"dateFormats\"));\r\n const mTimeUnit = gridInterval.timeUnit;\r\n let value = startValue + $time.getDuration(mTimeUnit, this._getM(mTimeUnit));\r\n //value = $time.round(new Date(value), mTimeUnit, 1, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, mTimeUnit, 1, this._root);\r\n let maxValue = endValue - minorDuration * 0.5;\r\n let minorSelectedItems = this._getIndexes(value, maxValue, gridInterval, value);\r\n const dates = this._getDates();\r\n $array.each(minorSelectedItems, (index) => {\r\n let minorDataItem;\r\n if (this.minorDataItems.length < this._m + 1) {\r\n minorDataItem = new DataItem(this, undefined, {});\r\n this.minorDataItems.push(minorDataItem);\r\n this.processDataItem(minorDataItem);\r\n }\r\n else {\r\n minorDataItem = this.minorDataItems[this._m];\r\n }\r\n value = dates[index];\r\n minorDataItem.setRaw(\"value\", value);\r\n minorDataItem.setRaw(\"endValue\", value + minorDuration);\r\n minorDataItem.setRaw(\"index\", index);\r\n this._createAssets(minorDataItem, [\"minor\"], true);\r\n const label = minorDataItem.get(\"label\");\r\n if (label) {\r\n if (this.get(\"renderer\").get(\"minorLabelsEnabled\")) {\r\n let date = new Date(value);\r\n let format = minorFormats[mTimeUnit];\r\n label.set(\"text\", this._root.dateFormatter.format(date, format));\r\n }\r\n else {\r\n label.setPrivate(\"visible\", false);\r\n }\r\n }\r\n this._toggleDataItem(minorDataItem, true);\r\n this._prepareDataItem(minorDataItem, 1);\r\n this._m++;\r\n });\r\n }\r\n _getIndexes(value, maxValue, interval, firstValue) {\r\n const items = [];\r\n const timeUnit = interval.timeUnit;\r\n const count = interval.count;\r\n const mmm = this._getM(timeUnit);\r\n const baseInterval = this.getPrivate(\"baseInterval\");\r\n const root = this._root;\r\n const dates = this._getDates();\r\n let c = count - 1;\r\n let previousValue = -Infinity;\r\n let duration = $time.getDuration(timeUnit, mmm);\r\n let fullDuration = $time.getDuration(timeUnit, count * mmm);\r\n let originalValue = value;\r\n if (timeUnit == \"day\") {\r\n value = firstValue;\r\n }\r\n while (value <= maxValue) {\r\n //value = $time.round(new Date(value), timeUnit, count, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, timeUnit, count, root);\r\n let index = this.valueToIndex(value);\r\n let realValue = dates[index];\r\n if (timeUnit == \"day\" && baseInterval.timeUnit == \"day\") {\r\n if (this._hasDate(value)) {\r\n c++;\r\n }\r\n if (c == count) {\r\n if (value >= originalValue - fullDuration * 2) {\r\n $array.move(items, index);\r\n }\r\n c = 0;\r\n }\r\n value += duration;\r\n //value = $time.round(new Date(value), timeUnit, 1, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, timeUnit, 1, root);\r\n }\r\n else {\r\n if (realValue < value) {\r\n for (let i = index, len = dates.length; i < len; i++) {\r\n realValue = dates[i];\r\n if (realValue >= value) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n $array.move(items, index);\r\n value += fullDuration;\r\n //value = $time.round(new Date(value), timeUnit, count, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, timeUnit, count, root);\r\n }\r\n if (value == previousValue) {\r\n value += fullDuration + duration;\r\n //value = $time.round(new Date(value), timeUnit, count, firstDay, utc, undefined, timezone).getTime();\r\n value = $time.roun(value, timeUnit, count, root);\r\n }\r\n if (value == previousValue) {\r\n break;\r\n }\r\n previousValue = value;\r\n }\r\n return items;\r\n }\r\n _hasDate(time) {\r\n const result = $array.getSortedIndex(this._getDates(), (date) => {\r\n return $order.compareNumber(date, time);\r\n });\r\n return result.found;\r\n }\r\n}\r\nObject.defineProperty(GaplessDateAxis, \"className\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: \"GaplessDateAxis\"\r\n});\r\nObject.defineProperty(GaplessDateAxis, \"classNames\", {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: DateAxis.classNames.concat([GaplessDateAxis.className])\r\n});\r\n//# sourceMappingURL=GaplessDateAxis.js.map"],"sourceRoot":""}