{"version":3,"sources":["webpack:///./node_modules/echarts/lib/model/referHelper.js","webpack:///./node_modules/echarts/lib/chart/helper/createSeriesData.js","webpack:///./src/components/dashboards/invoices/invoices_revenue_by_client_category.vue","webpack:///src/components/dashboards/invoices/invoices_revenue_by_client_category.vue","webpack:///./src/components/dashboards/invoices/invoices_revenue_by_client_category.vue?3a4e","webpack:///./src/components/dashboards/invoices/invoices_revenue_by_client_category.vue?5bfb","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_category.vue?f4c8","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","attrs","_c","_v","scopedSlots","fn","staticClass","model","value","selected_year","callback","expression","staticStyle","chart_id","_vm","key","item","staticRenderFns","render","component","_super","BaseBarSeriesModel","_this","apply","arguments","prototype","getInitialData","option","getMarkerPosition","dims","startingAtTick","coordSys","coordinateSystem","clampData","clampData_1","pt_1","dataToPoint","getAxes","axis","idx","tickCoords","getTicksCoords","alignTicksWithLabel","getTickModel","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","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","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","_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","createGridClipPath","cartesian","hasAnimation","done","during","ceil","floor","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","minmax","turningPointAbsoluteValue","turningPointOriginalValue","originalValue","absoluteValue","nearest","indexSampler","round","seriesType","reset","sampling","valueAxis","dpr","getDevicePixelRatio","rate","setData","lttbDownSample","sampler","downSample"],"mappings":"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","file":"js/chunk-33265caa.86d8f8c7.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/*\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 * Helper for model references.\n * There are many manners to refer axis/coordSys.\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/**\n * @class\n * For example:\n * {\n * coordSysName: 'cartesian2d',\n * coordSysDims: ['x', 'y', ...],\n * axisMap: HashMap({\n * x: xAxisModel,\n * y: yAxisModel\n * }),\n * categoryAxisMap: HashMap({\n * x: xAxisModel,\n * y: undefined\n * }),\n * // The index of the first category axis in `coordSysDims`.\n * // `null/undefined` means no category axis exists.\n * firstCategoryDimIndex: 1,\n * // To replace user specified encode.\n * }\n */\nvar CoordSysInfo = /** @class */function () {\n function CoordSysInfo(coordSysName) {\n this.coordSysDims = [];\n this.axisMap = createHashMap();\n this.categoryAxisMap = createHashMap();\n this.coordSysName = coordSysName;\n }\n return CoordSysInfo;\n}();\nexport function getCoordSysInfoBySeries(seriesModel) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var result = new CoordSysInfo(coordSysName);\n var fetch = fetchers[coordSysName];\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 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 if (!yAxisModel) {\n throw new Error('yAxis \"' + retrieve(seriesModel.get('xAxisIndex'), seriesModel.get('yAxisId'), 0) + '\" not found');\n }\n }\n result.coordSysDims = ['x', 'y'];\n axisMap.set('x', xAxisModel);\n axisMap.set('y', yAxisModel);\n if (isCategory(xAxisModel)) {\n categoryAxisMap.set('x', xAxisModel);\n result.firstCategoryDimIndex = 0;\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 if (process.env.NODE_ENV !== 'production') {\n if (!singleAxisModel) {\n throw new Error('singleAxis should be specified.');\n }\n }\n result.coordSysDims = ['single'];\n axisMap.set('single', singleAxisModel);\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 if (process.env.NODE_ENV !== 'production') {\n if (!angleAxisModel) {\n throw new Error('angleAxis option not found');\n }\n if (!radiusAxisModel) {\n throw new Error('radiusAxis option not found');\n }\n }\n result.coordSysDims = ['radius', 'angle'];\n axisMap.set('radius', radiusAxisModel);\n axisMap.set('angle', angleAxisModel);\n if (isCategory(radiusAxisModel)) {\n categoryAxisMap.set('radius', radiusAxisModel);\n result.firstCategoryDimIndex = 0;\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 if (isCategory(axisModel)) {\n categoryAxisMap.set(axisDim, axisModel);\n if (result.firstCategoryDimIndex == null) {\n result.firstCategoryDimIndex = index;\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/*\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*/\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';\nfunction getCoordSysDimDefs(seriesModel, coordSysInfo) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var registeredCoordSys = CoordinateSystem.get(coordSysName);\n var coordSysDimDefs;\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 if (axisModel) {\n var axisType = axisModel.get('type');\n dimInfo.type = getDimensionTypeByAxis(axisType);\n }\n return dimInfo;\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 return coordSysDimDefs;\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 if (categoryAxisModel) {\n if (firstCategoryDimIndex == null) {\n firstCategoryDimIndex = dimIndex;\n }\n dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();\n if (createInvertedIndices) {\n dimInfo.createInvertedIndices = true;\n }\n }\n if (dimInfo.otherDims.itemName != null) {\n hasNameEncode = true;\n }\n });\n if (!hasNameEncode && firstCategoryDimIndex != null) {\n dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;\n }\n return firstCategoryDimIndex;\n}\n/**\n * Caution: there are side effects to `sourceManager` in this method.\n * Should better only be called in `Series['getInitialData']`.\n */\nfunction createSeriesData(sourceRaw, seriesModel, opt) {\n opt = opt || {};\n var sourceManager = seriesModel.getSourceManager();\n var source;\n var isOriginalSource = false;\n if (sourceRaw) {\n isOriginalSource = true;\n source = createSourceFromSeriesDataOption(sourceRaw);\n } else {\n source = sourceManager.getSource();\n // Is series.data. not dataset.\n isOriginalSource = source.sourceFormat === SOURCE_FORMAT_ORIGINAL;\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(\n // Try to reuse the data store in sourceManager if using dataset.\n isOriginalSource ? source : store, null, dimValueGetter);\n return data;\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}\nfunction firstDataNotNull(arr) {\n var i = 0;\n while (i < arr.length && arr[i] == null) {\n i++;\n }\n return arr[i];\n}\nexport default createSeriesData;","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticStyle:{\"border-radius\":\"1rem\"},attrs:{\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dense\":\"\"}},[_c('v-toolbar-title',{staticClass:\"chart_title\"},[_vm._v(\"Promet po kategoriji klijenta\")]),_c('v-spacer'),_c('v-menu',{attrs:{\"offset-y\":\"\",\"left\":\"\",\"rounded\":\"\",\"close-on-click\":true,\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_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('v-select',{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('v-card-text',{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('v-data-table',{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({ item }){return [_vm._v(\"\\n \"+_vm._s(_vm.$n(item.invoiced))+\"\\n \")]}}],null,true)})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n Promet po kategoriji klijenta\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_category.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_category.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./invoices_revenue_by_client_category.vue?vue&type=template&id=541d4672&scoped=true\"\nimport script from \"./invoices_revenue_by_client_category.vue?vue&type=script&lang=js\"\nexport * from \"./invoices_revenue_by_client_category.vue?vue&type=script&lang=js\"\nimport style0 from \"./invoices_revenue_by_client_category.vue?vue&type=style&index=0&id=541d4672&prod&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 \"541d4672\",\n null\n \n)\n\nexport default component.exports","\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/*\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*/\nimport { __extends } from \"tslib\";\nimport SeriesModel from '../../model/Series.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { each } from 'zrender/lib/core/util.js';\nvar BaseBarSeriesModel = /** @class */function (_super) {\n __extends(BaseBarSeriesModel, _super);\n function BaseBarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = BaseBarSeriesModel.type;\n return _this;\n }\n BaseBarSeriesModel.prototype.getInitialData = function (option, ecModel) {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true\n });\n };\n BaseBarSeriesModel.prototype.getMarkerPosition = function (value, dims, startingAtTick) {\n var coordSys = this.coordinateSystem;\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 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 alignTicksWithLabel = axis.getTickModel().get('alignWithLabel');\n var targetTickId = clampData_1[idx];\n // The index of rightmost tick of markArea is 1 larger than x1/y1 index\n var isEnd = dims[idx] === 'x1' || dims[idx] === 'y1';\n if (isEnd && !alignTicksWithLabel) {\n targetTickId += 1;\n }\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 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 var leftCoord = void 0;\n var coord = void 0;\n var stepTickValue = 1;\n for (var i = 0; i < tickCoords.length; i++) {\n var tickCoord = tickCoords[i].coord;\n // The last item of tickCoords doesn't contain\n // tickValue\n var tickValue = i === tickCoords.length - 1 ? tickCoords[i - 1].tickValue + stepTickValue : tickCoords[i].tickValue;\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 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 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 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 return pt_1;\n }\n return [NaN, NaN];\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);\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/*\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*/\nimport { __extends } from \"tslib\";\nimport BaseBarSeriesModel from './BaseBarSeries.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { inheritDefaultOption } from '../../util/component.js';\nvar BarSeriesModel = /** @class */function (_super) {\n __extends(BarSeriesModel, _super);\n function BarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = BarSeriesModel.type;\n return _this;\n }\n BarSeriesModel.prototype.getInitialData = function () {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true,\n createInvertedIndices: !!this.get('realtimeSort', true) || null\n });\n };\n /**\n * @override\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 /**\n * @override\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 if (largeThreshold > progressiveThreshold) {\n progressiveThreshold = largeThreshold;\n }\n return progressiveThreshold;\n };\n BarSeriesModel.prototype.brushSelector = function (dataIndex, data, selectors) {\n return selectors.rect(data.getItemLayout(dataIndex));\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);\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/*\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*/\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 if (!textPosition || textPosition instanceof Array) {\n return calculateTextPosition(out, opts, boundingRect);\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;\n // base position: top-left\n var x = cx + r * mathCos(startAngle);\n var y = cy + r * mathSin(startAngle);\n var textAlign = 'left';\n var textVerticalAlign = 'top';\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 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 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 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 case 'middle':\n x = cx + middleR * mathCos(middleAngle);\n y = cy + middleR * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\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 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 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 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 default:\n return calculateTextPosition(out, opts, boundingRect);\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 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 switch (mappedSectorPosition) {\n case 'startArc':\n case 'insideStartArc':\n case 'middle':\n case 'insideEndArc':\n case 'endArc':\n anchorAngle = middleAngle;\n break;\n case 'startAngle':\n case 'insideStartAngle':\n anchorAngle = startAngle;\n break;\n case 'endAngle':\n case 'insideEndAngle':\n anchorAngle = endAngle;\n break;\n default:\n sector.setTextConfig({\n rotation: 0\n });\n return;\n }\n var rotate = Math.PI * 1.5 - anchorAngle;\n /**\n * TODO: labels with rotate > Math.PI / 2 should be rotate another\n * half round flipped to increase readability. However, only middle\n * position supports this for now, because in other positions, the\n * anchor point is not at the center of the text, so the positions\n * after rotating is not as expected.\n */\n if (mappedSectorPosition === 'middle' && rotate > Math.PI / 2 && rotate < Math.PI * 1.5) {\n rotate -= Math.PI;\n }\n sector.setTextConfig({\n rotation: rotate\n });\n}\nfunction adjustAngleDistanceX(angle, distance, isEnd) {\n return distance * Math.sin(angle) * (isEnd ? -1 : 1);\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/*\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*/\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;\nfunction getClipArea(coord, data) {\n var coordSysClipArea = coord.getArea && coord.getArea();\n if (isCoordinateSystemType(coord, 'cartesian2d')) {\n var baseAxis = coord.getBaseAxis();\n // 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 if (baseAxis.type !== 'category' || !baseAxis.onBand) {\n var expandWidth = data.getLayout('bandWidth');\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 return coordSysClipArea;\n}\nvar BarView = /** @class */function (_super) {\n __extends(BarView, _super);\n function BarView() {\n var _this = _super.call(this) || this;\n _this.type = BarView.type;\n _this._isFirstFrame = true;\n return _this;\n }\n BarView.prototype.render = function (seriesModel, ecModel, api, payload) {\n this._model = seriesModel;\n this._removeOnRenderedListener(api);\n this._updateDrawMode(seriesModel);\n var coordinateSystemType = seriesModel.get('coordinateSystem');\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 BarView.prototype.incrementalPrepareRender = function (seriesModel) {\n this._clear();\n this._updateDrawMode(seriesModel);\n // 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 this._updateLargeClip(seriesModel);\n };\n BarView.prototype.incrementalRender = function (params, seriesModel) {\n // Reset\n this._progressiveEls = [];\n // Do not support progressive in normal mode.\n this._incrementalRenderLarge(params, seriesModel);\n };\n BarView.prototype.eachRendered = function (cb) {\n traverseElements(this._progressiveEls || this.group, cb);\n };\n BarView.prototype._updateDrawMode = function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n this._clear();\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 if (coord.type === 'cartesian2d') {\n isHorizontalOrRadial = baseAxis.isHorizontal();\n } else if (coord.type === 'polar') {\n isHorizontalOrRadial = baseAxis.dim === 'angle';\n }\n var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;\n var realtimeSortCfg = shouldRealtimeSort(seriesModel, coord);\n if (realtimeSortCfg) {\n this._enableRealtimeSort(realtimeSortCfg, data, api);\n }\n var needsClip = seriesModel.get('clip', true) || realtimeSortCfg;\n var coordSysClipArea = getClipArea(coord, data);\n // If there is clipPath created in large mode. Remove it.\n group.removeClipPath();\n // We don't use clipPath in normal mode because we needs a perfect animation\n // And don't want the label are clipped.\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 function createBackground(dataIndex) {\n var bgLayout = getLayout[coord.type](data, dataIndex);\n var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, bgLayout);\n bgEl.useStyle(backgroundModel.getItemStyle());\n // Only cartesian2d support borderRadius.\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n bgEls[dataIndex] = bgEl;\n return bgEl;\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 if (drawBackground) {\n createBackground(dataIndex);\n }\n // If dataZoom in filteMode: 'empty', the baseValue can be set as NaN in \"axisProxy\".\n if (!data.hasValue(dataIndex) || !isValidLayout[coord.type](layout)) {\n return;\n }\n var isClipped = false;\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 var el = elementCreator[coord.type](seriesModel, data, dataIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, false, roundCap);\n if (realtimeSortCfg) {\n /**\n * Force label animation because even if the element is\n * ignored because it's clipped, it may not be clipped after\n * changing order. Then, if not using forceLabelAnimation,\n * the label animation was never started, in which case,\n * the label will be the final value and doesn't have label\n * animation.\n */\n el.forceLabelAnimation = true;\n }\n updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\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 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 if (drawBackground) {\n var bgEl = void 0;\n if (oldBgEls.length === 0) {\n bgEl = createBackground(oldIndex);\n } else {\n bgEl = oldBgEls[oldIndex];\n bgEl.useStyle(backgroundModel.getItemStyle());\n // Only cartesian2d support borderRadius.\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n bgEls[newIndex] = bgEl;\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 var el = oldData.getItemGraphicEl(oldIndex);\n if (!data.hasValue(newIndex) || !isValidLayout[coord.type](layout)) {\n group.remove(el);\n return;\n }\n var isClipped = false;\n if (needsClip) {\n isClipped = clip[coord.type](coordSysClipArea, layout);\n if (isClipped) {\n group.remove(el);\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 if (realtimeSortCfg) {\n el.forceLabelAnimation = true;\n }\n if (isChangeOrder) {\n var textEl = el.getTextContent();\n if (textEl) {\n var labelInnerStore = labelInner(textEl);\n if (labelInnerStore.prevValue != null) {\n /**\n * Set preValue to be value so that no new label\n * should be started, otherwise, it will take a full\n * `animationDurationUpdate` time to finish the\n * animation, which is not expected.\n */\n labelInnerStore.prevValue = labelInnerStore.value;\n }\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 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 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 for (var i = 0; i < bgEls.length; ++i) {\n bgGroup.add(bgEls[i]);\n }\n group.add(bgGroup);\n this._backgroundEls = bgEls;\n this._data = data;\n };\n BarView.prototype._renderLarge = function (seriesModel, ecModel, api) {\n this._clear();\n createLarge(seriesModel, this.group);\n this._updateLargeClip(seriesModel);\n };\n BarView.prototype._incrementalRenderLarge = function (params, seriesModel) {\n this._removeBackground();\n createLarge(seriesModel, this.group, this._progressiveEls, true);\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 if (clipPath) {\n group.setClipPath(clipPath);\n } else {\n group.removeClipPath();\n }\n };\n BarView.prototype._enableRealtimeSort = function (realtimeSortCfg, data, api) {\n var _this = this;\n // If no data in the first frame, wait for data to initSort\n if (!data.count()) {\n return;\n }\n var baseAxis = realtimeSortCfg.baseAxis;\n if (this._isFirstFrame) {\n this._dispatchInitSort(data, realtimeSortCfg, api);\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 &&\n // 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)\n // If data is NaN, shape.xxx may be NaN, so use || 0 here in case\n || 0;\n };\n this._onRendered = function () {\n _this._updateSortWithinSameData(data, orderMapping_1, baseAxis, api);\n };\n api.getZr().on('rendered', this._onRendered);\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 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 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\n // If some tick have no bar, the tick will be treated as min.\n ? Number.MIN_VALUE\n // PENDING: if dataZoom on baseAxis exits, is it a performance issue?\n : orderMapping(data.indexOfRawIndex(rawIdx));\n if (value > lastValue) {\n return true;\n }\n lastValue = value;\n }\n return false;\n };\n /*\n * Consider the case when A and B changed order, whose representing\n * bars are both out of sight, we don't wish to trigger reorder action\n * as long as the order in the view doesn't change.\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 for (; tickNum <= tickMax; ++tickNum) {\n if (orderInfo.ordinalNumbers[tickNum] !== scale.getRawOrdinalNumber(tickNum)) {\n return true;\n }\n }\n };\n BarView.prototype._updateSortWithinSameData = function (data, orderMapping, baseAxis, api) {\n if (!this._isOrderChangedWithinSameData(data, orderMapping, baseAxis)) {\n return;\n }\n var sortInfo = this._dataSort(data, baseAxis, orderMapping);\n if (this._isOrderDifferentInView(sortInfo, baseAxis)) {\n this._removeOnRenderedListener(api);\n api.dispatchAction({\n type: 'changeAxisOrder',\n componentType: baseAxis.dim + 'Axis',\n axisId: baseAxis.index,\n sortInfo: sortInfo\n });\n }\n };\n BarView.prototype._dispatchInitSort = function (data, realtimeSortCfg, api) {\n var baseAxis = realtimeSortCfg.baseAxis;\n var sortResult = this._dataSort(data, baseAxis, function (dataIdx) {\n return data.get(data.mapDimension(realtimeSortCfg.otherAxis.dim), dataIdx);\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 BarView.prototype.remove = function (ecModel, api) {\n this._clear(this._model);\n this._removeOnRenderedListener(api);\n };\n BarView.prototype.dispose = function (ecModel, api) {\n this._removeOnRenderedListener(api);\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 BarView.prototype._clear = function (model) {\n var group = this.group;\n var data = this._data;\n if (model && model.isAnimationEnabled() && data && !this._isLargeDraw) {\n this._removeBackground();\n this._backgroundEls = [];\n data.eachItemGraphicEl(function (el) {\n removeElementWithFadeOut(el, model, getECData(el).dataIndex);\n });\n } else {\n group.removeAll();\n }\n this._data = null;\n this._isFirstFrame = true;\n };\n BarView.prototype._removeBackground = function () {\n this.group.remove(this._backgroundGroup);\n this._backgroundGroup = null;\n };\n BarView.type = 'bar';\n return BarView;\n}(ChartView);\nvar clip = {\n cartesian2d: function (coordSysBoundingRect, layout) {\n var signWidth = layout.width < 0 ? -1 : 1;\n var signHeight = layout.height < 0 ? -1 : 1;\n // Needs positive width and height\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\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;\n // 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 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;\n // Reverse back\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n return xClipped || yClipped;\n },\n polar: function (coordSysClipArea, layout) {\n var signR = layout.r0 <= layout.r ? 1 : -1;\n // Make sure r is larger than r0\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\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;\n // Reverse back\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\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 if (animationModel) {\n var rectShape = rect.shape;\n var animateProperty = isHorizontal ? 'height' : 'width';\n rectShape[animateProperty] = 0;\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 });\n // Animation\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\n // __value: typeof dataValue === 'string' ? parseInt(dataValue, 10) : dataValue\n }, animationModel);\n }\n return sector;\n }\n};\nfunction shouldRealtimeSort(seriesModel, coordSys) {\n var realtimeSortOption = seriesModel.get('realtimeSort', true);\n var baseAxis = coordSys.getBaseAxis();\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 if (coordSys.type !== 'cartesian2d') {\n warn('`realtimeSort` will not work because this bar series is not on cartesian2d.');\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}\nfunction updateRealtimeAnimation(realtimeSortCfg, seriesAnimationModel, el, layout, newIndex, isHorizontal, isUpdate, isChangeOrder) {\n var seriesTarget;\n var axisTarget;\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 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 var axisAnimationModel = seriesAnimationModel ? realtimeSortCfg.baseAxis.model : null;\n (isUpdate ? updateProps : initProps)(el, {\n shape: axisTarget\n }, axisAnimationModel, newIndex);\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 return false;\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;\n // fix layout with lineWidth\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};\nfunction isZeroOnPolar(layout) {\n return layout.startAngle != null && layout.endAngle != null && layout.startAngle === layout.endAngle;\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 default:\n return position;\n }\n };\n }(isRadial);\n}\nfunction updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, isPolar) {\n var style = data.getItemVisual(dataIndex, 'style');\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 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 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 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 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}\n// In case width or height are too small.\nfunction getLineWidth(itemModel, rawLayout) {\n // Has no border.\n var borderColor = itemModel.get(['itemStyle', 'borderColor']);\n if (!borderColor || borderColor === 'none') {\n return 0;\n }\n var lineWidth = itemModel.get(['itemStyle', 'borderWidth']) || 0;\n // width or height may be NaN for empty data\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}\nvar LagePathShape = /** @class */function () {\n function LagePathShape() {}\n return LagePathShape;\n}();\nvar LargePath = /** @class */function (_super) {\n __extends(LargePath, _super);\n function LargePath(opts) {\n var _this = _super.call(this, opts) || this;\n _this.type = 'largeBar';\n return _this;\n }\n LargePath.prototype.getDefaultShape = function () {\n return new LagePathShape();\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 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 return LargePath;\n}(Path);\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 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 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'));\n // Enable tooltip and user mouse/touch event handlers.\n getECData(el).seriesIndex = seriesModel.seriesIndex;\n if (!seriesModel.get('silent')) {\n el.on('mousedown', largePathUpdateDataIndex);\n el.on('mousemove', largePathUpdateDataIndex);\n }\n progressiveEls && progressiveEls.push(el);\n}\n// Use throttle to avoid frequently traverse to find dataIndex.\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);\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 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 if (size[valueDimIdx] < 0) {\n startPoint[valueDimIdx] += size[valueDimIdx];\n size[valueDimIdx] = -size[valueDimIdx];\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 return -1;\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}\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}\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/*\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*/\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'));\n // Do layout after other overall layout, which can prepare some information.\n registers.registerLayout(registers.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, createProgressiveLayout('bar'));\n // Down sample after filter\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, dataSample('bar'));\n /**\n * @payload\n * @property {string} [componentType=series]\n * @property {number} [dx]\n * @property {number} [dy]\n * @property {number} [zoom]\n * @property {number} [originX]\n * @property {number} [originY]\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/*\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*/\nexport function isCoordinateSystemType(coordSys, type) {\n return coordSys.type === type;\n}","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_category.vue?vue&type=style&index=0&id=541d4672&prod&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/*\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*/\nimport * as graphic from '../../util/graphic.js';\nimport { round } from '../../util/number.js';\nimport { isFunction } from 'zrender/lib/core/util.js';\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;\n // Expand the clip path a bit to avoid the border is clipped and looks thinner\n x -= lineWidth / 2;\n y -= lineWidth / 2;\n width += lineWidth;\n height += lineWidth;\n // fix: https://github.com/apache/incubator-echarts/issues/11369\n width = Math.ceil(width);\n if (x !== Math.floor(x)) {\n x = Math.floor(x);\n // if no extra 1px on `width`, it will still be clipped since `x` is floored\n width++;\n }\n var clipPath = new graphic.Rect({\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n }\n });\n if (hasAnimation) {\n var baseAxis = cartesian.getBaseAxis();\n var isHorizontal = baseAxis.isHorizontal();\n var isAxisInversed = baseAxis.inverse;\n if (isHorizontal) {\n if (isAxisInversed) {\n clipPath.shape.x += width;\n }\n clipPath.shape.width = 0;\n } else {\n if (!isAxisInversed) {\n clipPath.shape.y += height;\n }\n clipPath.shape.height = 0;\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 return clipPath;\n}\nfunction createPolarClipPath(polar, hasAnimation, seriesModel) {\n var sectorArea = polar.getArea();\n // Avoid float number rounding error for symbol on the edge of axis extent.\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 if (hasAnimation) {\n var isRadial = polar.getBaseAxis().dim === 'angle';\n if (isRadial) {\n clipPath.shape.endAngle = sectorArea.startAngle;\n } else {\n clipPath.shape.r = r0;\n }\n graphic.initProps(clipPath, {\n shape: {\n endAngle: sectorArea.endAngle,\n r: r\n }\n }, seriesModel);\n }\n return clipPath;\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 return null;\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/*\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*/\nimport { __extends } from \"tslib\";\nimport { Path } from '../graphic.js';\n/**\n * Sausage: similar to sector, but have half circle on both sides\n */\nvar SausageShape = /** @class */function () {\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 return SausageShape;\n}();\nvar SausagePath = /** @class */function (_super) {\n __extends(SausagePath, _super);\n function SausagePath(opts) {\n var _this = _super.call(this, opts) || this;\n _this.type = 'sausage';\n return _this;\n }\n SausagePath.prototype.getDefaultShape = function () {\n return new SausageShape();\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 if (!lessThanCircle) {\n // Normalize angles\n startAngle = endAngle - (clockwise ? PI2 : -PI2);\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 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 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 if (r0 !== 0) {\n ctx.arc(cx, cy, r0, endAngle, startAngle, clockwise);\n }\n // ctx.closePath();\n };\n\n return SausagePath;\n}(Path);\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/*\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*/\nimport { retrieveRawValue } from '../../data/helper/dataProvider.js';\nimport { isArray } from 'zrender/lib/core/util.js';\n/**\n * @return label string. Not null/undefined\n */\nexport function getDefaultLabel(data, dataIndex) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n var len = labelDims.length;\n // Simple optimization (in lots of cases, label dims length is 1)\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 for (var i = 0; i < labelDims.length; i++) {\n vals.push(retrieveRawValue(data, dataIndex, labelDims[i]));\n }\n return vals.join(' ');\n }\n}\nexport function getDefaultInterpolatedLabel(data, interpolatedValue) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n if (!isArray(interpolatedValue)) {\n return interpolatedValue + '';\n }\n var vals = [];\n for (var i = 0; i < labelDims.length; i++) {\n var dimIndex = data.getDimensionIndex(labelDims[i]);\n if (dimIndex >= 0) {\n vals.push(interpolatedValue[dimIndex]);\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/*\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*/\nimport { isFunction, isString } from 'zrender/lib/core/util.js';\nvar samplers = {\n average: function (frame) {\n var sum = 0;\n var count = 0;\n for (var i = 0; i < frame.length; i++) {\n if (!isNaN(frame[i])) {\n sum += frame[i];\n count++;\n }\n }\n // Return NaN if count is 0\n return count === 0 ? NaN : sum / count;\n },\n sum: function (frame) {\n var sum = 0;\n for (var i = 0; i < frame.length; i++) {\n // Ignore NaN\n sum += frame[i] || 0;\n }\n return sum;\n },\n max: function (frame) {\n var max = -Infinity;\n for (var i = 0; i < frame.length; i++) {\n frame[i] > max && (max = frame[i]);\n }\n // NaN will cause illegal axis extent.\n return isFinite(max) ? max : NaN;\n },\n min: function (frame) {\n var min = Infinity;\n for (var i = 0; i < frame.length; i++) {\n frame[i] < min && (min = frame[i]);\n }\n // NaN will cause illegal axis extent.\n return isFinite(min) ? min : NaN;\n },\n minmax: function (frame) {\n var turningPointAbsoluteValue = -Infinity;\n var turningPointOriginalValue = -Infinity;\n for (var i = 0; i < frame.length; i++) {\n var originalValue = frame[i];\n var absoluteValue = Math.abs(originalValue);\n if (absoluteValue > turningPointAbsoluteValue) {\n turningPointAbsoluteValue = absoluteValue;\n turningPointOriginalValue = originalValue;\n }\n }\n return isFinite(turningPointOriginalValue) ? turningPointOriginalValue : NaN;\n },\n // TODO\n // Median\n nearest: function (frame) {\n return frame[0];\n }\n};\nvar indexSampler = function (frame) {\n return Math.round(frame.length / 2);\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();\n // Only cartesian2d support down sampling. Disable it when there is few data.\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();\n // Coordinste system has been resized\n var size = Math.abs(extent[1] - extent[0]) * (dpr || 1);\n var rate = Math.round(count / size);\n if (isFinite(rate) && rate > 1) {\n if (sampling === 'lttb') {\n seriesModel.setData(data.lttbDownSample(data.mapDimension(valueAxis.dim), 1 / rate));\n }\n var sampler = void 0;\n if (isString(sampling)) {\n sampler = samplers[sampling];\n } else if (isFunction(sampling)) {\n sampler = sampling;\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":""}