qauMaWeb/node_modules/.cache/babel-loader/a00fdca51dd1273ba742131937e...

1 line
71 KiB
JSON

{"ast":null,"code":"import \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.replace.js\";\nimport \"core-js/modules/es.array.fill.js\";\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\n/**\r\n * AUTO-GENERATED FILE. DO NOT MODIFY.\r\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport PointerPath from './PointerPath.js';\nimport * as graphic from '../../util/graphic.js';\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\nimport { createTextStyle, setLabelValueAnimation, animateLabelValue } from '../../label/labelStyle.js';\nimport ChartView from '../../view/Chart.js';\nimport { parsePercent, round, linearMap } from '../../util/number.js';\nimport Sausage from '../../util/shape/sausage.js';\nimport { createSymbol } from '../../util/symbol.js';\nimport ZRImage from 'zrender/lib/graphic/Image.js';\nimport { extend, isFunction, isString } from 'zrender/lib/core/util.js';\nimport { setCommonECData } from '../../util/innerStore.js';\nimport { normalizeArcAngles } from 'zrender/lib/core/PathProxy.js';\n\nfunction parsePosition(seriesModel, api) {\n var center = seriesModel.get('center');\n var width = api.getWidth();\n var height = api.getHeight();\n var size = Math.min(width, height);\n var cx = parsePercent(center[0], api.getWidth());\n var cy = parsePercent(center[1], api.getHeight());\n var r = parsePercent(seriesModel.get('radius'), size / 2);\n return {\n cx: cx,\n cy: cy,\n r: r\n };\n}\n\nfunction formatLabel(value, labelFormatter) {\n var label = value == null ? '' : value + '';\n\n if (labelFormatter) {\n if (isString(labelFormatter)) {\n label = labelFormatter.replace('{value}', label);\n } else if (isFunction(labelFormatter)) {\n label = labelFormatter(value);\n }\n }\n\n return label;\n}\n\nvar GaugeView =\n/** @class */\nfunction (_super) {\n __extends(GaugeView, _super);\n\n function GaugeView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = GaugeView.type;\n return _this;\n }\n\n GaugeView.prototype.render = function (seriesModel, ecModel, api) {\n this.group.removeAll();\n var colorList = seriesModel.get(['axisLine', 'lineStyle', 'color']);\n var posInfo = parsePosition(seriesModel, api);\n\n this._renderMain(seriesModel, ecModel, api, colorList, posInfo);\n\n this._data = seriesModel.getData();\n };\n\n GaugeView.prototype.dispose = function () {};\n\n GaugeView.prototype._renderMain = function (seriesModel, ecModel, api, colorList, posInfo) {\n var group = this.group;\n var clockwise = seriesModel.get('clockwise');\n var startAngle = -seriesModel.get('startAngle') / 180 * Math.PI;\n var endAngle = -seriesModel.get('endAngle') / 180 * Math.PI;\n var axisLineModel = seriesModel.getModel('axisLine');\n var roundCap = axisLineModel.get('roundCap');\n var MainPath = roundCap ? Sausage : graphic.Sector;\n var showAxis = axisLineModel.get('show');\n var lineStyleModel = axisLineModel.getModel('lineStyle');\n var axisLineWidth = lineStyleModel.get('width');\n var angles = [startAngle, endAngle];\n normalizeArcAngles(angles, !clockwise);\n startAngle = angles[0];\n endAngle = angles[1];\n var angleRangeSpan = endAngle - startAngle;\n var prevEndAngle = startAngle;\n\n for (var i = 0; showAxis && i < colorList.length; i++) {\n // Clamp\n var percent = Math.min(Math.max(colorList[i][0], 0), 1);\n endAngle = startAngle + angleRangeSpan * percent;\n var sector = new MainPath({\n shape: {\n startAngle: prevEndAngle,\n endAngle: endAngle,\n cx: posInfo.cx,\n cy: posInfo.cy,\n clockwise: clockwise,\n r0: posInfo.r - axisLineWidth,\n r: posInfo.r\n },\n silent: true\n });\n sector.setStyle({\n fill: colorList[i][1]\n });\n sector.setStyle(lineStyleModel.getLineStyle( // Because we use sector to simulate arc\n // so the properties for stroking are useless\n ['color', 'width']));\n group.add(sector);\n prevEndAngle = endAngle;\n }\n\n var getColor = function getColor(percent) {\n // Less than 0\n if (percent <= 0) {\n return colorList[0][1];\n }\n\n var i;\n\n for (i = 0; i < colorList.length; i++) {\n if (colorList[i][0] >= percent && (i === 0 ? 0 : colorList[i - 1][0]) < percent) {\n return colorList[i][1];\n }\n } // More than 1\n\n\n return colorList[i - 1][1];\n };\n\n this._renderTicks(seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth);\n\n this._renderTitleAndDetail(seriesModel, ecModel, api, getColor, posInfo);\n\n this._renderAnchor(seriesModel, posInfo);\n\n this._renderPointer(seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth);\n };\n\n GaugeView.prototype._renderTicks = function (seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth) {\n var group = this.group;\n var cx = posInfo.cx;\n var cy = posInfo.cy;\n var r = posInfo.r;\n var minVal = +seriesModel.get('min');\n var maxVal = +seriesModel.get('max');\n var splitLineModel = seriesModel.getModel('splitLine');\n var tickModel = seriesModel.getModel('axisTick');\n var labelModel = seriesModel.getModel('axisLabel');\n var splitNumber = seriesModel.get('splitNumber');\n var subSplitNumber = tickModel.get('splitNumber');\n var splitLineLen = parsePercent(splitLineModel.get('length'), r);\n var tickLen = parsePercent(tickModel.get('length'), r);\n var angle = startAngle;\n var step = (endAngle - startAngle) / splitNumber;\n var subStep = step / subSplitNumber;\n var splitLineStyle = splitLineModel.getModel('lineStyle').getLineStyle();\n var tickLineStyle = tickModel.getModel('lineStyle').getLineStyle();\n var splitLineDistance = splitLineModel.get('distance');\n var unitX;\n var unitY;\n\n for (var i = 0; i <= splitNumber; i++) {\n unitX = Math.cos(angle);\n unitY = Math.sin(angle); // Split line\n\n if (splitLineModel.get('show')) {\n var distance = splitLineDistance ? splitLineDistance + axisLineWidth : axisLineWidth;\n var splitLine = new graphic.Line({\n shape: {\n x1: unitX * (r - distance) + cx,\n y1: unitY * (r - distance) + cy,\n x2: unitX * (r - splitLineLen - distance) + cx,\n y2: unitY * (r - splitLineLen - distance) + cy\n },\n style: splitLineStyle,\n silent: true\n });\n\n if (splitLineStyle.stroke === 'auto') {\n splitLine.setStyle({\n stroke: getColor(i / splitNumber)\n });\n }\n\n group.add(splitLine);\n } // Label\n\n\n if (labelModel.get('show')) {\n var distance = labelModel.get('distance') + splitLineDistance;\n var label = formatLabel(round(i / splitNumber * (maxVal - minVal) + minVal), labelModel.get('formatter'));\n var autoColor = getColor(i / splitNumber);\n group.add(new graphic.Text({\n style: createTextStyle(labelModel, {\n text: label,\n x: unitX * (r - splitLineLen - distance) + cx,\n y: unitY * (r - splitLineLen - distance) + cy,\n verticalAlign: unitY < -0.8 ? 'top' : unitY > 0.8 ? 'bottom' : 'middle',\n align: unitX < -0.4 ? 'left' : unitX > 0.4 ? 'right' : 'center'\n }, {\n inheritColor: autoColor\n }),\n silent: true\n }));\n } // Axis tick\n\n\n if (tickModel.get('show') && i !== splitNumber) {\n var distance = tickModel.get('distance');\n distance = distance ? distance + axisLineWidth : axisLineWidth;\n\n for (var j = 0; j <= subSplitNumber; j++) {\n unitX = Math.cos(angle);\n unitY = Math.sin(angle);\n var tickLine = new graphic.Line({\n shape: {\n x1: unitX * (r - distance) + cx,\n y1: unitY * (r - distance) + cy,\n x2: unitX * (r - tickLen - distance) + cx,\n y2: unitY * (r - tickLen - distance) + cy\n },\n silent: true,\n style: tickLineStyle\n });\n\n if (tickLineStyle.stroke === 'auto') {\n tickLine.setStyle({\n stroke: getColor((i + j / subSplitNumber) / splitNumber)\n });\n }\n\n group.add(tickLine);\n angle += subStep;\n }\n\n angle -= subStep;\n } else {\n angle += step;\n }\n }\n };\n\n GaugeView.prototype._renderPointer = function (seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth) {\n var group = this.group;\n var oldData = this._data;\n var oldProgressData = this._progressEls;\n var progressList = [];\n var showPointer = seriesModel.get(['pointer', 'show']);\n var progressModel = seriesModel.getModel('progress');\n var showProgress = progressModel.get('show');\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n var minVal = +seriesModel.get('min');\n var maxVal = +seriesModel.get('max');\n var valueExtent = [minVal, maxVal];\n var angleExtent = [startAngle, endAngle];\n\n function createPointer(idx, angle) {\n var itemModel = data.getItemModel(idx);\n var pointerModel = itemModel.getModel('pointer');\n var pointerWidth = parsePercent(pointerModel.get('width'), posInfo.r);\n var pointerLength = parsePercent(pointerModel.get('length'), posInfo.r);\n var pointerStr = seriesModel.get(['pointer', 'icon']);\n var pointerOffset = pointerModel.get('offsetCenter');\n var pointerOffsetX = parsePercent(pointerOffset[0], posInfo.r);\n var pointerOffsetY = parsePercent(pointerOffset[1], posInfo.r);\n var pointerKeepAspect = pointerModel.get('keepAspect');\n var pointer; // not exist icon type will be set 'rect'\n\n if (pointerStr) {\n pointer = createSymbol(pointerStr, pointerOffsetX - pointerWidth / 2, pointerOffsetY - pointerLength, pointerWidth, pointerLength, null, pointerKeepAspect);\n } else {\n pointer = new PointerPath({\n shape: {\n angle: -Math.PI / 2,\n width: pointerWidth,\n r: pointerLength,\n x: pointerOffsetX,\n y: pointerOffsetY\n }\n });\n }\n\n pointer.rotation = -(angle + Math.PI / 2);\n pointer.x = posInfo.cx;\n pointer.y = posInfo.cy;\n return pointer;\n }\n\n function createProgress(idx, endAngle) {\n var roundCap = progressModel.get('roundCap');\n var ProgressPath = roundCap ? Sausage : graphic.Sector;\n var isOverlap = progressModel.get('overlap');\n var progressWidth = isOverlap ? progressModel.get('width') : axisLineWidth / data.count();\n var r0 = isOverlap ? posInfo.r - progressWidth : posInfo.r - (idx + 1) * progressWidth;\n var r = isOverlap ? posInfo.r : posInfo.r - idx * progressWidth;\n var progress = new ProgressPath({\n shape: {\n startAngle: startAngle,\n endAngle: endAngle,\n cx: posInfo.cx,\n cy: posInfo.cy,\n clockwise: clockwise,\n r0: r0,\n r: r\n }\n });\n isOverlap && (progress.z2 = maxVal - data.get(valueDim, idx) % maxVal);\n return progress;\n }\n\n if (showProgress || showPointer) {\n data.diff(oldData).add(function (idx) {\n var val = data.get(valueDim, idx);\n\n if (showPointer) {\n var pointer = createPointer(idx, startAngle); // TODO hide pointer on NaN value?\n\n graphic.initProps(pointer, {\n rotation: -((isNaN(+val) ? angleExtent[0] : linearMap(val, valueExtent, angleExtent, true)) + Math.PI / 2)\n }, seriesModel);\n group.add(pointer);\n data.setItemGraphicEl(idx, pointer);\n }\n\n if (showProgress) {\n var progress = createProgress(idx, startAngle);\n var isClip = progressModel.get('clip');\n graphic.initProps(progress, {\n shape: {\n endAngle: linearMap(val, valueExtent, angleExtent, isClip)\n }\n }, seriesModel);\n group.add(progress); // Add data index and series index for indexing the data by element\n // Useful in tooltip\n\n setCommonECData(seriesModel.seriesIndex, data.dataType, idx, progress);\n progressList[idx] = progress;\n }\n }).update(function (newIdx, oldIdx) {\n var val = data.get(valueDim, newIdx);\n\n if (showPointer) {\n var previousPointer = oldData.getItemGraphicEl(oldIdx);\n var previousRotate = previousPointer ? previousPointer.rotation : startAngle;\n var pointer = createPointer(newIdx, previousRotate);\n pointer.rotation = previousRotate;\n graphic.updateProps(pointer, {\n rotation: -((isNaN(+val) ? angleExtent[0] : linearMap(val, valueExtent, angleExtent, true)) + Math.PI / 2)\n }, seriesModel);\n group.add(pointer);\n data.setItemGraphicEl(newIdx, pointer);\n }\n\n if (showProgress) {\n var previousProgress = oldProgressData[oldIdx];\n var previousEndAngle = previousProgress ? previousProgress.shape.endAngle : startAngle;\n var progress = createProgress(newIdx, previousEndAngle);\n var isClip = progressModel.get('clip');\n graphic.updateProps(progress, {\n shape: {\n endAngle: linearMap(val, valueExtent, angleExtent, isClip)\n }\n }, seriesModel);\n group.add(progress); // Add data index and series index for indexing the data by element\n // Useful in tooltip\n\n setCommonECData(seriesModel.seriesIndex, data.dataType, newIdx, progress);\n progressList[newIdx] = progress;\n }\n }).execute();\n data.each(function (idx) {\n var itemModel = data.getItemModel(idx);\n var emphasisModel = itemModel.getModel('emphasis');\n var focus = emphasisModel.get('focus');\n var blurScope = emphasisModel.get('blurScope');\n var emphasisDisabled = emphasisModel.get('disabled');\n\n if (showPointer) {\n var pointer = data.getItemGraphicEl(idx);\n var symbolStyle = data.getItemVisual(idx, 'style');\n var visualColor = symbolStyle.fill;\n\n if (pointer instanceof ZRImage) {\n var pathStyle = pointer.style;\n pointer.useStyle(extend({\n image: pathStyle.image,\n x: pathStyle.x,\n y: pathStyle.y,\n width: pathStyle.width,\n height: pathStyle.height\n }, symbolStyle));\n } else {\n pointer.useStyle(symbolStyle);\n pointer.type !== 'pointer' && pointer.setColor(visualColor);\n }\n\n pointer.setStyle(itemModel.getModel(['pointer', 'itemStyle']).getItemStyle());\n\n if (pointer.style.fill === 'auto') {\n pointer.setStyle('fill', getColor(linearMap(data.get(valueDim, idx), valueExtent, [0, 1], true)));\n }\n\n pointer.z2EmphasisLift = 0;\n setStatesStylesFromModel(pointer, itemModel);\n toggleHoverEmphasis(pointer, focus, blurScope, emphasisDisabled);\n }\n\n if (showProgress) {\n var progress = progressList[idx];\n progress.useStyle(data.getItemVisual(idx, 'style'));\n progress.setStyle(itemModel.getModel(['progress', 'itemStyle']).getItemStyle());\n progress.z2EmphasisLift = 0;\n setStatesStylesFromModel(progress, itemModel);\n toggleHoverEmphasis(progress, focus, blurScope, emphasisDisabled);\n }\n });\n this._progressEls = progressList;\n }\n };\n\n GaugeView.prototype._renderAnchor = function (seriesModel, posInfo) {\n var anchorModel = seriesModel.getModel('anchor');\n var showAnchor = anchorModel.get('show');\n\n if (showAnchor) {\n var anchorSize = anchorModel.get('size');\n var anchorType = anchorModel.get('icon');\n var offsetCenter = anchorModel.get('offsetCenter');\n var anchorKeepAspect = anchorModel.get('keepAspect');\n var anchor = createSymbol(anchorType, posInfo.cx - anchorSize / 2 + parsePercent(offsetCenter[0], posInfo.r), posInfo.cy - anchorSize / 2 + parsePercent(offsetCenter[1], posInfo.r), anchorSize, anchorSize, null, anchorKeepAspect);\n anchor.z2 = anchorModel.get('showAbove') ? 1 : 0;\n anchor.setStyle(anchorModel.getModel('itemStyle').getItemStyle());\n this.group.add(anchor);\n }\n };\n\n GaugeView.prototype._renderTitleAndDetail = function (seriesModel, ecModel, api, getColor, posInfo) {\n var _this = this;\n\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n var minVal = +seriesModel.get('min');\n var maxVal = +seriesModel.get('max');\n var contentGroup = new graphic.Group();\n var newTitleEls = [];\n var newDetailEls = [];\n var hasAnimation = seriesModel.isAnimationEnabled();\n var showPointerAbove = seriesModel.get(['pointer', 'showAbove']);\n data.diff(this._data).add(function (idx) {\n newTitleEls[idx] = new graphic.Text({\n silent: true\n });\n newDetailEls[idx] = new graphic.Text({\n silent: true\n });\n }).update(function (idx, oldIdx) {\n newTitleEls[idx] = _this._titleEls[oldIdx];\n newDetailEls[idx] = _this._detailEls[oldIdx];\n }).execute();\n data.each(function (idx) {\n var itemModel = data.getItemModel(idx);\n var value = data.get(valueDim, idx);\n var itemGroup = new graphic.Group();\n var autoColor = getColor(linearMap(value, [minVal, maxVal], [0, 1], true));\n var itemTitleModel = itemModel.getModel('title');\n\n if (itemTitleModel.get('show')) {\n var titleOffsetCenter = itemTitleModel.get('offsetCenter');\n var titleX = posInfo.cx + parsePercent(titleOffsetCenter[0], posInfo.r);\n var titleY = posInfo.cy + parsePercent(titleOffsetCenter[1], posInfo.r);\n var labelEl = newTitleEls[idx];\n labelEl.attr({\n z2: showPointerAbove ? 0 : 2,\n style: createTextStyle(itemTitleModel, {\n x: titleX,\n y: titleY,\n text: data.getName(idx),\n align: 'center',\n verticalAlign: 'middle'\n }, {\n inheritColor: autoColor\n })\n });\n itemGroup.add(labelEl);\n }\n\n var itemDetailModel = itemModel.getModel('detail');\n\n if (itemDetailModel.get('show')) {\n var detailOffsetCenter = itemDetailModel.get('offsetCenter');\n var detailX = posInfo.cx + parsePercent(detailOffsetCenter[0], posInfo.r);\n var detailY = posInfo.cy + parsePercent(detailOffsetCenter[1], posInfo.r);\n var width = parsePercent(itemDetailModel.get('width'), posInfo.r);\n var height = parsePercent(itemDetailModel.get('height'), posInfo.r);\n var detailColor = seriesModel.get(['progress', 'show']) ? data.getItemVisual(idx, 'style').fill : autoColor;\n var labelEl = newDetailEls[idx];\n var formatter_1 = itemDetailModel.get('formatter');\n labelEl.attr({\n z2: showPointerAbove ? 0 : 2,\n style: createTextStyle(itemDetailModel, {\n x: detailX,\n y: detailY,\n text: formatLabel(value, formatter_1),\n width: isNaN(width) ? null : width,\n height: isNaN(height) ? null : height,\n align: 'center',\n verticalAlign: 'middle'\n }, {\n inheritColor: detailColor\n })\n });\n setLabelValueAnimation(labelEl, {\n normal: itemDetailModel\n }, value, function (value) {\n return formatLabel(value, formatter_1);\n });\n hasAnimation && animateLabelValue(labelEl, idx, data, seriesModel, {\n getFormattedLabel: function getFormattedLabel(labelDataIndex, status, dataType, labelDimIndex, fmt, extendParams) {\n return formatLabel(extendParams ? extendParams.interpolatedValue : value, formatter_1);\n }\n });\n itemGroup.add(labelEl);\n }\n\n contentGroup.add(itemGroup);\n });\n this.group.add(contentGroup);\n this._titleEls = newTitleEls;\n this._detailEls = newDetailEls;\n };\n\n GaugeView.type = 'gauge';\n return GaugeView;\n}(ChartView);\n\nexport default GaugeView;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/qingge-Market/qingge-vue/node_modules/echarts/lib/chart/gauge/GaugeView.js"],"names":["__extends","PointerPath","graphic","setStatesStylesFromModel","toggleHoverEmphasis","createTextStyle","setLabelValueAnimation","animateLabelValue","ChartView","parsePercent","round","linearMap","Sausage","createSymbol","ZRImage","extend","isFunction","isString","setCommonECData","normalizeArcAngles","parsePosition","seriesModel","api","center","get","width","getWidth","height","getHeight","size","Math","min","cx","cy","r","formatLabel","value","labelFormatter","label","replace","GaugeView","_super","_this","apply","arguments","type","prototype","render","ecModel","group","removeAll","colorList","posInfo","_renderMain","_data","getData","dispose","clockwise","startAngle","PI","endAngle","axisLineModel","getModel","roundCap","MainPath","Sector","showAxis","lineStyleModel","axisLineWidth","angles","angleRangeSpan","prevEndAngle","i","length","percent","max","sector","shape","r0","silent","setStyle","fill","getLineStyle","add","getColor","_renderTicks","_renderTitleAndDetail","_renderAnchor","_renderPointer","minVal","maxVal","splitLineModel","tickModel","labelModel","splitNumber","subSplitNumber","splitLineLen","tickLen","angle","step","subStep","splitLineStyle","tickLineStyle","splitLineDistance","unitX","unitY","cos","sin","distance","splitLine","Line","x1","y1","x2","y2","style","stroke","autoColor","Text","text","x","y","verticalAlign","align","inheritColor","j","tickLine","oldData","oldProgressData","_progressEls","progressList","showPointer","progressModel","showProgress","data","valueDim","mapDimension","valueExtent","angleExtent","createPointer","idx","itemModel","getItemModel","pointerModel","pointerWidth","pointerLength","pointerStr","pointerOffset","pointerOffsetX","pointerOffsetY","pointerKeepAspect","pointer","rotation","createProgress","ProgressPath","isOverlap","progressWidth","count","progress","z2","diff","val","initProps","isNaN","setItemGraphicEl","isClip","seriesIndex","dataType","update","newIdx","oldIdx","previousPointer","getItemGraphicEl","previousRotate","updateProps","previousProgress","previousEndAngle","execute","each","emphasisModel","focus","blurScope","emphasisDisabled","symbolStyle","getItemVisual","visualColor","pathStyle","useStyle","image","setColor","getItemStyle","z2EmphasisLift","anchorModel","showAnchor","anchorSize","anchorType","offsetCenter","anchorKeepAspect","anchor","contentGroup","Group","newTitleEls","newDetailEls","hasAnimation","isAnimationEnabled","showPointerAbove","_titleEls","_detailEls","itemGroup","itemTitleModel","titleOffsetCenter","titleX","titleY","labelEl","attr","getName","itemDetailModel","detailOffsetCenter","detailX","detailY","detailColor","formatter_1","normal","getFormattedLabel","labelDataIndex","status","labelDimIndex","fmt","extendParams","interpolatedValue"],"mappings":"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","sourcesContent":["\r\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\r\n\r\n\r\n/**\r\n * AUTO-GENERATED FILE. DO NOT MODIFY.\r\n */\r\n\r\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\r\nimport { __extends } from \"tslib\";\r\nimport PointerPath from './PointerPath.js';\r\nimport * as graphic from '../../util/graphic.js';\r\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\r\nimport { createTextStyle, setLabelValueAnimation, animateLabelValue } from '../../label/labelStyle.js';\r\nimport ChartView from '../../view/Chart.js';\r\nimport { parsePercent, round, linearMap } from '../../util/number.js';\r\nimport Sausage from '../../util/shape/sausage.js';\r\nimport { createSymbol } from '../../util/symbol.js';\r\nimport ZRImage from 'zrender/lib/graphic/Image.js';\r\nimport { extend, isFunction, isString } from 'zrender/lib/core/util.js';\r\nimport { setCommonECData } from '../../util/innerStore.js';\r\nimport { normalizeArcAngles } from 'zrender/lib/core/PathProxy.js';\r\n\r\nfunction parsePosition(seriesModel, api) {\r\n var center = seriesModel.get('center');\r\n var width = api.getWidth();\r\n var height = api.getHeight();\r\n var size = Math.min(width, height);\r\n var cx = parsePercent(center[0], api.getWidth());\r\n var cy = parsePercent(center[1], api.getHeight());\r\n var r = parsePercent(seriesModel.get('radius'), size / 2);\r\n return {\r\n cx: cx,\r\n cy: cy,\r\n r: r\r\n };\r\n}\r\n\r\nfunction formatLabel(value, labelFormatter) {\r\n var label = value == null ? '' : value + '';\r\n\r\n if (labelFormatter) {\r\n if (isString(labelFormatter)) {\r\n label = labelFormatter.replace('{value}', label);\r\n } else if (isFunction(labelFormatter)) {\r\n label = labelFormatter(value);\r\n }\r\n }\r\n\r\n return label;\r\n}\r\n\r\nvar GaugeView =\r\n/** @class */\r\nfunction (_super) {\r\n __extends(GaugeView, _super);\r\n\r\n function GaugeView() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n\r\n _this.type = GaugeView.type;\r\n return _this;\r\n }\r\n\r\n GaugeView.prototype.render = function (seriesModel, ecModel, api) {\r\n this.group.removeAll();\r\n var colorList = seriesModel.get(['axisLine', 'lineStyle', 'color']);\r\n var posInfo = parsePosition(seriesModel, api);\r\n\r\n this._renderMain(seriesModel, ecModel, api, colorList, posInfo);\r\n\r\n this._data = seriesModel.getData();\r\n };\r\n\r\n GaugeView.prototype.dispose = function () {};\r\n\r\n GaugeView.prototype._renderMain = function (seriesModel, ecModel, api, colorList, posInfo) {\r\n var group = this.group;\r\n var clockwise = seriesModel.get('clockwise');\r\n var startAngle = -seriesModel.get('startAngle') / 180 * Math.PI;\r\n var endAngle = -seriesModel.get('endAngle') / 180 * Math.PI;\r\n var axisLineModel = seriesModel.getModel('axisLine');\r\n var roundCap = axisLineModel.get('roundCap');\r\n var MainPath = roundCap ? Sausage : graphic.Sector;\r\n var showAxis = axisLineModel.get('show');\r\n var lineStyleModel = axisLineModel.getModel('lineStyle');\r\n var axisLineWidth = lineStyleModel.get('width');\r\n var angles = [startAngle, endAngle];\r\n normalizeArcAngles(angles, !clockwise);\r\n startAngle = angles[0];\r\n endAngle = angles[1];\r\n var angleRangeSpan = endAngle - startAngle;\r\n var prevEndAngle = startAngle;\r\n\r\n for (var i = 0; showAxis && i < colorList.length; i++) {\r\n // Clamp\r\n var percent = Math.min(Math.max(colorList[i][0], 0), 1);\r\n endAngle = startAngle + angleRangeSpan * percent;\r\n var sector = new MainPath({\r\n shape: {\r\n startAngle: prevEndAngle,\r\n endAngle: endAngle,\r\n cx: posInfo.cx,\r\n cy: posInfo.cy,\r\n clockwise: clockwise,\r\n r0: posInfo.r - axisLineWidth,\r\n r: posInfo.r\r\n },\r\n silent: true\r\n });\r\n sector.setStyle({\r\n fill: colorList[i][1]\r\n });\r\n sector.setStyle(lineStyleModel.getLineStyle( // Because we use sector to simulate arc\r\n // so the properties for stroking are useless\r\n ['color', 'width']));\r\n group.add(sector);\r\n prevEndAngle = endAngle;\r\n }\r\n\r\n var getColor = function (percent) {\r\n // Less than 0\r\n if (percent <= 0) {\r\n return colorList[0][1];\r\n }\r\n\r\n var i;\r\n\r\n for (i = 0; i < colorList.length; i++) {\r\n if (colorList[i][0] >= percent && (i === 0 ? 0 : colorList[i - 1][0]) < percent) {\r\n return colorList[i][1];\r\n }\r\n } // More than 1\r\n\r\n\r\n return colorList[i - 1][1];\r\n };\r\n\r\n this._renderTicks(seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth);\r\n\r\n this._renderTitleAndDetail(seriesModel, ecModel, api, getColor, posInfo);\r\n\r\n this._renderAnchor(seriesModel, posInfo);\r\n\r\n this._renderPointer(seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth);\r\n };\r\n\r\n GaugeView.prototype._renderTicks = function (seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth) {\r\n var group = this.group;\r\n var cx = posInfo.cx;\r\n var cy = posInfo.cy;\r\n var r = posInfo.r;\r\n var minVal = +seriesModel.get('min');\r\n var maxVal = +seriesModel.get('max');\r\n var splitLineModel = seriesModel.getModel('splitLine');\r\n var tickModel = seriesModel.getModel('axisTick');\r\n var labelModel = seriesModel.getModel('axisLabel');\r\n var splitNumber = seriesModel.get('splitNumber');\r\n var subSplitNumber = tickModel.get('splitNumber');\r\n var splitLineLen = parsePercent(splitLineModel.get('length'), r);\r\n var tickLen = parsePercent(tickModel.get('length'), r);\r\n var angle = startAngle;\r\n var step = (endAngle - startAngle) / splitNumber;\r\n var subStep = step / subSplitNumber;\r\n var splitLineStyle = splitLineModel.getModel('lineStyle').getLineStyle();\r\n var tickLineStyle = tickModel.getModel('lineStyle').getLineStyle();\r\n var splitLineDistance = splitLineModel.get('distance');\r\n var unitX;\r\n var unitY;\r\n\r\n for (var i = 0; i <= splitNumber; i++) {\r\n unitX = Math.cos(angle);\r\n unitY = Math.sin(angle); // Split line\r\n\r\n if (splitLineModel.get('show')) {\r\n var distance = splitLineDistance ? splitLineDistance + axisLineWidth : axisLineWidth;\r\n var splitLine = new graphic.Line({\r\n shape: {\r\n x1: unitX * (r - distance) + cx,\r\n y1: unitY * (r - distance) + cy,\r\n x2: unitX * (r - splitLineLen - distance) + cx,\r\n y2: unitY * (r - splitLineLen - distance) + cy\r\n },\r\n style: splitLineStyle,\r\n silent: true\r\n });\r\n\r\n if (splitLineStyle.stroke === 'auto') {\r\n splitLine.setStyle({\r\n stroke: getColor(i / splitNumber)\r\n });\r\n }\r\n\r\n group.add(splitLine);\r\n } // Label\r\n\r\n\r\n if (labelModel.get('show')) {\r\n var distance = labelModel.get('distance') + splitLineDistance;\r\n var label = formatLabel(round(i / splitNumber * (maxVal - minVal) + minVal), labelModel.get('formatter'));\r\n var autoColor = getColor(i / splitNumber);\r\n group.add(new graphic.Text({\r\n style: createTextStyle(labelModel, {\r\n text: label,\r\n x: unitX * (r - splitLineLen - distance) + cx,\r\n y: unitY * (r - splitLineLen - distance) + cy,\r\n verticalAlign: unitY < -0.8 ? 'top' : unitY > 0.8 ? 'bottom' : 'middle',\r\n align: unitX < -0.4 ? 'left' : unitX > 0.4 ? 'right' : 'center'\r\n }, {\r\n inheritColor: autoColor\r\n }),\r\n silent: true\r\n }));\r\n } // Axis tick\r\n\r\n\r\n if (tickModel.get('show') && i !== splitNumber) {\r\n var distance = tickModel.get('distance');\r\n distance = distance ? distance + axisLineWidth : axisLineWidth;\r\n\r\n for (var j = 0; j <= subSplitNumber; j++) {\r\n unitX = Math.cos(angle);\r\n unitY = Math.sin(angle);\r\n var tickLine = new graphic.Line({\r\n shape: {\r\n x1: unitX * (r - distance) + cx,\r\n y1: unitY * (r - distance) + cy,\r\n x2: unitX * (r - tickLen - distance) + cx,\r\n y2: unitY * (r - tickLen - distance) + cy\r\n },\r\n silent: true,\r\n style: tickLineStyle\r\n });\r\n\r\n if (tickLineStyle.stroke === 'auto') {\r\n tickLine.setStyle({\r\n stroke: getColor((i + j / subSplitNumber) / splitNumber)\r\n });\r\n }\r\n\r\n group.add(tickLine);\r\n angle += subStep;\r\n }\r\n\r\n angle -= subStep;\r\n } else {\r\n angle += step;\r\n }\r\n }\r\n };\r\n\r\n GaugeView.prototype._renderPointer = function (seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise, axisLineWidth) {\r\n var group = this.group;\r\n var oldData = this._data;\r\n var oldProgressData = this._progressEls;\r\n var progressList = [];\r\n var showPointer = seriesModel.get(['pointer', 'show']);\r\n var progressModel = seriesModel.getModel('progress');\r\n var showProgress = progressModel.get('show');\r\n var data = seriesModel.getData();\r\n var valueDim = data.mapDimension('value');\r\n var minVal = +seriesModel.get('min');\r\n var maxVal = +seriesModel.get('max');\r\n var valueExtent = [minVal, maxVal];\r\n var angleExtent = [startAngle, endAngle];\r\n\r\n function createPointer(idx, angle) {\r\n var itemModel = data.getItemModel(idx);\r\n var pointerModel = itemModel.getModel('pointer');\r\n var pointerWidth = parsePercent(pointerModel.get('width'), posInfo.r);\r\n var pointerLength = parsePercent(pointerModel.get('length'), posInfo.r);\r\n var pointerStr = seriesModel.get(['pointer', 'icon']);\r\n var pointerOffset = pointerModel.get('offsetCenter');\r\n var pointerOffsetX = parsePercent(pointerOffset[0], posInfo.r);\r\n var pointerOffsetY = parsePercent(pointerOffset[1], posInfo.r);\r\n var pointerKeepAspect = pointerModel.get('keepAspect');\r\n var pointer; // not exist icon type will be set 'rect'\r\n\r\n if (pointerStr) {\r\n pointer = createSymbol(pointerStr, pointerOffsetX - pointerWidth / 2, pointerOffsetY - pointerLength, pointerWidth, pointerLength, null, pointerKeepAspect);\r\n } else {\r\n pointer = new PointerPath({\r\n shape: {\r\n angle: -Math.PI / 2,\r\n width: pointerWidth,\r\n r: pointerLength,\r\n x: pointerOffsetX,\r\n y: pointerOffsetY\r\n }\r\n });\r\n }\r\n\r\n pointer.rotation = -(angle + Math.PI / 2);\r\n pointer.x = posInfo.cx;\r\n pointer.y = posInfo.cy;\r\n return pointer;\r\n }\r\n\r\n function createProgress(idx, endAngle) {\r\n var roundCap = progressModel.get('roundCap');\r\n var ProgressPath = roundCap ? Sausage : graphic.Sector;\r\n var isOverlap = progressModel.get('overlap');\r\n var progressWidth = isOverlap ? progressModel.get('width') : axisLineWidth / data.count();\r\n var r0 = isOverlap ? posInfo.r - progressWidth : posInfo.r - (idx + 1) * progressWidth;\r\n var r = isOverlap ? posInfo.r : posInfo.r - idx * progressWidth;\r\n var progress = new ProgressPath({\r\n shape: {\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n cx: posInfo.cx,\r\n cy: posInfo.cy,\r\n clockwise: clockwise,\r\n r0: r0,\r\n r: r\r\n }\r\n });\r\n isOverlap && (progress.z2 = maxVal - data.get(valueDim, idx) % maxVal);\r\n return progress;\r\n }\r\n\r\n if (showProgress || showPointer) {\r\n data.diff(oldData).add(function (idx) {\r\n var val = data.get(valueDim, idx);\r\n\r\n if (showPointer) {\r\n var pointer = createPointer(idx, startAngle); // TODO hide pointer on NaN value?\r\n\r\n graphic.initProps(pointer, {\r\n rotation: -((isNaN(+val) ? angleExtent[0] : linearMap(val, valueExtent, angleExtent, true)) + Math.PI / 2)\r\n }, seriesModel);\r\n group.add(pointer);\r\n data.setItemGraphicEl(idx, pointer);\r\n }\r\n\r\n if (showProgress) {\r\n var progress = createProgress(idx, startAngle);\r\n var isClip = progressModel.get('clip');\r\n graphic.initProps(progress, {\r\n shape: {\r\n endAngle: linearMap(val, valueExtent, angleExtent, isClip)\r\n }\r\n }, seriesModel);\r\n group.add(progress); // Add data index and series index for indexing the data by element\r\n // Useful in tooltip\r\n\r\n setCommonECData(seriesModel.seriesIndex, data.dataType, idx, progress);\r\n progressList[idx] = progress;\r\n }\r\n }).update(function (newIdx, oldIdx) {\r\n var val = data.get(valueDim, newIdx);\r\n\r\n if (showPointer) {\r\n var previousPointer = oldData.getItemGraphicEl(oldIdx);\r\n var previousRotate = previousPointer ? previousPointer.rotation : startAngle;\r\n var pointer = createPointer(newIdx, previousRotate);\r\n pointer.rotation = previousRotate;\r\n graphic.updateProps(pointer, {\r\n rotation: -((isNaN(+val) ? angleExtent[0] : linearMap(val, valueExtent, angleExtent, true)) + Math.PI / 2)\r\n }, seriesModel);\r\n group.add(pointer);\r\n data.setItemGraphicEl(newIdx, pointer);\r\n }\r\n\r\n if (showProgress) {\r\n var previousProgress = oldProgressData[oldIdx];\r\n var previousEndAngle = previousProgress ? previousProgress.shape.endAngle : startAngle;\r\n var progress = createProgress(newIdx, previousEndAngle);\r\n var isClip = progressModel.get('clip');\r\n graphic.updateProps(progress, {\r\n shape: {\r\n endAngle: linearMap(val, valueExtent, angleExtent, isClip)\r\n }\r\n }, seriesModel);\r\n group.add(progress); // Add data index and series index for indexing the data by element\r\n // Useful in tooltip\r\n\r\n setCommonECData(seriesModel.seriesIndex, data.dataType, newIdx, progress);\r\n progressList[newIdx] = progress;\r\n }\r\n }).execute();\r\n data.each(function (idx) {\r\n var itemModel = data.getItemModel(idx);\r\n var emphasisModel = itemModel.getModel('emphasis');\r\n var focus = emphasisModel.get('focus');\r\n var blurScope = emphasisModel.get('blurScope');\r\n var emphasisDisabled = emphasisModel.get('disabled');\r\n\r\n if (showPointer) {\r\n var pointer = data.getItemGraphicEl(idx);\r\n var symbolStyle = data.getItemVisual(idx, 'style');\r\n var visualColor = symbolStyle.fill;\r\n\r\n if (pointer instanceof ZRImage) {\r\n var pathStyle = pointer.style;\r\n pointer.useStyle(extend({\r\n image: pathStyle.image,\r\n x: pathStyle.x,\r\n y: pathStyle.y,\r\n width: pathStyle.width,\r\n height: pathStyle.height\r\n }, symbolStyle));\r\n } else {\r\n pointer.useStyle(symbolStyle);\r\n pointer.type !== 'pointer' && pointer.setColor(visualColor);\r\n }\r\n\r\n pointer.setStyle(itemModel.getModel(['pointer', 'itemStyle']).getItemStyle());\r\n\r\n if (pointer.style.fill === 'auto') {\r\n pointer.setStyle('fill', getColor(linearMap(data.get(valueDim, idx), valueExtent, [0, 1], true)));\r\n }\r\n\r\n pointer.z2EmphasisLift = 0;\r\n setStatesStylesFromModel(pointer, itemModel);\r\n toggleHoverEmphasis(pointer, focus, blurScope, emphasisDisabled);\r\n }\r\n\r\n if (showProgress) {\r\n var progress = progressList[idx];\r\n progress.useStyle(data.getItemVisual(idx, 'style'));\r\n progress.setStyle(itemModel.getModel(['progress', 'itemStyle']).getItemStyle());\r\n progress.z2EmphasisLift = 0;\r\n setStatesStylesFromModel(progress, itemModel);\r\n toggleHoverEmphasis(progress, focus, blurScope, emphasisDisabled);\r\n }\r\n });\r\n this._progressEls = progressList;\r\n }\r\n };\r\n\r\n GaugeView.prototype._renderAnchor = function (seriesModel, posInfo) {\r\n var anchorModel = seriesModel.getModel('anchor');\r\n var showAnchor = anchorModel.get('show');\r\n\r\n if (showAnchor) {\r\n var anchorSize = anchorModel.get('size');\r\n var anchorType = anchorModel.get('icon');\r\n var offsetCenter = anchorModel.get('offsetCenter');\r\n var anchorKeepAspect = anchorModel.get('keepAspect');\r\n var anchor = createSymbol(anchorType, posInfo.cx - anchorSize / 2 + parsePercent(offsetCenter[0], posInfo.r), posInfo.cy - anchorSize / 2 + parsePercent(offsetCenter[1], posInfo.r), anchorSize, anchorSize, null, anchorKeepAspect);\r\n anchor.z2 = anchorModel.get('showAbove') ? 1 : 0;\r\n anchor.setStyle(anchorModel.getModel('itemStyle').getItemStyle());\r\n this.group.add(anchor);\r\n }\r\n };\r\n\r\n GaugeView.prototype._renderTitleAndDetail = function (seriesModel, ecModel, api, getColor, posInfo) {\r\n var _this = this;\r\n\r\n var data = seriesModel.getData();\r\n var valueDim = data.mapDimension('value');\r\n var minVal = +seriesModel.get('min');\r\n var maxVal = +seriesModel.get('max');\r\n var contentGroup = new graphic.Group();\r\n var newTitleEls = [];\r\n var newDetailEls = [];\r\n var hasAnimation = seriesModel.isAnimationEnabled();\r\n var showPointerAbove = seriesModel.get(['pointer', 'showAbove']);\r\n data.diff(this._data).add(function (idx) {\r\n newTitleEls[idx] = new graphic.Text({\r\n silent: true\r\n });\r\n newDetailEls[idx] = new graphic.Text({\r\n silent: true\r\n });\r\n }).update(function (idx, oldIdx) {\r\n newTitleEls[idx] = _this._titleEls[oldIdx];\r\n newDetailEls[idx] = _this._detailEls[oldIdx];\r\n }).execute();\r\n data.each(function (idx) {\r\n var itemModel = data.getItemModel(idx);\r\n var value = data.get(valueDim, idx);\r\n var itemGroup = new graphic.Group();\r\n var autoColor = getColor(linearMap(value, [minVal, maxVal], [0, 1], true));\r\n var itemTitleModel = itemModel.getModel('title');\r\n\r\n if (itemTitleModel.get('show')) {\r\n var titleOffsetCenter = itemTitleModel.get('offsetCenter');\r\n var titleX = posInfo.cx + parsePercent(titleOffsetCenter[0], posInfo.r);\r\n var titleY = posInfo.cy + parsePercent(titleOffsetCenter[1], posInfo.r);\r\n var labelEl = newTitleEls[idx];\r\n labelEl.attr({\r\n z2: showPointerAbove ? 0 : 2,\r\n style: createTextStyle(itemTitleModel, {\r\n x: titleX,\r\n y: titleY,\r\n text: data.getName(idx),\r\n align: 'center',\r\n verticalAlign: 'middle'\r\n }, {\r\n inheritColor: autoColor\r\n })\r\n });\r\n itemGroup.add(labelEl);\r\n }\r\n\r\n var itemDetailModel = itemModel.getModel('detail');\r\n\r\n if (itemDetailModel.get('show')) {\r\n var detailOffsetCenter = itemDetailModel.get('offsetCenter');\r\n var detailX = posInfo.cx + parsePercent(detailOffsetCenter[0], posInfo.r);\r\n var detailY = posInfo.cy + parsePercent(detailOffsetCenter[1], posInfo.r);\r\n var width = parsePercent(itemDetailModel.get('width'), posInfo.r);\r\n var height = parsePercent(itemDetailModel.get('height'), posInfo.r);\r\n var detailColor = seriesModel.get(['progress', 'show']) ? data.getItemVisual(idx, 'style').fill : autoColor;\r\n var labelEl = newDetailEls[idx];\r\n var formatter_1 = itemDetailModel.get('formatter');\r\n labelEl.attr({\r\n z2: showPointerAbove ? 0 : 2,\r\n style: createTextStyle(itemDetailModel, {\r\n x: detailX,\r\n y: detailY,\r\n text: formatLabel(value, formatter_1),\r\n width: isNaN(width) ? null : width,\r\n height: isNaN(height) ? null : height,\r\n align: 'center',\r\n verticalAlign: 'middle'\r\n }, {\r\n inheritColor: detailColor\r\n })\r\n });\r\n setLabelValueAnimation(labelEl, {\r\n normal: itemDetailModel\r\n }, value, function (value) {\r\n return formatLabel(value, formatter_1);\r\n });\r\n hasAnimation && animateLabelValue(labelEl, idx, data, seriesModel, {\r\n getFormattedLabel: function (labelDataIndex, status, dataType, labelDimIndex, fmt, extendParams) {\r\n return formatLabel(extendParams ? extendParams.interpolatedValue : value, formatter_1);\r\n }\r\n });\r\n itemGroup.add(labelEl);\r\n }\r\n\r\n contentGroup.add(itemGroup);\r\n });\r\n this.group.add(contentGroup);\r\n this._titleEls = newTitleEls;\r\n this._detailEls = newDetailEls;\r\n };\r\n\r\n GaugeView.type = 'gauge';\r\n return GaugeView;\r\n}(ChartView);\r\n\r\nexport default GaugeView;"]},"metadata":{},"sourceType":"module"}