{"version":3,"sources":["webpack:///./node_modules/echarts/lib/model/referHelper.js","webpack:///./node_modules/echarts/lib/chart/helper/createSeriesData.js","webpack:///./node_modules/echarts/lib/chart/bar/BaseBarSeries.js","webpack:///./node_modules/echarts/lib/chart/bar/BarSeries.js","webpack:///./node_modules/echarts/lib/label/sectorLabel.js","webpack:///./node_modules/echarts/lib/chart/bar/BarView.js","webpack:///./node_modules/echarts/lib/chart/bar/install.js","webpack:///./node_modules/echarts/lib/coord/CoordinateSystem.js","webpack:///./src/components/dashboards/invoices/invoices_revenue_by_client.vue?41e6","webpack:///src/components/dashboards/invoices/invoices_revenue_by_client.vue","webpack:///./src/components/dashboards/invoices/invoices_revenue_by_client.vue?84fc","webpack:///./src/components/dashboards/invoices/invoices_revenue_by_client.vue?8fdb","webpack:///./src/components/dashboards/invoices/invoices_revenue_by_client.vue?b4ec","webpack:///../../../src/components/VBtn/index.ts","webpack:///./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js","webpack:///./node_modules/echarts/lib/util/shape/sausage.js","webpack:///./node_modules/echarts/lib/chart/helper/labelHelper.js","webpack:///./node_modules/echarts/lib/processor/dataSample.js"],"names":["CoordSysInfo","coordSysName","this","coordSysDims","axisMap","categoryAxisMap","getCoordSysInfoBySeries","seriesModel","get","result","fetch","fetchers","cartesian2d","xAxisModel","getReferringComponents","models","yAxisModel","set","isCategory","firstCategoryDimIndex","singleAxis","singleAxisModel","polar","polarModel","radiusAxisModel","findAxisModel","angleAxisModel","geo","parallel","ecModel","parallelModel","getComponent","dimensions","slice","parallelAxisIndex","axisIndex","index","axisModel","axisDim","getCoordSysDimDefs","coordSysInfo","coordSysDimDefs","registeredCoordSys","CoordinateSystem","dim","dimInfo","name","axisType","type","getDimensionsInfo","injectOrdinalMeta","dimInfoList","createInvertedIndices","hasNameEncode","dimIndex","coordDim","categoryAxisModel","ordinalMeta","getOrdinalMeta","otherDims","itemName","createSeriesData","sourceRaw","opt","source","sourceManager","getSourceManager","isOriginalSource","getSource","sourceFormat","useEncodeDefaulter","encodeDefaulter","createDimensionOptions","coordDimensions","generateCoord","encodeDefine","getEncode","canOmitUnusedDimensions","schema","store","getSharedDataStore","stackCalculationInfo","data","SeriesData","setCalculationInfo","dimValueGetter","isNeedCompleteOrdinalData","itemOpt","dimName","dataIndex","defaultDimValueGetter","hasItemOption","initData","sampleItem","firstDataNotNull","arr","i","length","_super","BaseBarSeriesModel","_this","apply","arguments","prototype","getInitialData","option","getMarkerPosition","value","dims","startingAtTick","coordSys","coordinateSystem","clampData","clampData_1","pt_1","dataToPoint","getAxes","axis","idx","tickCoords","getTicksCoords","targetTickId","isEnd","toGlobalCoord","getExtent","leftCoord","coord","stepTickValue","tickCoord","tickValue","getData","offset","getLayout","size","offsetIndex","getBaseAxis","isHorizontal","NaN","defaultOption","z","legendHoverLink","barMinHeight","barMinAngle","large","largeThreshold","progressive","progressiveChunkMode","Series","registerClass","BaseBarSeries","BarSeriesModel","getProgressive","getProgressiveThreshold","progressiveThreshold","brushSelector","selectors","rect","getItemLayout","dependencies","clip","roundCap","showBackground","backgroundStyle","color","borderColor","borderWidth","borderType","borderRadius","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","opacity","select","itemStyle","realtimeSort","BarSeries","createSectorCalculateTextPosition","positionMapping","opts","isRoundCap","out","boundingRect","textPosition","position","Array","mappedSectorPosition","distance","sector","shape","cx","cy","r","r0","middleR","startAngle","endAngle","middleAngle","extraDist","Math","abs","mathCos","cos","mathSin","sin","x","y","textAlign","textVerticalAlign","adjustAngleDistanceX","adjustAngleDistanceY","align","verticalAlign","setSectorTextRotation","rotateType","setTextConfig","rotation","anchorAngle","clockwise","rotate","PI","angle","mathMax","max","mathMin","min","getClipArea","coordSysClipArea","getArea","baseAxis","onBand","expandWidth","width","height","BarView","call","_isFirstFrame","render","api","payload","_model","_removeOnRenderedListener","_updateDrawMode","coordinateSystemType","_progressiveEls","_isLargeDraw","_renderLarge","_renderNormal","incrementalPrepareRender","_clear","_updateLargeClip","incrementalRender","params","_incrementalRenderLarge","eachRendered","cb","group","isLargeDraw","pipelineContext","isHorizontalOrRadial","oldData","_data","animationModel","isAnimationEnabled","realtimeSortCfg","shouldRealtimeSort","_enableRealtimeSort","needsClip","removeClipPath","drawBackground","backgroundModel","getModel","barBorderRadius","bgEls","oldBgEls","_backgroundEls","isInitSort","isChangeOrder","createBackground","bgLayout","bgEl","createBackgroundEl","useStyle","getItemStyle","setShape","diff","add","itemModel","getItemModel","layout","hasValue","isValidLayout","isClipped","el","elementCreator","model","forceLabelAnimation","updateStyle","attr","updateRealtimeAnimation","setItemGraphicEl","ignore","update","newIndex","oldIndex","createBackgroundShape","getItemGraphicEl","remove","textEl","getTextContent","labelInnerStore","prevValue","execute","bgGroup","_backgroundGroup","Group","removeAll","createLarge","_removeBackground","clipPath","setClipPath","count","_dispatchInitSort","orderMapping_1","_onRendered","_updateSortWithinSameData","getZr","on","_dataSort","orderMapping","info","each","mapDimension","ordinalNumber","dataIdx","mappedValue","push","sort","a","b","ordinalNumbers","item","_isOrderChangedWithinSameData","scale","ordinalDataDim","lastValue","Number","MAX_VALUE","tickNum","len","categories","rawIdx","rawIndexOf","getRawOrdinalNumber","MIN_VALUE","indexOfRawIndex","_isOrderDifferentInView","orderInfo","extent","tickMax","sortInfo","dispatchAction","componentType","axisId","sortResult","otherAxis","dispose","off","eachItemGraphicEl","Chart","coordSysBoundingRect","signWidth","signHeight","coordSysX2","coordSysY2","x2","y2","xClipped","yClipped","signR","tmp","clipped","isUpdate","Rect","z2","__dataIndex","rectShape","animateProperty","isRadial","ShapeClass","Sector","positionMap","createPolarPositionMapping","calculateTextPosition","sectorShape","animateTarget","realtimeSortOption","getOtherAxis","seriesAnimationModel","seriesTarget","axisTarget","axisAnimationModel","checkPropertiesNotValid","obj","props","isFinite","rectPropties","polarPropties","fixedLineWidth","getLineWidth","signX","signY","isZeroOnPolar","arcOrAngle","isPolar","style","getItemVisual","cornerRadius","cursorStyle","getShallow","labelPositionOutside","labelStatesModels","labelFetcher","labelDataIndex","defaultText","inheritColor","fill","defaultOpacity","defaultOutsidePosition","label","textConfig","inside","getRawValue","emphasisModel","stroke","states","state","rawLayout","lineWidth","isNaN","LagePathShape","LargePath","getDefaultShape","buildPath","ctx","points","baseDimIdx","valueDimIdx","startPoint","barWidth","Path","progressiveEls","incremental","largeDataIndices","bgPoints","silent","ignoreCoarsePointer","getVisual","seriesIndex","largePathUpdateDataIndex","throttle","event","largePath","largePathFindDataIndex","offsetX","offsetY","ii","coordLayout","ElementClz","install","registers","registerChartView","registerSeriesModel","registerLayout","PRIORITY","VISUAL","LAYOUT","PROGRESSIVE_LAYOUT","registerProcessor","PROCESSOR","STATISTIC","dataSample","registerAction","eachComponent","mainType","query","componentModel","setCategorySortInfo","isCoordinateSystemType","_vm","_h","$createElement","_c","_self","VCard","staticStyle","attrs","VToolbar","staticClass","_v","VSpacer","VMenu","scopedSlots","_u","key","fn","ref","VBtn","_g","_b","VSelect","years","callback","$$v","selected_year","expression","chart_id","VDataTable","items","headers","itemsPerPage","_s","$n","invoiced","staticRenderFns","component","createGridClipPath","cartesian","hasAnimation","done","during","floor","round","isAxisInversed","inverse","duringCb","percent","createPolarClipPath","sectorArea","createClipPath","SausageShape","SausagePath","dr","rCenter","PI2","lessThanCircle","unitStartX","unitStartY","unitEndX","unitEndY","moveTo","arc","getDefaultLabel","labelDims","mapDimensionsAll","rawVal","vals","join","getDefaultInterpolatedLabel","interpolatedValue","getDimensionIndex","samplers","average","frame","sum","Infinity","nearest","indexSampler","seriesType","reset","sampling","valueAxis","dpr","getDevicePixelRatio","rate","setData","lttbDownSample","sampler","downSample"],"mappings":"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","file":"js/chunk-2a3e5f79.46966325.js","sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\n/**\r\n * Helper for model references.\r\n * There are many manners to refer axis/coordSys.\r\n */\n// TODO\n// merge relevant logic to this file?\n// check: \"modelHelper\" of tooltip and \"BrushTargetManager\".\nimport { createHashMap, retrieve, each } from 'zrender/lib/core/util.js';\nimport { SINGLE_REFERRING } from '../util/model.js';\n/**\r\n * @class\r\n * For example:\r\n * {\r\n * coordSysName: 'cartesian2d',\r\n * coordSysDims: ['x', 'y', ...],\r\n * axisMap: HashMap({\r\n * x: xAxisModel,\r\n * y: yAxisModel\r\n * }),\r\n * categoryAxisMap: HashMap({\r\n * x: xAxisModel,\r\n * y: undefined\r\n * }),\r\n * // The index of the first category axis in `coordSysDims`.\r\n * // `null/undefined` means no category axis exists.\r\n * firstCategoryDimIndex: 1,\r\n * // To replace user specified encode.\r\n * }\r\n */\n\nvar CoordSysInfo =\n/** @class */\nfunction () {\n function CoordSysInfo(coordSysName) {\n this.coordSysDims = [];\n this.axisMap = createHashMap();\n this.categoryAxisMap = createHashMap();\n this.coordSysName = coordSysName;\n }\n\n return CoordSysInfo;\n}();\n\nexport function getCoordSysInfoBySeries(seriesModel) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var result = new CoordSysInfo(coordSysName);\n var fetch = fetchers[coordSysName];\n\n if (fetch) {\n fetch(seriesModel, result, result.axisMap, result.categoryAxisMap);\n return result;\n }\n}\nvar fetchers = {\n cartesian2d: function (seriesModel, result, axisMap, categoryAxisMap) {\n var xAxisModel = seriesModel.getReferringComponents('xAxis', SINGLE_REFERRING).models[0];\n var yAxisModel = seriesModel.getReferringComponents('yAxis', SINGLE_REFERRING).models[0];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!xAxisModel) {\n throw new Error('xAxis \"' + retrieve(seriesModel.get('xAxisIndex'), seriesModel.get('xAxisId'), 0) + '\" not found');\n }\n\n if (!yAxisModel) {\n throw new Error('yAxis \"' + retrieve(seriesModel.get('xAxisIndex'), seriesModel.get('yAxisId'), 0) + '\" not found');\n }\n }\n\n result.coordSysDims = ['x', 'y'];\n axisMap.set('x', xAxisModel);\n axisMap.set('y', yAxisModel);\n\n if (isCategory(xAxisModel)) {\n categoryAxisMap.set('x', xAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(yAxisModel)) {\n categoryAxisMap.set('y', yAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n singleAxis: function (seriesModel, result, axisMap, categoryAxisMap) {\n var singleAxisModel = seriesModel.getReferringComponents('singleAxis', SINGLE_REFERRING).models[0];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!singleAxisModel) {\n throw new Error('singleAxis should be specified.');\n }\n }\n\n result.coordSysDims = ['single'];\n axisMap.set('single', singleAxisModel);\n\n if (isCategory(singleAxisModel)) {\n categoryAxisMap.set('single', singleAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n },\n polar: function (seriesModel, result, axisMap, categoryAxisMap) {\n var polarModel = seriesModel.getReferringComponents('polar', SINGLE_REFERRING).models[0];\n var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n var angleAxisModel = polarModel.findAxisModel('angleAxis');\n\n if (process.env.NODE_ENV !== 'production') {\n if (!angleAxisModel) {\n throw new Error('angleAxis option not found');\n }\n\n if (!radiusAxisModel) {\n throw new Error('radiusAxis option not found');\n }\n }\n\n result.coordSysDims = ['radius', 'angle'];\n axisMap.set('radius', radiusAxisModel);\n axisMap.set('angle', angleAxisModel);\n\n if (isCategory(radiusAxisModel)) {\n categoryAxisMap.set('radius', radiusAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(angleAxisModel)) {\n categoryAxisMap.set('angle', angleAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n geo: function (seriesModel, result, axisMap, categoryAxisMap) {\n result.coordSysDims = ['lng', 'lat'];\n },\n parallel: function (seriesModel, result, axisMap, categoryAxisMap) {\n var ecModel = seriesModel.ecModel;\n var parallelModel = ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n var coordSysDims = result.coordSysDims = parallelModel.dimensions.slice();\n each(parallelModel.parallelAxisIndex, function (axisIndex, index) {\n var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n var axisDim = coordSysDims[index];\n axisMap.set(axisDim, axisModel);\n\n if (isCategory(axisModel)) {\n categoryAxisMap.set(axisDim, axisModel);\n\n if (result.firstCategoryDimIndex == null) {\n result.firstCategoryDimIndex = index;\n }\n }\n });\n }\n};\n\nfunction isCategory(axisModel) {\n return axisModel.get('type') === 'category';\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport SeriesData from '../../data/SeriesData.js';\nimport prepareSeriesDataSchema from '../../data/helper/createDimensions.js';\nimport { getDimensionTypeByAxis } from '../../data/helper/dimensionHelper.js';\nimport { getDataItemValue } from '../../util/model.js';\nimport CoordinateSystem from '../../core/CoordinateSystem.js';\nimport { getCoordSysInfoBySeries } from '../../model/referHelper.js';\nimport { createSourceFromSeriesDataOption } from '../../data/Source.js';\nimport { enableDataStack } from '../../data/helper/dataStackHelper.js';\nimport { makeSeriesEncodeForAxisCoordSys } from '../../data/helper/sourceHelper.js';\nimport { SOURCE_FORMAT_ORIGINAL } from '../../util/types.js';\n\nfunction getCoordSysDimDefs(seriesModel, coordSysInfo) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var registeredCoordSys = CoordinateSystem.get(coordSysName);\n var coordSysDimDefs;\n\n if (coordSysInfo && coordSysInfo.coordSysDims) {\n coordSysDimDefs = zrUtil.map(coordSysInfo.coordSysDims, function (dim) {\n var dimInfo = {\n name: dim\n };\n var axisModel = coordSysInfo.axisMap.get(dim);\n\n if (axisModel) {\n var axisType = axisModel.get('type');\n dimInfo.type = getDimensionTypeByAxis(axisType);\n }\n\n return dimInfo;\n });\n }\n\n if (!coordSysDimDefs) {\n // Get dimensions from registered coordinate system\n coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ['x', 'y'];\n }\n\n return coordSysDimDefs;\n}\n\nfunction injectOrdinalMeta(dimInfoList, createInvertedIndices, coordSysInfo) {\n var firstCategoryDimIndex;\n var hasNameEncode;\n coordSysInfo && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {\n var coordDim = dimInfo.coordDim;\n var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);\n\n if (categoryAxisModel) {\n if (firstCategoryDimIndex == null) {\n firstCategoryDimIndex = dimIndex;\n }\n\n dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();\n\n if (createInvertedIndices) {\n dimInfo.createInvertedIndices = true;\n }\n }\n\n if (dimInfo.otherDims.itemName != null) {\n hasNameEncode = true;\n }\n });\n\n if (!hasNameEncode && firstCategoryDimIndex != null) {\n dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;\n }\n\n return firstCategoryDimIndex;\n}\n/**\r\n * Caution: there are side effects to `sourceManager` in this method.\r\n * Should better only be called in `Series['getInitialData']`.\r\n */\n\n\nfunction createSeriesData(sourceRaw, seriesModel, opt) {\n opt = opt || {};\n var sourceManager = seriesModel.getSourceManager();\n var source;\n var isOriginalSource = false;\n\n if (sourceRaw) {\n isOriginalSource = true;\n source = createSourceFromSeriesDataOption(sourceRaw);\n } else {\n source = sourceManager.getSource(); // Is series.data. not dataset.\n\n isOriginalSource = source.sourceFormat === SOURCE_FORMAT_ORIGINAL;\n }\n\n var coordSysInfo = getCoordSysInfoBySeries(seriesModel);\n var coordSysDimDefs = getCoordSysDimDefs(seriesModel, coordSysInfo);\n var useEncodeDefaulter = opt.useEncodeDefaulter;\n var encodeDefaulter = zrUtil.isFunction(useEncodeDefaulter) ? useEncodeDefaulter : useEncodeDefaulter ? zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordSysDimDefs, seriesModel) : null;\n var createDimensionOptions = {\n coordDimensions: coordSysDimDefs,\n generateCoord: opt.generateCoord,\n encodeDefine: seriesModel.getEncode(),\n encodeDefaulter: encodeDefaulter,\n canOmitUnusedDimensions: !isOriginalSource\n };\n var schema = prepareSeriesDataSchema(source, createDimensionOptions);\n var firstCategoryDimIndex = injectOrdinalMeta(schema.dimensions, opt.createInvertedIndices, coordSysInfo);\n var store = !isOriginalSource ? sourceManager.getSharedDataStore(schema) : null;\n var stackCalculationInfo = enableDataStack(seriesModel, {\n schema: schema,\n store: store\n });\n var data = new SeriesData(schema, seriesModel);\n data.setCalculationInfo(stackCalculationInfo);\n var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source) ? function (itemOpt, dimName, dataIndex, dimIndex) {\n // Use dataIndex as ordinal value in categoryAxis\n return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);\n } : null;\n data.hasItemOption = false;\n data.initData( // Try to reuse the data store in sourceManager if using dataset.\n isOriginalSource ? source : store, null, dimValueGetter);\n return data;\n}\n\nfunction isNeedCompleteOrdinalData(source) {\n if (source.sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var sampleItem = firstDataNotNull(source.data || []);\n return !zrUtil.isArray(getDataItemValue(sampleItem));\n }\n}\n\nfunction firstDataNotNull(arr) {\n var i = 0;\n\n while (i < arr.length && arr[i] == null) {\n i++;\n }\n\n return arr[i];\n}\n\nexport default createSeriesData;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport SeriesModel from '../../model/Series.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { each } from 'zrender/lib/core/util.js';\n\nvar BaseBarSeriesModel =\n/** @class */\nfunction (_super) {\n __extends(BaseBarSeriesModel, _super);\n\n function BaseBarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = BaseBarSeriesModel.type;\n return _this;\n }\n\n BaseBarSeriesModel.prototype.getInitialData = function (option, ecModel) {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true\n });\n };\n\n BaseBarSeriesModel.prototype.getMarkerPosition = function (value, dims, startingAtTick) {\n var coordSys = this.coordinateSystem;\n\n if (coordSys && coordSys.clampData) {\n // PENDING if clamp ?\n var clampData_1 = coordSys.clampData(value);\n var pt_1 = coordSys.dataToPoint(clampData_1);\n\n if (startingAtTick) {\n each(coordSys.getAxes(), function (axis, idx) {\n // If axis type is category, use tick coords instead\n if (axis.type === 'category' && dims != null) {\n var tickCoords = axis.getTicksCoords();\n var targetTickId = clampData_1[idx]; // The index of rightmost tick of markArea is 1 larger than x1/y1 index\n\n var isEnd = dims[idx] === 'x1' || dims[idx] === 'y1';\n\n if (isEnd) {\n targetTickId += 1;\n } // The only contains one tick, tickCoords is\n // like [{coord: 0, tickValue: 0}, {coord: 0}]\n // to the length should always be larger than 1\n\n\n if (tickCoords.length < 2) {\n return;\n } else if (tickCoords.length === 2) {\n // The left value and right value of the axis are\n // the same. coord is 0 in both items. Use the max\n // value of the axis as the coord\n pt_1[idx] = axis.toGlobalCoord(axis.getExtent()[isEnd ? 1 : 0]);\n return;\n }\n\n var leftCoord = void 0;\n var coord = void 0;\n var stepTickValue = 1;\n\n for (var i = 0; i < tickCoords.length; i++) {\n var tickCoord = tickCoords[i].coord; // The last item of tickCoords doesn't contain\n // tickValue\n\n var tickValue = i === tickCoords.length - 1 ? tickCoords[i - 1].tickValue + stepTickValue : tickCoords[i].tickValue;\n\n if (tickValue === targetTickId) {\n coord = tickCoord;\n break;\n } else if (tickValue < targetTickId) {\n leftCoord = tickCoord;\n } else if (leftCoord != null && tickValue > targetTickId) {\n coord = (tickCoord + leftCoord) / 2;\n break;\n }\n\n if (i === 1) {\n // Here we assume the step of category axes is\n // the same\n stepTickValue = tickValue - tickCoords[0].tickValue;\n }\n }\n\n if (coord == null) {\n if (!leftCoord) {\n // targetTickId is smaller than all tick ids in the\n // visible area, use the leftmost tick coord\n coord = tickCoords[0].coord;\n } else if (leftCoord) {\n // targetTickId is larger than all tick ids in the\n // visible area, use the rightmost tick coord\n coord = tickCoords[tickCoords.length - 1].coord;\n }\n }\n\n pt_1[idx] = axis.toGlobalCoord(coord);\n }\n });\n } else {\n var data = this.getData();\n var offset = data.getLayout('offset');\n var size = data.getLayout('size');\n var offsetIndex = coordSys.getBaseAxis().isHorizontal() ? 0 : 1;\n pt_1[offsetIndex] += offset + size / 2;\n }\n\n return pt_1;\n }\n\n return [NaN, NaN];\n };\n\n BaseBarSeriesModel.type = 'series.__base_bar__';\n BaseBarSeriesModel.defaultOption = {\n // zlevel: 0,\n z: 2,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n // stack: null\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n barMinHeight: 0,\n barMinAngle: 0,\n // cursor: null,\n large: false,\n largeThreshold: 400,\n progressive: 3e3,\n progressiveChunkMode: 'mod'\n };\n return BaseBarSeriesModel;\n}(SeriesModel);\n\nSeriesModel.registerClass(BaseBarSeriesModel);\nexport default BaseBarSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport BaseBarSeriesModel from './BaseBarSeries.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { inheritDefaultOption } from '../../util/component.js';\n\nvar BarSeriesModel =\n/** @class */\nfunction (_super) {\n __extends(BarSeriesModel, _super);\n\n function BarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = BarSeriesModel.type;\n return _this;\n }\n\n BarSeriesModel.prototype.getInitialData = function () {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true,\n createInvertedIndices: !!this.get('realtimeSort', true) || null\n });\n };\n /**\r\n * @override\r\n */\n\n\n BarSeriesModel.prototype.getProgressive = function () {\n // Do not support progressive in normal mode.\n return this.get('large') ? this.get('progressive') : false;\n };\n /**\r\n * @override\r\n */\n\n\n BarSeriesModel.prototype.getProgressiveThreshold = function () {\n // Do not support progressive in normal mode.\n var progressiveThreshold = this.get('progressiveThreshold');\n var largeThreshold = this.get('largeThreshold');\n\n if (largeThreshold > progressiveThreshold) {\n progressiveThreshold = largeThreshold;\n }\n\n return progressiveThreshold;\n };\n\n BarSeriesModel.prototype.brushSelector = function (dataIndex, data, selectors) {\n return selectors.rect(data.getItemLayout(dataIndex));\n };\n\n BarSeriesModel.type = 'series.bar';\n BarSeriesModel.dependencies = ['grid', 'polar'];\n BarSeriesModel.defaultOption = inheritDefaultOption(BaseBarSeriesModel.defaultOption, {\n // If clipped\n // Only available on cartesian2d\n clip: true,\n roundCap: false,\n showBackground: false,\n backgroundStyle: {\n color: 'rgba(180, 180, 180, 0.2)',\n borderColor: null,\n borderWidth: 0,\n borderType: 'solid',\n borderRadius: 0,\n shadowBlur: 0,\n shadowColor: null,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n opacity: 1\n },\n select: {\n itemStyle: {\n borderColor: '#212121'\n }\n },\n realtimeSort: false\n });\n return BarSeriesModel;\n}(BaseBarSeriesModel);\n\nexport default BarSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { calculateTextPosition } from 'zrender/lib/contain/text.js';\nimport { isArray, isNumber } from 'zrender/lib/core/util.js';\nexport function createSectorCalculateTextPosition(positionMapping, opts) {\n opts = opts || {};\n var isRoundCap = opts.isRoundCap;\n return function (out, opts, boundingRect) {\n var textPosition = opts.position;\n\n if (!textPosition || textPosition instanceof Array) {\n return calculateTextPosition(out, opts, boundingRect);\n }\n\n var mappedSectorPosition = positionMapping(textPosition);\n var distance = opts.distance != null ? opts.distance : 5;\n var sector = this.shape;\n var cx = sector.cx;\n var cy = sector.cy;\n var r = sector.r;\n var r0 = sector.r0;\n var middleR = (r + r0) / 2;\n var startAngle = sector.startAngle;\n var endAngle = sector.endAngle;\n var middleAngle = (startAngle + endAngle) / 2;\n var extraDist = isRoundCap ? Math.abs(r - r0) / 2 : 0;\n var mathCos = Math.cos;\n var mathSin = Math.sin; // base position: top-left\n\n var x = cx + r * mathCos(startAngle);\n var y = cy + r * mathSin(startAngle);\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n\n switch (mappedSectorPosition) {\n case 'startArc':\n x = cx + (r0 - distance) * mathCos(middleAngle);\n y = cy + (r0 - distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'top';\n break;\n\n case 'insideStartArc':\n x = cx + (r0 + distance) * mathCos(middleAngle);\n y = cy + (r0 + distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'startAngle':\n x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, distance + extraDist, false);\n y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, distance + extraDist, false);\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideStartAngle':\n x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, -distance + extraDist, false);\n y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, -distance + extraDist, false);\n textAlign = 'left';\n textVerticalAlign = 'middle';\n break;\n\n case 'middle':\n x = cx + middleR * mathCos(middleAngle);\n y = cy + middleR * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n\n case 'endArc':\n x = cx + (r + distance) * mathCos(middleAngle);\n y = cy + (r + distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideEndArc':\n x = cx + (r - distance) * mathCos(middleAngle);\n y = cy + (r - distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'top';\n break;\n\n case 'endAngle':\n x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, distance + extraDist, true);\n y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, distance + extraDist, true);\n textAlign = 'left';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideEndAngle':\n x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, -distance + extraDist, true);\n y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, -distance + extraDist, true);\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n default:\n return calculateTextPosition(out, opts, boundingRect);\n }\n\n out = out || {};\n out.x = x;\n out.y = y;\n out.align = textAlign;\n out.verticalAlign = textVerticalAlign;\n return out;\n };\n}\nexport function setSectorTextRotation(sector, textPosition, positionMapping, rotateType) {\n if (isNumber(rotateType)) {\n // user-set rotation\n sector.setTextConfig({\n rotation: rotateType\n });\n return;\n } else if (isArray(textPosition)) {\n // user-set position, use 0 as auto rotation\n sector.setTextConfig({\n rotation: 0\n });\n return;\n }\n\n var shape = sector.shape;\n var startAngle = shape.clockwise ? shape.startAngle : shape.endAngle;\n var endAngle = shape.clockwise ? shape.endAngle : shape.startAngle;\n var middleAngle = (startAngle + endAngle) / 2;\n var anchorAngle;\n var mappedSectorPosition = positionMapping(textPosition);\n\n switch (mappedSectorPosition) {\n case 'startArc':\n case 'insideStartArc':\n case 'middle':\n case 'insideEndArc':\n case 'endArc':\n anchorAngle = middleAngle;\n break;\n\n case 'startAngle':\n case 'insideStartAngle':\n anchorAngle = startAngle;\n break;\n\n case 'endAngle':\n case 'insideEndAngle':\n anchorAngle = endAngle;\n break;\n\n default:\n sector.setTextConfig({\n rotation: 0\n });\n return;\n }\n\n var rotate = Math.PI * 1.5 - anchorAngle;\n /**\r\n * TODO: labels with rotate > Math.PI / 2 should be rotate another\r\n * half round flipped to increase readability. However, only middle\r\n * position supports this for now, because in other positions, the\r\n * anchor point is not at the center of the text, so the positions\r\n * after rotating is not as expected.\r\n */\n\n if (mappedSectorPosition === 'middle' && rotate > Math.PI / 2 && rotate < Math.PI * 1.5) {\n rotate -= Math.PI;\n }\n\n sector.setTextConfig({\n rotation: rotate\n });\n}\n\nfunction adjustAngleDistanceX(angle, distance, isEnd) {\n return distance * Math.sin(angle) * (isEnd ? -1 : 1);\n}\n\nfunction adjustAngleDistanceY(angle, distance, isEnd) {\n return distance * Math.cos(angle) * (isEnd ? 1 : -1);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport Path from 'zrender/lib/graphic/Path.js';\nimport Group from 'zrender/lib/graphic/Group.js';\nimport { extend, each, map } from 'zrender/lib/core/util.js';\nimport { Rect, Sector, updateProps, initProps, removeElementWithFadeOut, traverseElements } from '../../util/graphic.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\nimport { setLabelStyle, getLabelStatesModels, setLabelValueAnimation, labelInner } from '../../label/labelStyle.js';\nimport { throttle } from '../../util/throttle.js';\nimport { createClipPath } from '../helper/createClipPathFromCoordSys.js';\nimport Sausage from '../../util/shape/sausage.js';\nimport ChartView from '../../view/Chart.js';\nimport { isCoordinateSystemType } from '../../coord/CoordinateSystem.js';\nimport { getDefaultLabel, getDefaultInterpolatedLabel } from '../helper/labelHelper.js';\nimport { warn } from '../../util/log.js';\nimport { createSectorCalculateTextPosition, setSectorTextRotation } from '../../label/sectorLabel.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\nimport { getSectorCornerRadius } from '../helper/sectorHelper.js';\nvar mathMax = Math.max;\nvar mathMin = Math.min;\n\nfunction getClipArea(coord, data) {\n var coordSysClipArea = coord.getArea && coord.getArea();\n\n if (isCoordinateSystemType(coord, 'cartesian2d')) {\n var baseAxis = coord.getBaseAxis(); // When boundaryGap is false or using time axis. bar may exceed the grid.\n // We should not clip this part.\n // See test/bar2.html\n\n if (baseAxis.type !== 'category' || !baseAxis.onBand) {\n var expandWidth = data.getLayout('bandWidth');\n\n if (baseAxis.isHorizontal()) {\n coordSysClipArea.x -= expandWidth;\n coordSysClipArea.width += expandWidth * 2;\n } else {\n coordSysClipArea.y -= expandWidth;\n coordSysClipArea.height += expandWidth * 2;\n }\n }\n }\n\n return coordSysClipArea;\n}\n\nvar BarView =\n/** @class */\nfunction (_super) {\n __extends(BarView, _super);\n\n function BarView() {\n var _this = _super.call(this) || this;\n\n _this.type = BarView.type;\n _this._isFirstFrame = true;\n return _this;\n }\n\n BarView.prototype.render = function (seriesModel, ecModel, api, payload) {\n this._model = seriesModel;\n\n this._removeOnRenderedListener(api);\n\n this._updateDrawMode(seriesModel);\n\n var coordinateSystemType = seriesModel.get('coordinateSystem');\n\n if (coordinateSystemType === 'cartesian2d' || coordinateSystemType === 'polar') {\n // Clear previously rendered progressive elements.\n this._progressiveEls = null;\n this._isLargeDraw ? this._renderLarge(seriesModel, ecModel, api) : this._renderNormal(seriesModel, ecModel, api, payload);\n } else if (process.env.NODE_ENV !== 'production') {\n warn('Only cartesian2d and polar supported for bar.');\n }\n };\n\n BarView.prototype.incrementalPrepareRender = function (seriesModel) {\n this._clear();\n\n this._updateDrawMode(seriesModel); // incremental also need to clip, otherwise might be overlow.\n // But must not set clip in each frame, otherwise all of the children will be marked redraw.\n\n\n this._updateLargeClip(seriesModel);\n };\n\n BarView.prototype.incrementalRender = function (params, seriesModel) {\n // Reset\n this._progressiveEls = []; // Do not support progressive in normal mode.\n\n this._incrementalRenderLarge(params, seriesModel);\n };\n\n BarView.prototype.eachRendered = function (cb) {\n traverseElements(this._progressiveEls || this.group, cb);\n };\n\n BarView.prototype._updateDrawMode = function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n\n if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n\n this._clear();\n }\n };\n\n BarView.prototype._renderNormal = function (seriesModel, ecModel, api, payload) {\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n var coord = seriesModel.coordinateSystem;\n var baseAxis = coord.getBaseAxis();\n var isHorizontalOrRadial;\n\n if (coord.type === 'cartesian2d') {\n isHorizontalOrRadial = baseAxis.isHorizontal();\n } else if (coord.type === 'polar') {\n isHorizontalOrRadial = baseAxis.dim === 'angle';\n }\n\n var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;\n var realtimeSortCfg = shouldRealtimeSort(seriesModel, coord);\n\n if (realtimeSortCfg) {\n this._enableRealtimeSort(realtimeSortCfg, data, api);\n }\n\n var needsClip = seriesModel.get('clip', true) || realtimeSortCfg;\n var coordSysClipArea = getClipArea(coord, data); // If there is clipPath created in large mode. Remove it.\n\n group.removeClipPath(); // We don't use clipPath in normal mode because we needs a perfect animation\n // And don't want the label are clipped.\n\n var roundCap = seriesModel.get('roundCap', true);\n var drawBackground = seriesModel.get('showBackground', true);\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var barBorderRadius = backgroundModel.get('borderRadius') || 0;\n var bgEls = [];\n var oldBgEls = this._backgroundEls;\n var isInitSort = payload && payload.isInitSort;\n var isChangeOrder = payload && payload.type === 'changeAxisOrder';\n\n function createBackground(dataIndex) {\n var bgLayout = getLayout[coord.type](data, dataIndex);\n var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, bgLayout);\n bgEl.useStyle(backgroundModel.getItemStyle()); // Only cartesian2d support borderRadius.\n\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n\n bgEls[dataIndex] = bgEl;\n return bgEl;\n }\n\n ;\n data.diff(oldData).add(function (dataIndex) {\n var itemModel = data.getItemModel(dataIndex);\n var layout = getLayout[coord.type](data, dataIndex, itemModel);\n\n if (drawBackground) {\n createBackground(dataIndex);\n } // If dataZoom in filteMode: 'empty', the baseValue can be set as NaN in \"axisProxy\".\n\n\n if (!data.hasValue(dataIndex) || !isValidLayout[coord.type](layout)) {\n return;\n }\n\n var isClipped = false;\n\n if (needsClip) {\n // Clip will modify the layout params.\n // And return a boolean to determine if the shape are fully clipped.\n isClipped = clip[coord.type](coordSysClipArea, layout);\n }\n\n var el = elementCreator[coord.type](seriesModel, data, dataIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, false, roundCap);\n\n if (realtimeSortCfg) {\n /**\r\n * Force label animation because even if the element is\r\n * ignored because it's clipped, it may not be clipped after\r\n * changing order. Then, if not using forceLabelAnimation,\r\n * the label animation was never started, in which case,\r\n * the label will be the final value and doesn't have label\r\n * animation.\r\n */\n el.forceLabelAnimation = true;\n }\n\n updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n\n if (isInitSort) {\n el.attr({\n shape: layout\n });\n } else if (realtimeSortCfg) {\n updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, dataIndex, isHorizontalOrRadial, false, false);\n } else {\n initProps(el, {\n shape: layout\n }, seriesModel, dataIndex);\n }\n\n data.setItemGraphicEl(dataIndex, el);\n group.add(el);\n el.ignore = isClipped;\n }).update(function (newIndex, oldIndex) {\n var itemModel = data.getItemModel(newIndex);\n var layout = getLayout[coord.type](data, newIndex, itemModel);\n\n if (drawBackground) {\n var bgEl = void 0;\n\n if (oldBgEls.length === 0) {\n bgEl = createBackground(oldIndex);\n } else {\n bgEl = oldBgEls[oldIndex];\n bgEl.useStyle(backgroundModel.getItemStyle()); // Only cartesian2d support borderRadius.\n\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n\n bgEls[newIndex] = bgEl;\n }\n\n var bgLayout = getLayout[coord.type](data, newIndex);\n var shape = createBackgroundShape(isHorizontalOrRadial, bgLayout, coord);\n updateProps(bgEl, {\n shape: shape\n }, animationModel, newIndex);\n }\n\n var el = oldData.getItemGraphicEl(oldIndex);\n\n if (!data.hasValue(newIndex) || !isValidLayout[coord.type](layout)) {\n group.remove(el);\n return;\n }\n\n var isClipped = false;\n\n if (needsClip) {\n isClipped = clip[coord.type](coordSysClipArea, layout);\n\n if (isClipped) {\n group.remove(el);\n }\n }\n\n if (!el) {\n el = elementCreator[coord.type](seriesModel, data, newIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, !!el, roundCap);\n } else {\n saveOldStyle(el);\n }\n\n if (realtimeSortCfg) {\n el.forceLabelAnimation = true;\n }\n\n if (isChangeOrder) {\n var textEl = el.getTextContent();\n\n if (textEl) {\n var labelInnerStore = labelInner(textEl);\n\n if (labelInnerStore.prevValue != null) {\n /**\r\n * Set preValue to be value so that no new label\r\n * should be started, otherwise, it will take a full\r\n * `animationDurationUpdate` time to finish the\r\n * animation, which is not expected.\r\n */\n labelInnerStore.prevValue = labelInnerStore.value;\n }\n }\n } // Not change anything if only order changed.\n // Especially not change label.\n else {\n updateStyle(el, data, newIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n }\n\n if (isInitSort) {\n el.attr({\n shape: layout\n });\n } else if (realtimeSortCfg) {\n updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, newIndex, isHorizontalOrRadial, true, isChangeOrder);\n } else {\n updateProps(el, {\n shape: layout\n }, seriesModel, newIndex, null);\n }\n\n data.setItemGraphicEl(newIndex, el);\n el.ignore = isClipped;\n group.add(el);\n }).remove(function (dataIndex) {\n var el = oldData.getItemGraphicEl(dataIndex);\n el && removeElementWithFadeOut(el, seriesModel, dataIndex);\n }).execute();\n var bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group());\n bgGroup.removeAll();\n\n for (var i = 0; i < bgEls.length; ++i) {\n bgGroup.add(bgEls[i]);\n }\n\n group.add(bgGroup);\n this._backgroundEls = bgEls;\n this._data = data;\n };\n\n BarView.prototype._renderLarge = function (seriesModel, ecModel, api) {\n this._clear();\n\n createLarge(seriesModel, this.group);\n\n this._updateLargeClip(seriesModel);\n };\n\n BarView.prototype._incrementalRenderLarge = function (params, seriesModel) {\n this._removeBackground();\n\n createLarge(seriesModel, this.group, this._progressiveEls, true);\n };\n\n BarView.prototype._updateLargeClip = function (seriesModel) {\n // Use clipPath in large mode.\n var clipPath = seriesModel.get('clip', true) && createClipPath(seriesModel.coordinateSystem, false, seriesModel);\n var group = this.group;\n\n if (clipPath) {\n group.setClipPath(clipPath);\n } else {\n group.removeClipPath();\n }\n };\n\n BarView.prototype._enableRealtimeSort = function (realtimeSortCfg, data, api) {\n var _this = this; // If no data in the first frame, wait for data to initSort\n\n\n if (!data.count()) {\n return;\n }\n\n var baseAxis = realtimeSortCfg.baseAxis;\n\n if (this._isFirstFrame) {\n this._dispatchInitSort(data, realtimeSortCfg, api);\n\n this._isFirstFrame = false;\n } else {\n var orderMapping_1 = function (idx) {\n var el = data.getItemGraphicEl(idx);\n var shape = el && el.shape;\n return shape && // The result should be consistent with the initial sort by data value.\n // Do not support the case that both positive and negative exist.\n Math.abs(baseAxis.isHorizontal() ? shape.height : shape.width) // If data is NaN, shape.xxx may be NaN, so use || 0 here in case\n || 0;\n };\n\n this._onRendered = function () {\n _this._updateSortWithinSameData(data, orderMapping_1, baseAxis, api);\n };\n\n api.getZr().on('rendered', this._onRendered);\n }\n };\n\n BarView.prototype._dataSort = function (data, baseAxis, orderMapping) {\n var info = [];\n data.each(data.mapDimension(baseAxis.dim), function (ordinalNumber, dataIdx) {\n var mappedValue = orderMapping(dataIdx);\n mappedValue = mappedValue == null ? NaN : mappedValue;\n info.push({\n dataIndex: dataIdx,\n mappedValue: mappedValue,\n ordinalNumber: ordinalNumber\n });\n });\n info.sort(function (a, b) {\n // If NaN, it will be treated as min val.\n return b.mappedValue - a.mappedValue;\n });\n return {\n ordinalNumbers: map(info, function (item) {\n return item.ordinalNumber;\n })\n };\n };\n\n BarView.prototype._isOrderChangedWithinSameData = function (data, orderMapping, baseAxis) {\n var scale = baseAxis.scale;\n var ordinalDataDim = data.mapDimension(baseAxis.dim);\n var lastValue = Number.MAX_VALUE;\n\n for (var tickNum = 0, len = scale.getOrdinalMeta().categories.length; tickNum < len; ++tickNum) {\n var rawIdx = data.rawIndexOf(ordinalDataDim, scale.getRawOrdinalNumber(tickNum));\n var value = rawIdx < 0 // If some tick have no bar, the tick will be treated as min.\n ? Number.MIN_VALUE // PENDING: if dataZoom on baseAxis exits, is it a performance issue?\n : orderMapping(data.indexOfRawIndex(rawIdx));\n\n if (value > lastValue) {\n return true;\n }\n\n lastValue = value;\n }\n\n return false;\n };\n /*\r\n * Consider the case when A and B changed order, whose representing\r\n * bars are both out of sight, we don't wish to trigger reorder action\r\n * as long as the order in the view doesn't change.\r\n */\n\n\n BarView.prototype._isOrderDifferentInView = function (orderInfo, baseAxis) {\n var scale = baseAxis.scale;\n var extent = scale.getExtent();\n var tickNum = Math.max(0, extent[0]);\n var tickMax = Math.min(extent[1], scale.getOrdinalMeta().categories.length - 1);\n\n for (; tickNum <= tickMax; ++tickNum) {\n if (orderInfo.ordinalNumbers[tickNum] !== scale.getRawOrdinalNumber(tickNum)) {\n return true;\n }\n }\n };\n\n BarView.prototype._updateSortWithinSameData = function (data, orderMapping, baseAxis, api) {\n if (!this._isOrderChangedWithinSameData(data, orderMapping, baseAxis)) {\n return;\n }\n\n var sortInfo = this._dataSort(data, baseAxis, orderMapping);\n\n if (this._isOrderDifferentInView(sortInfo, baseAxis)) {\n this._removeOnRenderedListener(api);\n\n api.dispatchAction({\n type: 'changeAxisOrder',\n componentType: baseAxis.dim + 'Axis',\n axisId: baseAxis.index,\n sortInfo: sortInfo\n });\n }\n };\n\n BarView.prototype._dispatchInitSort = function (data, realtimeSortCfg, api) {\n var baseAxis = realtimeSortCfg.baseAxis;\n\n var sortResult = this._dataSort(data, baseAxis, function (dataIdx) {\n return data.get(data.mapDimension(realtimeSortCfg.otherAxis.dim), dataIdx);\n });\n\n api.dispatchAction({\n type: 'changeAxisOrder',\n componentType: baseAxis.dim + 'Axis',\n isInitSort: true,\n axisId: baseAxis.index,\n sortInfo: sortResult\n });\n };\n\n BarView.prototype.remove = function (ecModel, api) {\n this._clear(this._model);\n\n this._removeOnRenderedListener(api);\n };\n\n BarView.prototype.dispose = function (ecModel, api) {\n this._removeOnRenderedListener(api);\n };\n\n BarView.prototype._removeOnRenderedListener = function (api) {\n if (this._onRendered) {\n api.getZr().off('rendered', this._onRendered);\n this._onRendered = null;\n }\n };\n\n BarView.prototype._clear = function (model) {\n var group = this.group;\n var data = this._data;\n\n if (model && model.isAnimationEnabled() && data && !this._isLargeDraw) {\n this._removeBackground();\n\n this._backgroundEls = [];\n data.eachItemGraphicEl(function (el) {\n removeElementWithFadeOut(el, model, getECData(el).dataIndex);\n });\n } else {\n group.removeAll();\n }\n\n this._data = null;\n this._isFirstFrame = true;\n };\n\n BarView.prototype._removeBackground = function () {\n this.group.remove(this._backgroundGroup);\n this._backgroundGroup = null;\n };\n\n BarView.type = 'bar';\n return BarView;\n}(ChartView);\n\nvar clip = {\n cartesian2d: function (coordSysBoundingRect, layout) {\n var signWidth = layout.width < 0 ? -1 : 1;\n var signHeight = layout.height < 0 ? -1 : 1; // Needs positive width and height\n\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n\n var coordSysX2 = coordSysBoundingRect.x + coordSysBoundingRect.width;\n var coordSysY2 = coordSysBoundingRect.y + coordSysBoundingRect.height;\n var x = mathMax(layout.x, coordSysBoundingRect.x);\n var x2 = mathMin(layout.x + layout.width, coordSysX2);\n var y = mathMax(layout.y, coordSysBoundingRect.y);\n var y2 = mathMin(layout.y + layout.height, coordSysY2);\n var xClipped = x2 < x;\n var yClipped = y2 < y; // When xClipped or yClipped, the element will be marked as `ignore`.\n // But we should also place the element at the edge of the coord sys bounding rect.\n // Because if data changed and the bar shows again, its transition animation\n // will begin at this place.\n\n layout.x = xClipped && x > coordSysX2 ? x2 : x;\n layout.y = yClipped && y > coordSysY2 ? y2 : y;\n layout.width = xClipped ? 0 : x2 - x;\n layout.height = yClipped ? 0 : y2 - y; // Reverse back\n\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n\n return xClipped || yClipped;\n },\n polar: function (coordSysClipArea, layout) {\n var signR = layout.r0 <= layout.r ? 1 : -1; // Make sure r is larger than r0\n\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\n }\n\n var r = mathMin(layout.r, coordSysClipArea.r);\n var r0 = mathMax(layout.r0, coordSysClipArea.r0);\n layout.r = r;\n layout.r0 = r0;\n var clipped = r - r0 < 0; // Reverse back\n\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\n }\n\n return clipped;\n }\n};\nvar elementCreator = {\n cartesian2d: function (seriesModel, data, newIndex, layout, isHorizontal, animationModel, axisModel, isUpdate, roundCap) {\n var rect = new Rect({\n shape: extend({}, layout),\n z2: 1\n });\n rect.__dataIndex = newIndex;\n rect.name = 'item';\n\n if (animationModel) {\n var rectShape = rect.shape;\n var animateProperty = isHorizontal ? 'height' : 'width';\n rectShape[animateProperty] = 0;\n }\n\n return rect;\n },\n polar: function (seriesModel, data, newIndex, layout, isRadial, animationModel, axisModel, isUpdate, roundCap) {\n var ShapeClass = !isRadial && roundCap ? Sausage : Sector;\n var sector = new ShapeClass({\n shape: layout,\n z2: 1\n });\n sector.name = 'item';\n var positionMap = createPolarPositionMapping(isRadial);\n sector.calculateTextPosition = createSectorCalculateTextPosition(positionMap, {\n isRoundCap: ShapeClass === Sausage\n }); // Animation\n\n if (animationModel) {\n var sectorShape = sector.shape;\n var animateProperty = isRadial ? 'r' : 'endAngle';\n var animateTarget = {};\n sectorShape[animateProperty] = isRadial ? layout.r0 : layout.startAngle;\n animateTarget[animateProperty] = layout[animateProperty];\n (isUpdate ? updateProps : initProps)(sector, {\n shape: animateTarget // __value: typeof dataValue === 'string' ? parseInt(dataValue, 10) : dataValue\n\n }, animationModel);\n }\n\n return sector;\n }\n};\n\nfunction shouldRealtimeSort(seriesModel, coordSys) {\n var realtimeSortOption = seriesModel.get('realtimeSort', true);\n var baseAxis = coordSys.getBaseAxis();\n\n if (process.env.NODE_ENV !== 'production') {\n if (realtimeSortOption) {\n if (baseAxis.type !== 'category') {\n warn('`realtimeSort` will not work because this bar series is not based on a category axis.');\n }\n\n if (coordSys.type !== 'cartesian2d') {\n warn('`realtimeSort` will not work because this bar series is not on cartesian2d.');\n }\n }\n }\n\n if (realtimeSortOption && baseAxis.type === 'category' && coordSys.type === 'cartesian2d') {\n return {\n baseAxis: baseAxis,\n otherAxis: coordSys.getOtherAxis(baseAxis)\n };\n }\n}\n\nfunction updateRealtimeAnimation(realtimeSortCfg, seriesAnimationModel, el, layout, newIndex, isHorizontal, isUpdate, isChangeOrder) {\n var seriesTarget;\n var axisTarget;\n\n if (isHorizontal) {\n axisTarget = {\n x: layout.x,\n width: layout.width\n };\n seriesTarget = {\n y: layout.y,\n height: layout.height\n };\n } else {\n axisTarget = {\n y: layout.y,\n height: layout.height\n };\n seriesTarget = {\n x: layout.x,\n width: layout.width\n };\n }\n\n if (!isChangeOrder) {\n // Keep the original growth animation if only axis order changed.\n // Not start a new animation.\n (isUpdate ? updateProps : initProps)(el, {\n shape: seriesTarget\n }, seriesAnimationModel, newIndex, null);\n }\n\n var axisAnimationModel = seriesAnimationModel ? realtimeSortCfg.baseAxis.model : null;\n (isUpdate ? updateProps : initProps)(el, {\n shape: axisTarget\n }, axisAnimationModel, newIndex);\n}\n\nfunction checkPropertiesNotValid(obj, props) {\n for (var i = 0; i < props.length; i++) {\n if (!isFinite(obj[props[i]])) {\n return true;\n }\n }\n\n return false;\n}\n\nvar rectPropties = ['x', 'y', 'width', 'height'];\nvar polarPropties = ['cx', 'cy', 'r', 'startAngle', 'endAngle'];\nvar isValidLayout = {\n cartesian2d: function (layout) {\n return !checkPropertiesNotValid(layout, rectPropties);\n },\n polar: function (layout) {\n return !checkPropertiesNotValid(layout, polarPropties);\n }\n};\nvar getLayout = {\n // itemModel is only used to get borderWidth, which is not needed\n // when calculating bar background layout.\n cartesian2d: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n var fixedLineWidth = itemModel ? getLineWidth(itemModel, layout) : 0; // fix layout with lineWidth\n\n var signX = layout.width > 0 ? 1 : -1;\n var signY = layout.height > 0 ? 1 : -1;\n return {\n x: layout.x + signX * fixedLineWidth / 2,\n y: layout.y + signY * fixedLineWidth / 2,\n width: layout.width - signX * fixedLineWidth,\n height: layout.height - signY * fixedLineWidth\n };\n },\n polar: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n return {\n cx: layout.cx,\n cy: layout.cy,\n r0: layout.r0,\n r: layout.r,\n startAngle: layout.startAngle,\n endAngle: layout.endAngle,\n clockwise: layout.clockwise\n };\n }\n};\n\nfunction isZeroOnPolar(layout) {\n return layout.startAngle != null && layout.endAngle != null && layout.startAngle === layout.endAngle;\n}\n\nfunction createPolarPositionMapping(isRadial) {\n return function (isRadial) {\n var arcOrAngle = isRadial ? 'Arc' : 'Angle';\n return function (position) {\n switch (position) {\n case 'start':\n case 'insideStart':\n case 'end':\n case 'insideEnd':\n return position + arcOrAngle;\n\n default:\n return position;\n }\n };\n }(isRadial);\n}\n\nfunction updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, isPolar) {\n var style = data.getItemVisual(dataIndex, 'style');\n\n if (!isPolar) {\n var borderRadius = itemModel.get(['itemStyle', 'borderRadius']) || 0;\n el.setShape('r', borderRadius);\n } else if (!seriesModel.get('roundCap')) {\n var sectorShape = el.shape;\n var cornerRadius = getSectorCornerRadius(itemModel.getModel('itemStyle'), sectorShape, true);\n extend(sectorShape, cornerRadius);\n el.setShape(sectorShape);\n }\n\n el.useStyle(style);\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && el.attr('cursor', cursorStyle);\n var labelPositionOutside = isPolar ? isHorizontalOrRadial ? layout.r >= layout.r0 ? 'endArc' : 'startArc' : layout.endAngle >= layout.startAngle ? 'endAngle' : 'startAngle' : isHorizontalOrRadial ? layout.height >= 0 ? 'bottom' : 'top' : layout.width >= 0 ? 'right' : 'left';\n var labelStatesModels = getLabelStatesModels(itemModel);\n setLabelStyle(el, labelStatesModels, {\n labelFetcher: seriesModel,\n labelDataIndex: dataIndex,\n defaultText: getDefaultLabel(seriesModel.getData(), dataIndex),\n inheritColor: style.fill,\n defaultOpacity: style.opacity,\n defaultOutsidePosition: labelPositionOutside\n });\n var label = el.getTextContent();\n\n if (isPolar && label) {\n var position = itemModel.get(['label', 'position']);\n el.textConfig.inside = position === 'middle' ? true : null;\n setSectorTextRotation(el, position === 'outside' ? labelPositionOutside : position, createPolarPositionMapping(isHorizontalOrRadial), itemModel.get(['label', 'rotate']));\n }\n\n setLabelValueAnimation(label, labelStatesModels, seriesModel.getRawValue(dataIndex), function (value) {\n return getDefaultInterpolatedLabel(data, value);\n });\n var emphasisModel = itemModel.getModel(['emphasis']);\n toggleHoverEmphasis(el, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n setStatesStylesFromModel(el, itemModel);\n\n if (isZeroOnPolar(layout)) {\n el.style.fill = 'none';\n el.style.stroke = 'none';\n each(el.states, function (state) {\n if (state.style) {\n state.style.fill = state.style.stroke = 'none';\n }\n });\n }\n} // In case width or height are too small.\n\n\nfunction getLineWidth(itemModel, rawLayout) {\n // Has no border.\n var borderColor = itemModel.get(['itemStyle', 'borderColor']);\n\n if (!borderColor || borderColor === 'none') {\n return 0;\n }\n\n var lineWidth = itemModel.get(['itemStyle', 'borderWidth']) || 0; // width or height may be NaN for empty data\n\n var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);\n var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);\n return Math.min(lineWidth, width, height);\n}\n\nvar LagePathShape =\n/** @class */\nfunction () {\n function LagePathShape() {}\n\n return LagePathShape;\n}();\n\nvar LargePath =\n/** @class */\nfunction (_super) {\n __extends(LargePath, _super);\n\n function LargePath(opts) {\n var _this = _super.call(this, opts) || this;\n\n _this.type = 'largeBar';\n return _this;\n }\n\n LargePath.prototype.getDefaultShape = function () {\n return new LagePathShape();\n };\n\n LargePath.prototype.buildPath = function (ctx, shape) {\n // Drawing lines is more efficient than drawing\n // a whole line or drawing rects.\n var points = shape.points;\n var baseDimIdx = this.baseDimIdx;\n var valueDimIdx = 1 - this.baseDimIdx;\n var startPoint = [];\n var size = [];\n var barWidth = this.barWidth;\n\n for (var i = 0; i < points.length; i += 3) {\n size[baseDimIdx] = barWidth;\n size[valueDimIdx] = points[i + 2];\n startPoint[baseDimIdx] = points[i + baseDimIdx];\n startPoint[valueDimIdx] = points[i + valueDimIdx];\n ctx.rect(startPoint[0], startPoint[1], size[0], size[1]);\n }\n };\n\n return LargePath;\n}(Path);\n\nfunction createLarge(seriesModel, group, progressiveEls, incremental) {\n // TODO support polar\n var data = seriesModel.getData();\n var baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;\n var largeDataIndices = data.getLayout('largeDataIndices');\n var barWidth = data.getLayout('size');\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var bgPoints = data.getLayout('largeBackgroundPoints');\n\n if (bgPoints) {\n var bgEl = new LargePath({\n shape: {\n points: bgPoints\n },\n incremental: !!incremental,\n silent: true,\n z2: 0\n });\n bgEl.baseDimIdx = baseDimIdx;\n bgEl.largeDataIndices = largeDataIndices;\n bgEl.barWidth = barWidth;\n bgEl.useStyle(backgroundModel.getItemStyle());\n group.add(bgEl);\n progressiveEls && progressiveEls.push(bgEl);\n }\n\n var el = new LargePath({\n shape: {\n points: data.getLayout('largePoints')\n },\n incremental: !!incremental,\n ignoreCoarsePointer: true,\n z2: 1\n });\n el.baseDimIdx = baseDimIdx;\n el.largeDataIndices = largeDataIndices;\n el.barWidth = barWidth;\n group.add(el);\n el.useStyle(data.getVisual('style')); // Enable tooltip and user mouse/touch event handlers.\n\n getECData(el).seriesIndex = seriesModel.seriesIndex;\n\n if (!seriesModel.get('silent')) {\n el.on('mousedown', largePathUpdateDataIndex);\n el.on('mousemove', largePathUpdateDataIndex);\n }\n\n progressiveEls && progressiveEls.push(el);\n} // Use throttle to avoid frequently traverse to find dataIndex.\n\n\nvar largePathUpdateDataIndex = throttle(function (event) {\n var largePath = this;\n var dataIndex = largePathFindDataIndex(largePath, event.offsetX, event.offsetY);\n getECData(largePath).dataIndex = dataIndex >= 0 ? dataIndex : null;\n}, 30, false);\n\nfunction largePathFindDataIndex(largePath, x, y) {\n var baseDimIdx = largePath.baseDimIdx;\n var valueDimIdx = 1 - baseDimIdx;\n var points = largePath.shape.points;\n var largeDataIndices = largePath.largeDataIndices;\n var startPoint = [];\n var size = [];\n var barWidth = largePath.barWidth;\n\n for (var i = 0, len = points.length / 3; i < len; i++) {\n var ii = i * 3;\n size[baseDimIdx] = barWidth;\n size[valueDimIdx] = points[ii + 2];\n startPoint[baseDimIdx] = points[ii + baseDimIdx];\n startPoint[valueDimIdx] = points[ii + valueDimIdx];\n\n if (size[valueDimIdx] < 0) {\n startPoint[valueDimIdx] += size[valueDimIdx];\n size[valueDimIdx] = -size[valueDimIdx];\n }\n\n if (x >= startPoint[0] && x <= startPoint[0] + size[0] && y >= startPoint[1] && y <= startPoint[1] + size[1]) {\n return largeDataIndices[i];\n }\n }\n\n return -1;\n}\n\nfunction createBackgroundShape(isHorizontalOrRadial, layout, coord) {\n if (isCoordinateSystemType(coord, 'cartesian2d')) {\n var rectShape = layout;\n var coordLayout = coord.getArea();\n return {\n x: isHorizontalOrRadial ? rectShape.x : coordLayout.x,\n y: isHorizontalOrRadial ? coordLayout.y : rectShape.y,\n width: isHorizontalOrRadial ? rectShape.width : coordLayout.width,\n height: isHorizontalOrRadial ? coordLayout.height : rectShape.height\n };\n } else {\n var coordLayout = coord.getArea();\n var sectorShape = layout;\n return {\n cx: coordLayout.cx,\n cy: coordLayout.cy,\n r0: isHorizontalOrRadial ? coordLayout.r0 : sectorShape.r0,\n r: isHorizontalOrRadial ? coordLayout.r : sectorShape.r,\n startAngle: isHorizontalOrRadial ? sectorShape.startAngle : 0,\n endAngle: isHorizontalOrRadial ? sectorShape.endAngle : Math.PI * 2\n };\n }\n}\n\nfunction createBackgroundEl(coord, isHorizontalOrRadial, layout) {\n var ElementClz = coord.type === 'polar' ? Sector : Rect;\n return new ElementClz({\n shape: createBackgroundShape(isHorizontalOrRadial, layout, coord),\n silent: true,\n z2: 0\n });\n}\n\nexport default BarView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { layout, createProgressiveLayout } from '../../layout/barGrid.js';\nimport dataSample from '../../processor/dataSample.js';\nimport BarSeries from './BarSeries.js';\nimport BarView from './BarView.js';\nexport function install(registers) {\n registers.registerChartView(BarView);\n registers.registerSeriesModel(BarSeries);\n registers.registerLayout(registers.PRIORITY.VISUAL.LAYOUT, zrUtil.curry(layout, 'bar')); // Do layout after other overall layout, which can prepare some information.\n\n registers.registerLayout(registers.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, createProgressiveLayout('bar')); // Down sample after filter\n\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, dataSample('bar'));\n /**\r\n * @payload\r\n * @property {string} [componentType=series]\r\n * @property {number} [dx]\r\n * @property {number} [dy]\r\n * @property {number} [zoom]\r\n * @property {number} [originX]\r\n * @property {number} [originY]\r\n */\n\n registers.registerAction({\n type: 'changeAxisOrder',\n event: 'changeAxisOrder',\n update: 'update'\n }, function (payload, ecModel) {\n var componentType = payload.componentType || 'series';\n ecModel.eachComponent({\n mainType: componentType,\n query: payload\n }, function (componentModel) {\n if (payload.sortInfo) {\n componentModel.axis.setCategorySortInfo(payload.sortInfo);\n }\n });\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport function isCoordinateSystemType(coordSys, type) {\n return coordSys.type === type;\n}","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VCard,{staticStyle:{\"border-radius\":\"1rem\"},attrs:{\"flat\":\"\"}},[_c(VToolbar,{attrs:{\"flat\":\"\",\"dense\":\"\"}},[_c(VToolbarTitle,{staticClass:\"chart_title\"},[_vm._v(\"Promet po klijentu\")]),_c(VSpacer),_c(VMenu,{attrs:{\"offset-y\":\"\",\"left\":\"\",\"rounded\":\"\",\"close-on-click\":true,\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c(VBtn,_vm._g(_vm._b({staticClass:\"ma-0 pa-0\",attrs:{\"plain\":\"\",\"icon\":\"\",\"small\":\"\",\"dark\":\"\"}},'v-btn',attrs,false),on),[_c('sabira_icon',{attrs:{\"icon\":\"3dots\"}})],1)]}}])},[_c('div',{staticClass:\"pa-0 tertiary\",staticStyle:{\"display\":\"grid\",\"width\":\"10rem\",\"grid-row-gap\":\"0rem\"}},[_c('div',{staticClass:\"body-1 pa-2 secondary white--text\"},[_vm._v(\"\\n Postavke\\n \")]),_c('div',{staticClass:\"pa-2\"},[_c(VSelect,{attrs:{\"dense\":\"\",\"mandatory\":\"\",\"label\":\"Godina\",\"items\":_vm.years,\"outlined\":\"\",\"hide-details\":\"\"},model:{value:(_vm.selected_year),callback:function ($$v) {_vm.selected_year=$$v},expression:\"selected_year\"}})],1)])])],1),_c(VCardText,{staticClass:\"pt-0\"},[_c('div',{staticStyle:{\"display\":\"grid\",\"grid-template-columns\":\"1fr max-content\",\"align-items\":\"center\"}}),_c('v-chart',{staticClass:\"chart\",attrs:{\"id\":_vm.chart_id,\"autoresize\":\"\",\"option\":_vm.option}}),_c(VDataTable,{staticStyle:{\"background\":\"transparent !important\"},attrs:{\"dense\":\"\",\"items\":_vm.items,\"headers\":_vm.headers,\"options\":{ itemsPerPage: 5 },\"footer-props\":{\n 'items-per-page-text': 'Broj zapisa po stranici',\n 'items-per-page-all-text': 'Svi',\n 'page-text': '{0}-{1} od {2}',\n },\"no-data-text\":\"Podaci ne postoje za odabranu kategoriju\"},scopedSlots:_vm._u([{key:\"item.invoiced\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\"\\n \"+_vm._s(_vm.$n(item.invoiced))+\"\\n \")]}}],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n Promet po klijentu\n \n \n \n \n \n \n \n \n
\n Postavke\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n {{ $n(item.invoiced) }}\n \n \n \n \n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./invoices_revenue_by_client.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./invoices_revenue_by_client.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./invoices_revenue_by_client.vue?vue&type=template&id=64b0a8cf&scoped=true&\"\nimport script from \"./invoices_revenue_by_client.vue?vue&type=script&lang=js&\"\nexport * from \"./invoices_revenue_by_client.vue?vue&type=script&lang=js&\"\nimport style0 from \"./invoices_revenue_by_client.vue?vue&type=style&index=0&id=64b0a8cf&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64b0a8cf\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./invoices_revenue_by_client.vue?vue&type=style&index=0&id=64b0a8cf&scoped=true&lang=css&\"","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as graphic from '../../util/graphic.js';\nimport { round } from '../../util/number.js';\nimport { isFunction } from 'zrender/lib/core/util.js';\n\nfunction createGridClipPath(cartesian, hasAnimation, seriesModel, done, during) {\n var rect = cartesian.getArea();\n var x = rect.x;\n var y = rect.y;\n var width = rect.width;\n var height = rect.height;\n var lineWidth = seriesModel.get(['lineStyle', 'width']) || 2; // Expand the clip path a bit to avoid the border is clipped and looks thinner\n\n x -= lineWidth / 2;\n y -= lineWidth / 2;\n width += lineWidth;\n height += lineWidth; // fix: https://github.com/apache/incubator-echarts/issues/11369\n\n x = Math.floor(x);\n width = Math.round(width);\n var clipPath = new graphic.Rect({\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n }\n });\n\n if (hasAnimation) {\n var baseAxis = cartesian.getBaseAxis();\n var isHorizontal = baseAxis.isHorizontal();\n var isAxisInversed = baseAxis.inverse;\n\n if (isHorizontal) {\n if (isAxisInversed) {\n clipPath.shape.x += width;\n }\n\n clipPath.shape.width = 0;\n } else {\n if (!isAxisInversed) {\n clipPath.shape.y += height;\n }\n\n clipPath.shape.height = 0;\n }\n\n var duringCb = isFunction(during) ? function (percent) {\n during(percent, clipPath);\n } : null;\n graphic.initProps(clipPath, {\n shape: {\n width: width,\n height: height,\n x: x,\n y: y\n }\n }, seriesModel, null, done, duringCb);\n }\n\n return clipPath;\n}\n\nfunction createPolarClipPath(polar, hasAnimation, seriesModel) {\n var sectorArea = polar.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n\n var r0 = round(sectorArea.r0, 1);\n var r = round(sectorArea.r, 1);\n var clipPath = new graphic.Sector({\n shape: {\n cx: round(polar.cx, 1),\n cy: round(polar.cy, 1),\n r0: r0,\n r: r,\n startAngle: sectorArea.startAngle,\n endAngle: sectorArea.endAngle,\n clockwise: sectorArea.clockwise\n }\n });\n\n if (hasAnimation) {\n var isRadial = polar.getBaseAxis().dim === 'angle';\n\n if (isRadial) {\n clipPath.shape.endAngle = sectorArea.startAngle;\n } else {\n clipPath.shape.r = r0;\n }\n\n graphic.initProps(clipPath, {\n shape: {\n endAngle: sectorArea.endAngle,\n r: r\n }\n }, seriesModel);\n }\n\n return clipPath;\n}\n\nfunction createClipPath(coordSys, hasAnimation, seriesModel, done, during) {\n if (!coordSys) {\n return null;\n } else if (coordSys.type === 'polar') {\n return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n } else if (coordSys.type === 'cartesian2d') {\n return createGridClipPath(coordSys, hasAnimation, seriesModel, done, during);\n }\n\n return null;\n}\n\nexport { createGridClipPath, createPolarClipPath, createClipPath };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport { Path } from '../graphic.js';\n/**\r\n * Sausage: similar to sector, but have half circle on both sides\r\n */\n\nvar SausageShape =\n/** @class */\nfunction () {\n function SausageShape() {\n this.cx = 0;\n this.cy = 0;\n this.r0 = 0;\n this.r = 0;\n this.startAngle = 0;\n this.endAngle = Math.PI * 2;\n this.clockwise = true;\n }\n\n return SausageShape;\n}();\n\nvar SausagePath =\n/** @class */\nfunction (_super) {\n __extends(SausagePath, _super);\n\n function SausagePath(opts) {\n var _this = _super.call(this, opts) || this;\n\n _this.type = 'sausage';\n return _this;\n }\n\n SausagePath.prototype.getDefaultShape = function () {\n return new SausageShape();\n };\n\n SausagePath.prototype.buildPath = function (ctx, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var r0 = Math.max(shape.r0 || 0, 0);\n var r = Math.max(shape.r, 0);\n var dr = (r - r0) * 0.5;\n var rCenter = r0 + dr;\n var startAngle = shape.startAngle;\n var endAngle = shape.endAngle;\n var clockwise = shape.clockwise;\n var PI2 = Math.PI * 2;\n var lessThanCircle = clockwise ? endAngle - startAngle < PI2 : startAngle - endAngle < PI2;\n\n if (!lessThanCircle) {\n // Normalize angles\n startAngle = endAngle - (clockwise ? PI2 : -PI2);\n }\n\n var unitStartX = Math.cos(startAngle);\n var unitStartY = Math.sin(startAngle);\n var unitEndX = Math.cos(endAngle);\n var unitEndY = Math.sin(endAngle);\n\n if (lessThanCircle) {\n ctx.moveTo(unitStartX * r0 + cx, unitStartY * r0 + cy);\n ctx.arc(unitStartX * rCenter + cx, unitStartY * rCenter + cy, dr, -Math.PI + startAngle, startAngle, !clockwise);\n } else {\n ctx.moveTo(unitStartX * r + cx, unitStartY * r + cy);\n }\n\n ctx.arc(cx, cy, r, startAngle, endAngle, !clockwise);\n ctx.arc(unitEndX * rCenter + cx, unitEndY * rCenter + cy, dr, endAngle - Math.PI * 2, endAngle - Math.PI, !clockwise);\n\n if (r0 !== 0) {\n ctx.arc(cx, cy, r0, endAngle, startAngle, clockwise);\n } // ctx.closePath();\n\n };\n\n return SausagePath;\n}(Path);\n\nexport default SausagePath;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { retrieveRawValue } from '../../data/helper/dataProvider.js';\nimport { isArray } from 'zrender/lib/core/util.js';\n/**\r\n * @return label string. Not null/undefined\r\n */\n\nexport function getDefaultLabel(data, dataIndex) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n var len = labelDims.length; // Simple optimization (in lots of cases, label dims length is 1)\n\n if (len === 1) {\n var rawVal = retrieveRawValue(data, dataIndex, labelDims[0]);\n return rawVal != null ? rawVal + '' : null;\n } else if (len) {\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n vals.push(retrieveRawValue(data, dataIndex, labelDims[i]));\n }\n\n return vals.join(' ');\n }\n}\nexport function getDefaultInterpolatedLabel(data, interpolatedValue) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n\n if (!isArray(interpolatedValue)) {\n return interpolatedValue + '';\n }\n\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n var dimIndex = data.getDimensionIndex(labelDims[i]);\n\n if (dimIndex >= 0) {\n vals.push(interpolatedValue[dimIndex]);\n }\n }\n\n return vals.join(' ');\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isFunction, isString } from 'zrender/lib/core/util.js';\nvar samplers = {\n average: function (frame) {\n var sum = 0;\n var count = 0;\n\n for (var i = 0; i < frame.length; i++) {\n if (!isNaN(frame[i])) {\n sum += frame[i];\n count++;\n }\n } // Return NaN if count is 0\n\n\n return count === 0 ? NaN : sum / count;\n },\n sum: function (frame) {\n var sum = 0;\n\n for (var i = 0; i < frame.length; i++) {\n // Ignore NaN\n sum += frame[i] || 0;\n }\n\n return sum;\n },\n max: function (frame) {\n var max = -Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] > max && (max = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(max) ? max : NaN;\n },\n min: function (frame) {\n var min = Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] < min && (min = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(min) ? min : NaN;\n },\n // TODO\n // Median\n nearest: function (frame) {\n return frame[0];\n }\n};\n\nvar indexSampler = function (frame) {\n return Math.round(frame.length / 2);\n};\n\nexport default function dataSample(seriesType) {\n return {\n seriesType: seriesType,\n // FIXME:TS never used, so comment it\n // modifyOutputEnd: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var sampling = seriesModel.get('sampling');\n var coordSys = seriesModel.coordinateSystem;\n var count = data.count(); // Only cartesian2d support down sampling. Disable it when there is few data.\n\n if (count > 10 && coordSys.type === 'cartesian2d' && sampling) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var extent = baseAxis.getExtent();\n var dpr = api.getDevicePixelRatio(); // Coordinste system has been resized\n\n var size = Math.abs(extent[1] - extent[0]) * (dpr || 1);\n var rate = Math.round(count / size);\n\n if (isFinite(rate) && rate > 1) {\n if (sampling === 'lttb') {\n seriesModel.setData(data.lttbDownSample(data.mapDimension(valueAxis.dim), 1 / rate));\n }\n\n var sampler = void 0;\n\n if (isString(sampling)) {\n sampler = samplers[sampling];\n } else if (isFunction(sampling)) {\n sampler = sampling;\n }\n\n if (sampler) {\n // Only support sample the first dim mapped from value axis.\n seriesModel.setData(data.downSample(data.mapDimension(valueAxis.dim), 1 / rate, sampler, indexSampler));\n }\n }\n }\n }\n };\n}"],"sourceRoot":""}