UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

78 lines (77 loc) 3.01 kB
import "../../../../echarts/lib/echarts.mjs"; import componentViewControlMixin from "../common/componentViewControlMixin.mjs"; import componentPostEffectMixin from "../common/componentPostEffectMixin.mjs"; import componentLightMixin from "../common/componentLightMixin.mjs"; import componentShadingMixin from "../common/componentShadingMixin.mjs"; import geo3DModelMixin from "../../coord/geo3D/geo3DModelMixin.mjs"; import ComponentModel from "../../../../echarts/lib/model/Component.mjs"; import { createDimensions } from "../../../../echarts/lib/data/helper/createDimensions.mjs"; import SeriesData from "../../../../echarts/lib/data/SeriesData.mjs"; import Model from "../../../../echarts/lib/model/Model.mjs"; import { merge } from "../../../../zrender/lib/core/util.mjs"; var Geo3DModel = ComponentModel.extend({ type: "geo3D", layoutMode: "box", coordinateSystem: null, optionUpdated: function() { var option = this.option; option.regions = this.getFilledRegions(option.regions, option.map); var dimensions = createDimensions(option.data || [], { coordDimensions: ["value"], encodeDefine: this.get("encode"), dimensionsDefine: this.get("dimensions") }); var list = new SeriesData(dimensions, this); list.initData(option.regions); var regionModelMap = {}; list.each(function(idx) { var name = list.getName(idx); var itemModel = list.getItemModel(idx); regionModelMap[name] = itemModel; }); this._regionModelMap = regionModelMap; this._data = list; }, getData: function() { return this._data; }, getRegionModel: function(idx) { var name = this.getData().getName(idx); return this._regionModelMap[name] || new Model(null, this); }, getRegionPolygonCoords: function(idx) { var name = this.getData().getName(idx); var region = this.coordinateSystem.getRegion(name); return region ? region.geometries : []; }, getFormattedLabel: function(dataIndex, status) { var name = this._data.getName(dataIndex); var regionModel = this.getRegionModel(dataIndex); var formatter = regionModel.get(status === "normal" ? ["label", "formatter"] : ["emphasis", "label", "formatter"]); if (formatter == null) { formatter = regionModel.get(["label", "formatter"]); } var params = { name }; if (typeof formatter === "function") { params.status = status; return formatter(params); } else if (typeof formatter === "string") { var serName = params.seriesName; return formatter.replace("{a}", serName != null ? serName : ""); } else { return name; } }, defaultOption: { regions: [] } }); merge(Geo3DModel.prototype, geo3DModelMixin); merge(Geo3DModel.prototype, componentViewControlMixin); merge(Geo3DModel.prototype, componentPostEffectMixin); merge(Geo3DModel.prototype, componentLightMixin); merge(Geo3DModel.prototype, componentShadingMixin); var Geo3DModel$1 = Geo3DModel; export { Geo3DModel$1 as default };