echarts_core.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773
  1. import {
  2. createDimensions,
  3. createSeriesData_default,
  4. getLabelLineStatesModels,
  5. setLabelLineStyle,
  6. updateLabelLinePoints
  7. } from "./chunk-FC47MSTP.js";
  8. import {
  9. Arc_default,
  10. AxisModelCommonMixin,
  11. Axis_default,
  12. BezierCurve_default,
  13. Chart_default,
  14. Circle_default,
  15. Component_default,
  16. Component_default2,
  17. Ellipse_default,
  18. Group_default,
  19. IncrementalDisplayable_default,
  20. Line_default,
  21. LinearGradient_default,
  22. MAX_SAFE_INTEGER,
  23. Model_default,
  24. PRIORITY,
  25. Polygon_default,
  26. Polyline_default,
  27. RadialGradient_default,
  28. Ring_default,
  29. Sector_default,
  30. SeriesData_default,
  31. Series_default,
  32. addCommas,
  33. animateLabelValue,
  34. asc,
  35. capitalFirst,
  36. clipPointsByRect,
  37. clipRectByRect,
  38. connect,
  39. createIcon,
  40. createScaleByModel,
  41. createSymbol,
  42. createTextStyle,
  43. dataTool,
  44. dependencies,
  45. disConnect,
  46. disconnect,
  47. dispose,
  48. enableDataStack,
  49. enableHoverEmphasis,
  50. encodeHTML,
  51. extendPath,
  52. extendShape,
  53. format,
  54. formatTime,
  55. formatTpl,
  56. getCoordinateSystemDimensions,
  57. getECData,
  58. getInstanceByDom,
  59. getInstanceById,
  60. getLayoutRect,
  61. getMap,
  62. getPercentWithPrecision,
  63. getPixelPrecision,
  64. getPrecision,
  65. getPrecisionSafe,
  66. getShapeClass,
  67. getStackedDimension,
  68. getTextRect,
  69. getTooltipMarker,
  70. getTransform,
  71. hideOverlap,
  72. init,
  73. initProps,
  74. isDimensionStacked,
  75. isElementRemoved,
  76. isNumeric,
  77. isRadianAroundZero,
  78. labelInner,
  79. linearMap,
  80. makeImage,
  81. makeInner,
  82. makePath,
  83. mergePath,
  84. nice,
  85. niceScaleExtent,
  86. normalizeCssArray,
  87. numericToNumber,
  88. parseDate,
  89. parseGeoJSON,
  90. parsePercent,
  91. prepareLayoutList,
  92. quantile,
  93. quantity,
  94. quantityExponent,
  95. reformIntervals,
  96. registerAction,
  97. registerCoordinateSystem,
  98. registerLayout,
  99. registerLoading,
  100. registerLocale,
  101. registerMap,
  102. registerPostInit,
  103. registerPostUpdate,
  104. registerPreprocessor,
  105. registerProcessor,
  106. registerShape,
  107. registerTheme,
  108. registerTransform,
  109. registerUpdateLifecycle,
  110. registerVisual,
  111. remRadian,
  112. resizePath,
  113. round,
  114. setCanvasCreator,
  115. shiftLayoutOnX,
  116. shiftLayoutOnY,
  117. throttle,
  118. toCamelCase,
  119. updateProps,
  120. use,
  121. version,
  122. zrender_exports
  123. } from "./chunk-4Z63X5VE.js";
  124. import {
  125. BoundingRect_default,
  126. CompoundPath_default,
  127. Image_default,
  128. Rect_default,
  129. Text_default,
  130. Transformable_default,
  131. bind,
  132. brushSingle,
  133. clone,
  134. color_exports,
  135. curry,
  136. defaults,
  137. each,
  138. env_default,
  139. extend,
  140. filter,
  141. indexOf,
  142. inherits,
  143. isArray,
  144. isFunction,
  145. isObject,
  146. isString,
  147. keys,
  148. map,
  149. matrix_exports,
  150. merge,
  151. mixin,
  152. reduce,
  153. retrieve2,
  154. setPlatformAPI,
  155. truncateText,
  156. util_exports,
  157. vector_exports
  158. } from "./chunk-NFL6MJ5K.js";
  159. import {
  160. __export,
  161. init_define_APP_INFO
  162. } from "./chunk-XY75H3MP.js";
  163. // dep:echarts_core
  164. init_define_APP_INFO();
  165. // node_modules/echarts/core.js
  166. init_define_APP_INFO();
  167. // node_modules/echarts/lib/export/core.js
  168. init_define_APP_INFO();
  169. // node_modules/echarts/lib/export/api.js
  170. init_define_APP_INFO();
  171. // node_modules/echarts/lib/export/api/helper.js
  172. var helper_exports = {};
  173. __export(helper_exports, {
  174. createDimensions: () => createDimensions,
  175. createList: () => createList,
  176. createScale: () => createScale,
  177. createSymbol: () => createSymbol,
  178. createTextStyle: () => createTextStyle2,
  179. dataStack: () => dataStack,
  180. enableHoverEmphasis: () => enableHoverEmphasis,
  181. getECData: () => getECData,
  182. getLayoutRect: () => getLayoutRect,
  183. mixinAxisModelCommonMethods: () => mixinAxisModelCommonMethods
  184. });
  185. init_define_APP_INFO();
  186. function createList(seriesModel) {
  187. return createSeriesData_default(null, seriesModel);
  188. }
  189. var dataStack = {
  190. isDimensionStacked,
  191. enableDataStack,
  192. getStackedDimension
  193. };
  194. function createScale(dataExtent, option) {
  195. var axisModel = option;
  196. if (!(option instanceof Model_default)) {
  197. axisModel = new Model_default(option);
  198. }
  199. var scale = createScaleByModel(axisModel);
  200. scale.setExtent(dataExtent[0], dataExtent[1]);
  201. niceScaleExtent(scale, axisModel);
  202. return scale;
  203. }
  204. function mixinAxisModelCommonMethods(Model) {
  205. mixin(Model, AxisModelCommonMixin);
  206. }
  207. function createTextStyle2(textStyleModel, opts) {
  208. opts = opts || {};
  209. return createTextStyle(textStyleModel, null, null, opts.state !== "normal");
  210. }
  211. // node_modules/echarts/lib/export/api/number.js
  212. var number_exports = {};
  213. __export(number_exports, {
  214. MAX_SAFE_INTEGER: () => MAX_SAFE_INTEGER,
  215. asc: () => asc,
  216. getPercentWithPrecision: () => getPercentWithPrecision,
  217. getPixelPrecision: () => getPixelPrecision,
  218. getPrecision: () => getPrecision,
  219. getPrecisionSafe: () => getPrecisionSafe,
  220. isNumeric: () => isNumeric,
  221. isRadianAroundZero: () => isRadianAroundZero,
  222. linearMap: () => linearMap,
  223. nice: () => nice,
  224. numericToNumber: () => numericToNumber,
  225. parseDate: () => parseDate,
  226. quantile: () => quantile,
  227. quantity: () => quantity,
  228. quantityExponent: () => quantityExponent,
  229. reformIntervals: () => reformIntervals,
  230. remRadian: () => remRadian,
  231. round: () => round
  232. });
  233. init_define_APP_INFO();
  234. // node_modules/echarts/lib/export/api/time.js
  235. var time_exports = {};
  236. __export(time_exports, {
  237. format: () => format,
  238. parse: () => parseDate
  239. });
  240. init_define_APP_INFO();
  241. // node_modules/echarts/lib/export/api/graphic.js
  242. var graphic_exports = {};
  243. __export(graphic_exports, {
  244. Arc: () => Arc_default,
  245. BezierCurve: () => BezierCurve_default,
  246. BoundingRect: () => BoundingRect_default,
  247. Circle: () => Circle_default,
  248. CompoundPath: () => CompoundPath_default,
  249. Ellipse: () => Ellipse_default,
  250. Group: () => Group_default,
  251. Image: () => Image_default,
  252. IncrementalDisplayable: () => IncrementalDisplayable_default,
  253. Line: () => Line_default,
  254. LinearGradient: () => LinearGradient_default,
  255. Polygon: () => Polygon_default,
  256. Polyline: () => Polyline_default,
  257. RadialGradient: () => RadialGradient_default,
  258. Rect: () => Rect_default,
  259. Ring: () => Ring_default,
  260. Sector: () => Sector_default,
  261. Text: () => Text_default,
  262. clipPointsByRect: () => clipPointsByRect,
  263. clipRectByRect: () => clipRectByRect,
  264. createIcon: () => createIcon,
  265. extendPath: () => extendPath,
  266. extendShape: () => extendShape,
  267. getShapeClass: () => getShapeClass,
  268. getTransform: () => getTransform,
  269. initProps: () => initProps,
  270. makeImage: () => makeImage,
  271. makePath: () => makePath,
  272. mergePath: () => mergePath,
  273. registerShape: () => registerShape,
  274. resizePath: () => resizePath,
  275. updateProps: () => updateProps
  276. });
  277. init_define_APP_INFO();
  278. // node_modules/echarts/lib/export/api/format.js
  279. var format_exports = {};
  280. __export(format_exports, {
  281. addCommas: () => addCommas,
  282. capitalFirst: () => capitalFirst,
  283. encodeHTML: () => encodeHTML,
  284. formatTime: () => formatTime,
  285. formatTpl: () => formatTpl,
  286. getTextRect: () => getTextRect,
  287. getTooltipMarker: () => getTooltipMarker,
  288. normalizeCssArray: () => normalizeCssArray,
  289. toCamelCase: () => toCamelCase,
  290. truncateText: () => truncateText
  291. });
  292. init_define_APP_INFO();
  293. // node_modules/echarts/lib/export/api/util.js
  294. var util_exports2 = {};
  295. __export(util_exports2, {
  296. bind: () => bind,
  297. clone: () => clone,
  298. curry: () => curry,
  299. defaults: () => defaults,
  300. each: () => each,
  301. extend: () => extend,
  302. filter: () => filter,
  303. indexOf: () => indexOf,
  304. inherits: () => inherits,
  305. isArray: () => isArray,
  306. isFunction: () => isFunction,
  307. isObject: () => isObject,
  308. isString: () => isString,
  309. map: () => map,
  310. merge: () => merge,
  311. reduce: () => reduce
  312. });
  313. init_define_APP_INFO();
  314. // node_modules/echarts/lib/export/api.js
  315. function extendComponentModel(proto) {
  316. var Model = Component_default.extend(proto);
  317. Component_default.registerClass(Model);
  318. return Model;
  319. }
  320. function extendComponentView(proto) {
  321. var View = Component_default2.extend(proto);
  322. Component_default2.registerClass(View);
  323. return View;
  324. }
  325. function extendSeriesModel(proto) {
  326. var Model = Series_default.extend(proto);
  327. Series_default.registerClass(Model);
  328. return Model;
  329. }
  330. function extendChartView(proto) {
  331. var View = Chart_default.extend(proto);
  332. Chart_default.registerClass(View);
  333. return View;
  334. }
  335. // node_modules/echarts/lib/label/installLabelLayout.js
  336. init_define_APP_INFO();
  337. // node_modules/echarts/lib/label/LabelManager.js
  338. init_define_APP_INFO();
  339. function cloneArr(points) {
  340. if (points) {
  341. var newPoints = [];
  342. for (var i = 0; i < points.length; i++) {
  343. newPoints.push(points[i].slice());
  344. }
  345. return newPoints;
  346. }
  347. }
  348. function prepareLayoutCallbackParams(labelItem, hostEl) {
  349. var label = labelItem.label;
  350. var labelLine = hostEl && hostEl.getTextGuideLine();
  351. return {
  352. dataIndex: labelItem.dataIndex,
  353. dataType: labelItem.dataType,
  354. seriesIndex: labelItem.seriesModel.seriesIndex,
  355. text: labelItem.label.style.text,
  356. rect: labelItem.hostRect,
  357. labelRect: labelItem.rect,
  358. align: label.style.align,
  359. verticalAlign: label.style.verticalAlign,
  360. labelLinePoints: cloneArr(labelLine && labelLine.shape.points)
  361. };
  362. }
  363. var LABEL_OPTION_TO_STYLE_KEYS = ["align", "verticalAlign", "width", "height", "fontSize"];
  364. var dummyTransformable = new Transformable_default();
  365. var labelLayoutInnerStore = makeInner();
  366. var labelLineAnimationStore = makeInner();
  367. function extendWithKeys(target, source, keys2) {
  368. for (var i = 0; i < keys2.length; i++) {
  369. var key = keys2[i];
  370. if (source[key] != null) {
  371. target[key] = source[key];
  372. }
  373. }
  374. }
  375. var LABEL_LAYOUT_PROPS = ["x", "y", "rotation"];
  376. var LabelManager = function() {
  377. function LabelManager2() {
  378. this._labelList = [];
  379. this._chartViewList = [];
  380. }
  381. LabelManager2.prototype.clearLabels = function() {
  382. this._labelList = [];
  383. this._chartViewList = [];
  384. };
  385. LabelManager2.prototype._addLabel = function(dataIndex, dataType, seriesModel, label, layoutOption) {
  386. var labelStyle = label.style;
  387. var hostEl = label.__hostTarget;
  388. var textConfig = hostEl.textConfig || {};
  389. var labelTransform = label.getComputedTransform();
  390. var labelRect = label.getBoundingRect().plain();
  391. BoundingRect_default.applyTransform(labelRect, labelRect, labelTransform);
  392. if (labelTransform) {
  393. dummyTransformable.setLocalTransform(labelTransform);
  394. } else {
  395. dummyTransformable.x = dummyTransformable.y = dummyTransformable.rotation = dummyTransformable.originX = dummyTransformable.originY = 0;
  396. dummyTransformable.scaleX = dummyTransformable.scaleY = 1;
  397. }
  398. var host = label.__hostTarget;
  399. var hostRect;
  400. if (host) {
  401. hostRect = host.getBoundingRect().plain();
  402. var transform = host.getComputedTransform();
  403. BoundingRect_default.applyTransform(hostRect, hostRect, transform);
  404. }
  405. var labelGuide = hostRect && host.getTextGuideLine();
  406. this._labelList.push({
  407. label,
  408. labelLine: labelGuide,
  409. seriesModel,
  410. dataIndex,
  411. dataType,
  412. layoutOption,
  413. computedLayoutOption: null,
  414. rect: labelRect,
  415. hostRect,
  416. priority: hostRect ? hostRect.width * hostRect.height : 0,
  417. defaultAttr: {
  418. ignore: label.ignore,
  419. labelGuideIgnore: labelGuide && labelGuide.ignore,
  420. x: dummyTransformable.x,
  421. y: dummyTransformable.y,
  422. scaleX: dummyTransformable.scaleX,
  423. scaleY: dummyTransformable.scaleY,
  424. rotation: dummyTransformable.rotation,
  425. style: {
  426. x: labelStyle.x,
  427. y: labelStyle.y,
  428. align: labelStyle.align,
  429. verticalAlign: labelStyle.verticalAlign,
  430. width: labelStyle.width,
  431. height: labelStyle.height,
  432. fontSize: labelStyle.fontSize
  433. },
  434. cursor: label.cursor,
  435. attachedPos: textConfig.position,
  436. attachedRot: textConfig.rotation
  437. }
  438. });
  439. };
  440. LabelManager2.prototype.addLabelsOfSeries = function(chartView) {
  441. var _this = this;
  442. this._chartViewList.push(chartView);
  443. var seriesModel = chartView.__model;
  444. var layoutOption = seriesModel.get("labelLayout");
  445. if (!(isFunction(layoutOption) || keys(layoutOption).length)) {
  446. return;
  447. }
  448. chartView.group.traverse(function(child) {
  449. if (child.ignore) {
  450. return true;
  451. }
  452. var textEl = child.getTextContent();
  453. var ecData = getECData(child);
  454. if (textEl && !textEl.disableLabelLayout) {
  455. _this._addLabel(ecData.dataIndex, ecData.dataType, seriesModel, textEl, layoutOption);
  456. }
  457. });
  458. };
  459. LabelManager2.prototype.updateLayoutConfig = function(api) {
  460. var width = api.getWidth();
  461. var height = api.getHeight();
  462. function createDragHandler(el, labelLineModel) {
  463. return function() {
  464. updateLabelLinePoints(el, labelLineModel);
  465. };
  466. }
  467. for (var i = 0; i < this._labelList.length; i++) {
  468. var labelItem = this._labelList[i];
  469. var label = labelItem.label;
  470. var hostEl = label.__hostTarget;
  471. var defaultLabelAttr = labelItem.defaultAttr;
  472. var layoutOption = void 0;
  473. if (isFunction(labelItem.layoutOption)) {
  474. layoutOption = labelItem.layoutOption(prepareLayoutCallbackParams(labelItem, hostEl));
  475. } else {
  476. layoutOption = labelItem.layoutOption;
  477. }
  478. layoutOption = layoutOption || {};
  479. labelItem.computedLayoutOption = layoutOption;
  480. var degreeToRadian = Math.PI / 180;
  481. if (hostEl) {
  482. hostEl.setTextConfig({
  483. local: false,
  484. position: layoutOption.x != null || layoutOption.y != null ? null : defaultLabelAttr.attachedPos,
  485. rotation: layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.attachedRot,
  486. offset: [layoutOption.dx || 0, layoutOption.dy || 0]
  487. });
  488. }
  489. var needsUpdateLabelLine = false;
  490. if (layoutOption.x != null) {
  491. label.x = parsePercent(layoutOption.x, width);
  492. label.setStyle("x", 0);
  493. needsUpdateLabelLine = true;
  494. } else {
  495. label.x = defaultLabelAttr.x;
  496. label.setStyle("x", defaultLabelAttr.style.x);
  497. }
  498. if (layoutOption.y != null) {
  499. label.y = parsePercent(layoutOption.y, height);
  500. label.setStyle("y", 0);
  501. needsUpdateLabelLine = true;
  502. } else {
  503. label.y = defaultLabelAttr.y;
  504. label.setStyle("y", defaultLabelAttr.style.y);
  505. }
  506. if (layoutOption.labelLinePoints) {
  507. var guideLine = hostEl.getTextGuideLine();
  508. if (guideLine) {
  509. guideLine.setShape({
  510. points: layoutOption.labelLinePoints
  511. });
  512. needsUpdateLabelLine = false;
  513. }
  514. }
  515. var labelLayoutStore = labelLayoutInnerStore(label);
  516. labelLayoutStore.needsUpdateLabelLine = needsUpdateLabelLine;
  517. label.rotation = layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.rotation;
  518. label.scaleX = defaultLabelAttr.scaleX;
  519. label.scaleY = defaultLabelAttr.scaleY;
  520. for (var k = 0; k < LABEL_OPTION_TO_STYLE_KEYS.length; k++) {
  521. var key = LABEL_OPTION_TO_STYLE_KEYS[k];
  522. label.setStyle(key, layoutOption[key] != null ? layoutOption[key] : defaultLabelAttr.style[key]);
  523. }
  524. if (layoutOption.draggable) {
  525. label.draggable = true;
  526. label.cursor = "move";
  527. if (hostEl) {
  528. var hostModel = labelItem.seriesModel;
  529. if (labelItem.dataIndex != null) {
  530. var data = labelItem.seriesModel.getData(labelItem.dataType);
  531. hostModel = data.getItemModel(labelItem.dataIndex);
  532. }
  533. label.on("drag", createDragHandler(hostEl, hostModel.getModel("labelLine")));
  534. }
  535. } else {
  536. label.off("drag");
  537. label.cursor = defaultLabelAttr.cursor;
  538. }
  539. }
  540. };
  541. LabelManager2.prototype.layout = function(api) {
  542. var width = api.getWidth();
  543. var height = api.getHeight();
  544. var labelList = prepareLayoutList(this._labelList);
  545. var labelsNeedsAdjustOnX = filter(labelList, function(item) {
  546. return item.layoutOption.moveOverlap === "shiftX";
  547. });
  548. var labelsNeedsAdjustOnY = filter(labelList, function(item) {
  549. return item.layoutOption.moveOverlap === "shiftY";
  550. });
  551. shiftLayoutOnX(labelsNeedsAdjustOnX, 0, width);
  552. shiftLayoutOnY(labelsNeedsAdjustOnY, 0, height);
  553. var labelsNeedsHideOverlap = filter(labelList, function(item) {
  554. return item.layoutOption.hideOverlap;
  555. });
  556. hideOverlap(labelsNeedsHideOverlap);
  557. };
  558. LabelManager2.prototype.processLabelsOverall = function() {
  559. var _this = this;
  560. each(this._chartViewList, function(chartView) {
  561. var seriesModel = chartView.__model;
  562. var ignoreLabelLineUpdate = chartView.ignoreLabelLineUpdate;
  563. var animationEnabled = seriesModel.isAnimationEnabled();
  564. chartView.group.traverse(function(child) {
  565. if (child.ignore && !child.forceLabelAnimation) {
  566. return true;
  567. }
  568. var needsUpdateLabelLine = !ignoreLabelLineUpdate;
  569. var label = child.getTextContent();
  570. if (!needsUpdateLabelLine && label) {
  571. needsUpdateLabelLine = labelLayoutInnerStore(label).needsUpdateLabelLine;
  572. }
  573. if (needsUpdateLabelLine) {
  574. _this._updateLabelLine(child, seriesModel);
  575. }
  576. if (animationEnabled) {
  577. _this._animateLabels(child, seriesModel);
  578. }
  579. });
  580. });
  581. };
  582. LabelManager2.prototype._updateLabelLine = function(el, seriesModel) {
  583. var textEl = el.getTextContent();
  584. var ecData = getECData(el);
  585. var dataIndex = ecData.dataIndex;
  586. if (textEl && dataIndex != null) {
  587. var data = seriesModel.getData(ecData.dataType);
  588. var itemModel = data.getItemModel(dataIndex);
  589. var defaultStyle = {};
  590. var visualStyle = data.getItemVisual(dataIndex, "style");
  591. var visualType = data.getVisual("drawType");
  592. defaultStyle.stroke = visualStyle[visualType];
  593. var labelLineModel = itemModel.getModel("labelLine");
  594. setLabelLineStyle(el, getLabelLineStatesModels(itemModel), defaultStyle);
  595. updateLabelLinePoints(el, labelLineModel);
  596. }
  597. };
  598. LabelManager2.prototype._animateLabels = function(el, seriesModel) {
  599. var textEl = el.getTextContent();
  600. var guideLine = el.getTextGuideLine();
  601. if (textEl && (el.forceLabelAnimation || !textEl.ignore && !textEl.invisible && !el.disableLabelAnimation && !isElementRemoved(el))) {
  602. var layoutStore = labelLayoutInnerStore(textEl);
  603. var oldLayout = layoutStore.oldLayout;
  604. var ecData = getECData(el);
  605. var dataIndex = ecData.dataIndex;
  606. var newProps = {
  607. x: textEl.x,
  608. y: textEl.y,
  609. rotation: textEl.rotation
  610. };
  611. var data = seriesModel.getData(ecData.dataType);
  612. if (!oldLayout) {
  613. textEl.attr(newProps);
  614. if (!labelInner(textEl).valueAnimation) {
  615. var oldOpacity = retrieve2(textEl.style.opacity, 1);
  616. textEl.style.opacity = 0;
  617. initProps(textEl, {
  618. style: {
  619. opacity: oldOpacity
  620. }
  621. }, seriesModel, dataIndex);
  622. }
  623. } else {
  624. textEl.attr(oldLayout);
  625. var prevStates = el.prevStates;
  626. if (prevStates) {
  627. if (indexOf(prevStates, "select") >= 0) {
  628. textEl.attr(layoutStore.oldLayoutSelect);
  629. }
  630. if (indexOf(prevStates, "emphasis") >= 0) {
  631. textEl.attr(layoutStore.oldLayoutEmphasis);
  632. }
  633. }
  634. updateProps(textEl, newProps, seriesModel, dataIndex);
  635. }
  636. layoutStore.oldLayout = newProps;
  637. if (textEl.states.select) {
  638. var layoutSelect = layoutStore.oldLayoutSelect = {};
  639. extendWithKeys(layoutSelect, newProps, LABEL_LAYOUT_PROPS);
  640. extendWithKeys(layoutSelect, textEl.states.select, LABEL_LAYOUT_PROPS);
  641. }
  642. if (textEl.states.emphasis) {
  643. var layoutEmphasis = layoutStore.oldLayoutEmphasis = {};
  644. extendWithKeys(layoutEmphasis, newProps, LABEL_LAYOUT_PROPS);
  645. extendWithKeys(layoutEmphasis, textEl.states.emphasis, LABEL_LAYOUT_PROPS);
  646. }
  647. animateLabelValue(textEl, dataIndex, data, seriesModel, seriesModel);
  648. }
  649. if (guideLine && !guideLine.ignore && !guideLine.invisible) {
  650. var layoutStore = labelLineAnimationStore(guideLine);
  651. var oldLayout = layoutStore.oldLayout;
  652. var newLayout = {
  653. points: guideLine.shape.points
  654. };
  655. if (!oldLayout) {
  656. guideLine.setShape(newLayout);
  657. guideLine.style.strokePercent = 0;
  658. initProps(guideLine, {
  659. style: {
  660. strokePercent: 1
  661. }
  662. }, seriesModel);
  663. } else {
  664. guideLine.attr({
  665. shape: oldLayout
  666. });
  667. updateProps(guideLine, {
  668. shape: newLayout
  669. }, seriesModel);
  670. }
  671. layoutStore.oldLayout = newLayout;
  672. }
  673. };
  674. return LabelManager2;
  675. }();
  676. var LabelManager_default = LabelManager;
  677. // node_modules/echarts/lib/label/installLabelLayout.js
  678. var getLabelManager = makeInner();
  679. function installLabelLayout(registers) {
  680. registers.registerUpdateLifecycle("series:beforeupdate", function(ecModel, api, params) {
  681. var labelManager = getLabelManager(api).labelManager;
  682. if (!labelManager) {
  683. labelManager = getLabelManager(api).labelManager = new LabelManager_default();
  684. }
  685. labelManager.clearLabels();
  686. });
  687. registers.registerUpdateLifecycle("series:layoutlabels", function(ecModel, api, params) {
  688. var labelManager = getLabelManager(api).labelManager;
  689. params.updatedSeries.forEach(function(series) {
  690. labelManager.addLabelsOfSeries(api.getViewOfSeriesModel(series));
  691. });
  692. labelManager.updateLayoutConfig(api);
  693. labelManager.layout(api);
  694. labelManager.processLabelsOverall();
  695. });
  696. }
  697. // node_modules/echarts/lib/export/core.js
  698. use(installLabelLayout);
  699. export {
  700. Axis_default as Axis,
  701. Chart_default as ChartView,
  702. Component_default as ComponentModel,
  703. Component_default2 as ComponentView,
  704. SeriesData_default as List,
  705. Model_default as Model,
  706. PRIORITY,
  707. Series_default as SeriesModel,
  708. color_exports as color,
  709. connect,
  710. dataTool,
  711. dependencies,
  712. disConnect,
  713. disconnect,
  714. dispose,
  715. env_default as env,
  716. extendChartView,
  717. extendComponentModel,
  718. extendComponentView,
  719. extendSeriesModel,
  720. format_exports as format,
  721. getCoordinateSystemDimensions,
  722. getInstanceByDom,
  723. getInstanceById,
  724. getMap,
  725. graphic_exports as graphic,
  726. helper_exports as helper,
  727. init,
  728. brushSingle as innerDrawElementOnCanvas,
  729. matrix_exports as matrix,
  730. number_exports as number,
  731. parseGeoJSON,
  732. parseGeoJSON as parseGeoJson,
  733. registerAction,
  734. registerCoordinateSystem,
  735. registerLayout,
  736. registerLoading,
  737. registerLocale,
  738. registerMap,
  739. registerPostInit,
  740. registerPostUpdate,
  741. registerPreprocessor,
  742. registerProcessor,
  743. registerTheme,
  744. registerTransform,
  745. registerUpdateLifecycle,
  746. registerVisual,
  747. setCanvasCreator,
  748. setPlatformAPI,
  749. throttle,
  750. time_exports as time,
  751. use,
  752. util_exports2 as util,
  753. vector_exports as vector,
  754. version,
  755. util_exports as zrUtil,
  756. zrender_exports as zrender
  757. };
  758. //# sourceMappingURL=echarts_core.js.map