1 line
29 KiB
JSON
1 line
29 KiB
JSON
{"ast":null,"code":"import \"core-js/modules/es.function.name.js\";\nimport \"core-js/modules/es.array.fill.js\";\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 * 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 * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { toggleHoverEmphasis, SPECIAL_STATES, DISPLAY_STATES } from '../../util/states.js';\nimport { createTextStyle } from '../../label/labelStyle.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { getSectorCornerRadius } from '../helper/sectorHelper.js';\nimport { createOrUpdatePatternFromDecal } from '../../util/decal.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\nimport { normalizeRadian } from 'zrender/lib/contain/util.js';\nvar DEFAULT_SECTOR_Z = 2;\nvar DEFAULT_TEXT_Z = 4;\n/**\n * Sunburstce of Sunburst including Sector, Label, LabelLine\n */\n\nvar SunburstPiece =\n/** @class */\nfunction (_super) {\n __extends(SunburstPiece, _super);\n\n function SunburstPiece(node, seriesModel, ecModel, api) {\n var _this = _super.call(this) || this;\n\n _this.z2 = DEFAULT_SECTOR_Z;\n _this.textConfig = {\n inside: true\n };\n getECData(_this).seriesIndex = seriesModel.seriesIndex;\n var text = new graphic.Text({\n z2: DEFAULT_TEXT_Z,\n silent: node.getModel().get(['label', 'silent'])\n });\n\n _this.setTextContent(text);\n\n _this.updateData(true, node, seriesModel, ecModel, api);\n\n return _this;\n }\n\n SunburstPiece.prototype.updateData = function (firstCreate, node, // state: 'emphasis' | 'normal' | 'highlight' | 'downplay',\n seriesModel, ecModel, api) {\n this.node = node;\n node.piece = this;\n seriesModel = seriesModel || this._seriesModel;\n ecModel = ecModel || this._ecModel;\n var sector = this;\n getECData(sector).dataIndex = node.dataIndex;\n var itemModel = node.getModel();\n var emphasisModel = itemModel.getModel('emphasis');\n var layout = node.getLayout();\n var sectorShape = zrUtil.extend({}, layout);\n sectorShape.label = null;\n var normalStyle = node.getVisual('style');\n normalStyle.lineJoin = 'bevel';\n var decal = node.getVisual('decal');\n\n if (decal) {\n normalStyle.decal = createOrUpdatePatternFromDecal(decal, api);\n }\n\n var cornerRadius = getSectorCornerRadius(itemModel.getModel('itemStyle'), sectorShape, true);\n zrUtil.extend(sectorShape, cornerRadius);\n zrUtil.each(SPECIAL_STATES, function (stateName) {\n var state = sector.ensureState(stateName);\n var itemStyleModel = itemModel.getModel([stateName, 'itemStyle']);\n state.style = itemStyleModel.getItemStyle(); // border radius\n\n var cornerRadius = getSectorCornerRadius(itemStyleModel, sectorShape);\n\n if (cornerRadius) {\n state.shape = cornerRadius;\n }\n });\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, node.dataIndex);\n } else {\n // Disable animation for gradient since no interpolation method\n // is supported for gradient\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel);\n saveOldStyle(sector);\n }\n\n sector.useStyle(normalStyle);\n\n this._updateLabel(seriesModel);\n\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle);\n this._seriesModel = seriesModel || this._seriesModel;\n this._ecModel = ecModel || this._ecModel;\n var focus = emphasisModel.get('focus');\n var focusOrIndices = focus === 'ancestor' ? node.getAncestorsIndices() : focus === 'descendant' ? node.getDescendantIndices() : focus;\n toggleHoverEmphasis(this, focusOrIndices, emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n };\n\n SunburstPiece.prototype._updateLabel = function (seriesModel) {\n var _this = this;\n\n var itemModel = this.node.getModel();\n var normalLabelModel = itemModel.getModel('label');\n var layout = this.node.getLayout();\n var angle = layout.endAngle - layout.startAngle;\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var sector = this;\n var label = sector.getTextContent();\n var dataIndex = this.node.dataIndex;\n var labelMinAngle = normalLabelModel.get('minAngle') / 180 * Math.PI;\n var isNormalShown = normalLabelModel.get('show') && !(labelMinAngle != null && Math.abs(angle) < labelMinAngle);\n label.ignore = !isNormalShown; // TODO use setLabelStyle\n\n zrUtil.each(DISPLAY_STATES, function (stateName) {\n var labelStateModel = stateName === 'normal' ? itemModel.getModel('label') : itemModel.getModel([stateName, 'label']);\n var isNormal = stateName === 'normal';\n var state = isNormal ? label : label.ensureState(stateName);\n var text = seriesModel.getFormattedLabel(dataIndex, stateName);\n\n if (isNormal) {\n text = text || _this.node.name;\n }\n\n state.style = createTextStyle(labelStateModel, {}, null, stateName !== 'normal', true);\n\n if (text) {\n state.style.text = text;\n } // Not displaying text when angle is too small\n\n\n var isShown = labelStateModel.get('show');\n\n if (isShown != null && !isNormal) {\n state.ignore = !isShown;\n }\n\n var labelPosition = getLabelAttr(labelStateModel, 'position');\n var sectorState = isNormal ? sector : sector.states[stateName];\n var labelColor = sectorState.style.fill;\n sectorState.textConfig = {\n outsideFill: labelStateModel.get('color') === 'inherit' ? labelColor : null,\n inside: labelPosition !== 'outside'\n };\n var r;\n var labelPadding = getLabelAttr(labelStateModel, 'distance') || 0;\n var textAlign = getLabelAttr(labelStateModel, 'align');\n\n if (labelPosition === 'outside') {\n r = layout.r + labelPadding;\n textAlign = midAngle > Math.PI / 2 ? 'right' : 'left';\n } else {\n if (!textAlign || textAlign === 'center') {\n // Put label in the center if it's a circle\n if (angle === 2 * Math.PI && layout.r0 === 0) {\n r = 0;\n } else {\n r = (layout.r + layout.r0) / 2;\n }\n\n textAlign = 'center';\n } else if (textAlign === 'left') {\n r = layout.r0 + labelPadding;\n\n if (midAngle > Math.PI / 2) {\n textAlign = 'right';\n }\n } else if (textAlign === 'right') {\n r = layout.r - labelPadding;\n\n if (midAngle > Math.PI / 2) {\n textAlign = 'left';\n }\n }\n }\n\n state.style.align = textAlign;\n state.style.verticalAlign = getLabelAttr(labelStateModel, 'verticalAlign') || 'middle';\n state.x = r * dx + layout.cx;\n state.y = r * dy + layout.cy;\n var rotateType = getLabelAttr(labelStateModel, 'rotate');\n var rotate = 0;\n\n if (rotateType === 'radial') {\n rotate = normalizeRadian(-midAngle);\n\n if (rotate > Math.PI / 2 && rotate < Math.PI * 1.5) {\n rotate += Math.PI;\n }\n } else if (rotateType === 'tangential') {\n rotate = Math.PI / 2 - midAngle;\n\n if (rotate > Math.PI / 2) {\n rotate -= Math.PI;\n } else if (rotate < -Math.PI / 2) {\n rotate += Math.PI;\n }\n } else if (zrUtil.isNumber(rotateType)) {\n rotate = rotateType * Math.PI / 180;\n }\n\n state.rotation = rotate;\n });\n\n function getLabelAttr(model, name) {\n var stateAttr = model.get(name);\n\n if (stateAttr == null) {\n return normalLabelModel.get(name);\n }\n\n return stateAttr;\n }\n\n label.dirtyStyle();\n };\n\n return SunburstPiece;\n}(graphic.Sector);\n\nexport default SunburstPiece;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src啊/ElectronicMallVue/node_modules/echarts/lib/chart/sunburst/SunburstPiece.js"],"names":["__extends","zrUtil","graphic","toggleHoverEmphasis","SPECIAL_STATES","DISPLAY_STATES","createTextStyle","getECData","getSectorCornerRadius","createOrUpdatePatternFromDecal","saveOldStyle","normalizeRadian","DEFAULT_SECTOR_Z","DEFAULT_TEXT_Z","SunburstPiece","_super","node","seriesModel","ecModel","api","_this","call","z2","textConfig","inside","seriesIndex","text","Text","silent","getModel","get","setTextContent","updateData","prototype","firstCreate","piece","_seriesModel","_ecModel","sector","dataIndex","itemModel","emphasisModel","layout","getLayout","sectorShape","extend","label","normalStyle","getVisual","lineJoin","decal","cornerRadius","each","stateName","state","ensureState","itemStyleModel","style","getItemStyle","shape","setShape","r","r0","initProps","updateProps","useStyle","_updateLabel","cursorStyle","getShallow","attr","focus","focusOrIndices","getAncestorsIndices","getDescendantIndices","normalLabelModel","angle","endAngle","startAngle","midAngle","dx","Math","cos","dy","sin","getTextContent","labelMinAngle","PI","isNormalShown","abs","ignore","labelStateModel","isNormal","getFormattedLabel","name","isShown","labelPosition","getLabelAttr","sectorState","states","labelColor","fill","outsideFill","labelPadding","textAlign","align","verticalAlign","x","cx","y","cy","rotateType","rotate","isNumber","rotation","model","stateAttr","dirtyStyle","Sector"],"mappings":"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","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*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { toggleHoverEmphasis, SPECIAL_STATES, DISPLAY_STATES } from '../../util/states.js';\nimport { createTextStyle } from '../../label/labelStyle.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { getSectorCornerRadius } from '../helper/sectorHelper.js';\nimport { createOrUpdatePatternFromDecal } from '../../util/decal.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\nimport { normalizeRadian } from 'zrender/lib/contain/util.js';\nvar DEFAULT_SECTOR_Z = 2;\nvar DEFAULT_TEXT_Z = 4;\n/**\n * Sunburstce of Sunburst including Sector, Label, LabelLine\n */\n\nvar SunburstPiece =\n/** @class */\nfunction (_super) {\n __extends(SunburstPiece, _super);\n\n function SunburstPiece(node, seriesModel, ecModel, api) {\n var _this = _super.call(this) || this;\n\n _this.z2 = DEFAULT_SECTOR_Z;\n _this.textConfig = {\n inside: true\n };\n getECData(_this).seriesIndex = seriesModel.seriesIndex;\n var text = new graphic.Text({\n z2: DEFAULT_TEXT_Z,\n silent: node.getModel().get(['label', 'silent'])\n });\n\n _this.setTextContent(text);\n\n _this.updateData(true, node, seriesModel, ecModel, api);\n\n return _this;\n }\n\n SunburstPiece.prototype.updateData = function (firstCreate, node, // state: 'emphasis' | 'normal' | 'highlight' | 'downplay',\n seriesModel, ecModel, api) {\n this.node = node;\n node.piece = this;\n seriesModel = seriesModel || this._seriesModel;\n ecModel = ecModel || this._ecModel;\n var sector = this;\n getECData(sector).dataIndex = node.dataIndex;\n var itemModel = node.getModel();\n var emphasisModel = itemModel.getModel('emphasis');\n var layout = node.getLayout();\n var sectorShape = zrUtil.extend({}, layout);\n sectorShape.label = null;\n var normalStyle = node.getVisual('style');\n normalStyle.lineJoin = 'bevel';\n var decal = node.getVisual('decal');\n\n if (decal) {\n normalStyle.decal = createOrUpdatePatternFromDecal(decal, api);\n }\n\n var cornerRadius = getSectorCornerRadius(itemModel.getModel('itemStyle'), sectorShape, true);\n zrUtil.extend(sectorShape, cornerRadius);\n zrUtil.each(SPECIAL_STATES, function (stateName) {\n var state = sector.ensureState(stateName);\n var itemStyleModel = itemModel.getModel([stateName, 'itemStyle']);\n state.style = itemStyleModel.getItemStyle(); // border radius\n\n var cornerRadius = getSectorCornerRadius(itemStyleModel, sectorShape);\n\n if (cornerRadius) {\n state.shape = cornerRadius;\n }\n });\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, node.dataIndex);\n } else {\n // Disable animation for gradient since no interpolation method\n // is supported for gradient\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel);\n saveOldStyle(sector);\n }\n\n sector.useStyle(normalStyle);\n\n this._updateLabel(seriesModel);\n\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle);\n this._seriesModel = seriesModel || this._seriesModel;\n this._ecModel = ecModel || this._ecModel;\n var focus = emphasisModel.get('focus');\n var focusOrIndices = focus === 'ancestor' ? node.getAncestorsIndices() : focus === 'descendant' ? node.getDescendantIndices() : focus;\n toggleHoverEmphasis(this, focusOrIndices, emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n };\n\n SunburstPiece.prototype._updateLabel = function (seriesModel) {\n var _this = this;\n\n var itemModel = this.node.getModel();\n var normalLabelModel = itemModel.getModel('label');\n var layout = this.node.getLayout();\n var angle = layout.endAngle - layout.startAngle;\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var sector = this;\n var label = sector.getTextContent();\n var dataIndex = this.node.dataIndex;\n var labelMinAngle = normalLabelModel.get('minAngle') / 180 * Math.PI;\n var isNormalShown = normalLabelModel.get('show') && !(labelMinAngle != null && Math.abs(angle) < labelMinAngle);\n label.ignore = !isNormalShown; // TODO use setLabelStyle\n\n zrUtil.each(DISPLAY_STATES, function (stateName) {\n var labelStateModel = stateName === 'normal' ? itemModel.getModel('label') : itemModel.getModel([stateName, 'label']);\n var isNormal = stateName === 'normal';\n var state = isNormal ? label : label.ensureState(stateName);\n var text = seriesModel.getFormattedLabel(dataIndex, stateName);\n\n if (isNormal) {\n text = text || _this.node.name;\n }\n\n state.style = createTextStyle(labelStateModel, {}, null, stateName !== 'normal', true);\n\n if (text) {\n state.style.text = text;\n } // Not displaying text when angle is too small\n\n\n var isShown = labelStateModel.get('show');\n\n if (isShown != null && !isNormal) {\n state.ignore = !isShown;\n }\n\n var labelPosition = getLabelAttr(labelStateModel, 'position');\n var sectorState = isNormal ? sector : sector.states[stateName];\n var labelColor = sectorState.style.fill;\n sectorState.textConfig = {\n outsideFill: labelStateModel.get('color') === 'inherit' ? labelColor : null,\n inside: labelPosition !== 'outside'\n };\n var r;\n var labelPadding = getLabelAttr(labelStateModel, 'distance') || 0;\n var textAlign = getLabelAttr(labelStateModel, 'align');\n\n if (labelPosition === 'outside') {\n r = layout.r + labelPadding;\n textAlign = midAngle > Math.PI / 2 ? 'right' : 'left';\n } else {\n if (!textAlign || textAlign === 'center') {\n // Put label in the center if it's a circle\n if (angle === 2 * Math.PI && layout.r0 === 0) {\n r = 0;\n } else {\n r = (layout.r + layout.r0) / 2;\n }\n\n textAlign = 'center';\n } else if (textAlign === 'left') {\n r = layout.r0 + labelPadding;\n\n if (midAngle > Math.PI / 2) {\n textAlign = 'right';\n }\n } else if (textAlign === 'right') {\n r = layout.r - labelPadding;\n\n if (midAngle > Math.PI / 2) {\n textAlign = 'left';\n }\n }\n }\n\n state.style.align = textAlign;\n state.style.verticalAlign = getLabelAttr(labelStateModel, 'verticalAlign') || 'middle';\n state.x = r * dx + layout.cx;\n state.y = r * dy + layout.cy;\n var rotateType = getLabelAttr(labelStateModel, 'rotate');\n var rotate = 0;\n\n if (rotateType === 'radial') {\n rotate = normalizeRadian(-midAngle);\n\n if (rotate > Math.PI / 2 && rotate < Math.PI * 1.5) {\n rotate += Math.PI;\n }\n } else if (rotateType === 'tangential') {\n rotate = Math.PI / 2 - midAngle;\n\n if (rotate > Math.PI / 2) {\n rotate -= Math.PI;\n } else if (rotate < -Math.PI / 2) {\n rotate += Math.PI;\n }\n } else if (zrUtil.isNumber(rotateType)) {\n rotate = rotateType * Math.PI / 180;\n }\n\n state.rotation = rotate;\n });\n\n function getLabelAttr(model, name) {\n var stateAttr = model.get(name);\n\n if (stateAttr == null) {\n return normalLabelModel.get(name);\n }\n\n return stateAttr;\n }\n\n label.dirtyStyle();\n };\n\n return SunburstPiece;\n}(graphic.Sector);\n\nexport default SunburstPiece;"]},"metadata":{},"sourceType":"module"} |