@visactor/vchart 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +145 -68
- package/build/index.min.js +1 -1
- package/cjs/chart/map/map.js +2 -1
- package/cjs/chart/map/map.js.map +1 -1
- package/cjs/compile/compiler.js +2 -1
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +1 -0
- package/cjs/component/indicator/indicator.js +7 -3
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.d.ts +2 -1
- package/cjs/core/vchart.js +3 -0
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/map.js +2 -2
- package/cjs/data/transforms/map.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +1 -0
- package/cjs/mark/base/base-mark.js +8 -2
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/interface/common.d.ts +2 -0
- package/cjs/mark/interface/common.js.map +1 -1
- package/cjs/series/map/interface.d.ts +2 -2
- package/cjs/series/map/interface.js.map +1 -1
- package/cjs/series/map/map.d.ts +2 -2
- package/cjs/series/map/map.js +12 -17
- package/cjs/series/map/map.js.map +1 -1
- package/esm/chart/map/map.js +2 -1
- package/esm/chart/map/map.js.map +1 -1
- package/esm/compile/compiler.js +3 -2
- package/esm/compile/compiler.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +1 -0
- package/esm/component/indicator/indicator.js +7 -3
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.d.ts +2 -1
- package/esm/core/vchart.js +4 -1
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/map.js +4 -2
- package/esm/data/transforms/map.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +1 -0
- package/esm/mark/base/base-mark.js +8 -2
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/interface/common.d.ts +2 -0
- package/esm/mark/interface/common.js.map +1 -1
- package/esm/series/map/interface.d.ts +2 -2
- package/esm/series/map/interface.js.map +1 -1
- package/esm/series/map/map.d.ts +2 -2
- package/esm/series/map/map.js +13 -18
- package/esm/series/map/map.js.map +1 -1
- package/package.json +10 -10
package/esm/series/map/map.js
CHANGED
|
@@ -22,7 +22,7 @@ import { registerDataSetInstanceTransform } from "../../data/register";
|
|
|
22
22
|
|
|
23
23
|
import { MapSeriesTooltipHelper } from "./tooltip-helper";
|
|
24
24
|
|
|
25
|
-
import { AttributeLevel, DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_KEY } from "../../constant/index";
|
|
25
|
+
import { AttributeLevel, DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_KEY, DEFAULT_DATA_INDEX } from "../../constant/index";
|
|
26
26
|
|
|
27
27
|
import { SeriesMarkNameEnum, SeriesTypeEnum } from "../interface";
|
|
28
28
|
|
|
@@ -105,6 +105,7 @@ export class MapSeries extends GeoSeries {
|
|
|
105
105
|
dataView: this._mapViewData.getDataView(),
|
|
106
106
|
dataProductId: this._mapViewData.getProductId()
|
|
107
107
|
}), (null === (_a = this._spec.label) || void 0 === _a ? void 0 : _a.visible) && (this._labelMark = this._createMark(MapSeries.mark.label, {
|
|
108
|
+
parent: this.getRegion().getGroupMark(),
|
|
108
109
|
skipBeforeLayouted: !0,
|
|
109
110
|
dataView: this._mapViewData.getDataView(),
|
|
110
111
|
dataProductId: this._mapViewData.getProductId()
|
|
@@ -116,10 +117,11 @@ export class MapSeries extends GeoSeries {
|
|
|
116
117
|
pathMark && (this.setMarkStyle(pathMark, {
|
|
117
118
|
fill: datum => {
|
|
118
119
|
var _a, _b, _c, _d;
|
|
119
|
-
return isValid(datum[null !== (_a = this._seriesField) && void 0 !== _a ? _a : DEFAULT_DATA_SERIES_FIELD]) ? (null !== (_b = this._option.globalScale.getScale("color")) && void 0 !== _b ? _b : this.getDefaultColorScale()).scale(datum[null !== (_c = this._seriesField) && void 0 !== _c ? _c : DEFAULT_DATA_SERIES_FIELD]) : null === (_d = this.
|
|
120
|
+
return isValid(datum[null !== (_a = this._seriesField) && void 0 !== _a ? _a : DEFAULT_DATA_SERIES_FIELD]) ? (null !== (_b = this._option.globalScale.getScale("color")) && void 0 !== _b ? _b : this.getDefaultColorScale()).scale(datum[null !== (_c = this._seriesField) && void 0 !== _c ? _c : DEFAULT_DATA_SERIES_FIELD]) : null === (_d = this._spec) || void 0 === _d ? void 0 : _d.defaultFillColor;
|
|
120
121
|
},
|
|
121
122
|
path: this.getPath.bind(this)
|
|
122
|
-
}, "normal", AttributeLevel.Series),
|
|
123
|
+
}, "normal", AttributeLevel.Series), pathMark.setPostProcess("fill", (result => isValid(result) ? result : this._spec.defaultFillColor)),
|
|
124
|
+
this.setMarkStyle(pathMark, {
|
|
123
125
|
smoothScale: !0
|
|
124
126
|
}, "normal", AttributeLevel.Built_In), this._trigger.registerMark(pathMark), null === (_a = this._tooltipHelper) || void 0 === _a || _a.activeTriggerSet.mark.add(pathMark));
|
|
125
127
|
const labelMark = this._labelMark;
|
|
@@ -143,11 +145,11 @@ export class MapSeries extends GeoSeries {
|
|
|
143
145
|
this._tooltipHelper = new MapSeriesTooltipHelper(this);
|
|
144
146
|
}
|
|
145
147
|
getPath(datum) {
|
|
146
|
-
var _a
|
|
147
|
-
const area = this._areaCache.get(
|
|
148
|
+
var _a;
|
|
149
|
+
const area = this._areaCache.get(datum[DEFAULT_DATA_INDEX]);
|
|
148
150
|
if (area) return area.shape;
|
|
149
|
-
const shape = null === (
|
|
150
|
-
return this._areaCache.set(
|
|
151
|
+
const shape = null === (_a = this._coordinateHelper) || void 0 === _a ? void 0 : _a.shape(datum);
|
|
152
|
+
return this._areaCache.set(datum[DEFAULT_DATA_INDEX], {
|
|
151
153
|
shape: shape
|
|
152
154
|
}), shape;
|
|
153
155
|
}
|
|
@@ -174,9 +176,7 @@ export class MapSeries extends GeoSeries {
|
|
|
174
176
|
const vGrammarMark = mark.getProduct();
|
|
175
177
|
if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
|
|
176
178
|
const elements = vGrammarMark.elements;
|
|
177
|
-
mark.type === MarkTypeEnum.path ? elements.forEach((el => {
|
|
178
|
-
el.getGraphicItem().scale(scale, scale, scaleCenter);
|
|
179
|
-
})) : elements.forEach((el => {
|
|
179
|
+
mark.type === MarkTypeEnum.path ? vGrammarMark.group.getGroupGraphicItem().scale(scale, scale, scaleCenter) : elements.forEach((el => {
|
|
180
180
|
const graphicItem = el.getGraphicItem(), datum = el.getDatum(), newPosition = this.dataToPosition(datum);
|
|
181
181
|
newPosition && graphicItem && graphicItem.translateTo(newPosition.x, newPosition.y);
|
|
182
182
|
}));
|
|
@@ -188,9 +188,7 @@ export class MapSeries extends GeoSeries {
|
|
|
188
188
|
const vGrammarMark = mark.getProduct();
|
|
189
189
|
if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) return;
|
|
190
190
|
const elements = vGrammarMark.elements;
|
|
191
|
-
mark.type === MarkTypeEnum.path ? elements.forEach((el => {
|
|
192
|
-
el.getGraphicItem().translate(delta[0], delta[1]);
|
|
193
|
-
})) : elements.forEach(((el, i) => {
|
|
191
|
+
mark.type === MarkTypeEnum.path ? vGrammarMark.group.getGroupGraphicItem().translate(delta[0], delta[1]) : elements.forEach(((el, i) => {
|
|
194
192
|
const graphicItem = el.getGraphicItem(), datum = el.getDatum(), newPosition = this.dataToPosition(datum);
|
|
195
193
|
newPosition && graphicItem && graphicItem.translateTo(newPosition.x, newPosition.y);
|
|
196
194
|
}));
|
|
@@ -202,7 +200,7 @@ export class MapSeries extends GeoSeries {
|
|
|
202
200
|
}
|
|
203
201
|
_getDatumName(datum) {
|
|
204
202
|
var _a, _b, _c;
|
|
205
|
-
return
|
|
203
|
+
return datum[this.nameField] ? datum[this.nameField] : (null === (_a = datum.properties) || void 0 === _a ? void 0 : _a[this._nameProperty]) ? this._spec.nameMap ? null !== (_b = this._spec.nameMap[datum.properties[this._nameProperty]]) && void 0 !== _b ? _b : "" : null !== (_c = datum.properties[this._nameProperty]) && void 0 !== _c ? _c : "" : "";
|
|
206
204
|
}
|
|
207
205
|
dataToPositionX(data) {
|
|
208
206
|
throw new Error("Method not implemented.");
|
|
@@ -216,10 +214,7 @@ export class MapSeries extends GeoSeries {
|
|
|
216
214
|
null === (_c = this._mapViewData) || void 0 === _c || _c.updateData();
|
|
217
215
|
}
|
|
218
216
|
_getDataIdKey() {
|
|
219
|
-
return
|
|
220
|
-
var _a;
|
|
221
|
-
return null === (_a = null == datum ? void 0 : datum.properties) || void 0 === _a ? void 0 : _a[this._nameProperty];
|
|
222
|
-
};
|
|
217
|
+
return DEFAULT_DATA_INDEX;
|
|
223
218
|
}
|
|
224
219
|
}
|
|
225
220
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/map/map.ts"],"names":[],"mappings":"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","file":"map.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { registerGrammar } from '@visactor/vgrammar';\nimport type { IElement } from '@visactor/vgrammar';\nimport { Projection } from '@visactor/vgrammar-projection';\nimport { DataView } from '@visactor/vdataset';\nimport type { IPathMark } from '../../mark/path';\nimport { geoSourceMap } from './geo-source';\nimport { lookup } from '../../data/transforms/lookup';\nimport type { Maybe, Datum, StringOrNumber } from '../../typings';\nimport { isValid, isValidNumber } from '../../util';\nimport { GeoSeries } from '../geo/geo';\nimport { map } from '../../data/transforms/map';\nimport { copyDataView } from '../../data/transforms/copy-data-view';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { MapSeriesTooltipHelper } from './tooltip-helper';\nimport type { ITextMark } from '../../mark/text';\nimport { AttributeLevel, DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_KEY } from '../../constant/index';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IMapSeriesSpec, IMapSeriesTheme } from './interface';\nimport { SeriesData } from '../base/series-data';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { PathMark } from '../../mark/path';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([PathMark, TextMark]);\n\n// 注册语法元素\nregisterGrammar('projection', Projection, 'projections');\n\nexport class MapSeries extends GeoSeries<IMapSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.map;\n type = SeriesTypeEnum.map;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.area]: { name: SeriesMarkNameEnum.area, type: MarkTypeEnum.path }\n };\n\n map!: string;\n\n protected _nameMap!: { [key: StringOrNumber]: StringOrNumber };\n getNameMap() {\n return this._nameMap;\n }\n\n protected _nameProperty: string = 'name';\n getNameProperty() {\n return this._nameProperty;\n }\n\n protected declare _theme: Maybe<IMapSeriesTheme>;\n\n private _areaCache: Map<string, { shape: string }> = new Map();\n\n private _pathMark: IPathMark;\n private _labelMark: ITextMark;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.map = this._spec.map;\n this._nameMap = this._spec.nameMap;\n this._nameField = this._spec.nameField;\n this._valueField = this._spec.valueField;\n this._spec.nameProperty && (this._nameProperty = this._spec.nameProperty);\n if (!this.map) {\n throw new Error(`map type '${this.map}' is not specified !`);\n }\n\n if (!geoSourceMap.get(this.map)) {\n throw new Error(`'${this.map}' data is not registered !`);\n }\n }\n\n // data\n initData(): void {\n super.initData();\n\n registerDataSetInstanceTransform(this._dataSet, 'copyDataView', copyDataView);\n registerDataSetInstanceTransform(this._dataSet, 'map', map);\n registerDataSetInstanceTransform(this._dataSet, 'lookup', lookup);\n\n // 初始化地图数据\n const features = geoSourceMap.get(this.map);\n if (!features) {\n throw Error('no valid map data found!');\n }\n const mapData = new DataView(this._dataSet);\n\n mapData\n .parse([features], {\n type: 'dataview'\n })\n .transform({ type: 'copyDataView', options: { deep: true } })\n .transform({\n type: 'map',\n options: {\n nameMap: this._nameMap,\n nameProperty: this._nameProperty\n }\n })\n .transform({\n type: 'lookup',\n options: {\n from: () => this._data?.getLatestData(),\n key: 'name',\n fields: this._nameField,\n values: [this.nameField, this.valueField, this._seriesField ?? DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_KEY],\n as: [this.nameField, this.valueField, this._seriesField ?? DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_KEY]\n }\n });\n this._data?.getDataView().target.addListener('change', mapData.reRunAllTransform);\n this._mapViewData = new SeriesData(this._option, mapData);\n }\n\n // mark\n initMark() {\n this._pathMark = this._createMark(MapSeries.mark.area, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('area', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this.getDimensionField()[0],\n isSeriesMark: true,\n skipBeforeLayouted: true,\n dataView: this._mapViewData.getDataView(),\n dataProductId: this._mapViewData.getProductId()\n }) as IPathMark;\n\n if (this._spec.label?.visible) {\n this._labelMark = this._createMark(MapSeries.mark.label, {\n skipBeforeLayouted: true,\n dataView: this._mapViewData.getDataView(),\n dataProductId: this._mapViewData.getProductId()\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const pathMark = this._pathMark;\n if (pathMark) {\n this.setMarkStyle(\n pathMark,\n {\n fill: (datum: any) => {\n if (isValid(datum[this._seriesField ?? DEFAULT_DATA_SERIES_FIELD])) {\n return (this._option.globalScale.getScale('color') ?? this.getDefaultColorScale()).scale(\n datum[this._seriesField ?? DEFAULT_DATA_SERIES_FIELD]\n );\n }\n return this._theme?.defaultFillColor;\n },\n path: this.getPath.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n pathMark,\n {\n smoothScale: true\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(pathMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(pathMark);\n }\n\n const labelMark = this._labelMark;\n if (labelMark) {\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n return this._getDatumName(datum);\n },\n x: (datum: Datum) => {\n return this.dataToPosition(datum)?.x;\n },\n y: (datum: Datum) => this.dataToPosition(datum)?.y\n });\n }\n }\n\n initAnimation() {\n this._pathMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.path(), userAnimationConfig(SeriesMarkNameEnum.area, this._spec))\n );\n\n if (this._labelMark) {\n this._labelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(SeriesMarkNameEnum.label, this._spec))\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new MapSeriesTooltipHelper(this);\n }\n\n protected getPath(datum: any) {\n const area = this._areaCache.get(datum?.properties?.[this._nameProperty]);\n if (area) {\n return area.shape;\n }\n const shape = this._coordinateHelper?.shape(datum);\n this._areaCache.set(datum?.properties?.[this._nameProperty], {\n shape\n });\n return shape;\n }\n\n // life cycle\n onEvaluateEnd() {\n this._mapViewData.updateData();\n }\n\n getDimensionField(): string[] {\n return [this.nameField];\n }\n\n getMeasureField(): string[] {\n return [this.valueField];\n }\n\n release() {\n super.release();\n this._areaCache.clear();\n this._nameMap = {};\n this._trigger = this._mapViewData = null as any;\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const { map, nameMap, valueField, nameProperty } = originalSpec;\n const result = super.updateSpec(spec);\n if (\n spec?.map !== map ||\n spec?.nameMap !== nameMap ||\n spec?.valueField !== valueField ||\n spec?.nameProperty !== nameProperty\n ) {\n result.reRender = true;\n }\n return result;\n }\n\n handleZoom(e: ZoomEventParam) {\n const { scale, scaleCenter } = e;\n if (scale === 1) {\n return;\n }\n\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n if (mark.type === MarkTypeEnum.path) {\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n graphicItem.scale(scale, scale, scaleCenter);\n });\n } else {\n // label Mark 的定位,需要通过 dataToPosition 来计算\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n }\n });\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n if (mark.type === MarkTypeEnum.path) {\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n graphicItem.translate(delta[0], delta[1]);\n });\n } else {\n // label Mark 的定位,需要通过 dataToPosition 来计算\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n }\n });\n }\n\n protected _getDatumCenter(datum: any): [number, number] {\n if (isValidNumber(datum.centroidX * datum.centroidY)) {\n return [datum.centroidX, datum.centroidY];\n }\n\n if (datum.properties?.center) {\n return datum.properties.center;\n }\n\n if (datum.properties?.centroid) {\n return datum.properties.centroid;\n }\n\n return [Number.NaN, Number.NaN];\n }\n\n protected _getDatumName(datum: any): string {\n return datum[this.nameField] ?? datum.properties?.[this.nameField] ?? '';\n }\n\n dataToPositionX(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionY(data: any): number {\n throw new Error('Method not implemented.');\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n this._mapViewData?.getDataView()?.reRunAllTransform();\n this._mapViewData?.updateData();\n }\n\n protected _getDataIdKey() {\n return (datum: Datum) => datum?.properties?.[this._nameProperty] as string;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/map/map.ts"],"names":[],"mappings":"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","file":"map.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { registerGrammar } from '@visactor/vgrammar';\nimport type { IElement } from '@visactor/vgrammar';\nimport { Projection } from '@visactor/vgrammar-projection';\nimport { DataView } from '@visactor/vdataset';\nimport type { IPathMark } from '../../mark/path';\nimport { geoSourceMap } from './geo-source';\nimport { lookup } from '../../data/transforms/lookup';\nimport type { Maybe, Datum, StringOrNumber } from '../../typings';\nimport { isValid, isValidNumber } from '../../util';\nimport { GeoSeries } from '../geo/geo';\nimport { map } from '../../data/transforms/map';\nimport { copyDataView } from '../../data/transforms/copy-data-view';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { MapSeriesTooltipHelper } from './tooltip-helper';\nimport type { ITextMark } from '../../mark/text';\nimport { AttributeLevel, DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_KEY, DEFAULT_DATA_INDEX } from '../../constant/index';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IMapSeriesSpec, IMapSeriesTheme } from './interface';\nimport { SeriesData } from '../base/series-data';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { PathMark } from '../../mark/path';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([PathMark, TextMark]);\n\n// 注册语法元素\nregisterGrammar('projection', Projection, 'projections');\n\nexport class MapSeries extends GeoSeries<IMapSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.map;\n type = SeriesTypeEnum.map;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.area]: { name: SeriesMarkNameEnum.area, type: MarkTypeEnum.path }\n };\n\n map!: string;\n\n protected _nameMap!: { [key: StringOrNumber]: StringOrNumber };\n getNameMap() {\n return this._nameMap;\n }\n\n protected _nameProperty: string = 'name';\n getNameProperty() {\n return this._nameProperty;\n }\n\n protected declare _theme: Maybe<IMapSeriesTheme>;\n\n private _areaCache: Map<string, { shape: string }> = new Map();\n\n private _pathMark: IPathMark;\n private _labelMark: ITextMark;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.map = this._spec.map;\n this._nameMap = this._spec.nameMap;\n this._nameField = this._spec.nameField;\n this._valueField = this._spec.valueField;\n this._spec.nameProperty && (this._nameProperty = this._spec.nameProperty);\n if (!this.map) {\n throw new Error(`map type '${this.map}' is not specified !`);\n }\n\n if (!geoSourceMap.get(this.map)) {\n throw new Error(`'${this.map}' data is not registered !`);\n }\n }\n\n // data\n initData(): void {\n super.initData();\n\n registerDataSetInstanceTransform(this._dataSet, 'copyDataView', copyDataView);\n registerDataSetInstanceTransform(this._dataSet, 'map', map);\n registerDataSetInstanceTransform(this._dataSet, 'lookup', lookup);\n\n // 初始化地图数据\n const features = geoSourceMap.get(this.map);\n if (!features) {\n throw Error('no valid map data found!');\n }\n const mapData = new DataView(this._dataSet);\n\n mapData\n .parse([features], {\n type: 'dataview'\n })\n .transform({ type: 'copyDataView', options: { deep: true } })\n .transform({\n type: 'map',\n options: {\n nameMap: this._nameMap,\n nameProperty: this._nameProperty\n }\n })\n .transform({\n type: 'lookup',\n options: {\n from: () => this._data?.getLatestData(),\n key: 'name',\n fields: this._nameField,\n values: [this.nameField, this.valueField, this._seriesField ?? DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_KEY],\n as: [this.nameField, this.valueField, this._seriesField ?? DEFAULT_DATA_SERIES_FIELD, DEFAULT_DATA_KEY]\n }\n });\n this._data?.getDataView().target.addListener('change', mapData.reRunAllTransform);\n this._mapViewData = new SeriesData(this._option, mapData);\n }\n\n // mark\n initMark() {\n this._pathMark = this._createMark(MapSeries.mark.area, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('area', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this.getDimensionField()[0],\n isSeriesMark: true,\n skipBeforeLayouted: true,\n dataView: this._mapViewData.getDataView(),\n dataProductId: this._mapViewData.getProductId()\n }) as IPathMark;\n\n if (this._spec.label?.visible) {\n this._labelMark = this._createMark(MapSeries.mark.label, {\n // map zoom/scale need to be transformed in path.group\n // so label mark cannot be in the same groupMark\n parent: this.getRegion().getGroupMark(),\n skipBeforeLayouted: true,\n dataView: this._mapViewData.getDataView(),\n dataProductId: this._mapViewData.getProductId()\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const pathMark = this._pathMark;\n if (pathMark) {\n this.setMarkStyle(\n pathMark,\n {\n fill: (datum: any) => {\n if (isValid(datum[this._seriesField ?? DEFAULT_DATA_SERIES_FIELD])) {\n return (this._option.globalScale.getScale('color') ?? this.getDefaultColorScale()).scale(\n datum[this._seriesField ?? DEFAULT_DATA_SERIES_FIELD]\n );\n }\n return this._spec?.defaultFillColor;\n },\n path: this.getPath.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n\n pathMark.setPostProcess('fill', result => {\n if (!isValid(result)) {\n return this._spec.defaultFillColor;\n }\n return result;\n });\n\n this.setMarkStyle(\n pathMark,\n {\n smoothScale: true\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(pathMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(pathMark);\n }\n\n const labelMark = this._labelMark;\n if (labelMark) {\n this.setMarkStyle(labelMark, {\n text: (datum: Datum) => {\n return this._getDatumName(datum);\n },\n x: (datum: Datum) => this.dataToPosition(datum)?.x,\n y: (datum: Datum) => this.dataToPosition(datum)?.y\n });\n }\n }\n\n initAnimation() {\n this._pathMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.path(), userAnimationConfig(SeriesMarkNameEnum.area, this._spec))\n );\n\n if (this._labelMark) {\n this._labelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(SeriesMarkNameEnum.label, this._spec))\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new MapSeriesTooltipHelper(this);\n }\n\n protected getPath(datum: any) {\n const area = this._areaCache.get(datum[DEFAULT_DATA_INDEX]);\n if (area) {\n return area.shape;\n }\n const shape = this._coordinateHelper?.shape(datum);\n this._areaCache.set(datum[DEFAULT_DATA_INDEX], {\n shape\n });\n return shape;\n }\n\n // life cycle\n onEvaluateEnd() {\n this._mapViewData.updateData();\n }\n\n getDimensionField(): string[] {\n return [this.nameField];\n }\n\n getMeasureField(): string[] {\n return [this.valueField];\n }\n\n release() {\n super.release();\n this._areaCache.clear();\n this._nameMap = {};\n this._trigger = this._mapViewData = null as any;\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const { map, nameMap, valueField, nameProperty } = originalSpec;\n const result = super.updateSpec(spec);\n if (\n spec?.map !== map ||\n spec?.nameMap !== nameMap ||\n spec?.valueField !== valueField ||\n spec?.nameProperty !== nameProperty\n ) {\n result.reRender = true;\n }\n return result;\n }\n\n handleZoom(e: ZoomEventParam) {\n const { scale, scaleCenter } = e;\n if (scale === 1) {\n return;\n }\n\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n if (mark.type === MarkTypeEnum.path) {\n vGrammarMark.group.getGroupGraphicItem().scale(scale, scale, scaleCenter);\n } else {\n // label Mark 的定位,需要通过 dataToPosition 来计算\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n }\n });\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n if (mark.type === MarkTypeEnum.path) {\n vGrammarMark.group.getGroupGraphicItem().translate(delta[0], delta[1]);\n } else {\n // label Mark 的定位,需要通过 dataToPosition 来计算\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n }\n });\n }\n\n protected _getDatumCenter(datum: any): [number, number] {\n if (isValidNumber(datum.centroidX * datum.centroidY)) {\n return [datum.centroidX, datum.centroidY];\n }\n\n if (datum.properties?.center) {\n return datum.properties.center;\n }\n\n if (datum.properties?.centroid) {\n return datum.properties.centroid;\n }\n\n return [Number.NaN, Number.NaN];\n }\n\n protected _getDatumName(datum: any): string {\n if (datum[this.nameField]) {\n return datum[this.nameField];\n }\n if (datum.properties?.[this._nameProperty]) {\n if (this._spec.nameMap) {\n return this._spec.nameMap[datum.properties[this._nameProperty]] ?? '';\n }\n return datum.properties[this._nameProperty] ?? '';\n }\n return '';\n }\n\n dataToPositionX(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionY(data: any): number {\n throw new Error('Method not implemented.');\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n this._mapViewData?.getDataView()?.reRunAllTransform();\n this._mapViewData?.updateData();\n }\n\n protected _getDataIdKey() {\n return DEFAULT_DATA_INDEX;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vchart",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "charts lib based @visactor/VGrammar",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -80,21 +80,21 @@
|
|
|
80
80
|
"node-fetch": "2.6.7",
|
|
81
81
|
"form-data": "~4.0.0",
|
|
82
82
|
"canvas": "2.11.2",
|
|
83
|
-
"@internal/
|
|
83
|
+
"@internal/ts-config": "0.0.1",
|
|
84
84
|
"@internal/eslint-config": "0.0.1",
|
|
85
|
-
"@internal/
|
|
85
|
+
"@internal/bundler": "0.0.1"
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
88
|
"@visactor/vutils": "~0.13.3",
|
|
89
89
|
"@visactor/vdataset": "~0.13.4",
|
|
90
90
|
"@visactor/vscale": "~0.13.3",
|
|
91
|
-
"@visactor/vgrammar": "~0.
|
|
92
|
-
"@visactor/vgrammar-projection": "~0.
|
|
93
|
-
"@visactor/vgrammar-wordcloud": "~0.
|
|
94
|
-
"@visactor/vgrammar-wordcloud-shape": "~0.
|
|
95
|
-
"@visactor/vgrammar-hierarchy": "~0.
|
|
96
|
-
"@visactor/vgrammar-sankey": "~0.
|
|
97
|
-
"@visactor/vgrammar-util": "~0.
|
|
91
|
+
"@visactor/vgrammar": "~0.5.1",
|
|
92
|
+
"@visactor/vgrammar-projection": "~0.5.1",
|
|
93
|
+
"@visactor/vgrammar-wordcloud": "~0.5.1",
|
|
94
|
+
"@visactor/vgrammar-wordcloud-shape": "~0.5.1",
|
|
95
|
+
"@visactor/vgrammar-hierarchy": "~0.5.1",
|
|
96
|
+
"@visactor/vgrammar-sankey": "~0.5.1",
|
|
97
|
+
"@visactor/vgrammar-util": "~0.5.1",
|
|
98
98
|
"@visactor/vrender": "~0.13.4",
|
|
99
99
|
"@visactor/vrender-components": "~0.13.4"
|
|
100
100
|
},
|