{"ast":null,"code":"import \"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 { extend, retrieve3 } from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\nimport ChartView from '../../view/Chart.js';\nimport labelLayout from './labelLayout.js';\nimport { setLabelLineStyle, getLabelLineStatesModels } from '../../label/labelGuideHelper.js';\nimport { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle.js';\nimport { getSectorCornerRadius } from '../helper/sectorHelper.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\nimport { getBasicPieLayout } from './pieLayout.js';\n/**\n * Piece of pie including Sector, Label, LabelLine\n */\n\nvar PiePiece =\n/** @class */\nfunction (_super) {\n __extends(PiePiece, _super);\n\n function PiePiece(data, idx, startAngle) {\n var _this = _super.call(this) || this;\n\n _this.z2 = 2;\n var text = new graphic.Text();\n\n _this.setTextContent(text);\n\n _this.updateData(data, idx, startAngle, true);\n\n return _this;\n }\n\n PiePiece.prototype.updateData = function (data, idx, startAngle, firstCreate) {\n var sector = this;\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var emphasisModel = itemModel.getModel('emphasis');\n var layout = data.getItemLayout(idx); // cornerRadius & innerCornerRadius doesn't exist in the item layout. Use `0` if null value is specified.\n // see `setItemLayout` in `pieLayout.ts`.\n\n var sectorShape = extend(getSectorCornerRadius(itemModel.getModel('itemStyle'), layout, true), layout); // Ignore NaN data.\n\n if (isNaN(sectorShape.startAngle)) {\n // Use NaN shape to avoid drawing shape.\n sector.setShape(sectorShape);\n return;\n }\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n var animationType = seriesModel.getShallow('animationType');\n\n if (seriesModel.ecModel.ssr) {\n // Use scale animation in SSR mode(opacity?)\n // Because CSS SVG animation doesn't support very customized shape animation.\n graphic.initProps(sector, {\n scaleX: 0,\n scaleY: 0\n }, seriesModel, {\n dataIndex: idx,\n isFrom: true\n });\n sector.originX = sectorShape.cx;\n sector.originY = sectorShape.cy;\n } else if (animationType === 'scale') {\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, idx);\n } // Expansion\n else {\n if (startAngle != null) {\n sector.setShape({\n startAngle: startAngle,\n endAngle: startAngle\n });\n graphic.initProps(sector, {\n shape: {\n startAngle: layout.startAngle,\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n } else {\n sector.shape.endAngle = layout.startAngle;\n graphic.updateProps(sector, {\n shape: {\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n }\n }\n } else {\n saveOldStyle(sector); // Transition animation from the old shape\n\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel, idx);\n }\n\n sector.useStyle(data.getItemVisual(idx, 'style'));\n setStatesStylesFromModel(sector, itemModel);\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var offset = seriesModel.get('selectedOffset');\n var dx = Math.cos(midAngle) * offset;\n var dy = Math.sin(midAngle) * offset;\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle);\n\n this._updateLabel(seriesModel, data, idx);\n\n sector.ensureState('emphasis').shape = extend({\n r: layout.r + (emphasisModel.get('scale') ? emphasisModel.get('scaleSize') || 0 : 0)\n }, getSectorCornerRadius(emphasisModel.getModel('itemStyle'), layout));\n extend(sector.ensureState('select'), {\n x: dx,\n y: dy,\n shape: getSectorCornerRadius(itemModel.getModel(['select', 'itemStyle']), layout)\n });\n extend(sector.ensureState('blur'), {\n shape: getSectorCornerRadius(itemModel.getModel(['blur', 'itemStyle']), layout)\n });\n var labelLine = sector.getTextGuideLine();\n var labelText = sector.getTextContent();\n labelLine && extend(labelLine.ensureState('select'), {\n x: dx,\n y: dy\n }); // TODO: needs dx, dy in zrender?\n\n extend(labelText.ensureState('select'), {\n x: dx,\n y: dy\n });\n toggleHoverEmphasis(this, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n };\n\n PiePiece.prototype._updateLabel = function (seriesModel, data, idx) {\n var sector = this;\n var itemModel = data.getItemModel(idx);\n var labelLineModel = itemModel.getModel('labelLine');\n var style = data.getItemVisual(idx, 'style');\n var visualColor = style && style.fill;\n var visualOpacity = style && style.opacity;\n setLabelStyle(sector, getLabelStatesModels(itemModel), {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n inheritColor: visualColor,\n defaultOpacity: visualOpacity,\n defaultText: seriesModel.getFormattedLabel(idx, 'normal') || data.getName(idx)\n });\n var labelText = sector.getTextContent(); // Set textConfig on sector.\n\n sector.setTextConfig({\n // reset position, rotation\n position: null,\n rotation: null\n }); // Make sure update style on labelText after setLabelStyle.\n // Because setLabelStyle will replace a new style on it.\n\n labelText.attr({\n z2: 10\n });\n var labelPosition = seriesModel.get(['label', 'position']);\n\n if (labelPosition !== 'outside' && labelPosition !== 'outer') {\n sector.removeTextGuideLine();\n } else {\n var polyline = this.getTextGuideLine();\n\n if (!polyline) {\n polyline = new graphic.Polyline();\n this.setTextGuideLine(polyline);\n } // Default use item visual color\n\n\n setLabelLineStyle(this, getLabelLineStatesModels(itemModel), {\n stroke: visualColor,\n opacity: retrieve3(labelLineModel.get(['lineStyle', 'opacity']), visualOpacity, 1)\n });\n }\n };\n\n return PiePiece;\n}(graphic.Sector); // Pie view\n\n\nvar PieView =\n/** @class */\nfunction (_super) {\n __extends(PieView, _super);\n\n function PieView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.ignoreLabelLineUpdate = true;\n return _this;\n }\n\n PieView.prototype.render = function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var startAngle; // First render\n\n if (!oldData && data.count() > 0) {\n var shape = data.getItemLayout(0);\n\n for (var s = 1; isNaN(shape && shape.startAngle) && s < data.count(); ++s) {\n shape = data.getItemLayout(s);\n }\n\n if (shape) {\n startAngle = shape.startAngle;\n }\n } // remove empty-circle if it exists\n\n\n if (this._emptyCircleSector) {\n group.remove(this._emptyCircleSector);\n } // when all data are filtered, show lightgray empty circle\n\n\n if (data.count() === 0 && seriesModel.get('showEmptyCircle')) {\n var sector = new graphic.Sector({\n shape: getBasicPieLayout(seriesModel, api)\n });\n sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle());\n this._emptyCircleSector = sector;\n group.add(sector);\n }\n\n data.diff(oldData).add(function (idx) {\n var piePiece = new PiePiece(data, idx, startAngle);\n data.setItemGraphicEl(idx, piePiece);\n group.add(piePiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n piePiece.updateData(data, newIdx, startAngle);\n piePiece.off('click');\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n graphic.removeElementWithFadeOut(piePiece, seriesModel, idx);\n }).execute();\n labelLayout(seriesModel); // Always use initial animation.\n\n if (seriesModel.get('animationTypeUpdate') !== 'expansion') {\n this._data = data;\n }\n };\n\n PieView.prototype.dispose = function () {};\n\n PieView.prototype.containPoint = function (point, seriesModel) {\n var data = seriesModel.getData();\n var itemLayout = data.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n };\n\n PieView.type = 'pie';\n return PieView;\n}(ChartView);\n\nexport default PieView;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src啊/ElectronicMallVue/node_modules/echarts/lib/chart/pie/PieView.js"],"names":["__extends","extend","retrieve3","graphic","setStatesStylesFromModel","toggleHoverEmphasis","ChartView","labelLayout","setLabelLineStyle","getLabelLineStatesModels","setLabelStyle","getLabelStatesModels","getSectorCornerRadius","saveOldStyle","getBasicPieLayout","PiePiece","_super","data","idx","startAngle","_this","call","z2","text","Text","setTextContent","updateData","prototype","firstCreate","sector","seriesModel","hostModel","itemModel","getItemModel","emphasisModel","getModel","layout","getItemLayout","sectorShape","isNaN","setShape","animationType","getShallow","ecModel","ssr","initProps","scaleX","scaleY","dataIndex","isFrom","originX","cx","originY","cy","shape","r","r0","endAngle","updateProps","useStyle","getItemVisual","midAngle","offset","get","dx","Math","cos","dy","sin","cursorStyle","attr","_updateLabel","ensureState","x","y","labelLine","getTextGuideLine","labelText","getTextContent","labelLineModel","style","visualColor","fill","visualOpacity","opacity","labelFetcher","labelDataIndex","inheritColor","defaultOpacity","defaultText","getFormattedLabel","getName","setTextConfig","position","rotation","labelPosition","removeTextGuideLine","polyline","Polyline","setTextGuideLine","stroke","Sector","PieView","apply","arguments","ignoreLabelLineUpdate","render","api","payload","getData","oldData","_data","group","count","s","_emptyCircleSector","remove","getItemStyle","add","diff","piePiece","setItemGraphicEl","update","newIdx","oldIdx","getItemGraphicEl","off","removeElementWithFadeOut","execute","dispose","containPoint","point","itemLayout","radius","sqrt","type"],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,OAA1B;AACA,SAASC,MAAT,EAAiBC,SAAjB,QAAkC,0BAAlC;AACA,OAAO,KAAKC,OAAZ,MAAyB,uBAAzB;AACA,SAASC,wBAAT,EAAmCC,mBAAnC,QAA8D,sBAA9D;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,WAAP,MAAwB,kBAAxB;AACA,SAASC,iBAAT,EAA4BC,wBAA5B,QAA4D,iCAA5D;AACA,SAASC,aAAT,EAAwBC,oBAAxB,QAAoD,2BAApD;AACA,SAASC,qBAAT,QAAsC,2BAAtC;AACA,SAASC,YAAT,QAA6B,oCAA7B;AACA,SAASC,iBAAT,QAAkC,gBAAlC;AACA;AACA;AACA;;AAEA,IAAIC,QAAQ;AACZ;AACA,UAAUC,MAAV,EAAkB;AAChBhB,EAAAA,SAAS,CAACe,QAAD,EAAWC,MAAX,CAAT;;AAEA,WAASD,QAAT,CAAkBE,IAAlB,EAAwBC,GAAxB,EAA6BC,UAA7B,EAAyC;AACvC,QAAIC,KAAK,GAAGJ,MAAM,CAACK,IAAP,CAAY,IAAZ,KAAqB,IAAjC;;AAEAD,IAAAA,KAAK,CAACE,EAAN,GAAW,CAAX;AACA,QAAIC,IAAI,GAAG,IAAIpB,OAAO,CAACqB,IAAZ,EAAX;;AAEAJ,IAAAA,KAAK,CAACK,cAAN,CAAqBF,IAArB;;AAEAH,IAAAA,KAAK,CAACM,UAAN,CAAiBT,IAAjB,EAAuBC,GAAvB,EAA4BC,UAA5B,EAAwC,IAAxC;;AAEA,WAAOC,KAAP;AACD;;AAEDL,EAAAA,QAAQ,CAACY,SAAT,CAAmBD,UAAnB,GAAgC,UAAUT,IAAV,EAAgBC,GAAhB,EAAqBC,UAArB,EAAiCS,WAAjC,EAA8C;AAC5E,QAAIC,MAAM,GAAG,IAAb;AACA,QAAIC,WAAW,GAAGb,IAAI,CAACc,SAAvB;AACA,QAAIC,SAAS,GAAGf,IAAI,CAACgB,YAAL,CAAkBf,GAAlB,CAAhB;AACA,QAAIgB,aAAa,GAAGF,SAAS,CAACG,QAAV,CAAmB,UAAnB,CAApB;AACA,QAAIC,MAAM,GAAGnB,IAAI,CAACoB,aAAL,CAAmBnB,GAAnB,CAAb,CAL4E,CAKtC;AACtC;;AAEA,QAAIoB,WAAW,GAAGrC,MAAM,CAACW,qBAAqB,CAACoB,SAAS,CAACG,QAAV,CAAmB,WAAnB,CAAD,EAAkCC,MAAlC,EAA0C,IAA1C,CAAtB,EAAuEA,MAAvE,CAAxB,CAR4E,CAQ4B;;AAExG,QAAIG,KAAK,CAACD,WAAW,CAACnB,UAAb,CAAT,EAAmC;AACjC;AACAU,MAAAA,MAAM,CAACW,QAAP,CAAgBF,WAAhB;AACA;AACD;;AAED,QAAIV,WAAJ,EAAiB;AACfC,MAAAA,MAAM,CAACW,QAAP,CAAgBF,WAAhB;AACA,UAAIG,aAAa,GAAGX,WAAW,CAACY,UAAZ,CAAuB,eAAvB,CAApB;;AAEA,UAAIZ,WAAW,CAACa,OAAZ,CAAoBC,GAAxB,EAA6B;AAC3B;AACA;AACAzC,QAAAA,OAAO,CAAC0C,SAAR,CAAkBhB,MAAlB,EAA0B;AACxBiB,UAAAA,MAAM,EAAE,CADgB;AAExBC,UAAAA,MAAM,EAAE;AAFgB,SAA1B,EAGGjB,WAHH,EAGgB;AACdkB,UAAAA,SAAS,EAAE9B,GADG;AAEd+B,UAAAA,MAAM,EAAE;AAFM,SAHhB;AAOApB,QAAAA,MAAM,CAACqB,OAAP,GAAiBZ,WAAW,CAACa,EAA7B;AACAtB,QAAAA,MAAM,CAACuB,OAAP,GAAiBd,WAAW,CAACe,EAA7B;AACD,OAZD,MAYO,IAAIZ,aAAa,KAAK,OAAtB,EAA+B;AACpCZ,QAAAA,MAAM,CAACyB,KAAP,CAAaC,CAAb,GAAiBnB,MAAM,CAACoB,EAAxB;AACArD,QAAAA,OAAO,CAAC0C,SAAR,CAAkBhB,MAAlB,EAA0B;AACxByB,UAAAA,KAAK,EAAE;AACLC,YAAAA,CAAC,EAAEnB,MAAM,CAACmB;AADL;AADiB,SAA1B,EAIGzB,WAJH,EAIgBZ,GAJhB;AAKD,OAPM,CAOL;AAPK,WAQF;AACD,YAAIC,UAAU,IAAI,IAAlB,EAAwB;AACtBU,UAAAA,MAAM,CAACW,QAAP,CAAgB;AACdrB,YAAAA,UAAU,EAAEA,UADE;AAEdsC,YAAAA,QAAQ,EAAEtC;AAFI,WAAhB;AAIAhB,UAAAA,OAAO,CAAC0C,SAAR,CAAkBhB,MAAlB,EAA0B;AACxByB,YAAAA,KAAK,EAAE;AACLnC,cAAAA,UAAU,EAAEiB,MAAM,CAACjB,UADd;AAELsC,cAAAA,QAAQ,EAAErB,MAAM,CAACqB;AAFZ;AADiB,WAA1B,EAKG3B,WALH,EAKgBZ,GALhB;AAMD,SAXD,MAWO;AACLW,UAAAA,MAAM,CAACyB,KAAP,CAAaG,QAAb,GAAwBrB,MAAM,CAACjB,UAA/B;AACAhB,UAAAA,OAAO,CAACuD,WAAR,CAAoB7B,MAApB,EAA4B;AAC1ByB,YAAAA,KAAK,EAAE;AACLG,cAAAA,QAAQ,EAAErB,MAAM,CAACqB;AADZ;AADmB,WAA5B,EAIG3B,WAJH,EAIgBZ,GAJhB;AAKD;AACF;AACJ,KA7CD,MA6CO;AACLL,MAAAA,YAAY,CAACgB,MAAD,CAAZ,CADK,CACiB;;AAEtB1B,MAAAA,OAAO,CAACuD,WAAR,CAAoB7B,MAApB,EAA4B;AAC1ByB,QAAAA,KAAK,EAAEhB;AADmB,OAA5B,EAEGR,WAFH,EAEgBZ,GAFhB;AAGD;;AAEDW,IAAAA,MAAM,CAAC8B,QAAP,CAAgB1C,IAAI,CAAC2C,aAAL,CAAmB1C,GAAnB,EAAwB,OAAxB,CAAhB;AACAd,IAAAA,wBAAwB,CAACyB,MAAD,EAASG,SAAT,CAAxB;AACA,QAAI6B,QAAQ,GAAG,CAACzB,MAAM,CAACjB,UAAP,GAAoBiB,MAAM,CAACqB,QAA5B,IAAwC,CAAvD;AACA,QAAIK,MAAM,GAAGhC,WAAW,CAACiC,GAAZ,CAAgB,gBAAhB,CAAb;AACA,QAAIC,EAAE,GAAGC,IAAI,CAACC,GAAL,CAASL,QAAT,IAAqBC,MAA9B;AACA,QAAIK,EAAE,GAAGF,IAAI,CAACG,GAAL,CAASP,QAAT,IAAqBC,MAA9B;AACA,QAAIO,WAAW,GAAGrC,SAAS,CAACU,UAAV,CAAqB,QAArB,CAAlB;AACA2B,IAAAA,WAAW,IAAIxC,MAAM,CAACyC,IAAP,CAAY,QAAZ,EAAsBD,WAAtB,CAAf;;AAEA,SAAKE,YAAL,CAAkBzC,WAAlB,EAA+Bb,IAA/B,EAAqCC,GAArC;;AAEAW,IAAAA,MAAM,CAAC2C,WAAP,CAAmB,UAAnB,EAA+BlB,KAA/B,GAAuCrD,MAAM,CAAC;AAC5CsD,MAAAA,CAAC,EAAEnB,MAAM,CAACmB,CAAP,IAAYrB,aAAa,CAAC6B,GAAd,CAAkB,OAAlB,IAA6B7B,aAAa,CAAC6B,GAAd,CAAkB,WAAlB,KAAkC,CAA/D,GAAmE,CAA/E;AADyC,KAAD,EAE1CnD,qBAAqB,CAACsB,aAAa,CAACC,QAAd,CAAuB,WAAvB,CAAD,EAAsCC,MAAtC,CAFqB,CAA7C;AAGAnC,IAAAA,MAAM,CAAC4B,MAAM,CAAC2C,WAAP,CAAmB,QAAnB,CAAD,EAA+B;AACnCC,MAAAA,CAAC,EAAET,EADgC;AAEnCU,MAAAA,CAAC,EAAEP,EAFgC;AAGnCb,MAAAA,KAAK,EAAE1C,qBAAqB,CAACoB,SAAS,CAACG,QAAV,CAAmB,CAAC,QAAD,EAAW,WAAX,CAAnB,CAAD,EAA8CC,MAA9C;AAHO,KAA/B,CAAN;AAKAnC,IAAAA,MAAM,CAAC4B,MAAM,CAAC2C,WAAP,CAAmB,MAAnB,CAAD,EAA6B;AACjClB,MAAAA,KAAK,EAAE1C,qBAAqB,CAACoB,SAAS,CAACG,QAAV,CAAmB,CAAC,MAAD,EAAS,WAAT,CAAnB,CAAD,EAA4CC,MAA5C;AADK,KAA7B,CAAN;AAGA,QAAIuC,SAAS,GAAG9C,MAAM,CAAC+C,gBAAP,EAAhB;AACA,QAAIC,SAAS,GAAGhD,MAAM,CAACiD,cAAP,EAAhB;AACAH,IAAAA,SAAS,IAAI1E,MAAM,CAAC0E,SAAS,CAACH,WAAV,CAAsB,QAAtB,CAAD,EAAkC;AACnDC,MAAAA,CAAC,EAAET,EADgD;AAEnDU,MAAAA,CAAC,EAAEP;AAFgD,KAAlC,CAAnB,CA7F4E,CAgGxE;;AAEJlE,IAAAA,MAAM,CAAC4E,SAAS,CAACL,WAAV,CAAsB,QAAtB,CAAD,EAAkC;AACtCC,MAAAA,CAAC,EAAET,EADmC;AAEtCU,MAAAA,CAAC,EAAEP;AAFmC,KAAlC,CAAN;AAIA9D,IAAAA,mBAAmB,CAAC,IAAD,EAAO6B,aAAa,CAAC6B,GAAd,CAAkB,OAAlB,CAAP,EAAmC7B,aAAa,CAAC6B,GAAd,CAAkB,WAAlB,CAAnC,EAAmE7B,aAAa,CAAC6B,GAAd,CAAkB,UAAlB,CAAnE,CAAnB;AACD,GAvGD;;AAyGAhD,EAAAA,QAAQ,CAACY,SAAT,CAAmB4C,YAAnB,GAAkC,UAAUzC,WAAV,EAAuBb,IAAvB,EAA6BC,GAA7B,EAAkC;AAClE,QAAIW,MAAM,GAAG,IAAb;AACA,QAAIG,SAAS,GAAGf,IAAI,CAACgB,YAAL,CAAkBf,GAAlB,CAAhB;AACA,QAAI6D,cAAc,GAAG/C,SAAS,CAACG,QAAV,CAAmB,WAAnB,CAArB;AACA,QAAI6C,KAAK,GAAG/D,IAAI,CAAC2C,aAAL,CAAmB1C,GAAnB,EAAwB,OAAxB,CAAZ;AACA,QAAI+D,WAAW,GAAGD,KAAK,IAAIA,KAAK,CAACE,IAAjC;AACA,QAAIC,aAAa,GAAGH,KAAK,IAAIA,KAAK,CAACI,OAAnC;AACA1E,IAAAA,aAAa,CAACmB,MAAD,EAASlB,oBAAoB,CAACqB,SAAD,CAA7B,EAA0C;AACrDqD,MAAAA,YAAY,EAAEpE,IAAI,CAACc,SADkC;AAErDuD,MAAAA,cAAc,EAAEpE,GAFqC;AAGrDqE,MAAAA,YAAY,EAAEN,WAHuC;AAIrDO,MAAAA,cAAc,EAAEL,aAJqC;AAKrDM,MAAAA,WAAW,EAAE3D,WAAW,CAAC4D,iBAAZ,CAA8BxE,GAA9B,EAAmC,QAAnC,KAAgDD,IAAI,CAAC0E,OAAL,CAAazE,GAAb;AALR,KAA1C,CAAb;AAOA,QAAI2D,SAAS,GAAGhD,MAAM,CAACiD,cAAP,EAAhB,CAdkE,CAczB;;AAEzCjD,IAAAA,MAAM,CAAC+D,aAAP,CAAqB;AACnB;AACAC,MAAAA,QAAQ,EAAE,IAFS;AAGnBC,MAAAA,QAAQ,EAAE;AAHS,KAArB,EAhBkE,CAoB9D;AACJ;;AAEAjB,IAAAA,SAAS,CAACP,IAAV,CAAe;AACbhD,MAAAA,EAAE,EAAE;AADS,KAAf;AAGA,QAAIyE,aAAa,GAAGjE,WAAW,CAACiC,GAAZ,CAAgB,CAAC,OAAD,EAAU,UAAV,CAAhB,CAApB;;AAEA,QAAIgC,aAAa,KAAK,SAAlB,IAA+BA,aAAa,KAAK,OAArD,EAA8D;AAC5DlE,MAAAA,MAAM,CAACmE,mBAAP;AACD,KAFD,MAEO;AACL,UAAIC,QAAQ,GAAG,KAAKrB,gBAAL,EAAf;;AAEA,UAAI,CAACqB,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAG,IAAI9F,OAAO,CAAC+F,QAAZ,EAAX;AACA,aAAKC,gBAAL,CAAsBF,QAAtB;AACD,OANI,CAMH;;;AAGFzF,MAAAA,iBAAiB,CAAC,IAAD,EAAOC,wBAAwB,CAACuB,SAAD,CAA/B,EAA4C;AAC3DoE,QAAAA,MAAM,EAAEnB,WADmD;AAE3DG,QAAAA,OAAO,EAAElF,SAAS,CAAC6E,cAAc,CAAChB,GAAf,CAAmB,CAAC,WAAD,EAAc,SAAd,CAAnB,CAAD,EAA+CoB,aAA/C,EAA8D,CAA9D;AAFyC,OAA5C,CAAjB;AAID;AACF,GA5CD;;AA8CA,SAAOpE,QAAP;AACD,CAxKD,CAwKEZ,OAAO,CAACkG,MAxKV,CAFA,C,CA0KmB;;;AAGnB,IAAIC,OAAO;AACX;AACA,UAAUtF,MAAV,EAAkB;AAChBhB,EAAAA,SAAS,CAACsG,OAAD,EAAUtF,MAAV,CAAT;;AAEA,WAASsF,OAAT,GAAmB;AACjB,QAAIlF,KAAK,GAAGJ,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAACuF,KAAP,CAAa,IAAb,EAAmBC,SAAnB,CAAnB,IAAoD,IAAhE;;AAEApF,IAAAA,KAAK,CAACqF,qBAAN,GAA8B,IAA9B;AACA,WAAOrF,KAAP;AACD;;AAEDkF,EAAAA,OAAO,CAAC3E,SAAR,CAAkB+E,MAAlB,GAA2B,UAAU5E,WAAV,EAAuBa,OAAvB,EAAgCgE,GAAhC,EAAqCC,OAArC,EAA8C;AACvE,QAAI3F,IAAI,GAAGa,WAAW,CAAC+E,OAAZ,EAAX;AACA,QAAIC,OAAO,GAAG,KAAKC,KAAnB;AACA,QAAIC,KAAK,GAAG,KAAKA,KAAjB;AACA,QAAI7F,UAAJ,CAJuE,CAIvD;;AAEhB,QAAI,CAAC2F,OAAD,IAAY7F,IAAI,CAACgG,KAAL,KAAe,CAA/B,EAAkC;AAChC,UAAI3D,KAAK,GAAGrC,IAAI,CAACoB,aAAL,CAAmB,CAAnB,CAAZ;;AAEA,WAAK,IAAI6E,CAAC,GAAG,CAAb,EAAgB3E,KAAK,CAACe,KAAK,IAAIA,KAAK,CAACnC,UAAhB,CAAL,IAAoC+F,CAAC,GAAGjG,IAAI,CAACgG,KAAL,EAAxD,EAAsE,EAAEC,CAAxE,EAA2E;AACzE5D,QAAAA,KAAK,GAAGrC,IAAI,CAACoB,aAAL,CAAmB6E,CAAnB,CAAR;AACD;;AAED,UAAI5D,KAAJ,EAAW;AACTnC,QAAAA,UAAU,GAAGmC,KAAK,CAACnC,UAAnB;AACD;AACF,KAhBsE,CAgBrE;;;AAGF,QAAI,KAAKgG,kBAAT,EAA6B;AAC3BH,MAAAA,KAAK,CAACI,MAAN,CAAa,KAAKD,kBAAlB;AACD,KArBsE,CAqBrE;;;AAGF,QAAIlG,IAAI,CAACgG,KAAL,OAAiB,CAAjB,IAAsBnF,WAAW,CAACiC,GAAZ,CAAgB,iBAAhB,CAA1B,EAA8D;AAC5D,UAAIlC,MAAM,GAAG,IAAI1B,OAAO,CAACkG,MAAZ,CAAmB;AAC9B/C,QAAAA,KAAK,EAAExC,iBAAiB,CAACgB,WAAD,EAAc6E,GAAd;AADM,OAAnB,CAAb;AAGA9E,MAAAA,MAAM,CAAC8B,QAAP,CAAgB7B,WAAW,CAACK,QAAZ,CAAqB,kBAArB,EAAyCkF,YAAzC,EAAhB;AACA,WAAKF,kBAAL,GAA0BtF,MAA1B;AACAmF,MAAAA,KAAK,CAACM,GAAN,CAAUzF,MAAV;AACD;;AAEDZ,IAAAA,IAAI,CAACsG,IAAL,CAAUT,OAAV,EAAmBQ,GAAnB,CAAuB,UAAUpG,GAAV,EAAe;AACpC,UAAIsG,QAAQ,GAAG,IAAIzG,QAAJ,CAAaE,IAAb,EAAmBC,GAAnB,EAAwBC,UAAxB,CAAf;AACAF,MAAAA,IAAI,CAACwG,gBAAL,CAAsBvG,GAAtB,EAA2BsG,QAA3B;AACAR,MAAAA,KAAK,CAACM,GAAN,CAAUE,QAAV;AACD,KAJD,EAIGE,MAJH,CAIU,UAAUC,MAAV,EAAkBC,MAAlB,EAA0B;AAClC,UAAIJ,QAAQ,GAAGV,OAAO,CAACe,gBAAR,CAAyBD,MAAzB,CAAf;AACAJ,MAAAA,QAAQ,CAAC9F,UAAT,CAAoBT,IAApB,EAA0B0G,MAA1B,EAAkCxG,UAAlC;AACAqG,MAAAA,QAAQ,CAACM,GAAT,CAAa,OAAb;AACAd,MAAAA,KAAK,CAACM,GAAN,CAAUE,QAAV;AACAvG,MAAAA,IAAI,CAACwG,gBAAL,CAAsBE,MAAtB,EAA8BH,QAA9B;AACD,KAVD,EAUGJ,MAVH,CAUU,UAAUlG,GAAV,EAAe;AACvB,UAAIsG,QAAQ,GAAGV,OAAO,CAACe,gBAAR,CAAyB3G,GAAzB,CAAf;AACAf,MAAAA,OAAO,CAAC4H,wBAAR,CAAiCP,QAAjC,EAA2C1F,WAA3C,EAAwDZ,GAAxD;AACD,KAbD,EAaG8G,OAbH;AAcAzH,IAAAA,WAAW,CAACuB,WAAD,CAAX,CA/CuE,CA+C7C;;AAE1B,QAAIA,WAAW,CAACiC,GAAZ,CAAgB,qBAAhB,MAA2C,WAA/C,EAA4D;AAC1D,WAAKgD,KAAL,GAAa9F,IAAb;AACD;AACF,GApDD;;AAsDAqF,EAAAA,OAAO,CAAC3E,SAAR,CAAkBsG,OAAlB,GAA4B,YAAY,CAAE,CAA1C;;AAEA3B,EAAAA,OAAO,CAAC3E,SAAR,CAAkBuG,YAAlB,GAAiC,UAAUC,KAAV,EAAiBrG,WAAjB,EAA8B;AAC7D,QAAIb,IAAI,GAAGa,WAAW,CAAC+E,OAAZ,EAAX;AACA,QAAIuB,UAAU,GAAGnH,IAAI,CAACoB,aAAL,CAAmB,CAAnB,CAAjB;;AAEA,QAAI+F,UAAJ,EAAgB;AACd,UAAIpE,EAAE,GAAGmE,KAAK,CAAC,CAAD,CAAL,GAAWC,UAAU,CAACjF,EAA/B;AACA,UAAIgB,EAAE,GAAGgE,KAAK,CAAC,CAAD,CAAL,GAAWC,UAAU,CAAC/E,EAA/B;AACA,UAAIgF,MAAM,GAAGpE,IAAI,CAACqE,IAAL,CAAUtE,EAAE,GAAGA,EAAL,GAAUG,EAAE,GAAGA,EAAzB,CAAb;AACA,aAAOkE,MAAM,IAAID,UAAU,CAAC7E,CAArB,IAA0B8E,MAAM,IAAID,UAAU,CAAC5E,EAAtD;AACD;AACF,GAVD;;AAYA8C,EAAAA,OAAO,CAACiC,IAAR,GAAe,KAAf;AACA,SAAOjC,OAAP;AACD,CAhFD,CAgFEhG,SAhFF,CAFA;;AAoFA,eAAegG,OAAf","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 { extend, retrieve3 } from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\nimport ChartView from '../../view/Chart.js';\nimport labelLayout from './labelLayout.js';\nimport { setLabelLineStyle, getLabelLineStatesModels } from '../../label/labelGuideHelper.js';\nimport { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle.js';\nimport { getSectorCornerRadius } from '../helper/sectorHelper.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\nimport { getBasicPieLayout } from './pieLayout.js';\n/**\n * Piece of pie including Sector, Label, LabelLine\n */\n\nvar PiePiece =\n/** @class */\nfunction (_super) {\n __extends(PiePiece, _super);\n\n function PiePiece(data, idx, startAngle) {\n var _this = _super.call(this) || this;\n\n _this.z2 = 2;\n var text = new graphic.Text();\n\n _this.setTextContent(text);\n\n _this.updateData(data, idx, startAngle, true);\n\n return _this;\n }\n\n PiePiece.prototype.updateData = function (data, idx, startAngle, firstCreate) {\n var sector = this;\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var emphasisModel = itemModel.getModel('emphasis');\n var layout = data.getItemLayout(idx); // cornerRadius & innerCornerRadius doesn't exist in the item layout. Use `0` if null value is specified.\n // see `setItemLayout` in `pieLayout.ts`.\n\n var sectorShape = extend(getSectorCornerRadius(itemModel.getModel('itemStyle'), layout, true), layout); // Ignore NaN data.\n\n if (isNaN(sectorShape.startAngle)) {\n // Use NaN shape to avoid drawing shape.\n sector.setShape(sectorShape);\n return;\n }\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n var animationType = seriesModel.getShallow('animationType');\n\n if (seriesModel.ecModel.ssr) {\n // Use scale animation in SSR mode(opacity?)\n // Because CSS SVG animation doesn't support very customized shape animation.\n graphic.initProps(sector, {\n scaleX: 0,\n scaleY: 0\n }, seriesModel, {\n dataIndex: idx,\n isFrom: true\n });\n sector.originX = sectorShape.cx;\n sector.originY = sectorShape.cy;\n } else if (animationType === 'scale') {\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, idx);\n } // Expansion\n else {\n if (startAngle != null) {\n sector.setShape({\n startAngle: startAngle,\n endAngle: startAngle\n });\n graphic.initProps(sector, {\n shape: {\n startAngle: layout.startAngle,\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n } else {\n sector.shape.endAngle = layout.startAngle;\n graphic.updateProps(sector, {\n shape: {\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n }\n }\n } else {\n saveOldStyle(sector); // Transition animation from the old shape\n\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel, idx);\n }\n\n sector.useStyle(data.getItemVisual(idx, 'style'));\n setStatesStylesFromModel(sector, itemModel);\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var offset = seriesModel.get('selectedOffset');\n var dx = Math.cos(midAngle) * offset;\n var dy = Math.sin(midAngle) * offset;\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle);\n\n this._updateLabel(seriesModel, data, idx);\n\n sector.ensureState('emphasis').shape = extend({\n r: layout.r + (emphasisModel.get('scale') ? emphasisModel.get('scaleSize') || 0 : 0)\n }, getSectorCornerRadius(emphasisModel.getModel('itemStyle'), layout));\n extend(sector.ensureState('select'), {\n x: dx,\n y: dy,\n shape: getSectorCornerRadius(itemModel.getModel(['select', 'itemStyle']), layout)\n });\n extend(sector.ensureState('blur'), {\n shape: getSectorCornerRadius(itemModel.getModel(['blur', 'itemStyle']), layout)\n });\n var labelLine = sector.getTextGuideLine();\n var labelText = sector.getTextContent();\n labelLine && extend(labelLine.ensureState('select'), {\n x: dx,\n y: dy\n }); // TODO: needs dx, dy in zrender?\n\n extend(labelText.ensureState('select'), {\n x: dx,\n y: dy\n });\n toggleHoverEmphasis(this, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n };\n\n PiePiece.prototype._updateLabel = function (seriesModel, data, idx) {\n var sector = this;\n var itemModel = data.getItemModel(idx);\n var labelLineModel = itemModel.getModel('labelLine');\n var style = data.getItemVisual(idx, 'style');\n var visualColor = style && style.fill;\n var visualOpacity = style && style.opacity;\n setLabelStyle(sector, getLabelStatesModels(itemModel), {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n inheritColor: visualColor,\n defaultOpacity: visualOpacity,\n defaultText: seriesModel.getFormattedLabel(idx, 'normal') || data.getName(idx)\n });\n var labelText = sector.getTextContent(); // Set textConfig on sector.\n\n sector.setTextConfig({\n // reset position, rotation\n position: null,\n rotation: null\n }); // Make sure update style on labelText after setLabelStyle.\n // Because setLabelStyle will replace a new style on it.\n\n labelText.attr({\n z2: 10\n });\n var labelPosition = seriesModel.get(['label', 'position']);\n\n if (labelPosition !== 'outside' && labelPosition !== 'outer') {\n sector.removeTextGuideLine();\n } else {\n var polyline = this.getTextGuideLine();\n\n if (!polyline) {\n polyline = new graphic.Polyline();\n this.setTextGuideLine(polyline);\n } // Default use item visual color\n\n\n setLabelLineStyle(this, getLabelLineStatesModels(itemModel), {\n stroke: visualColor,\n opacity: retrieve3(labelLineModel.get(['lineStyle', 'opacity']), visualOpacity, 1)\n });\n }\n };\n\n return PiePiece;\n}(graphic.Sector); // Pie view\n\n\nvar PieView =\n/** @class */\nfunction (_super) {\n __extends(PieView, _super);\n\n function PieView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.ignoreLabelLineUpdate = true;\n return _this;\n }\n\n PieView.prototype.render = function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var startAngle; // First render\n\n if (!oldData && data.count() > 0) {\n var shape = data.getItemLayout(0);\n\n for (var s = 1; isNaN(shape && shape.startAngle) && s < data.count(); ++s) {\n shape = data.getItemLayout(s);\n }\n\n if (shape) {\n startAngle = shape.startAngle;\n }\n } // remove empty-circle if it exists\n\n\n if (this._emptyCircleSector) {\n group.remove(this._emptyCircleSector);\n } // when all data are filtered, show lightgray empty circle\n\n\n if (data.count() === 0 && seriesModel.get('showEmptyCircle')) {\n var sector = new graphic.Sector({\n shape: getBasicPieLayout(seriesModel, api)\n });\n sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle());\n this._emptyCircleSector = sector;\n group.add(sector);\n }\n\n data.diff(oldData).add(function (idx) {\n var piePiece = new PiePiece(data, idx, startAngle);\n data.setItemGraphicEl(idx, piePiece);\n group.add(piePiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n piePiece.updateData(data, newIdx, startAngle);\n piePiece.off('click');\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n graphic.removeElementWithFadeOut(piePiece, seriesModel, idx);\n }).execute();\n labelLayout(seriesModel); // Always use initial animation.\n\n if (seriesModel.get('animationTypeUpdate') !== 'expansion') {\n this._data = data;\n }\n };\n\n PieView.prototype.dispose = function () {};\n\n PieView.prototype.containPoint = function (point, seriesModel) {\n var data = seriesModel.getData();\n var itemLayout = data.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n };\n\n PieView.type = 'pie';\n return PieView;\n}(ChartView);\n\nexport default PieView;"]},"metadata":{},"sourceType":"module"}