@visactor/vchart 2.0.23-alpha.2 → 2.0.23-alpha.4
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 +15 -0
- package/build/index.js +15 -0
- 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 +1 -2
- package/cjs/constant/attribute.js +2 -1
- package/cjs/constant/scroll-bar.js +1 -2
- package/cjs/constant/waterfall.js +2 -1
- package/cjs/core/interface.js +1 -1
- package/cjs/core/util.js +1 -1
- package/cjs/series/scatter/scatter.d.ts +1 -0
- package/cjs/series/scatter/scatter.js +10 -0
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/esm/component/index.js +1 -1
- package/esm/component/util.js +1 -2
- package/esm/constant/attribute.js +2 -1
- package/esm/constant/scroll-bar.js +1 -2
- package/esm/constant/waterfall.js +2 -1
- package/esm/core/interface.js +1 -1
- package/esm/core/util.js +1 -1
- package/esm/series/scatter/scatter.d.ts +1 -0
- package/esm/series/scatter/scatter.js +10 -0
- 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,4 +11,5 @@ 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 = {}));
|
|
14
|
+
}(AttributeLevel = exports.AttributeLevel || (exports.AttributeLevel = {}));
|
|
15
|
+
//# sourceMappingURL=attribute.js.map
|
|
@@ -2,5 +2,4 @@
|
|
|
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;
|
|
6
|
-
//# sourceMappingURL=scroll-bar.js.map
|
|
5
|
+
}), exports.SCROLL_BAR_DEFAULT_SIZE = void 0, exports.SCROLL_BAR_DEFAULT_SIZE = 12;
|
|
@@ -6,4 +6,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
|
|
7
7
|
const base_1 = require("./base");
|
|
8
8
|
|
|
9
|
-
exports.WaterfallDefaultSeriesField = `${base_1.PREFIX}_waterfall_default_seriesField`;
|
|
9
|
+
exports.WaterfallDefaultSeriesField = `${base_1.PREFIX}_waterfall_default_seriesField`;
|
|
10
|
+
//# sourceMappingURL=waterfall.js.map
|
package/cjs/core/interface.js
CHANGED
package/cjs/core/util.js
CHANGED
|
@@ -37,6 +37,7 @@ export declare class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeries
|
|
|
37
37
|
private _ensureLabelGraphicPostMatrix;
|
|
38
38
|
handleZoom(e: any): void;
|
|
39
39
|
handlePan(e: any): void;
|
|
40
|
+
onLayoutEnd(): void;
|
|
40
41
|
getDefaultShapeType(): string;
|
|
41
42
|
getActiveMarks(): IMark[];
|
|
42
43
|
}
|
|
@@ -165,6 +165,16 @@ class ScatterSeries extends cartesian_1.CartesianSeries {
|
|
|
165
165
|
const labelGraphic = this._ensureLabelGraphicPostMatrix();
|
|
166
166
|
labelGraphic && labelGraphic.translate(delta[0], delta[1]);
|
|
167
167
|
}
|
|
168
|
+
onLayoutEnd() {
|
|
169
|
+
var _a, _b, _c;
|
|
170
|
+
super.onLayoutEnd(), this._updateSymbolGraphicPosition();
|
|
171
|
+
const labelGraphic = null === (_b = null === (_a = this._labelMark) || void 0 === _a ? void 0 : _a.getComponent()) || void 0 === _b ? void 0 : _b.getComponent();
|
|
172
|
+
(null == labelGraphic ? void 0 : labelGraphic.attribute.postMatrix) && labelGraphic.setAttributes({
|
|
173
|
+
postMatrix: new vutils_1.Matrix
|
|
174
|
+
});
|
|
175
|
+
const vgrammarLabel = null === (_c = this._labelMark) || void 0 === _c ? void 0 : _c.getComponent();
|
|
176
|
+
vgrammarLabel && vgrammarLabel.renderInner();
|
|
177
|
+
}
|
|
168
178
|
getDefaultShapeType() {
|
|
169
179
|
return "circle";
|
|
170
180
|
}
|
|
@@ -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 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';\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"]}
|
package/esm/component/index.js
CHANGED
package/esm/component/util.js
CHANGED
|
@@ -7,4 +7,5 @@ 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 = {}));
|
|
10
|
+
}(AttributeLevel || (AttributeLevel = {}));
|
|
11
|
+
//# sourceMappingURL=attribute.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export const SCROLL_BAR_DEFAULT_SIZE = 12;
|
|
2
|
-
//# sourceMappingURL=scroll-bar.js.map
|
|
1
|
+
export const SCROLL_BAR_DEFAULT_SIZE = 12;
|
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
|
@@ -37,6 +37,7 @@ export declare class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeries
|
|
|
37
37
|
private _ensureLabelGraphicPostMatrix;
|
|
38
38
|
handleZoom(e: any): void;
|
|
39
39
|
handlePan(e: any): void;
|
|
40
|
+
onLayoutEnd(): void;
|
|
40
41
|
getDefaultShapeType(): string;
|
|
41
42
|
getActiveMarks(): IMark[];
|
|
42
43
|
}
|
|
@@ -184,6 +184,16 @@ export class ScatterSeries extends CartesianSeries {
|
|
|
184
184
|
const labelGraphic = this._ensureLabelGraphicPostMatrix();
|
|
185
185
|
labelGraphic && labelGraphic.translate(delta[0], delta[1]);
|
|
186
186
|
}
|
|
187
|
+
onLayoutEnd() {
|
|
188
|
+
var _a, _b, _c;
|
|
189
|
+
super.onLayoutEnd(), this._updateSymbolGraphicPosition();
|
|
190
|
+
const labelGraphic = null === (_b = null === (_a = this._labelMark) || void 0 === _a ? void 0 : _a.getComponent()) || void 0 === _b ? void 0 : _b.getComponent();
|
|
191
|
+
(null == labelGraphic ? void 0 : labelGraphic.attribute.postMatrix) && labelGraphic.setAttributes({
|
|
192
|
+
postMatrix: new Matrix
|
|
193
|
+
});
|
|
194
|
+
const vgrammarLabel = null === (_c = this._labelMark) || void 0 === _c ? void 0 : _c.getComponent();
|
|
195
|
+
vgrammarLabel && vgrammarLabel.renderInner();
|
|
196
|
+
}
|
|
187
197
|
getDefaultShapeType() {
|
|
188
198
|
return "circle";
|
|
189
199
|
}
|
|
@@ -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 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';\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"]}
|
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.4",
|
|
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/eslint-config": "0.0.1",
|
|
89
88
|
"@internal/typescript-json-schema": "0.0.1",
|
|
90
|
-
"@internal/
|
|
91
|
-
"@internal/
|
|
89
|
+
"@internal/bundler": "0.0.1",
|
|
90
|
+
"@internal/eslint-config": "0.0.1",
|
|
91
|
+
"@internal/ts-config": "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.4"
|
|
103
103
|
},
|
|
104
104
|
"publishConfig": {
|
|
105
105
|
"access": "public",
|