UNPKG

cione-comp-lib

Version:

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

109 lines (108 loc) 3.86 kB
import { __extends } from "../../../../tslib/tslib.es6.mjs"; import MapDraw from "../../component/helper/MapDraw.mjs"; import ChartView from "../../view/Chart.mjs"; import { setLabelStyle, getLabelStatesModels } from "../../label/labelStyle.mjs"; import { Z2_EMPHASIS_LIFT, setStatesFlag } from "../../util/states.mjs"; import Circle from "../../../../zrender/lib/graphic/shape/Circle.mjs"; var MapView = function(_super) { __extends(MapView2, _super); function MapView2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = MapView2.type; return _this; } MapView2.prototype.render = function(mapModel, ecModel, api, payload) { if (payload && payload.type === "mapToggleSelect" && payload.from === this.uid) { return; } var group = this.group; group.removeAll(); if (mapModel.getHostGeoModel()) { return; } if (this._mapDraw && payload && payload.type === "geoRoam") { this._mapDraw.resetForLabelLayout(); } if (!(payload && payload.type === "geoRoam" && payload.componentType === "series" && payload.seriesId === mapModel.id)) { if (mapModel.needsDrawMap) { var mapDraw = this._mapDraw || new MapDraw(api); group.add(mapDraw.group); mapDraw.draw(mapModel, ecModel, api, this, payload); this._mapDraw = mapDraw; } else { this._mapDraw && this._mapDraw.remove(); this._mapDraw = null; } } else { var mapDraw = this._mapDraw; mapDraw && group.add(mapDraw.group); } mapModel.get("showLegendSymbol") && ecModel.getComponent("legend") && this._renderSymbols(mapModel, ecModel, api); }; MapView2.prototype.remove = function() { this._mapDraw && this._mapDraw.remove(); this._mapDraw = null; this.group.removeAll(); }; MapView2.prototype.dispose = function() { this._mapDraw && this._mapDraw.remove(); this._mapDraw = null; }; MapView2.prototype._renderSymbols = function(mapModel, ecModel, api) { var originalData = mapModel.originalData; var group = this.group; originalData.each(originalData.mapDimension("value"), function(value, originalDataIndex) { if (isNaN(value)) { return; } var layout = originalData.getItemLayout(originalDataIndex); if (!layout || !layout.point) { return; } var point = layout.point; var offset = layout.offset; var circle = new Circle({ style: { fill: mapModel.getData().getVisual("style").fill }, shape: { cx: point[0] + offset * 9, cy: point[1], r: 3 }, silent: true, z2: 8 + (!offset ? Z2_EMPHASIS_LIFT + 1 : 0) }); if (!offset) { var fullData = mapModel.mainSeries.getData(); var name_1 = originalData.getName(originalDataIndex); var fullIndex_1 = fullData.indexOfName(name_1); var itemModel = originalData.getItemModel(originalDataIndex); var labelModel = itemModel.getModel("label"); var regionGroup = fullData.getItemGraphicEl(fullIndex_1); setLabelStyle(circle, getLabelStatesModels(itemModel), { labelFetcher: { getFormattedLabel: function(idx, state) { return mapModel.getFormattedLabel(fullIndex_1, state); } }, defaultText: name_1 }); circle.disableLabelAnimation = true; if (!labelModel.get("position")) { circle.setTextConfig({ position: "bottom" }); } regionGroup.onHoverStateChange = function(toState) { setStatesFlag(circle, toState); }; } group.add(circle); }); }; MapView2.type = "map"; return MapView2; }(ChartView); var MapView$1 = MapView; export { MapView$1 as default };