@visactor/vchart 2.0.23-alpha.4 → 2.0.23-alpha.5
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/es5/index.js +1 -1
- package/build/index.es.js +38 -5
- package/build/index.js +38 -5
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/component/index.js +1 -1
- package/cjs/component/util.js +2 -1
- package/cjs/constant/attribute.js +1 -2
- package/cjs/constant/scroll-bar.js +2 -1
- package/cjs/constant/waterfall.js +1 -2
- package/cjs/core/interface.js +1 -1
- package/cjs/core/util.js +1 -1
- package/cjs/series/scatter/scatter.d.ts +3 -0
- package/cjs/series/scatter/scatter.js +24 -6
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/esm/component/index.js +1 -1
- package/esm/component/util.js +2 -1
- package/esm/constant/attribute.js +1 -2
- package/esm/constant/scroll-bar.js +2 -1
- package/esm/constant/waterfall.js +1 -2
- package/esm/core/interface.js +1 -1
- package/esm/core/util.js +1 -1
- package/esm/series/scatter/scatter.d.ts +3 -0
- package/esm/series/scatter/scatter.js +27 -5
- package/esm/series/scatter/scatter.js.map +1 -1
- package/package.json +5 -5
package/cjs/component/index.js
CHANGED
package/cjs/component/util.js
CHANGED
|
@@ -11,5 +11,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
11
11
|
AttributeLevel[AttributeLevel.User_Chart = 6] = "User_Chart", AttributeLevel[AttributeLevel.User_Series = 7] = "User_Series",
|
|
12
12
|
AttributeLevel[AttributeLevel.User_Mark = 8] = "User_Mark", AttributeLevel[AttributeLevel.User_SeriesStyle = 9] = "User_SeriesStyle",
|
|
13
13
|
AttributeLevel[AttributeLevel.Built_In = 99] = "Built_In";
|
|
14
|
-
}(AttributeLevel = exports.AttributeLevel || (exports.AttributeLevel = {}));
|
|
15
|
-
//# sourceMappingURL=attribute.js.map
|
|
14
|
+
}(AttributeLevel = exports.AttributeLevel || (exports.AttributeLevel = {}));
|
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.SCROLL_BAR_DEFAULT_SIZE = void 0, exports.SCROLL_BAR_DEFAULT_SIZE = 12;
|
|
5
|
+
}), exports.SCROLL_BAR_DEFAULT_SIZE = void 0, exports.SCROLL_BAR_DEFAULT_SIZE = 12;
|
|
6
|
+
//# sourceMappingURL=scroll-bar.js.map
|
|
@@ -6,5 +6,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
|
|
7
7
|
const base_1 = require("./base");
|
|
8
8
|
|
|
9
|
-
exports.WaterfallDefaultSeriesField = `${base_1.PREFIX}_waterfall_default_seriesField`;
|
|
10
|
-
//# sourceMappingURL=waterfall.js.map
|
|
9
|
+
exports.WaterfallDefaultSeriesField = `${base_1.PREFIX}_waterfall_default_seriesField`;
|
package/cjs/core/interface.js
CHANGED
package/cjs/core/util.js
CHANGED
|
@@ -21,6 +21,7 @@ export declare class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeries
|
|
|
21
21
|
private _sizeField;
|
|
22
22
|
private _shape;
|
|
23
23
|
private _shapeField;
|
|
24
|
+
private _enableLabelAnimationHook?;
|
|
24
25
|
protected _invalidType: IScatterInvalidType;
|
|
25
26
|
setAttrFromSpec(): void;
|
|
26
27
|
private _getSeriesAttribute;
|
|
@@ -35,6 +36,8 @@ export declare class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeries
|
|
|
35
36
|
initLabelMarkStyle(labelMark?: ILabelMark): void;
|
|
36
37
|
private _updateSymbolGraphicPosition;
|
|
37
38
|
private _ensureLabelGraphicPostMatrix;
|
|
39
|
+
private _isGeoCoordinateSeries;
|
|
40
|
+
private _refreshLabelComponent;
|
|
38
41
|
handleZoom(e: any): void;
|
|
39
42
|
handlePan(e: any): void;
|
|
40
43
|
onLayoutEnd(): void;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerScatterSeries = exports.ScatterSeries = void 0;
|
|
6
6
|
|
|
7
|
-
const base_1 = require("../../constant/base"), cartesian_1 = require("../cartesian/cartesian"), vutils_1 = require("@visactor/vutils"), attribute_1 = require("../../constant/attribute"), type_1 = require("../interface/type"), interface_1 = require("../../compile/mark/interface"), scatter_1 = require("../../constant/scatter"), utils_1 = require("../../animation/utils"), animation_1 = require("./animation"), symbol_1 = require("../../mark/symbol"), constant_1 = require("./constant"), factory_1 = require("../../core/factory"), scatter_transformer_1 = require("./scatter-transformer"), utils_2 = require("../util/utils"), cartesian_2 = require("../../component/axis/cartesian"), scatter_2 = require("../../theme/builtin/common/series/scatter");
|
|
7
|
+
const base_1 = require("../../constant/base"), cartesian_1 = require("../cartesian/cartesian"), vutils_1 = require("@visactor/vutils"), attribute_1 = require("../../constant/attribute"), type_1 = require("../interface/type"), interface_1 = require("../../compile/mark/interface"), scatter_1 = require("../../constant/scatter"), utils_1 = require("../../animation/utils"), animation_1 = require("./animation"), symbol_1 = require("../../mark/symbol"), constant_1 = require("./constant"), factory_1 = require("../../core/factory"), scatter_transformer_1 = require("./scatter-transformer"), utils_2 = require("../util/utils"), cartesian_2 = require("../../component/axis/cartesian"), scatter_2 = require("../../theme/builtin/common/series/scatter"), type_2 = require("../../component/interface/type"), event_1 = require("../../constant/event");
|
|
8
8
|
|
|
9
9
|
class ScatterSeries extends cartesian_1.CartesianSeries {
|
|
10
10
|
constructor() {
|
|
@@ -120,7 +120,8 @@ class ScatterSeries extends cartesian_1.CartesianSeries {
|
|
|
120
120
|
visible: !0
|
|
121
121
|
}, "normal", attribute_1.AttributeLevel.Series) : this.setMarkStyle(this._symbolMark, {
|
|
122
122
|
visible: this._getInvalidDefined.bind(this)
|
|
123
|
-
}, "normal", attribute_1.AttributeLevel.Series), this._symbolMark.getProduct() && this._symbolMark.compileEncode()
|
|
123
|
+
}, "normal", attribute_1.AttributeLevel.Series), this._symbolMark.getProduct() && this._symbolMark.compileEncode(),
|
|
124
|
+
this._isGeoCoordinateSeries() && (this._updateSymbolGraphicPosition(), this._refreshLabelComponent(!0, !0));
|
|
124
125
|
}
|
|
125
126
|
initLabelMarkStyle(labelMark) {
|
|
126
127
|
labelMark && (this._labelMark = labelMark, this.setMarkStyle(labelMark, {
|
|
@@ -151,6 +152,25 @@ class ScatterSeries extends cartesian_1.CartesianSeries {
|
|
|
151
152
|
postMatrix: new vutils_1.Matrix
|
|
152
153
|
}), labelGraphic;
|
|
153
154
|
}
|
|
155
|
+
_isGeoCoordinateSeries() {
|
|
156
|
+
var _a, _b;
|
|
157
|
+
return (null === (_b = null === (_a = this.getXAxisHelper()) || void 0 === _a ? void 0 : _a.getAxisType) || void 0 === _b ? void 0 : _b.call(_a)) === type_2.ComponentTypeEnum.geoCoordinate;
|
|
158
|
+
}
|
|
159
|
+
_refreshLabelComponent(resetPostMatrix = !1, disableAnimation = !1) {
|
|
160
|
+
var _a, _b;
|
|
161
|
+
const vgrammarLabel = null === (_a = this._labelMark) || void 0 === _a ? void 0 : _a.getComponent(), labelGraphic = null === (_b = null == vgrammarLabel ? void 0 : vgrammarLabel.getComponent) || void 0 === _b ? void 0 : _b.call(vgrammarLabel);
|
|
162
|
+
resetPostMatrix && (null == labelGraphic ? void 0 : labelGraphic.attribute.postMatrix) && labelGraphic.setAttributes({
|
|
163
|
+
postMatrix: new vutils_1.Matrix
|
|
164
|
+
}), disableAnimation && (null == labelGraphic ? void 0 : labelGraphic.disableAnimation) && (labelGraphic.disableAnimation(),
|
|
165
|
+
this._enableLabelAnimationHook || (this._enableLabelAnimationHook = () => {
|
|
166
|
+
var _a, _b, _c, _d;
|
|
167
|
+
const currentLabelGraphic = null === (_c = null === (_b = null === (_a = this._labelMark) || void 0 === _a ? void 0 : _a.getComponent()) || void 0 === _b ? void 0 : _b.getComponent) || void 0 === _c ? void 0 : _c.call(_b);
|
|
168
|
+
null === (_d = null == currentLabelGraphic ? void 0 : currentLabelGraphic.enableAnimation) || void 0 === _d || _d.call(currentLabelGraphic),
|
|
169
|
+
this.event.off(event_1.HOOK_EVENT.AFTER_MARK_RENDER_END, this._enableLabelAnimationHook),
|
|
170
|
+
this._enableLabelAnimationHook = void 0;
|
|
171
|
+
}, this.event.on(event_1.HOOK_EVENT.AFTER_MARK_RENDER_END, this._enableLabelAnimationHook))),
|
|
172
|
+
(null == vgrammarLabel ? void 0 : vgrammarLabel.getProduct()) && vgrammarLabel.renderInner();
|
|
173
|
+
}
|
|
154
174
|
handleZoom(e) {
|
|
155
175
|
const {scale: scale, scaleCenter: scaleCenter} = e;
|
|
156
176
|
if (1 === scale) return;
|
|
@@ -166,14 +186,12 @@ class ScatterSeries extends cartesian_1.CartesianSeries {
|
|
|
166
186
|
labelGraphic && labelGraphic.translate(delta[0], delta[1]);
|
|
167
187
|
}
|
|
168
188
|
onLayoutEnd() {
|
|
169
|
-
var _a, _b
|
|
189
|
+
var _a, _b;
|
|
170
190
|
super.onLayoutEnd(), this._updateSymbolGraphicPosition();
|
|
171
191
|
const labelGraphic = null === (_b = null === (_a = this._labelMark) || void 0 === _a ? void 0 : _a.getComponent()) || void 0 === _b ? void 0 : _b.getComponent();
|
|
172
192
|
(null == labelGraphic ? void 0 : labelGraphic.attribute.postMatrix) && labelGraphic.setAttributes({
|
|
173
193
|
postMatrix: new vutils_1.Matrix
|
|
174
|
-
});
|
|
175
|
-
const vgrammarLabel = null === (_c = this._labelMark) || void 0 === _c ? void 0 : _c.getComponent();
|
|
176
|
-
vgrammarLabel && vgrammarLabel.renderInner();
|
|
194
|
+
}), this._refreshLabelComponent();
|
|
177
195
|
}
|
|
178
196
|
getDefaultShapeType() {
|
|
179
197
|
return "circle";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/scatter/scatter.ts"],"names":[],"mappings":"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","file":"scatter.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { PREFIX } from '../../constant/base';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Datum, ScaleType, VisualType, IScatterInvalidType } from '../../typings';\nimport type { IScatterSeriesSpec, ScatterAppearPreset } from './interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { isNil, isValid, isObject, isFunction, isString, isArray, isNumber, isNumeric, Matrix } from '@visactor/vutils';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport {\n SCATTER_DEFAULT_RANGE_SHAPE,\n SCATTER_DEFAULT_RANGE_SIZE,\n SCATTER_DEFAULT_SHAPE,\n SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n SCATTER_DEFAULT_SIZE,\n SCATTER_DEFAULT_SIZE_SCALE_TYPE\n} from '../../constant/scatter';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { registerScatterAnimation } from './animation';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { scatterSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { ILabelMark, IMark, IMarkGraphic, ISymbolMark } from '../../mark/interface';\nimport { ScatterSeriesSpecTransformer } from './scatter-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\nimport { scatter } from '../../theme/builtin/common/series/scatter';\nimport type { IGraphic } from '@visactor/vrender-core';\n\nexport class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.scatter;\n type = SeriesTypeEnum.scatter;\n\n static readonly mark: SeriesMarkMap = scatterSeriesMark;\n static readonly builtInTheme = { scatter };\n static readonly transformerConstructor = ScatterSeriesSpecTransformer as any;\n readonly transformerConstructor = ScatterSeriesSpecTransformer;\n\n private _symbolMark: ISymbolMark;\n private _labelMark: ILabelMark;\n\n private _size: IScatterSeriesSpec['size'];\n private _sizeField: string;\n private _shape: IScatterSeriesSpec['shape'];\n private _shapeField: string;\n\n protected _invalidType: IScatterInvalidType = 'zero';\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size\n this._size = this._spec.size;\n this._sizeField = this._spec.sizeField;\n // shape\n this._shape = this._spec.shape;\n this._shapeField = this._spec.shapeField;\n }\n\n private _getSeriesAttribute<T>(\n field: string,\n spec: VisualType<T>,\n {\n defaultScaleType,\n defaultRange\n }: {\n defaultScaleType: ScaleType;\n defaultRange: T[];\n },\n key: string\n ): VisualType<T> {\n // 若sizeSpec是函数\n if (isFunction(spec)) {\n return spec;\n }\n\n if (isArray(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n\n if (defaultScaleType !== 'ordinal' && (spec as any[]).length > 2) {\n this._option?.onError(`${key} length is invalid, specify up to 2 ${key}s.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n this._option.globalScale.registerModelScale({\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: spec\n });\n return {\n scale: scaleName,\n field\n };\n }\n\n // 若sizeSpec是对象\n if (isObject(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n const visualSpec = {\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: defaultRange,\n ...spec\n };\n\n this._option.globalScale.registerModelScale(visualSpec);\n return {\n scale: visualSpec.id,\n field\n };\n }\n\n // 其余情况报错\n this._option?.onError(`${key} attribute is invalid.`);\n return spec;\n }\n\n /**\n * 计算sizeScale\n * @param field 数据对应字段\n * @param sizeSpec size配置\n */\n private getSizeAttribute(field: string, sizeSpec: IScatterSeriesSpec['size']): VisualType<number> {\n // 若sizeSpec不存在\n if (isNil(sizeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SIZE;\n }\n\n // 若sizeSpec是数值\n if (isNumber(sizeSpec)) {\n return sizeSpec;\n }\n\n // 若sizeSpec是字符串中的数值\n if (isString(sizeSpec) && isNumeric(sizeSpec)) {\n return parseFloat(sizeSpec);\n }\n\n return this._getSeriesAttribute<number>(\n field,\n sizeSpec as VisualType<number>,\n {\n defaultScaleType: SCATTER_DEFAULT_SIZE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SIZE\n },\n 'size'\n );\n }\n\n /**\n * 计算shapeScale\n * @param field 数据对应字段\n * @param shapeSpec shape配置\n */\n private getShapeAttribute(field: string, shapeSpec: IScatterSeriesSpec['shape']): VisualType<string> {\n // 若shapeSpec不存在\n if (isNil(shapeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SHAPE;\n }\n\n // 若shapeSpec是字符串\n if (isString(shapeSpec)) {\n return shapeSpec;\n }\n\n return this._getSeriesAttribute<string>(\n field,\n shapeSpec as VisualType<string>,\n {\n defaultScaleType: SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SHAPE\n },\n 'shape'\n );\n }\n\n /**\n * 初始化Mark\n */\n initMark(): void {\n this._symbolMark = this._createMark(\n ScatterSeries.mark.point,\n {\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n morph: shouldMarkDoMorph(this._spec, ScatterSeries.mark.point.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ISymbolMark;\n }\n\n /**\n * 初始化散点图各类Mark的Style\n */\n initMarkStyle(): void {\n this.initSymbolMarkStyle();\n }\n\n /**\n * 初始化动画\n */\n initAnimation(): void {\n const animationParams = getGroupAnimationParams(this);\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<ScatterAppearPreset>)?.preset;\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scatter')?.({}, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n\n /**\n * 初始化SymbolMark\n */\n private initSymbolMarkStyle(): void {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n return;\n }\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(symbolMark, {\n visible: this._getInvalidDefined.bind(this)\n });\n }\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n fill: this.getColorAttribute(),\n size: isNumber(this._size) || isFunction(this._size) ? this._size : SCATTER_DEFAULT_SIZE,\n symbolType: isString(this._shape) || isFunction(this._shape) ? this._shape : SCATTER_DEFAULT_SHAPE\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n if (isValid(this._sizeField) || isValid(this._size)) {\n this.setMarkStyle(\n symbolMark,\n {\n size: this.getSizeAttribute(this._sizeField, this._size) as VisualType<number>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n if (isValid(this._shapeField) || isValid(this._shape)) {\n this.setMarkStyle(\n symbolMark,\n {\n symbolType: this.getShapeAttribute(this._shapeField, this._shape) as VisualType<string>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n const fields = [this.getDimensionField()[0], this.getStackValueField()];\n const allValid = fields.every(field => field && this.getViewDataStatistics()?.latestData?.[field]?.allValid);\n if (this._invalidType === 'zero' || allValid) {\n this.setMarkStyle(this._symbolMark, { visible: true }, 'normal', AttributeLevel.Series);\n } else {\n this.setMarkStyle(\n this._symbolMark,\n { visible: this._getInvalidDefined.bind(this) },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // if has produce, reCompile encode to set attribute to product\n if (this._symbolMark.getProduct()) {\n this._symbolMark.compileEncode();\n }\n }\n\n /**\n * 初始化LabelMark\n */\n initLabelMarkStyle(labelMark?: ILabelMark): void {\n if (!labelMark) {\n return;\n }\n this._labelMark = labelMark;\n this.setMarkStyle(\n labelMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n /**\n * 处理缩放\n */\n private _updateSymbolGraphicPosition() {\n const graphics = this._symbolMark?.getGraphics();\n\n if (!graphics || !graphics.length) {\n return;\n }\n\n graphics.forEach((graphicItem: IMarkGraphic) => {\n const datum = graphicItem?.context?.data?.[0];\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n (graphicItem as unknown as IGraphic).setAttributes({\n x: newPosition.x,\n y: newPosition.y\n });\n }\n });\n }\n\n private _ensureLabelGraphicPostMatrix() {\n const labelGraphic = this._labelMark?.getComponent()?.getComponent();\n\n if (labelGraphic && !labelGraphic.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n\n return labelGraphic;\n }\n\n handleZoom(e: any) {\n const { scale, scaleCenter } = e;\n if (scale === 1) {\n return;\n }\n\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._ensureLabelGraphicPostMatrix();\n\n if (labelGraphic) {\n labelGraphic.scale(scale, scale, scaleCenter);\n }\n }\n\n handlePan(e: any) {\n const { delta } = e;\n if (delta?.[0] === 0 && delta?.[1] === 0) {\n return;\n }\n\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._ensureLabelGraphicPostMatrix();\n\n if (labelGraphic) {\n labelGraphic.translate(delta[0], delta[1]);\n }\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._labelMark?.getComponent()?.getComponent();\n if (labelGraphic?.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n\n const vgrammarLabel = this._labelMark?.getComponent();\n if (vgrammarLabel) {\n vgrammarLabel.renderInner();\n }\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getActiveMarks(): IMark[] {\n return [this._symbolMark];\n }\n}\n\nexport const registerScatterSeries = () => {\n registerSymbolMark();\n registerScatterAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(ScatterSeries.type, ScatterSeries);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/scatter/scatter.ts"],"names":[],"mappings":"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","file":"scatter.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { PREFIX } from '../../constant/base';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Datum, ScaleType, VisualType, IScatterInvalidType } from '../../typings';\nimport type { IScatterSeriesSpec, ScatterAppearPreset } from './interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { isNil, isValid, isObject, isFunction, isString, isArray, isNumber, isNumeric, Matrix } from '@visactor/vutils';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport {\n SCATTER_DEFAULT_RANGE_SHAPE,\n SCATTER_DEFAULT_RANGE_SIZE,\n SCATTER_DEFAULT_SHAPE,\n SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n SCATTER_DEFAULT_SIZE,\n SCATTER_DEFAULT_SIZE_SCALE_TYPE\n} from '../../constant/scatter';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { registerScatterAnimation } from './animation';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { scatterSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { ILabelMark, IMark, IMarkGraphic, ISymbolMark } from '../../mark/interface';\nimport { ScatterSeriesSpecTransformer } from './scatter-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\nimport { scatter } from '../../theme/builtin/common/series/scatter';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { ComponentTypeEnum } from '../../component/interface/type';\nimport { HOOK_EVENT } from '../../constant/event';\n\nexport class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.scatter;\n type = SeriesTypeEnum.scatter;\n\n static readonly mark: SeriesMarkMap = scatterSeriesMark;\n static readonly builtInTheme = { scatter };\n static readonly transformerConstructor = ScatterSeriesSpecTransformer as any;\n readonly transformerConstructor = ScatterSeriesSpecTransformer;\n\n private _symbolMark: ISymbolMark;\n private _labelMark: ILabelMark;\n\n private _size: IScatterSeriesSpec['size'];\n private _sizeField: string;\n private _shape: IScatterSeriesSpec['shape'];\n private _shapeField: string;\n private _enableLabelAnimationHook?: () => void;\n\n protected _invalidType: IScatterInvalidType = 'zero';\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size\n this._size = this._spec.size;\n this._sizeField = this._spec.sizeField;\n // shape\n this._shape = this._spec.shape;\n this._shapeField = this._spec.shapeField;\n }\n\n private _getSeriesAttribute<T>(\n field: string,\n spec: VisualType<T>,\n {\n defaultScaleType,\n defaultRange\n }: {\n defaultScaleType: ScaleType;\n defaultRange: T[];\n },\n key: string\n ): VisualType<T> {\n // 若sizeSpec是函数\n if (isFunction(spec)) {\n return spec;\n }\n\n if (isArray(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n\n if (defaultScaleType !== 'ordinal' && (spec as any[]).length > 2) {\n this._option?.onError(`${key} length is invalid, specify up to 2 ${key}s.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n this._option.globalScale.registerModelScale({\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: spec\n });\n return {\n scale: scaleName,\n field\n };\n }\n\n // 若sizeSpec是对象\n if (isObject(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n const visualSpec = {\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: defaultRange,\n ...spec\n };\n\n this._option.globalScale.registerModelScale(visualSpec);\n return {\n scale: visualSpec.id,\n field\n };\n }\n\n // 其余情况报错\n this._option?.onError(`${key} attribute is invalid.`);\n return spec;\n }\n\n /**\n * 计算sizeScale\n * @param field 数据对应字段\n * @param sizeSpec size配置\n */\n private getSizeAttribute(field: string, sizeSpec: IScatterSeriesSpec['size']): VisualType<number> {\n // 若sizeSpec不存在\n if (isNil(sizeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SIZE;\n }\n\n // 若sizeSpec是数值\n if (isNumber(sizeSpec)) {\n return sizeSpec;\n }\n\n // 若sizeSpec是字符串中的数值\n if (isString(sizeSpec) && isNumeric(sizeSpec)) {\n return parseFloat(sizeSpec);\n }\n\n return this._getSeriesAttribute<number>(\n field,\n sizeSpec as VisualType<number>,\n {\n defaultScaleType: SCATTER_DEFAULT_SIZE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SIZE\n },\n 'size'\n );\n }\n\n /**\n * 计算shapeScale\n * @param field 数据对应字段\n * @param shapeSpec shape配置\n */\n private getShapeAttribute(field: string, shapeSpec: IScatterSeriesSpec['shape']): VisualType<string> {\n // 若shapeSpec不存在\n if (isNil(shapeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SHAPE;\n }\n\n // 若shapeSpec是字符串\n if (isString(shapeSpec)) {\n return shapeSpec;\n }\n\n return this._getSeriesAttribute<string>(\n field,\n shapeSpec as VisualType<string>,\n {\n defaultScaleType: SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SHAPE\n },\n 'shape'\n );\n }\n\n /**\n * 初始化Mark\n */\n initMark(): void {\n this._symbolMark = this._createMark(\n ScatterSeries.mark.point,\n {\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n morph: shouldMarkDoMorph(this._spec, ScatterSeries.mark.point.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ISymbolMark;\n }\n\n /**\n * 初始化散点图各类Mark的Style\n */\n initMarkStyle(): void {\n this.initSymbolMarkStyle();\n }\n\n /**\n * 初始化动画\n */\n initAnimation(): void {\n const animationParams = getGroupAnimationParams(this);\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<ScatterAppearPreset>)?.preset;\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scatter')?.({}, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n\n /**\n * 初始化SymbolMark\n */\n private initSymbolMarkStyle(): void {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n return;\n }\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(symbolMark, {\n visible: this._getInvalidDefined.bind(this)\n });\n }\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n fill: this.getColorAttribute(),\n size: isNumber(this._size) || isFunction(this._size) ? this._size : SCATTER_DEFAULT_SIZE,\n symbolType: isString(this._shape) || isFunction(this._shape) ? this._shape : SCATTER_DEFAULT_SHAPE\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n if (isValid(this._sizeField) || isValid(this._size)) {\n this.setMarkStyle(\n symbolMark,\n {\n size: this.getSizeAttribute(this._sizeField, this._size) as VisualType<number>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n if (isValid(this._shapeField) || isValid(this._shape)) {\n this.setMarkStyle(\n symbolMark,\n {\n symbolType: this.getShapeAttribute(this._shapeField, this._shape) as VisualType<string>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n const fields = [this.getDimensionField()[0], this.getStackValueField()];\n const allValid = fields.every(field => field && this.getViewDataStatistics()?.latestData?.[field]?.allValid);\n if (this._invalidType === 'zero' || allValid) {\n this.setMarkStyle(this._symbolMark, { visible: true }, 'normal', AttributeLevel.Series);\n } else {\n this.setMarkStyle(\n this._symbolMark,\n { visible: this._getInvalidDefined.bind(this) },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // if has produce, reCompile encode to set attribute to product\n if (this._symbolMark.getProduct()) {\n this._symbolMark.compileEncode();\n }\n\n // geo 场景下,图例筛选会触发 data update,需要同步刷新散点与 label 的位置\n // 避免复用旧图元导致位置滞后\n if (this._isGeoCoordinateSeries()) {\n this._updateSymbolGraphicPosition();\n this._refreshLabelComponent(true, true);\n }\n }\n\n /**\n * 初始化LabelMark\n */\n initLabelMarkStyle(labelMark?: ILabelMark): void {\n if (!labelMark) {\n return;\n }\n this._labelMark = labelMark;\n this.setMarkStyle(\n labelMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n /**\n * 处理缩放\n */\n private _updateSymbolGraphicPosition() {\n const graphics = this._symbolMark?.getGraphics();\n\n if (!graphics || !graphics.length) {\n return;\n }\n\n graphics.forEach((graphicItem: IMarkGraphic) => {\n const datum = graphicItem?.context?.data?.[0];\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n (graphicItem as unknown as IGraphic).setAttributes({\n x: newPosition.x,\n y: newPosition.y\n });\n }\n });\n }\n\n private _ensureLabelGraphicPostMatrix() {\n const labelGraphic = this._labelMark?.getComponent()?.getComponent();\n\n if (labelGraphic && !labelGraphic.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n\n return labelGraphic;\n }\n\n private _isGeoCoordinateSeries() {\n return this.getXAxisHelper()?.getAxisType?.() === ComponentTypeEnum.geoCoordinate;\n }\n\n private _refreshLabelComponent(resetPostMatrix: boolean = false, disableAnimation: boolean = false) {\n const vgrammarLabel = this._labelMark?.getComponent();\n const labelGraphic = vgrammarLabel?.getComponent?.();\n if (resetPostMatrix) {\n if (labelGraphic?.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n }\n if (disableAnimation && labelGraphic?.disableAnimation) {\n labelGraphic.disableAnimation();\n if (!this._enableLabelAnimationHook) {\n this._enableLabelAnimationHook = () => {\n const currentLabelGraphic = this._labelMark?.getComponent()?.getComponent?.();\n currentLabelGraphic?.enableAnimation?.();\n this.event.off(HOOK_EVENT.AFTER_MARK_RENDER_END, this._enableLabelAnimationHook);\n this._enableLabelAnimationHook = undefined;\n };\n this.event.on(HOOK_EVENT.AFTER_MARK_RENDER_END, this._enableLabelAnimationHook);\n }\n }\n // 图例筛选等数据流程中,label component 可能尚未挂载 product,直接 renderInner 会触发 appendChild 报错\n if (vgrammarLabel?.getProduct()) {\n vgrammarLabel.renderInner();\n }\n }\n\n handleZoom(e: any) {\n const { scale, scaleCenter } = e;\n if (scale === 1) {\n return;\n }\n\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._ensureLabelGraphicPostMatrix();\n\n if (labelGraphic) {\n labelGraphic.scale(scale, scale, scaleCenter);\n }\n }\n\n handlePan(e: any) {\n const { delta } = e;\n if (delta?.[0] === 0 && delta?.[1] === 0) {\n return;\n }\n\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._ensureLabelGraphicPostMatrix();\n\n if (labelGraphic) {\n labelGraphic.translate(delta[0], delta[1]);\n }\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._labelMark?.getComponent()?.getComponent();\n if (labelGraphic?.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n\n this._refreshLabelComponent();\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getActiveMarks(): IMark[] {\n return [this._symbolMark];\n }\n}\n\nexport const registerScatterSeries = () => {\n registerSymbolMark();\n registerScatterAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(ScatterSeries.type, ScatterSeries);\n};\n"]}
|
package/esm/component/index.js
CHANGED
package/esm/component/util.js
CHANGED
|
@@ -7,5 +7,4 @@ export var AttributeLevel;
|
|
|
7
7
|
AttributeLevel[AttributeLevel.User_Chart = 6] = "User_Chart", AttributeLevel[AttributeLevel.User_Series = 7] = "User_Series",
|
|
8
8
|
AttributeLevel[AttributeLevel.User_Mark = 8] = "User_Mark", AttributeLevel[AttributeLevel.User_SeriesStyle = 9] = "User_SeriesStyle",
|
|
9
9
|
AttributeLevel[AttributeLevel.Built_In = 99] = "Built_In";
|
|
10
|
-
}(AttributeLevel || (AttributeLevel = {}));
|
|
11
|
-
//# sourceMappingURL=attribute.js.map
|
|
10
|
+
}(AttributeLevel || (AttributeLevel = {}));
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export const SCROLL_BAR_DEFAULT_SIZE = 12;
|
|
1
|
+
export const SCROLL_BAR_DEFAULT_SIZE = 12;
|
|
2
|
+
//# sourceMappingURL=scroll-bar.js.map
|
package/esm/core/interface.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { };
|
|
2
|
-
//# sourceMappingURL=interface.js.map
|
|
2
|
+
//# sourceMappingURL=interface.js.map
|
package/esm/core/util.js
CHANGED
|
@@ -21,6 +21,7 @@ export declare class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeries
|
|
|
21
21
|
private _sizeField;
|
|
22
22
|
private _shape;
|
|
23
23
|
private _shapeField;
|
|
24
|
+
private _enableLabelAnimationHook?;
|
|
24
25
|
protected _invalidType: IScatterInvalidType;
|
|
25
26
|
setAttrFromSpec(): void;
|
|
26
27
|
private _getSeriesAttribute;
|
|
@@ -35,6 +36,8 @@ export declare class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeries
|
|
|
35
36
|
initLabelMarkStyle(labelMark?: ILabelMark): void;
|
|
36
37
|
private _updateSymbolGraphicPosition;
|
|
37
38
|
private _ensureLabelGraphicPostMatrix;
|
|
39
|
+
private _isGeoCoordinateSeries;
|
|
40
|
+
private _refreshLabelComponent;
|
|
38
41
|
handleZoom(e: any): void;
|
|
39
42
|
handlePan(e: any): void;
|
|
40
43
|
onLayoutEnd(): void;
|
|
@@ -30,6 +30,10 @@ import { registerCartesianLinearAxis, registerCartesianBandAxis } from "../../co
|
|
|
30
30
|
|
|
31
31
|
import { scatter } from "../../theme/builtin/common/series/scatter";
|
|
32
32
|
|
|
33
|
+
import { ComponentTypeEnum } from "../../component/interface/type";
|
|
34
|
+
|
|
35
|
+
import { HOOK_EVENT } from "../../constant/event";
|
|
36
|
+
|
|
33
37
|
export class ScatterSeries extends CartesianSeries {
|
|
34
38
|
constructor() {
|
|
35
39
|
super(...arguments), this.type = SeriesTypeEnum.scatter, this.transformerConstructor = ScatterSeriesSpecTransformer,
|
|
@@ -140,7 +144,8 @@ export class ScatterSeries extends CartesianSeries {
|
|
|
140
144
|
visible: !0
|
|
141
145
|
}, "normal", AttributeLevel.Series) : this.setMarkStyle(this._symbolMark, {
|
|
142
146
|
visible: this._getInvalidDefined.bind(this)
|
|
143
|
-
}, "normal", AttributeLevel.Series), this._symbolMark.getProduct() && this._symbolMark.compileEncode()
|
|
147
|
+
}, "normal", AttributeLevel.Series), this._symbolMark.getProduct() && this._symbolMark.compileEncode(),
|
|
148
|
+
this._isGeoCoordinateSeries() && (this._updateSymbolGraphicPosition(), this._refreshLabelComponent(!0, !0));
|
|
144
149
|
}
|
|
145
150
|
initLabelMarkStyle(labelMark) {
|
|
146
151
|
labelMark && (this._labelMark = labelMark, this.setMarkStyle(labelMark, {
|
|
@@ -170,6 +175,25 @@ export class ScatterSeries extends CartesianSeries {
|
|
|
170
175
|
postMatrix: new Matrix
|
|
171
176
|
}), labelGraphic;
|
|
172
177
|
}
|
|
178
|
+
_isGeoCoordinateSeries() {
|
|
179
|
+
var _a, _b;
|
|
180
|
+
return (null === (_b = null === (_a = this.getXAxisHelper()) || void 0 === _a ? void 0 : _a.getAxisType) || void 0 === _b ? void 0 : _b.call(_a)) === ComponentTypeEnum.geoCoordinate;
|
|
181
|
+
}
|
|
182
|
+
_refreshLabelComponent(resetPostMatrix = !1, disableAnimation = !1) {
|
|
183
|
+
var _a, _b;
|
|
184
|
+
const vgrammarLabel = null === (_a = this._labelMark) || void 0 === _a ? void 0 : _a.getComponent(), labelGraphic = null === (_b = null == vgrammarLabel ? void 0 : vgrammarLabel.getComponent) || void 0 === _b ? void 0 : _b.call(vgrammarLabel);
|
|
185
|
+
resetPostMatrix && (null == labelGraphic ? void 0 : labelGraphic.attribute.postMatrix) && labelGraphic.setAttributes({
|
|
186
|
+
postMatrix: new Matrix
|
|
187
|
+
}), disableAnimation && (null == labelGraphic ? void 0 : labelGraphic.disableAnimation) && (labelGraphic.disableAnimation(),
|
|
188
|
+
this._enableLabelAnimationHook || (this._enableLabelAnimationHook = () => {
|
|
189
|
+
var _a, _b, _c, _d;
|
|
190
|
+
const currentLabelGraphic = null === (_c = null === (_b = null === (_a = this._labelMark) || void 0 === _a ? void 0 : _a.getComponent()) || void 0 === _b ? void 0 : _b.getComponent) || void 0 === _c ? void 0 : _c.call(_b);
|
|
191
|
+
null === (_d = null == currentLabelGraphic ? void 0 : currentLabelGraphic.enableAnimation) || void 0 === _d || _d.call(currentLabelGraphic),
|
|
192
|
+
this.event.off(HOOK_EVENT.AFTER_MARK_RENDER_END, this._enableLabelAnimationHook),
|
|
193
|
+
this._enableLabelAnimationHook = void 0;
|
|
194
|
+
}, this.event.on(HOOK_EVENT.AFTER_MARK_RENDER_END, this._enableLabelAnimationHook))),
|
|
195
|
+
(null == vgrammarLabel ? void 0 : vgrammarLabel.getProduct()) && vgrammarLabel.renderInner();
|
|
196
|
+
}
|
|
173
197
|
handleZoom(e) {
|
|
174
198
|
const {scale: scale, scaleCenter: scaleCenter} = e;
|
|
175
199
|
if (1 === scale) return;
|
|
@@ -185,14 +209,12 @@ export class ScatterSeries extends CartesianSeries {
|
|
|
185
209
|
labelGraphic && labelGraphic.translate(delta[0], delta[1]);
|
|
186
210
|
}
|
|
187
211
|
onLayoutEnd() {
|
|
188
|
-
var _a, _b
|
|
212
|
+
var _a, _b;
|
|
189
213
|
super.onLayoutEnd(), this._updateSymbolGraphicPosition();
|
|
190
214
|
const labelGraphic = null === (_b = null === (_a = this._labelMark) || void 0 === _a ? void 0 : _a.getComponent()) || void 0 === _b ? void 0 : _b.getComponent();
|
|
191
215
|
(null == labelGraphic ? void 0 : labelGraphic.attribute.postMatrix) && labelGraphic.setAttributes({
|
|
192
216
|
postMatrix: new Matrix
|
|
193
|
-
});
|
|
194
|
-
const vgrammarLabel = null === (_c = this._labelMark) || void 0 === _c ? void 0 : _c.getComponent();
|
|
195
|
-
vgrammarLabel && vgrammarLabel.renderInner();
|
|
217
|
+
}), this._refreshLabelComponent();
|
|
196
218
|
}
|
|
197
219
|
getDefaultShapeType() {
|
|
198
220
|
return "circle";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/scatter/scatter.ts"],"names":[],"mappings":"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","file":"scatter.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { PREFIX } from '../../constant/base';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Datum, ScaleType, VisualType, IScatterInvalidType } from '../../typings';\nimport type { IScatterSeriesSpec, ScatterAppearPreset } from './interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { isNil, isValid, isObject, isFunction, isString, isArray, isNumber, isNumeric, Matrix } from '@visactor/vutils';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport {\n SCATTER_DEFAULT_RANGE_SHAPE,\n SCATTER_DEFAULT_RANGE_SIZE,\n SCATTER_DEFAULT_SHAPE,\n SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n SCATTER_DEFAULT_SIZE,\n SCATTER_DEFAULT_SIZE_SCALE_TYPE\n} from '../../constant/scatter';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { registerScatterAnimation } from './animation';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { scatterSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { ILabelMark, IMark, IMarkGraphic, ISymbolMark } from '../../mark/interface';\nimport { ScatterSeriesSpecTransformer } from './scatter-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\nimport { scatter } from '../../theme/builtin/common/series/scatter';\nimport type { IGraphic } from '@visactor/vrender-core';\n\nexport class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.scatter;\n type = SeriesTypeEnum.scatter;\n\n static readonly mark: SeriesMarkMap = scatterSeriesMark;\n static readonly builtInTheme = { scatter };\n static readonly transformerConstructor = ScatterSeriesSpecTransformer as any;\n readonly transformerConstructor = ScatterSeriesSpecTransformer;\n\n private _symbolMark: ISymbolMark;\n private _labelMark: ILabelMark;\n\n private _size: IScatterSeriesSpec['size'];\n private _sizeField: string;\n private _shape: IScatterSeriesSpec['shape'];\n private _shapeField: string;\n\n protected _invalidType: IScatterInvalidType = 'zero';\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size\n this._size = this._spec.size;\n this._sizeField = this._spec.sizeField;\n // shape\n this._shape = this._spec.shape;\n this._shapeField = this._spec.shapeField;\n }\n\n private _getSeriesAttribute<T>(\n field: string,\n spec: VisualType<T>,\n {\n defaultScaleType,\n defaultRange\n }: {\n defaultScaleType: ScaleType;\n defaultRange: T[];\n },\n key: string\n ): VisualType<T> {\n // 若sizeSpec是函数\n if (isFunction(spec)) {\n return spec;\n }\n\n if (isArray(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n\n if (defaultScaleType !== 'ordinal' && (spec as any[]).length > 2) {\n this._option?.onError(`${key} length is invalid, specify up to 2 ${key}s.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n this._option.globalScale.registerModelScale({\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: spec\n });\n return {\n scale: scaleName,\n field\n };\n }\n\n // 若sizeSpec是对象\n if (isObject(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n const visualSpec = {\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: defaultRange,\n ...spec\n };\n\n this._option.globalScale.registerModelScale(visualSpec);\n return {\n scale: visualSpec.id,\n field\n };\n }\n\n // 其余情况报错\n this._option?.onError(`${key} attribute is invalid.`);\n return spec;\n }\n\n /**\n * 计算sizeScale\n * @param field 数据对应字段\n * @param sizeSpec size配置\n */\n private getSizeAttribute(field: string, sizeSpec: IScatterSeriesSpec['size']): VisualType<number> {\n // 若sizeSpec不存在\n if (isNil(sizeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SIZE;\n }\n\n // 若sizeSpec是数值\n if (isNumber(sizeSpec)) {\n return sizeSpec;\n }\n\n // 若sizeSpec是字符串中的数值\n if (isString(sizeSpec) && isNumeric(sizeSpec)) {\n return parseFloat(sizeSpec);\n }\n\n return this._getSeriesAttribute<number>(\n field,\n sizeSpec as VisualType<number>,\n {\n defaultScaleType: SCATTER_DEFAULT_SIZE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SIZE\n },\n 'size'\n );\n }\n\n /**\n * 计算shapeScale\n * @param field 数据对应字段\n * @param shapeSpec shape配置\n */\n private getShapeAttribute(field: string, shapeSpec: IScatterSeriesSpec['shape']): VisualType<string> {\n // 若shapeSpec不存在\n if (isNil(shapeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SHAPE;\n }\n\n // 若shapeSpec是字符串\n if (isString(shapeSpec)) {\n return shapeSpec;\n }\n\n return this._getSeriesAttribute<string>(\n field,\n shapeSpec as VisualType<string>,\n {\n defaultScaleType: SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SHAPE\n },\n 'shape'\n );\n }\n\n /**\n * 初始化Mark\n */\n initMark(): void {\n this._symbolMark = this._createMark(\n ScatterSeries.mark.point,\n {\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n morph: shouldMarkDoMorph(this._spec, ScatterSeries.mark.point.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ISymbolMark;\n }\n\n /**\n * 初始化散点图各类Mark的Style\n */\n initMarkStyle(): void {\n this.initSymbolMarkStyle();\n }\n\n /**\n * 初始化动画\n */\n initAnimation(): void {\n const animationParams = getGroupAnimationParams(this);\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<ScatterAppearPreset>)?.preset;\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scatter')?.({}, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n\n /**\n * 初始化SymbolMark\n */\n private initSymbolMarkStyle(): void {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n return;\n }\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(symbolMark, {\n visible: this._getInvalidDefined.bind(this)\n });\n }\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n fill: this.getColorAttribute(),\n size: isNumber(this._size) || isFunction(this._size) ? this._size : SCATTER_DEFAULT_SIZE,\n symbolType: isString(this._shape) || isFunction(this._shape) ? this._shape : SCATTER_DEFAULT_SHAPE\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n if (isValid(this._sizeField) || isValid(this._size)) {\n this.setMarkStyle(\n symbolMark,\n {\n size: this.getSizeAttribute(this._sizeField, this._size) as VisualType<number>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n if (isValid(this._shapeField) || isValid(this._shape)) {\n this.setMarkStyle(\n symbolMark,\n {\n symbolType: this.getShapeAttribute(this._shapeField, this._shape) as VisualType<string>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n const fields = [this.getDimensionField()[0], this.getStackValueField()];\n const allValid = fields.every(field => field && this.getViewDataStatistics()?.latestData?.[field]?.allValid);\n if (this._invalidType === 'zero' || allValid) {\n this.setMarkStyle(this._symbolMark, { visible: true }, 'normal', AttributeLevel.Series);\n } else {\n this.setMarkStyle(\n this._symbolMark,\n { visible: this._getInvalidDefined.bind(this) },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // if has produce, reCompile encode to set attribute to product\n if (this._symbolMark.getProduct()) {\n this._symbolMark.compileEncode();\n }\n }\n\n /**\n * 初始化LabelMark\n */\n initLabelMarkStyle(labelMark?: ILabelMark): void {\n if (!labelMark) {\n return;\n }\n this._labelMark = labelMark;\n this.setMarkStyle(\n labelMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n /**\n * 处理缩放\n */\n private _updateSymbolGraphicPosition() {\n const graphics = this._symbolMark?.getGraphics();\n\n if (!graphics || !graphics.length) {\n return;\n }\n\n graphics.forEach((graphicItem: IMarkGraphic) => {\n const datum = graphicItem?.context?.data?.[0];\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n (graphicItem as unknown as IGraphic).setAttributes({\n x: newPosition.x,\n y: newPosition.y\n });\n }\n });\n }\n\n private _ensureLabelGraphicPostMatrix() {\n const labelGraphic = this._labelMark?.getComponent()?.getComponent();\n\n if (labelGraphic && !labelGraphic.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n\n return labelGraphic;\n }\n\n handleZoom(e: any) {\n const { scale, scaleCenter } = e;\n if (scale === 1) {\n return;\n }\n\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._ensureLabelGraphicPostMatrix();\n\n if (labelGraphic) {\n labelGraphic.scale(scale, scale, scaleCenter);\n }\n }\n\n handlePan(e: any) {\n const { delta } = e;\n if (delta?.[0] === 0 && delta?.[1] === 0) {\n return;\n }\n\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._ensureLabelGraphicPostMatrix();\n\n if (labelGraphic) {\n labelGraphic.translate(delta[0], delta[1]);\n }\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._labelMark?.getComponent()?.getComponent();\n if (labelGraphic?.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n\n const vgrammarLabel = this._labelMark?.getComponent();\n if (vgrammarLabel) {\n vgrammarLabel.renderInner();\n }\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getActiveMarks(): IMark[] {\n return [this._symbolMark];\n }\n}\n\nexport const registerScatterSeries = () => {\n registerSymbolMark();\n registerScatterAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(ScatterSeries.type, ScatterSeries);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/scatter/scatter.ts"],"names":[],"mappings":"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","file":"scatter.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { PREFIX } from '../../constant/base';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Datum, ScaleType, VisualType, IScatterInvalidType } from '../../typings';\nimport type { IScatterSeriesSpec, ScatterAppearPreset } from './interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { isNil, isValid, isObject, isFunction, isString, isArray, isNumber, isNumeric, Matrix } from '@visactor/vutils';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport {\n SCATTER_DEFAULT_RANGE_SHAPE,\n SCATTER_DEFAULT_RANGE_SIZE,\n SCATTER_DEFAULT_SHAPE,\n SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n SCATTER_DEFAULT_SIZE,\n SCATTER_DEFAULT_SIZE_SCALE_TYPE\n} from '../../constant/scatter';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { registerScatterAnimation } from './animation';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { scatterSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { ILabelMark, IMark, IMarkGraphic, ISymbolMark } from '../../mark/interface';\nimport { ScatterSeriesSpecTransformer } from './scatter-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\nimport { scatter } from '../../theme/builtin/common/series/scatter';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { ComponentTypeEnum } from '../../component/interface/type';\nimport { HOOK_EVENT } from '../../constant/event';\n\nexport class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.scatter;\n type = SeriesTypeEnum.scatter;\n\n static readonly mark: SeriesMarkMap = scatterSeriesMark;\n static readonly builtInTheme = { scatter };\n static readonly transformerConstructor = ScatterSeriesSpecTransformer as any;\n readonly transformerConstructor = ScatterSeriesSpecTransformer;\n\n private _symbolMark: ISymbolMark;\n private _labelMark: ILabelMark;\n\n private _size: IScatterSeriesSpec['size'];\n private _sizeField: string;\n private _shape: IScatterSeriesSpec['shape'];\n private _shapeField: string;\n private _enableLabelAnimationHook?: () => void;\n\n protected _invalidType: IScatterInvalidType = 'zero';\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size\n this._size = this._spec.size;\n this._sizeField = this._spec.sizeField;\n // shape\n this._shape = this._spec.shape;\n this._shapeField = this._spec.shapeField;\n }\n\n private _getSeriesAttribute<T>(\n field: string,\n spec: VisualType<T>,\n {\n defaultScaleType,\n defaultRange\n }: {\n defaultScaleType: ScaleType;\n defaultRange: T[];\n },\n key: string\n ): VisualType<T> {\n // 若sizeSpec是函数\n if (isFunction(spec)) {\n return spec;\n }\n\n if (isArray(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n\n if (defaultScaleType !== 'ordinal' && (spec as any[]).length > 2) {\n this._option?.onError(`${key} length is invalid, specify up to 2 ${key}s.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n this._option.globalScale.registerModelScale({\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: spec\n });\n return {\n scale: scaleName,\n field\n };\n }\n\n // 若sizeSpec是对象\n if (isObject(spec)) {\n if (isNil(field)) {\n this._option?.onError(`${key}Field is required.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n const visualSpec = {\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: defaultRange,\n ...spec\n };\n\n this._option.globalScale.registerModelScale(visualSpec);\n return {\n scale: visualSpec.id,\n field\n };\n }\n\n // 其余情况报错\n this._option?.onError(`${key} attribute is invalid.`);\n return spec;\n }\n\n /**\n * 计算sizeScale\n * @param field 数据对应字段\n * @param sizeSpec size配置\n */\n private getSizeAttribute(field: string, sizeSpec: IScatterSeriesSpec['size']): VisualType<number> {\n // 若sizeSpec不存在\n if (isNil(sizeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SIZE;\n }\n\n // 若sizeSpec是数值\n if (isNumber(sizeSpec)) {\n return sizeSpec;\n }\n\n // 若sizeSpec是字符串中的数值\n if (isString(sizeSpec) && isNumeric(sizeSpec)) {\n return parseFloat(sizeSpec);\n }\n\n return this._getSeriesAttribute<number>(\n field,\n sizeSpec as VisualType<number>,\n {\n defaultScaleType: SCATTER_DEFAULT_SIZE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SIZE\n },\n 'size'\n );\n }\n\n /**\n * 计算shapeScale\n * @param field 数据对应字段\n * @param shapeSpec shape配置\n */\n private getShapeAttribute(field: string, shapeSpec: IScatterSeriesSpec['shape']): VisualType<string> {\n // 若shapeSpec不存在\n if (isNil(shapeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SHAPE;\n }\n\n // 若shapeSpec是字符串\n if (isString(shapeSpec)) {\n return shapeSpec;\n }\n\n return this._getSeriesAttribute<string>(\n field,\n shapeSpec as VisualType<string>,\n {\n defaultScaleType: SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SHAPE\n },\n 'shape'\n );\n }\n\n /**\n * 初始化Mark\n */\n initMark(): void {\n this._symbolMark = this._createMark(\n ScatterSeries.mark.point,\n {\n groupKey: this._seriesField,\n isSeriesMark: true\n },\n {\n morph: shouldMarkDoMorph(this._spec, ScatterSeries.mark.point.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ISymbolMark;\n }\n\n /**\n * 初始化散点图各类Mark的Style\n */\n initMarkStyle(): void {\n this.initSymbolMarkStyle();\n }\n\n /**\n * 初始化动画\n */\n initAnimation(): void {\n const animationParams = getGroupAnimationParams(this);\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<ScatterAppearPreset>)?.preset;\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scatter')?.({}, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n\n /**\n * 初始化SymbolMark\n */\n private initSymbolMarkStyle(): void {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n return;\n }\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(symbolMark, {\n visible: this._getInvalidDefined.bind(this)\n });\n }\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n fill: this.getColorAttribute(),\n size: isNumber(this._size) || isFunction(this._size) ? this._size : SCATTER_DEFAULT_SIZE,\n symbolType: isString(this._shape) || isFunction(this._shape) ? this._shape : SCATTER_DEFAULT_SHAPE\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n if (isValid(this._sizeField) || isValid(this._size)) {\n this.setMarkStyle(\n symbolMark,\n {\n size: this.getSizeAttribute(this._sizeField, this._size) as VisualType<number>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n if (isValid(this._shapeField) || isValid(this._shape)) {\n this.setMarkStyle(\n symbolMark,\n {\n symbolType: this.getShapeAttribute(this._shapeField, this._shape) as VisualType<string>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n const fields = [this.getDimensionField()[0], this.getStackValueField()];\n const allValid = fields.every(field => field && this.getViewDataStatistics()?.latestData?.[field]?.allValid);\n if (this._invalidType === 'zero' || allValid) {\n this.setMarkStyle(this._symbolMark, { visible: true }, 'normal', AttributeLevel.Series);\n } else {\n this.setMarkStyle(\n this._symbolMark,\n { visible: this._getInvalidDefined.bind(this) },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // if has produce, reCompile encode to set attribute to product\n if (this._symbolMark.getProduct()) {\n this._symbolMark.compileEncode();\n }\n\n // geo 场景下,图例筛选会触发 data update,需要同步刷新散点与 label 的位置\n // 避免复用旧图元导致位置滞后\n if (this._isGeoCoordinateSeries()) {\n this._updateSymbolGraphicPosition();\n this._refreshLabelComponent(true, true);\n }\n }\n\n /**\n * 初始化LabelMark\n */\n initLabelMarkStyle(labelMark?: ILabelMark): void {\n if (!labelMark) {\n return;\n }\n this._labelMark = labelMark;\n this.setMarkStyle(\n labelMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined.bind(this)\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n /**\n * 处理缩放\n */\n private _updateSymbolGraphicPosition() {\n const graphics = this._symbolMark?.getGraphics();\n\n if (!graphics || !graphics.length) {\n return;\n }\n\n graphics.forEach((graphicItem: IMarkGraphic) => {\n const datum = graphicItem?.context?.data?.[0];\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n (graphicItem as unknown as IGraphic).setAttributes({\n x: newPosition.x,\n y: newPosition.y\n });\n }\n });\n }\n\n private _ensureLabelGraphicPostMatrix() {\n const labelGraphic = this._labelMark?.getComponent()?.getComponent();\n\n if (labelGraphic && !labelGraphic.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n\n return labelGraphic;\n }\n\n private _isGeoCoordinateSeries() {\n return this.getXAxisHelper()?.getAxisType?.() === ComponentTypeEnum.geoCoordinate;\n }\n\n private _refreshLabelComponent(resetPostMatrix: boolean = false, disableAnimation: boolean = false) {\n const vgrammarLabel = this._labelMark?.getComponent();\n const labelGraphic = vgrammarLabel?.getComponent?.();\n if (resetPostMatrix) {\n if (labelGraphic?.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n }\n if (disableAnimation && labelGraphic?.disableAnimation) {\n labelGraphic.disableAnimation();\n if (!this._enableLabelAnimationHook) {\n this._enableLabelAnimationHook = () => {\n const currentLabelGraphic = this._labelMark?.getComponent()?.getComponent?.();\n currentLabelGraphic?.enableAnimation?.();\n this.event.off(HOOK_EVENT.AFTER_MARK_RENDER_END, this._enableLabelAnimationHook);\n this._enableLabelAnimationHook = undefined;\n };\n this.event.on(HOOK_EVENT.AFTER_MARK_RENDER_END, this._enableLabelAnimationHook);\n }\n }\n // 图例筛选等数据流程中,label component 可能尚未挂载 product,直接 renderInner 会触发 appendChild 报错\n if (vgrammarLabel?.getProduct()) {\n vgrammarLabel.renderInner();\n }\n }\n\n handleZoom(e: any) {\n const { scale, scaleCenter } = e;\n if (scale === 1) {\n return;\n }\n\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._ensureLabelGraphicPostMatrix();\n\n if (labelGraphic) {\n labelGraphic.scale(scale, scale, scaleCenter);\n }\n }\n\n handlePan(e: any) {\n const { delta } = e;\n if (delta?.[0] === 0 && delta?.[1] === 0) {\n return;\n }\n\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._ensureLabelGraphicPostMatrix();\n\n if (labelGraphic) {\n labelGraphic.translate(delta[0], delta[1]);\n }\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this._updateSymbolGraphicPosition();\n\n const labelGraphic = this._labelMark?.getComponent()?.getComponent();\n if (labelGraphic?.attribute.postMatrix) {\n labelGraphic.setAttributes({\n postMatrix: new Matrix()\n });\n }\n\n this._refreshLabelComponent();\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getActiveMarks(): IMark[] {\n return [this._symbolMark];\n }\n}\n\nexport const registerScatterSeries = () => {\n registerSymbolMark();\n registerScatterAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(ScatterSeries.type, ScatterSeries);\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vchart",
|
|
3
|
-
"version": "2.0.23-alpha.
|
|
3
|
+
"version": "2.0.23-alpha.5",
|
|
4
4
|
"description": "charts lib based @visactor/VGrammar",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -85,10 +85,10 @@
|
|
|
85
85
|
"@size-limit/file": "9.0.0",
|
|
86
86
|
"rimraf": "3.0.2",
|
|
87
87
|
"cross-env": "^7.0.3",
|
|
88
|
-
"@internal/
|
|
89
|
-
"@internal/bundler": "0.0.1",
|
|
88
|
+
"@internal/ts-config": "0.0.1",
|
|
90
89
|
"@internal/eslint-config": "0.0.1",
|
|
91
|
-
"@internal/
|
|
90
|
+
"@internal/typescript-json-schema": "0.0.1",
|
|
91
|
+
"@internal/bundler": "0.0.1"
|
|
92
92
|
},
|
|
93
93
|
"dependencies": {
|
|
94
94
|
"@visactor/vutils": "~1.0.23",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"@visactor/vrender-kits": "1.0.45",
|
|
100
100
|
"@visactor/vrender-components": "1.0.45",
|
|
101
101
|
"@visactor/vrender-animate": "1.0.45",
|
|
102
|
-
"@visactor/vutils-extension": "2.0.23-alpha.
|
|
102
|
+
"@visactor/vutils-extension": "2.0.23-alpha.5"
|
|
103
103
|
},
|
|
104
104
|
"publishConfig": {
|
|
105
105
|
"access": "public",
|