@visactor/vchart 1.7.2 → 1.7.3
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.js +16937 -13789
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.d.ts +1 -0
- package/cjs/animation/utils.js +16 -8
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/bar/bar-3d.d.ts +2 -2
- package/cjs/chart/bar/bar-3d.js +2 -2
- package/cjs/chart/bar/bar-3d.js.map +1 -1
- package/cjs/chart/base-chart.js +2 -0
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/cartesian/interface.d.ts +1 -1
- package/cjs/chart/cartesian/interface.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +1 -0
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.js +4 -2
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.js +2 -2
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/util/common.d.ts +0 -2
- package/cjs/component/axis/cartesian/util/common.js +2 -14
- package/cjs/component/axis/cartesian/util/common.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +1 -0
- package/cjs/component/axis/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/axis.js +3 -1
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/interface/common.d.ts +2 -3
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/base/base-component.js +1 -1
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +4 -5
- package/cjs/component/crosshair/base.js +38 -25
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +11 -34
- package/cjs/component/crosshair/cartesian.js +118 -109
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/config.d.ts +6 -0
- package/cjs/component/crosshair/config.js +8 -2
- package/cjs/component/crosshair/config.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +7 -3
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/polar.d.ts +12 -54
- package/cjs/component/crosshair/polar.js +109 -82
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/legend/continuous/interface.d.ts +1 -0
- package/cjs/component/legend/continuous/interface.js.map +1 -1
- package/cjs/component/legend/continuous/legend.js +5 -3
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +22 -24
- package/cjs/component/marker/base-marker.js +39 -50
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +19 -9
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/spec.d.ts +10 -12
- package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.d.ts +3 -2
- package/cjs/component/marker/mark-area/mark-area.js +12 -22
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/spec.d.ts +20 -9
- package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.d.ts +4 -2
- package/cjs/component/marker/mark-line/mark-line.js +60 -60
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/spec.d.ts +8 -6
- package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.d.ts +3 -2
- package/cjs/component/marker/mark-point/mark-point.js +15 -19
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/marker/utils.d.ts +13 -2
- package/cjs/component/marker/utils.js +108 -39
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/tooltip/tooltip.js +3 -2
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.js +1 -0
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/aggregation.d.ts +3 -3
- package/cjs/data/transforms/aggregation.js +5 -7
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/event/events/dimension/util/polar.js +2 -2
- package/cjs/event/events/dimension/util/polar.js.map +1 -1
- package/cjs/layout/layout3d/index.js +1 -1
- package/cjs/layout/layout3d/index.js.map +1 -1
- package/cjs/model/base-model.js +4 -4
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +1 -0
- package/cjs/model/interface.js.map +1 -1
- package/cjs/region/region.js +4 -2
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/bar/bar.js +6 -11
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.js +6 -6
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +4 -12
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +4 -9
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/pie/pie.js +1 -1
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/range-column/range-column.js +7 -15
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/util/utils.d.ts +5 -0
- package/cjs/series/util/utils.js +18 -2
- package/cjs/series/util/utils.js.map +1 -1
- package/cjs/series/waterfall/waterfall.js +7 -11
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/theme/builtin/common/component/crosshair.js +0 -8
- package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
- package/cjs/typings/visual.d.ts +3 -2
- package/cjs/typings/visual.js.map +1 -1
- package/esm/animation/utils.d.ts +1 -0
- package/esm/animation/utils.js +12 -7
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/bar/bar-3d.d.ts +2 -2
- package/esm/chart/bar/bar-3d.js +3 -3
- package/esm/chart/bar/bar-3d.js.map +1 -1
- package/esm/chart/base-chart.js +2 -0
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/cartesian/interface.d.ts +1 -1
- package/esm/chart/cartesian/interface.js.map +1 -1
- package/esm/chart/sequence/sequence.js +1 -0
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/component/axis/cartesian/axis.js +4 -2
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.js +1 -3
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/util/common.d.ts +0 -2
- package/esm/component/axis/cartesian/util/common.js +0 -11
- package/esm/component/axis/cartesian/util/common.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +1 -0
- package/esm/component/axis/interface/common.js.map +1 -1
- package/esm/component/axis/polar/axis.js +3 -1
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/interface/common.d.ts +2 -3
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/base/base-component.js +1 -1
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +4 -5
- package/esm/component/crosshair/base.js +37 -25
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +11 -34
- package/esm/component/crosshair/cartesian.js +111 -102
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/config.d.ts +6 -0
- package/esm/component/crosshair/config.js +7 -0
- package/esm/component/crosshair/config.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +7 -3
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/polar.d.ts +12 -54
- package/esm/component/crosshair/polar.js +109 -78
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/legend/continuous/interface.d.ts +1 -0
- package/esm/component/legend/continuous/interface.js.map +1 -1
- package/esm/component/legend/continuous/legend.js +5 -3
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +22 -24
- package/esm/component/marker/base-marker.js +41 -52
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +19 -9
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/interface/spec.d.ts +10 -12
- package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.d.ts +3 -2
- package/esm/component/marker/mark-area/mark-area.js +10 -22
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/interface/spec.d.ts +20 -9
- package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.d.ts +4 -2
- package/esm/component/marker/mark-line/mark-line.js +58 -54
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/interface/spec.d.ts +8 -6
- package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.d.ts +3 -2
- package/esm/component/marker/mark-point/mark-point.js +12 -20
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/marker/utils.d.ts +13 -2
- package/esm/component/marker/utils.js +103 -35
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/tooltip/tooltip.js +3 -1
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.js +1 -0
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/aggregation.d.ts +3 -3
- package/esm/data/transforms/aggregation.js +6 -8
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/event/events/dimension/util/polar.js +2 -2
- package/esm/event/events/dimension/util/polar.js.map +1 -1
- package/esm/layout/layout3d/index.js +1 -1
- package/esm/layout/layout3d/index.js.map +1 -1
- package/esm/model/base-model.js +4 -5
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +1 -0
- package/esm/model/interface.js.map +1 -1
- package/esm/region/region.js +5 -1
- package/esm/region/region.js.map +1 -1
- package/esm/series/bar/bar.js +5 -9
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.js +4 -4
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +5 -11
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +4 -8
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/pie/pie.js +1 -1
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/range-column/range-column.js +6 -12
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/util/utils.d.ts +5 -0
- package/esm/series/util/utils.js +15 -0
- package/esm/series/util/utils.js.map +1 -1
- package/esm/series/waterfall/waterfall.js +6 -9
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/theme/builtin/common/component/crosshair.js +0 -8
- package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
- package/esm/typings/visual.d.ts +3 -2
- package/esm/typings/visual.js.map +1 -1
- package/package.json +8 -8
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerBoxplotSeries = exports.BoxPlotSeries = exports.DEFAULT_STROKE_COLOR = exports.DEFAULT_FILL_COLOR = void 0;
|
|
6
6
|
|
|
7
|
-
const constant_1 = require("../../constant"), space_1 = require("../../typings/space"), scale_1 = require("../../util/scale"), cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), interface_1 = require("../../compile/mark/interface"), register_1 = require("../../data/register"), vdataset_1 = require("@visactor/vdataset"), series_data_1 = require("../base/series-data"), box_plot_1 = require("../../data/transforms/box-plot"), box_plot_2 = require("../../constant/box-plot"), tooltip_helper_1 = require("./tooltip-helper"), add_property_1 = require("../../data/transforms/add-property"), data_key_1 = require("../../data/transforms/data-key"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), box_plot_3 = require("../../mark/box-plot"), symbol_1 = require("../../mark/symbol"), constant_2 = require("./constant"), factory_1 = require("../../core/factory"), vutils_1 = require("@visactor/vutils"), DEFAULT_STROKE_WIDTH = 2, DEFAULT_SHAFT_FILL_OPACITY = .5, DEFAULT_SHAFT_SHAPE = "line";
|
|
7
|
+
const constant_1 = require("../../constant"), space_1 = require("../../typings/space"), scale_1 = require("../../util/scale"), cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), interface_1 = require("../../compile/mark/interface"), register_1 = require("../../data/register"), vdataset_1 = require("@visactor/vdataset"), series_data_1 = require("../base/series-data"), box_plot_1 = require("../../data/transforms/box-plot"), box_plot_2 = require("../../constant/box-plot"), tooltip_helper_1 = require("./tooltip-helper"), add_property_1 = require("../../data/transforms/add-property"), data_key_1 = require("../../data/transforms/data-key"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), box_plot_3 = require("../../mark/box-plot"), symbol_1 = require("../../mark/symbol"), constant_2 = require("./constant"), factory_1 = require("../../core/factory"), vutils_1 = require("@visactor/vutils"), utils_2 = require("../util/utils"), DEFAULT_STROKE_WIDTH = 2, DEFAULT_SHAFT_FILL_OPACITY = .5, DEFAULT_SHAFT_SHAPE = "line";
|
|
8
8
|
|
|
9
9
|
exports.DEFAULT_FILL_COLOR = "#FFF", exports.DEFAULT_STROKE_COLOR = "#000";
|
|
10
10
|
|
|
@@ -216,17 +216,11 @@ class BoxPlotSeries extends cartesian_1.CartesianSeries {
|
|
|
216
216
|
}
|
|
217
217
|
initAnimation() {
|
|
218
218
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
219
|
-
const
|
|
220
|
-
var _a, _b, _c;
|
|
221
|
-
const xField = this._direction === space_1.Direction.vertical ? this._fieldX[0] : this._fieldY[0], xValue = null == datum ? void 0 : datum[xField];
|
|
222
|
-
return (null === (_c = null === (_b = null === (_a = this.getViewDataStatistics()) || void 0 === _a ? void 0 : _a.latestData) || void 0 === _b ? void 0 : _b[xField]) || void 0 === _c ? void 0 : _c.values.indexOf(xValue)) || 0;
|
|
223
|
-
};
|
|
219
|
+
const animationParams = (0, utils_2.getGroupAnimationParams)(this);
|
|
224
220
|
if (this._boxPlotMark) {
|
|
225
221
|
const newDefaultConfig = this._initAnimationSpec(null === (_a = factory_1.Factory.getAnimationInKey("scaleInOut")) || void 0 === _a ? void 0 : _a()), newConfig = this._initAnimationSpec((0,
|
|
226
222
|
utils_1.userAnimationConfig)(type_1.SeriesMarkNameEnum.boxPlot, this._spec, this._markAttributeContext));
|
|
227
|
-
this._boxPlotMark.setAnimationConfig((0, utils_1.animationConfig)(newDefaultConfig, newConfig,
|
|
228
|
-
dataIndex: dataIndex
|
|
229
|
-
}));
|
|
223
|
+
this._boxPlotMark.setAnimationConfig((0, utils_1.animationConfig)(newDefaultConfig, newConfig, animationParams));
|
|
230
224
|
}
|
|
231
225
|
if (this._outlierMark) {
|
|
232
226
|
const outlierMarkUserAnimation = {
|
|
@@ -236,9 +230,7 @@ class BoxPlotSeries extends cartesian_1.CartesianSeries {
|
|
|
236
230
|
exit: null === (_e = this._spec.animationExit) || void 0 === _e ? void 0 : _e.symbol,
|
|
237
231
|
update: null === (_f = this._spec.animationUpdate) || void 0 === _f ? void 0 : _f.symbol
|
|
238
232
|
};
|
|
239
|
-
this._outlierMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_g = factory_1.Factory.getAnimationInKey("scaleInOut")) || void 0 === _g ? void 0 : _g(), outlierMarkUserAnimation,
|
|
240
|
-
dataIndex: dataIndex
|
|
241
|
-
}));
|
|
233
|
+
this._outlierMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_g = factory_1.Factory.getAnimationInKey("scaleInOut")) || void 0 === _g ? void 0 : _g(), outlierMarkUserAnimation, animationParams));
|
|
242
234
|
}
|
|
243
235
|
}
|
|
244
236
|
initTooltip() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/box-plot/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { ISymbolMark } from '../../mark/symbol';\nimport { AttributeLevel, DEFAULT_DATA_INDEX, PREFIX } from '../../constant';\nimport type { IBoxPlotMark } from '../../mark/box-plot';\nimport type { IModelEvaluateOption, IModelInitOption } from '../../model/interface';\nimport type { BoxPlotShaftShape, IOutlierMarkSpec, Maybe, Datum } from '../../typings';\nimport { Direction } from '../../typings/space';\nimport { valueInScaleRange } from '../../util/scale';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { DataView } from '@visactor/vdataset';\nimport { SeriesData } from '../base/series-data';\nimport { foldOutlierData } from '../../data/transforms/box-plot';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport { BoxPlotSeriesTooltipHelper } from './tooltip-helper';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerScaleInOutAnimation } from '../../animation/config';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { BoxPlotMark } from '../../mark/box-plot';\nimport { SymbolMark } from '../../mark/symbol';\nimport { boxPlotSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport { merge, isNumber } from '@visactor/vutils';\n\nconst DEFAULT_STROKE_WIDTH = 2;\nconst DEFAULT_SHAFT_FILL_OPACITY = 0.5;\nconst DEFAULT_SHAFT_SHAPE = 'line';\nexport const DEFAULT_FILL_COLOR = '#FFF';\nexport const DEFAULT_STROKE_COLOR = '#000';\n\nconst DEFAULT_OUTLIER_SIZE = 10;\n\nexport class BoxPlotSeries<T extends IBoxPlotSeriesSpec = IBoxPlotSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.boxPlot;\n type = SeriesTypeEnum.boxPlot;\n\n static readonly mark: SeriesMarkMap = boxPlotSeriesMark;\n\n protected declare _theme: Maybe<IBoxPlotSeriesTheme>;\n protected _minField: string;\n getMinField() {\n return this._minField;\n }\n protected _maxField: string;\n getMaxField() {\n return this._maxField;\n }\n protected _q1Field: string;\n getQ1Field() {\n return this._q1Field;\n }\n protected _medianField: string;\n getMedianField() {\n return this._medianField;\n }\n protected _q3Field: string;\n getQ3Field() {\n return this._q3Field;\n }\n protected _outliersField: string;\n getOutliersField() {\n return this._outliersField;\n }\n protected _lineWidth: number;\n protected _boxWidth: number;\n protected _shaftShape: BoxPlotShaftShape;\n getShaftShape() {\n return this._shaftShape;\n }\n protected _shaftWidth: number;\n protected _boxFillColor: string;\n getBoxFillColor() {\n return this._boxFillColor;\n }\n protected _strokeColor: string;\n getStrokeColor() {\n return this._strokeColor;\n }\n protected _shaftFillOpacity: number;\n protected _outliersStyle: IOutlierMarkSpec;\n getOutliersStyle() {\n return this._outliersStyle;\n }\n protected _outlierDataView: SeriesData;\n\n private _autoBoxWidth: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const boxPlotStyle: any = this._spec.boxPlot?.style ?? {};\n this._minField = this._spec.minField;\n this._maxField = this._spec.maxField;\n this._q1Field = this._spec.q1Field;\n this._medianField = this._spec.medianField;\n this._q3Field = this._spec.q3Field;\n this._outliersField = this._spec.outliersField;\n this._lineWidth = boxPlotStyle.lineWidth ?? DEFAULT_STROKE_WIDTH;\n this._boxWidth = boxPlotStyle.boxWidth;\n this._shaftShape = boxPlotStyle.shaftShape ?? DEFAULT_SHAFT_SHAPE;\n this._shaftWidth = boxPlotStyle.shaftWidth;\n this._boxFillColor = boxPlotStyle.boxFill;\n this._strokeColor = boxPlotStyle.stroke;\n\n this._shaftFillOpacity =\n this._shaftShape === 'bar' ? boxPlotStyle.shaftFillOpacity ?? DEFAULT_SHAFT_FILL_OPACITY : undefined;\n\n this._outliersStyle = this._spec.outliersStyle;\n }\n\n private _boxPlotMark?: IBoxPlotMark;\n private _outlierMark?: ISymbolMark;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._boxPlotMark = this._createMark(BoxPlotSeries.mark.boxPlot, {\n isSeriesMark: true,\n progressive\n }) as IBoxPlotMark;\n this._outlierMark = this._createMark(BoxPlotSeries.mark.outlier, {\n progressive,\n key: DEFAULT_DATA_INDEX,\n dataView: this._outlierDataView.getDataView(),\n dataProductId: this._outlierDataView.getProductId()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n if (boxPlotMark) {\n const commonBoxplotStyles = {\n direction: this._direction,\n lineWidth: this._lineWidth,\n shaftShape: this._shaftShape,\n fill: this._boxFillColor ?? (this._shaftShape === 'line' ? DEFAULT_FILL_COLOR : this.getColorAttribute()),\n minMaxFillOpacity: this._shaftFillOpacity,\n stroke: this._strokeColor ?? (this._shaftShape === 'line' ? this.getColorAttribute() : DEFAULT_STROKE_COLOR)\n };\n\n const boxPlotMarkStyles =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n ...commonBoxplotStyles,\n boxWidth: () => this._boxWidth ?? this._getMarkWidth(),\n ruleWidth: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Width: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxWidth: () => this._shaftWidth ?? this._getMarkWidth()\n }\n : {\n y: this.dataToPositionY.bind(this),\n ...commonBoxplotStyles,\n boxHeight: () => this._boxWidth ?? this._getMarkWidth(),\n ruleHeight: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Height: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxHeight: () => this._shaftWidth ?? this._getMarkWidth()\n };\n\n this.setMarkStyle(boxPlotMark, boxPlotMarkStyles, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n\n this._trigger.registerMark(boxPlotMark);\n }\n\n const outlierMark = this._outlierMark;\n if (outlierMark) {\n this.setMarkStyle(\n outlierMark,\n {\n fill: this._outliersStyle?.fill ?? this.getColorAttribute(),\n size: isNumber(this._outliersStyle?.size) ? this._outliersStyle.size : DEFAULT_OUTLIER_SIZE,\n symbolType: 'circle'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n this._trigger.registerMark(outlierMark);\n }\n }\n\n initBoxPlotMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n const axisHelper = this._direction === Direction.vertical ? this._yAxisHelper : this._xAxisHelper;\n if (boxPlotMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n this.setMarkStyle(\n boxPlotMark,\n {\n min: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._minField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q1Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n median: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._medianField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q3: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q3Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n max: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._maxField), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n const outlierMark = this._outlierMark;\n if (outlierMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n const outlierMarkPositionChannel =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n }\n : {\n y: this.dataToPositionY.bind(this),\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n };\n this.setMarkStyle(outlierMark, outlierMarkPositionChannel, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n }\n\n initData(): void {\n super.initData();\n if (!this._data) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'foldOutlierData', foldOutlierData);\n registerDataSetInstanceTransform(this._dataSet, 'addVChartProperty', addVChartProperty);\n\n const outlierDataView = new DataView(this._dataSet, { name: `${this.type}_outlier_${this.id}_data` });\n outlierDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n outlierDataView.name = `${PREFIX}_series_${this.id}_outlierData`;\n outlierDataView.transform({\n type: 'foldOutlierData',\n options: {\n dimensionField: this._direction === Direction.vertical ? this._fieldX : this._fieldY,\n outliersField: this._outliersField\n }\n });\n\n outlierDataView.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap.bind(this),\n call: addDataKey\n }\n },\n false\n );\n\n this._outlierDataView = new SeriesData(this._option, outlierDataView);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n //init在axis初始化之后才被执行,此时axisHelper不为空\n this.initBoxPlotMarkStyle();\n }\n\n private _getMarkWidth() {\n if (this._autoBoxWidth) {\n return this._autoBoxWidth;\n }\n //获取自适应的图元宽度\n const bandAxisHelper = this._direction === Direction.vertical ? this._xAxisHelper : this._yAxisHelper;\n const xField = this._direction === Direction.vertical ? this._fieldX : this._fieldY;\n\n const innerBandWidth = bandAxisHelper.getBandwidth(xField.length - 1);\n const autoBoxWidth = innerBandWidth / xField.length;\n this._autoBoxWidth = autoBoxWidth;\n\n return this._autoBoxWidth;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n //每次布局结束,清除自适应宽度缓存\n this._autoBoxWidth = null;\n }\n\n private _initAnimationSpec(config: any = {}) {\n //将spec中的animation的type替换为箱型图的type\n const newConfig = merge({}, config);\n ['appear', 'enter', 'update', 'exit', 'disappear'].forEach(state => {\n if (newConfig[state] && newConfig[state].type === 'scaleIn') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleIn' : 'barBoxplotScaleIn';\n } else if (newConfig[state] && newConfig[state].type === 'scaleOut') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleOut' : 'barBoxplotScaleOut';\n }\n });\n return newConfig;\n }\n\n initAnimation() {\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: Datum) => {\n const xField = this._direction === Direction.vertical ? this._fieldX[0] : this._fieldY[0];\n const xValue = datum?.[xField];\n const xIndex = this.getViewDataStatistics()?.latestData?.[xField]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n if (this._boxPlotMark) {\n const newDefaultConfig = this._initAnimationSpec(Factory.getAnimationInKey('scaleInOut')?.());\n const newConfig = this._initAnimationSpec(\n userAnimationConfig(SeriesMarkNameEnum.boxPlot, this._spec, this._markAttributeContext)\n );\n this._boxPlotMark.setAnimationConfig(animationConfig(newDefaultConfig, newConfig, { dataIndex }));\n }\n\n if (this._outlierMark) {\n const outlierMarkUserAnimation = {\n appear: (this._spec.animationAppear as IMarkAnimateSpec<string>)?.symbol,\n disappear: (this._spec.animationDisappear as IMarkAnimateSpec<string>)?.symbol,\n enter: (this._spec.animationEnter as IMarkAnimateSpec<string>)?.symbol,\n exit: (this._spec.animationExit as IMarkAnimateSpec<string>)?.symbol,\n update: (this._spec.animationUpdate as IMarkAnimateSpec<string>)?.symbol\n };\n this._outlierMark.setAnimationConfig(\n animationConfig(Factory.getAnimationInKey('scaleInOut')?.(), outlierMarkUserAnimation, {\n dataIndex\n })\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new BoxPlotSeriesTooltipHelper(this);\n this._boxPlotMark && this._tooltipHelper.activeTriggerSet.mark.add(this._boxPlotMark);\n this._outlierMark && this._tooltipHelper.activeTriggerSet.mark.add(this._outlierMark);\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n const outliersField = fields.find(f => f.key === this._outliersField);\n if (outliersField) {\n outliersField.operations = ['array-min', 'array-max'];\n }\n return fields;\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n //初次编译时,会传入空数据;待所有计算完成后,需要重新执行updateData更新数据\n super.onEvaluateEnd(ctx);\n this._outlierDataView.updateData();\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._boxPlotMark];\n }\n}\n\nexport const registerBoxplotSeries = () => {\n Factory.registerMark(BoxPlotMark.type, BoxPlotMark);\n Factory.registerMark(SymbolMark.type, SymbolMark);\n Factory.registerSeries(BoxPlotSeries.type, BoxPlotSeries);\n registerScaleInOutAnimation();\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/box-plot/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { ISymbolMark } from '../../mark/symbol';\nimport { AttributeLevel, DEFAULT_DATA_INDEX, PREFIX } from '../../constant';\nimport type { IBoxPlotMark } from '../../mark/box-plot';\nimport type { IModelEvaluateOption, IModelInitOption } from '../../model/interface';\nimport type { BoxPlotShaftShape, IOutlierMarkSpec, Maybe, Datum } from '../../typings';\nimport { Direction } from '../../typings/space';\nimport { valueInScaleRange } from '../../util/scale';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { DataView } from '@visactor/vdataset';\nimport { SeriesData } from '../base/series-data';\nimport { foldOutlierData } from '../../data/transforms/box-plot';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport { BoxPlotSeriesTooltipHelper } from './tooltip-helper';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerScaleInOutAnimation } from '../../animation/config';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { BoxPlotMark } from '../../mark/box-plot';\nimport { SymbolMark } from '../../mark/symbol';\nimport { boxPlotSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport { merge, isNumber } from '@visactor/vutils';\nimport { getGroupAnimationParams } from '../util/utils';\n\nconst DEFAULT_STROKE_WIDTH = 2;\nconst DEFAULT_SHAFT_FILL_OPACITY = 0.5;\nconst DEFAULT_SHAFT_SHAPE = 'line';\nexport const DEFAULT_FILL_COLOR = '#FFF';\nexport const DEFAULT_STROKE_COLOR = '#000';\n\nconst DEFAULT_OUTLIER_SIZE = 10;\n\nexport class BoxPlotSeries<T extends IBoxPlotSeriesSpec = IBoxPlotSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.boxPlot;\n type = SeriesTypeEnum.boxPlot;\n\n static readonly mark: SeriesMarkMap = boxPlotSeriesMark;\n\n protected declare _theme: Maybe<IBoxPlotSeriesTheme>;\n protected _minField: string;\n getMinField() {\n return this._minField;\n }\n protected _maxField: string;\n getMaxField() {\n return this._maxField;\n }\n protected _q1Field: string;\n getQ1Field() {\n return this._q1Field;\n }\n protected _medianField: string;\n getMedianField() {\n return this._medianField;\n }\n protected _q3Field: string;\n getQ3Field() {\n return this._q3Field;\n }\n protected _outliersField: string;\n getOutliersField() {\n return this._outliersField;\n }\n protected _lineWidth: number;\n protected _boxWidth: number;\n protected _shaftShape: BoxPlotShaftShape;\n getShaftShape() {\n return this._shaftShape;\n }\n protected _shaftWidth: number;\n protected _boxFillColor: string;\n getBoxFillColor() {\n return this._boxFillColor;\n }\n protected _strokeColor: string;\n getStrokeColor() {\n return this._strokeColor;\n }\n protected _shaftFillOpacity: number;\n protected _outliersStyle: IOutlierMarkSpec;\n getOutliersStyle() {\n return this._outliersStyle;\n }\n protected _outlierDataView: SeriesData;\n\n private _autoBoxWidth: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const boxPlotStyle: any = this._spec.boxPlot?.style ?? {};\n this._minField = this._spec.minField;\n this._maxField = this._spec.maxField;\n this._q1Field = this._spec.q1Field;\n this._medianField = this._spec.medianField;\n this._q3Field = this._spec.q3Field;\n this._outliersField = this._spec.outliersField;\n this._lineWidth = boxPlotStyle.lineWidth ?? DEFAULT_STROKE_WIDTH;\n this._boxWidth = boxPlotStyle.boxWidth;\n this._shaftShape = boxPlotStyle.shaftShape ?? DEFAULT_SHAFT_SHAPE;\n this._shaftWidth = boxPlotStyle.shaftWidth;\n this._boxFillColor = boxPlotStyle.boxFill;\n this._strokeColor = boxPlotStyle.stroke;\n\n this._shaftFillOpacity =\n this._shaftShape === 'bar' ? boxPlotStyle.shaftFillOpacity ?? DEFAULT_SHAFT_FILL_OPACITY : undefined;\n\n this._outliersStyle = this._spec.outliersStyle;\n }\n\n private _boxPlotMark?: IBoxPlotMark;\n private _outlierMark?: ISymbolMark;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._boxPlotMark = this._createMark(BoxPlotSeries.mark.boxPlot, {\n isSeriesMark: true,\n progressive\n }) as IBoxPlotMark;\n this._outlierMark = this._createMark(BoxPlotSeries.mark.outlier, {\n progressive,\n key: DEFAULT_DATA_INDEX,\n dataView: this._outlierDataView.getDataView(),\n dataProductId: this._outlierDataView.getProductId()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n if (boxPlotMark) {\n const commonBoxplotStyles = {\n direction: this._direction,\n lineWidth: this._lineWidth,\n shaftShape: this._shaftShape,\n fill: this._boxFillColor ?? (this._shaftShape === 'line' ? DEFAULT_FILL_COLOR : this.getColorAttribute()),\n minMaxFillOpacity: this._shaftFillOpacity,\n stroke: this._strokeColor ?? (this._shaftShape === 'line' ? this.getColorAttribute() : DEFAULT_STROKE_COLOR)\n };\n\n const boxPlotMarkStyles =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n ...commonBoxplotStyles,\n boxWidth: () => this._boxWidth ?? this._getMarkWidth(),\n ruleWidth: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Width: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxWidth: () => this._shaftWidth ?? this._getMarkWidth()\n }\n : {\n y: this.dataToPositionY.bind(this),\n ...commonBoxplotStyles,\n boxHeight: () => this._boxWidth ?? this._getMarkWidth(),\n ruleHeight: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Height: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxHeight: () => this._shaftWidth ?? this._getMarkWidth()\n };\n\n this.setMarkStyle(boxPlotMark, boxPlotMarkStyles, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n\n this._trigger.registerMark(boxPlotMark);\n }\n\n const outlierMark = this._outlierMark;\n if (outlierMark) {\n this.setMarkStyle(\n outlierMark,\n {\n fill: this._outliersStyle?.fill ?? this.getColorAttribute(),\n size: isNumber(this._outliersStyle?.size) ? this._outliersStyle.size : DEFAULT_OUTLIER_SIZE,\n symbolType: 'circle'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n this._trigger.registerMark(outlierMark);\n }\n }\n\n initBoxPlotMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n const axisHelper = this._direction === Direction.vertical ? this._yAxisHelper : this._xAxisHelper;\n if (boxPlotMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n this.setMarkStyle(\n boxPlotMark,\n {\n min: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._minField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q1Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n median: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._medianField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q3: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q3Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n max: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._maxField), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n const outlierMark = this._outlierMark;\n if (outlierMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n const outlierMarkPositionChannel =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n }\n : {\n y: this.dataToPositionY.bind(this),\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n };\n this.setMarkStyle(outlierMark, outlierMarkPositionChannel, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n }\n\n initData(): void {\n super.initData();\n if (!this._data) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'foldOutlierData', foldOutlierData);\n registerDataSetInstanceTransform(this._dataSet, 'addVChartProperty', addVChartProperty);\n\n const outlierDataView = new DataView(this._dataSet, { name: `${this.type}_outlier_${this.id}_data` });\n outlierDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n outlierDataView.name = `${PREFIX}_series_${this.id}_outlierData`;\n outlierDataView.transform({\n type: 'foldOutlierData',\n options: {\n dimensionField: this._direction === Direction.vertical ? this._fieldX : this._fieldY,\n outliersField: this._outliersField\n }\n });\n\n outlierDataView.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap.bind(this),\n call: addDataKey\n }\n },\n false\n );\n\n this._outlierDataView = new SeriesData(this._option, outlierDataView);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n //init在axis初始化之后才被执行,此时axisHelper不为空\n this.initBoxPlotMarkStyle();\n }\n\n private _getMarkWidth() {\n if (this._autoBoxWidth) {\n return this._autoBoxWidth;\n }\n //获取自适应的图元宽度\n const bandAxisHelper = this._direction === Direction.vertical ? this._xAxisHelper : this._yAxisHelper;\n const xField = this._direction === Direction.vertical ? this._fieldX : this._fieldY;\n\n const innerBandWidth = bandAxisHelper.getBandwidth(xField.length - 1);\n const autoBoxWidth = innerBandWidth / xField.length;\n this._autoBoxWidth = autoBoxWidth;\n\n return this._autoBoxWidth;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n //每次布局结束,清除自适应宽度缓存\n this._autoBoxWidth = null;\n }\n\n private _initAnimationSpec(config: any = {}) {\n //将spec中的animation的type替换为箱型图的type\n const newConfig = merge({}, config);\n ['appear', 'enter', 'update', 'exit', 'disappear'].forEach(state => {\n if (newConfig[state] && newConfig[state].type === 'scaleIn') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleIn' : 'barBoxplotScaleIn';\n } else if (newConfig[state] && newConfig[state].type === 'scaleOut') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleOut' : 'barBoxplotScaleOut';\n }\n });\n return newConfig;\n }\n\n initAnimation() {\n const animationParams = getGroupAnimationParams(this);\n\n if (this._boxPlotMark) {\n const newDefaultConfig = this._initAnimationSpec(Factory.getAnimationInKey('scaleInOut')?.());\n const newConfig = this._initAnimationSpec(\n userAnimationConfig(SeriesMarkNameEnum.boxPlot, this._spec, this._markAttributeContext)\n );\n this._boxPlotMark.setAnimationConfig(animationConfig(newDefaultConfig, newConfig, animationParams));\n }\n\n if (this._outlierMark) {\n const outlierMarkUserAnimation = {\n appear: (this._spec.animationAppear as IMarkAnimateSpec<string>)?.symbol,\n disappear: (this._spec.animationDisappear as IMarkAnimateSpec<string>)?.symbol,\n enter: (this._spec.animationEnter as IMarkAnimateSpec<string>)?.symbol,\n exit: (this._spec.animationExit as IMarkAnimateSpec<string>)?.symbol,\n update: (this._spec.animationUpdate as IMarkAnimateSpec<string>)?.symbol\n };\n this._outlierMark.setAnimationConfig(\n animationConfig(Factory.getAnimationInKey('scaleInOut')?.(), outlierMarkUserAnimation, animationParams)\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new BoxPlotSeriesTooltipHelper(this);\n this._boxPlotMark && this._tooltipHelper.activeTriggerSet.mark.add(this._boxPlotMark);\n this._outlierMark && this._tooltipHelper.activeTriggerSet.mark.add(this._outlierMark);\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n const outliersField = fields.find(f => f.key === this._outliersField);\n if (outliersField) {\n outliersField.operations = ['array-min', 'array-max'];\n }\n return fields;\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n //初次编译时,会传入空数据;待所有计算完成后,需要重新执行updateData更新数据\n super.onEvaluateEnd(ctx);\n this._outlierDataView.updateData();\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._boxPlotMark];\n }\n}\n\nexport const registerBoxplotSeries = () => {\n Factory.registerMark(BoxPlotMark.type, BoxPlotMark);\n Factory.registerMark(SymbolMark.type, SymbolMark);\n Factory.registerSeries(BoxPlotSeries.type, BoxPlotSeries);\n registerScaleInOutAnimation();\n};\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerHeatmapSeries = exports.HeatmapSeries = exports.DefaultBandWidth = void 0;
|
|
6
6
|
|
|
7
|
-
const cartesian_1 = require("../cartesian/cartesian"), constant_1 = require("../../constant"), animation_1 = require("./animation"), utils_1 = require("../../animation/utils"), type_1 = require("../interface/type"), vutils_1 = require("@visactor/vutils"), tooltip_helper_1 = require("./tooltip-helper"), cell_1 = require("../../mark/cell"), text_1 = require("../../mark/text"), constant_2 = require("./constant"), factory_1 = require("../../core/factory"), vgrammar_core_1 = require("@visactor/vgrammar-core");
|
|
7
|
+
const cartesian_1 = require("../cartesian/cartesian"), constant_1 = require("../../constant"), animation_1 = require("./animation"), utils_1 = require("../../animation/utils"), type_1 = require("../interface/type"), vutils_1 = require("@visactor/vutils"), tooltip_helper_1 = require("./tooltip-helper"), cell_1 = require("../../mark/cell"), text_1 = require("../../mark/text"), constant_2 = require("./constant"), factory_1 = require("../../core/factory"), vgrammar_core_1 = require("@visactor/vgrammar-core"), utils_2 = require("../util/utils");
|
|
8
8
|
|
|
9
9
|
exports.DefaultBandWidth = 6;
|
|
10
10
|
|
|
@@ -83,15 +83,10 @@ class HeatmapSeries extends cartesian_1.CartesianSeries {
|
|
|
83
83
|
}
|
|
84
84
|
initAnimation() {
|
|
85
85
|
var _a, _b, _c;
|
|
86
|
-
const appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset
|
|
86
|
+
const appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset, animationParams = (0,
|
|
87
|
+
utils_2.getGroupAnimationParams)(this);
|
|
87
88
|
this._cellMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_c = factory_1.Factory.getAnimationInKey("heatmap")) || void 0 === _c ? void 0 : _c(appearPreset), (0,
|
|
88
|
-
utils_1.userAnimationConfig)(type_1.SeriesMarkNameEnum.cell, this._spec, this._markAttributeContext),
|
|
89
|
-
dataIndex: datum => {
|
|
90
|
-
var _a, _b, _c;
|
|
91
|
-
const xValue = null == datum ? void 0 : datum[this._fieldX[0]];
|
|
92
|
-
return (null === (_c = null === (_b = null === (_a = this.getViewDataStatistics()) || void 0 === _a ? void 0 : _a.latestData) || void 0 === _b ? void 0 : _b[this._fieldX[0]]) || void 0 === _c ? void 0 : _c.values.indexOf(xValue)) || 0;
|
|
93
|
-
}
|
|
94
|
-
}));
|
|
89
|
+
utils_1.userAnimationConfig)(type_1.SeriesMarkNameEnum.cell, this._spec, this._markAttributeContext), animationParams));
|
|
95
90
|
}
|
|
96
91
|
getCellSize(axisHelper) {
|
|
97
92
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/heatmap/heatmap.ts"],"names":[],"mappings":"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","file":"heatmap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum } from '../../typings';\nimport { registerHeatmapAnimation, type HeatmapAppearPreset } from './animation';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IHeatmapSeriesSpec, IHeatmapSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ICellMark } from '../../mark/cell';\nimport { normalizePadding, array } from '@visactor/vutils';\nimport { HeatmapSeriesTooltipHelper } from './tooltip-helper';\nimport { CellMark } from '../../mark/cell';\nimport { TextMark } from '../../mark/text';\nimport { heatmapSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport { registerCellMark } from '@visactor/vgrammar-core';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class HeatmapSeries<T extends IHeatmapSeriesSpec = IHeatmapSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.heatmap;\n type = SeriesTypeEnum.heatmap;\n\n static readonly mark: SeriesMarkMap = heatmapSeriesMark;\n\n protected declare _theme: Maybe<IHeatmapSeriesTheme>;\n\n protected _cellMark: ICellMark;\n protected _backgroundMark: ICellMark;\n\n protected _fieldValue!: string[];\n getFieldValue() {\n return this._fieldValue;\n }\n setFieldValue(f: string | string[]) {\n this._fieldValue = array(f);\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldValue(this._spec.valueField);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._cellMark = this._createMark(HeatmapSeries.mark.cell, {\n morph: shouldMarkDoMorph(this._spec, HeatmapSeries.mark.cell.name),\n defaultMorphElementKey: this.getDimensionField()[0],\n isSeriesMark: true,\n label: this._preprocessLabelSpec(this._spec.label),\n progressive,\n customShape: this._spec.cell?.customShape\n }) as ICellMark;\n\n this._backgroundMark = this._createMark(HeatmapSeries.mark.cellBackground, {\n progressive,\n customShape: this._spec.cellBackground?.customShape\n }) as ICellMark;\n }\n\n initMarkStyle(): void {\n this.initCellMarkStyle();\n this.initCellBackgroundMarkStyle();\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getMeasureField()[0]];\n }\n });\n }\n\n initCellMarkStyle() {\n this.setMarkStyle(\n this._cellMark,\n {\n x: (datum: Datum) => {\n const pos = this.dataToPositionX(datum);\n return pos;\n },\n y: (datum: Datum) => {\n const pos = this.dataToPositionY(datum);\n return pos;\n },\n size: () => {\n return [this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper)];\n },\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(this._cellMark);\n }\n\n initCellBackgroundMarkStyle() {\n const padding = normalizePadding(this._spec.cellBackground?.style?.padding ?? 0);\n this.setMarkStyle(\n this._backgroundMark,\n {\n x: (datum: Datum) => {\n const width = this.getCellSize(this._xAxisHelper);\n const pos = this.dataToPositionX(datum);\n return pos - width / 2 + padding[3];\n },\n y: (datum: Datum) => {\n const height = this.getCellSize(this._yAxisHelper);\n const pos = this.dataToPositionY(datum);\n return pos - height / 2 + padding[0];\n },\n width: () => {\n return this.getCellSize(this._xAxisHelper) - padding[1] - padding[3];\n },\n height: () => {\n return this.getCellSize(this._yAxisHelper) - padding[0] - padding[2];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n // TODO: 为热力图实现默认线性颜色 scale\n scale: this._option.globalScale.getScale('color') ?? this._getDefaultColorScale(),\n field: this.getFieldValue[0]\n };\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<HeatmapAppearPreset>)?.preset;\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._cellMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('heatmap')?.(appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.cell, this._spec, this._markAttributeContext),\n {\n dataIndex\n }\n )\n );\n }\n\n protected getCellSize(axisHelper: IAxisHelper) {\n return axisHelper.getBandwidth?.(0) ?? DefaultBandWidth;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new HeatmapSeriesTooltipHelper(this);\n this._cellMark && this._tooltipHelper.activeTriggerSet.mark.add(this._cellMark);\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getDimensionField(): string[] {\n return [].concat(this.fieldX, this.fieldY);\n }\n\n getMeasureField(): string[] {\n return this.getFieldValue();\n }\n\n getActiveMarks(): IMark[] {\n return [this._cellMark];\n }\n}\n\nexport const registerHeatmapSeries = () => {\n registerCellMark();\n Factory.registerMark(CellMark.type, CellMark);\n Factory.registerMark(TextMark.type, TextMark);\n Factory.registerSeries(HeatmapSeries.type, HeatmapSeries);\n registerHeatmapAnimation();\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/heatmap/heatmap.ts"],"names":[],"mappings":"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","file":"heatmap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum } from '../../typings';\nimport { registerHeatmapAnimation, type HeatmapAppearPreset } from './animation';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IHeatmapSeriesSpec, IHeatmapSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ICellMark } from '../../mark/cell';\nimport { normalizePadding, array } from '@visactor/vutils';\nimport { HeatmapSeriesTooltipHelper } from './tooltip-helper';\nimport { CellMark } from '../../mark/cell';\nimport { TextMark } from '../../mark/text';\nimport { heatmapSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport { registerCellMark } from '@visactor/vgrammar-core';\nimport { getGroupAnimationParams } from '../util/utils';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class HeatmapSeries<T extends IHeatmapSeriesSpec = IHeatmapSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.heatmap;\n type = SeriesTypeEnum.heatmap;\n\n static readonly mark: SeriesMarkMap = heatmapSeriesMark;\n\n protected declare _theme: Maybe<IHeatmapSeriesTheme>;\n\n protected _cellMark: ICellMark;\n protected _backgroundMark: ICellMark;\n\n protected _fieldValue!: string[];\n getFieldValue() {\n return this._fieldValue;\n }\n setFieldValue(f: string | string[]) {\n this._fieldValue = array(f);\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldValue(this._spec.valueField);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._cellMark = this._createMark(HeatmapSeries.mark.cell, {\n morph: shouldMarkDoMorph(this._spec, HeatmapSeries.mark.cell.name),\n defaultMorphElementKey: this.getDimensionField()[0],\n isSeriesMark: true,\n label: this._preprocessLabelSpec(this._spec.label),\n progressive,\n customShape: this._spec.cell?.customShape\n }) as ICellMark;\n\n this._backgroundMark = this._createMark(HeatmapSeries.mark.cellBackground, {\n progressive,\n customShape: this._spec.cellBackground?.customShape\n }) as ICellMark;\n }\n\n initMarkStyle(): void {\n this.initCellMarkStyle();\n this.initCellBackgroundMarkStyle();\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getMeasureField()[0]];\n }\n });\n }\n\n initCellMarkStyle() {\n this.setMarkStyle(\n this._cellMark,\n {\n x: (datum: Datum) => {\n const pos = this.dataToPositionX(datum);\n return pos;\n },\n y: (datum: Datum) => {\n const pos = this.dataToPositionY(datum);\n return pos;\n },\n size: () => {\n return [this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper)];\n },\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(this._cellMark);\n }\n\n initCellBackgroundMarkStyle() {\n const padding = normalizePadding(this._spec.cellBackground?.style?.padding ?? 0);\n this.setMarkStyle(\n this._backgroundMark,\n {\n x: (datum: Datum) => {\n const width = this.getCellSize(this._xAxisHelper);\n const pos = this.dataToPositionX(datum);\n return pos - width / 2 + padding[3];\n },\n y: (datum: Datum) => {\n const height = this.getCellSize(this._yAxisHelper);\n const pos = this.dataToPositionY(datum);\n return pos - height / 2 + padding[0];\n },\n width: () => {\n return this.getCellSize(this._xAxisHelper) - padding[1] - padding[3];\n },\n height: () => {\n return this.getCellSize(this._yAxisHelper) - padding[0] - padding[2];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n // TODO: 为热力图实现默认线性颜色 scale\n scale: this._option.globalScale.getScale('color') ?? this._getDefaultColorScale(),\n field: this.getFieldValue[0]\n };\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<HeatmapAppearPreset>)?.preset;\n const animationParams = getGroupAnimationParams(this);\n\n this._cellMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('heatmap')?.(appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.cell, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n\n protected getCellSize(axisHelper: IAxisHelper) {\n return axisHelper.getBandwidth?.(0) ?? DefaultBandWidth;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new HeatmapSeriesTooltipHelper(this);\n this._cellMark && this._tooltipHelper.activeTriggerSet.mark.add(this._cellMark);\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getDimensionField(): string[] {\n return [].concat(this.fieldX, this.fieldY);\n }\n\n getMeasureField(): string[] {\n return this.getFieldValue();\n }\n\n getActiveMarks(): IMark[] {\n return [this._cellMark];\n }\n}\n\nexport const registerHeatmapSeries = () => {\n registerCellMark();\n Factory.registerMark(CellMark.type, CellMark);\n Factory.registerMark(TextMark.type, TextMark);\n Factory.registerSeries(HeatmapSeries.type, HeatmapSeries);\n registerHeatmapAnimation();\n};\n"]}
|
package/cjs/series/pie/pie.js
CHANGED
|
@@ -314,7 +314,7 @@ class BasePieSeries extends polar_1.PolarSeries {
|
|
|
314
314
|
label: labelTheme
|
|
315
315
|
});
|
|
316
316
|
return (0, merge_spec_1.mergeSpec)({}, newTheme, chartSpec, userSpec);
|
|
317
|
-
}, baseSpec = this.
|
|
317
|
+
}, baseSpec = this._originalSpec;
|
|
318
318
|
this._spec = merge(baseSpec);
|
|
319
319
|
}
|
|
320
320
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/pie/pie.ts"],"names":[],"mappings":"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","file":"pie.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { degreeToRadian, isValid } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport {\n AttributeLevel,\n ARC_START_ANGLE,\n ARC_END_ANGLE,\n ARC_RATIO,\n ARC_MIDDLE_ANGLE,\n ARC_RADIAN,\n ARC_QUADRANT,\n ARC_K,\n PREFIX,\n ARC_LABEL_POINT_BX,\n ARC_LABEL_POINT_BY,\n ARC_LABEL_POINT_CX,\n ARC_LABEL_POINT_CY,\n DEFAULT_LABEL_VISIBLE,\n POLAR_START_RADIAN,\n POLAR_END_RADIAN,\n DEFAULT_DATA_INDEX,\n ChartEvent,\n DEFAULT_DATA_KEY\n} from '../../constant';\nimport type { Maybe, IPoint, Datum, StateValueType } from '../../typings';\nimport { normalizeStartEndAngle, polarToCartesian } from '../../util/math';\nimport { isSpecValueWithScale } from '../../util/scale';\nimport { field } from '../../util/object';\nimport type { IModelLayoutOption } from '../../model/interface';\nimport { PolarSeries } from '../polar/polar';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { IArcMark } from '../../mark/arc';\nimport type { ITextMark } from '../../mark/text';\nimport type { IPathMark } from '../../mark/path';\nimport type { IArcSeries, SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IPieOpt } from '../../data/transforms/pie';\n// eslint-disable-next-line no-duplicate-imports\nimport { pie } from '../../data/transforms/pie';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { registerPieAnimation, type IPieAnimationParams, type PieAppearPreset } from './animation/animation';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { AnimationStateEnum } from '../../animation/interface';\nimport type { IArcLabelSpec, IPieSeriesSpec, IPieSeriesTheme } from './interface';\nimport { SeriesData } from '../base/series-data';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { IAnimationTypeConfig } from '@visactor/vgrammar-core';\nimport { centerOffsetConfig } from './animation/centerOffset';\nimport { ArcMark } from '../../mark/arc';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { pieSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { isNil } from '@visactor/vutils';\n\ntype IBasePieSeriesSpec = Omit<IPieSeriesSpec, 'type'> & { type: string };\n\nexport class BasePieSeries<T extends IBasePieSeriesSpec> extends PolarSeries<T> implements IArcSeries {\n protected _pieMarkName: SeriesMarkNameEnum = SeriesMarkNameEnum.pie;\n protected _pieMarkType: MarkTypeEnum = MarkTypeEnum.arc;\n\n static readonly mark: SeriesMarkMap = pieSeriesMark;\n\n protected _viewDataLabel!: SeriesData;\n\n // 饼图渲染不依赖于极坐标系轴,因此由 series 自己存储相关配置信息\n protected _center!: IPoint | null;\n public get center(): IPoint {\n return {\n x: this._spec?.centerX ?? this._region.getLayoutRect().width / 2,\n y: this._spec?.centerY ?? this._region.getLayoutRect().height / 2\n };\n }\n protected _centerOffset!: number;\n\n protected _cornerRadius!: number;\n\n protected _startAngle: number = POLAR_START_RADIAN;\n protected _endAngle: number = POLAR_END_RADIAN;\n protected _padAngle!: number;\n\n protected _pieMark: IArcMark | null = null;\n protected _labelMark: ITextMark | null = null;\n protected _labelLineMark: IPathMark | null = null;\n\n protected declare _theme: Maybe<IPieSeriesTheme>;\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // center\n this._markAttributeContext.getCenter = () => {\n return {\n x: () => this._center?.x ?? this._region.getLayoutRect().width / 2,\n y: () => this._center?.y ?? this._region.getLayoutRect().height / 2\n };\n };\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this._centerOffset = this._spec?.centerOffset ?? 0;\n this._cornerRadius = this._spec?.cornerRadius ?? 0;\n\n const normalized = normalizeStartEndAngle(\n isValid(this._spec?.startAngle) ? degreeToRadian(this._spec.startAngle) : this._startAngle,\n isValid(this._spec?.endAngle) ? degreeToRadian(this._spec.endAngle) : this._endAngle\n );\n this._startAngle = normalized.startAngle;\n this._endAngle = normalized.endAngle;\n this._padAngle = isValid(this._spec?.padAngle) ? degreeToRadian(this._spec.padAngle) : 0;\n\n // 值信息给角度,angleField 是为了兼容小组件用法,因为 spec 改造前已经开放了\n this.setAngleField(this._spec.valueField || this._spec.angleField);\n if (this._spec.categoryField) {\n this.setSeriesField(this._spec.categoryField);\n }\n this._radiusField = [];\n }\n\n initData() {\n super.initData();\n\n const viewData = this.getViewData();\n if (!viewData) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'pie', pie);\n\n viewData.transform(\n {\n type: 'pie',\n options: {\n angleField: this._angleField[0],\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n minAngle: isValid(this._spec?.minAngle) ? degreeToRadian(this._spec.minAngle) : 0,\n asStartAngle: ARC_START_ANGLE,\n asEndAngle: ARC_END_ANGLE,\n asRatio: ARC_RATIO,\n asMiddleAngle: ARC_MIDDLE_ANGLE,\n asRadian: ARC_RADIAN,\n asQuadrant: ARC_QUADRANT,\n asK: ARC_K\n } as IPieOpt\n },\n false\n );\n\n const viewDataLabel = new DataView(this._dataSet, { name: `${PREFIX}_series_${this.id}_viewDataLabel` });\n viewDataLabel.parse([this.getViewData()], {\n type: 'dataview'\n });\n\n this._viewDataLabel = new SeriesData(this._option, viewDataLabel);\n }\n\n initMark(): void {\n this._pieMark = this._createMark(\n {\n ...BasePieSeries.mark.pie,\n name: this._pieMarkName,\n type: this._pieMarkType\n },\n {\n morph: shouldMarkDoMorph(this._spec, this._pieMarkName),\n defaultMorphElementKey: this._seriesField,\n key: DEFAULT_DATA_KEY,\n groupKey: this._seriesField,\n skipBeforeLayouted: true,\n isSeriesMark: true,\n label: this._preprocessLabelSpec(this._spec.label),\n customShape: this._spec.pie?.customShape\n }\n ) as IArcMark;\n }\n\n initMarkStyle(): void {\n const pieMark = this._pieMark;\n if (pieMark) {\n this.setMarkStyle(\n pieMark,\n {\n x: () => this._center?.x ?? this._region.getLayoutRect().width / 2,\n y: () => this._center?.y ?? this._region.getLayoutRect().height / 2,\n fill: this.getColorAttribute(),\n outerRadius: isSpecValueWithScale(this._outerRadius)\n ? this._outerRadius\n : () => this.computeLayoutRadius() * this._outerRadius,\n innerRadius: isSpecValueWithScale(this._innerRadius)\n ? this._innerRadius\n : () => this.computeLayoutRadius() * this._innerRadius,\n cornerRadius: () => this.computeLayoutRadius() * this._cornerRadius,\n startAngle: field(ARC_START_ANGLE).bind(this),\n endAngle: field(ARC_END_ANGLE).bind(this),\n padAngle: this._padAngle,\n centerOffset: this._centerOffset\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(pieMark);\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._pieMark && this._tooltipHelper.activeTriggerSet.mark.add(this._pieMark);\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any, key?: string): void {\n super.initMarkStyleWithSpec(mark, spec, key);\n if (mark.name === this._pieMarkName) {\n // radius 配置需要额外处理比例值\n const pieSpec = this.getSpec()[mark.name];\n if (pieSpec) {\n for (const state in pieSpec.state || {}) {\n this.setMarkStyle(mark, this.generateRadiusStyle(pieSpec.state[state]), state, AttributeLevel.User_Mark);\n }\n }\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n visible: field(DEFAULT_LABEL_VISIBLE).bind(this),\n text: (datum: Datum) => {\n return datum[this.getDimensionField()[0]];\n },\n fill: this._spec.label?.style?.fill || this.getColorAttribute(),\n angle: this._spec.label?.style?.angle,\n limit: this._spec.label?.style?.limit,\n z: this.dataToPositionZ.bind(this)\n });\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this._trigger.setStateKeys([this._seriesField as string, ...this._radiusField]);\n }\n\n initEvent(): void {\n super.initEvent();\n this._viewDataLabel.getDataView()?.target.addListener('change', this.viewDataLabelUpdate.bind(this));\n }\n\n // 饼图不支持分组\n initGroups() {\n return;\n }\n\n /**\n * @override\n * @param ctx\n */\n onLayoutEnd(ctx: IModelLayoutOption): void {\n this._viewDataLabel.getDataView().reRunAllTransform();\n this.onMarkPositionUpdate();\n super.onLayoutEnd(ctx);\n }\n\n getDimensionField(): string[] {\n return this._seriesField ? [this._seriesField] : [];\n }\n getMeasureField(): string[] {\n return this._angleField;\n }\n\n private viewDataLabelUpdate() {\n this.event.emit(ChartEvent.viewDataLabelUpdate, { model: this });\n this._viewDataLabel.updateData();\n }\n\n protected generateRadiusStyle(spec: any) {\n const style: any = {};\n spec?.outerRadius && (style.outerRadius = () => this.computeLayoutRadius() * spec?.outerRadius);\n spec?.innerRadius && (style.innerRadius = () => this.computeLayoutRadius() * spec?.innerRadius);\n spec?.cornerRadius && (style.cornerRadius = () => this.computeLayoutRadius() * spec?.cornerRadius);\n return style;\n }\n\n protected computeLayoutRadius() {\n const { width, height } = this._region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n computeCenter(datum: Datum): IPoint {\n return {\n x: this._pieMark.getAttribute('x', datum, 'normal') as number,\n y: this._pieMark.getAttribute('y', datum, 'normal') as number\n };\n }\n\n protected generateLinePath(state: StateValueType) {\n const key = state === 'normal' ? 'POINT' : state.toUpperCase();\n return {\n path: (datum: Datum) => {\n return (\n `M${Math.round(datum[`${PREFIX}_ARC_LABEL_${key}_AX`])},${Math.round(\n datum[`${PREFIX}_ARC_LABEL_${key}_AY`]\n )}` +\n ` L${Math.round(datum[ARC_LABEL_POINT_BX])},${Math.round(datum[ARC_LABEL_POINT_BY])}` +\n ` L${Math.round(datum[ARC_LABEL_POINT_CX])},${Math.round(datum[ARC_LABEL_POINT_CY])}`\n );\n }\n };\n }\n\n getRadius(state: StateValueType = 'normal'): number {\n const styleRadius =\n state === 'normal'\n ? this.getSpec()[this._pieMark?.name || 'pie']?.style?.outerRadius\n : this.getSpec()[this._pieMark?.name || 'pie']?.state?.[state]?.outerRadius;\n return styleRadius ?? this._outerRadius;\n }\n\n getInnerRadius(state: StateValueType = 'normal'): number {\n const styleRadius =\n state === 'normal'\n ? this.getSpec()[this._pieMark?.name || 'pie']?.style?.innerRadius\n : this.getSpec()[this._pieMark?.name || 'pie']?.state?.[state]?.innerRadius;\n return styleRadius ?? this._innerRadius;\n }\n\n getLabelConfig(): IArcLabelSpec {\n // TODO: 转换 series spec\n return {\n visible: true,\n position: 'outside',\n showRule: 'all',\n rotate: true,\n coverEnable: false,\n spaceWidth: 5,\n layoutArcGap: 6,\n ...this._spec.label,\n\n style: {\n visible: true,\n ...this._spec.label?.style\n },\n line: {\n visible: true,\n line1MinLength: this._spec.label?.line?.line1MinLength ?? 20,\n line2MinLength: this._spec.label?.line?.line2MinLength ?? 10,\n ...this._spec.label?.line\n },\n layout: {\n align: 'arc',\n strategy: 'priority',\n tangentConstraint: true,\n ...this._spec.label?.layout\n }\n };\n }\n\n computeRadius(r: number, k?: number): number {\n return this.computeLayoutRadius() * r * (isNil(k) ? 1 : k) + this._centerOffset;\n }\n\n computeDatumRadius(datum: Datum, state?: string): number {\n return this.computeLayoutRadius() * this.getRadius(state) + this._centerOffset;\n }\n\n _compareSpec(ignoreCheckKeys?: { [key: string]: true }) {\n ignoreCheckKeys = ignoreCheckKeys ?? { data: true };\n ignoreCheckKeys.centerX = true;\n ignoreCheckKeys.centerX = true;\n ignoreCheckKeys.centerY = true;\n ignoreCheckKeys.centerOffset = true;\n ignoreCheckKeys.radius = true;\n ignoreCheckKeys.innerRadius = true;\n ignoreCheckKeys.cornerRadius = true;\n ignoreCheckKeys.startAngle = true;\n ignoreCheckKeys.endAngle = true;\n ignoreCheckKeys.padAngle = true;\n const { centerX, centerY, centerOffset, radius, innerRadius, cornerRadius, startAngle, endAngle, padAngle } =\n this._originalSpec;\n const result = super._compareSpec(ignoreCheckKeys);\n if (\n this._spec?.centerY !== centerY ||\n this._spec?.centerX !== centerX ||\n this._spec?.centerOffset !== centerOffset ||\n this._spec?.radius !== radius ||\n this._spec?.innerRadius !== innerRadius ||\n this._spec?.cornerRadius !== cornerRadius ||\n this._spec?.startAngle !== startAngle ||\n this._spec?.endAngle !== endAngle ||\n this._spec?.padAngle !== padAngle\n ) {\n result.reRender = true;\n result.change = true;\n }\n return result;\n }\n\n computeDatumInnerRadius(datum: Datum, state?: string): number {\n return this.computeLayoutRadius() * this.getInnerRadius(state) + this._centerOffset;\n }\n\n dataToPosition(datum: Datum): IPoint | null {\n const angle = datum[ARC_MIDDLE_ANGLE];\n if (isNil(angle)) {\n return null;\n }\n const radius = this.computeDatumRadius(datum);\n const center = this.computeCenter(datum);\n const delta = polarToCartesian({ angle, radius });\n return { x: center.x + delta.x, y: center.y + delta.y };\n }\n\n dataToCentralPosition = (datum: Datum): IPoint | null => {\n // 和 PieSeries.dataToPosition 实现不同,这里考虑了美观性,返回的位置是曲边梯形的中心\n const angle = datum[ARC_MIDDLE_ANGLE];\n if (isNil(angle)) {\n return null;\n }\n const radius = this.computeDatumRadius(datum);\n const innerRadius = this.computeDatumInnerRadius(datum);\n const center = this.computeCenter(datum);\n const delta = polarToCartesian({ angle, radius: (radius + innerRadius) / 2 });\n return { x: center.x + delta.x, y: center.y + delta.y };\n };\n\n initAnimation() {\n const animationParams: IPieAnimationParams = {\n growFrom: (datum, element, state) => {\n if (state === AnimationStateEnum.appear) {\n return this._startAngle;\n }\n if (state === AnimationStateEnum.disappear) {\n return this._endAngle;\n }\n\n const outState = [AnimationStateEnum.disappear, AnimationStateEnum.exit];\n const markElements = element.mark.elements;\n\n const data = datum;\n const dataIndex = data?.[DEFAULT_DATA_INDEX];\n\n // 当前 mark 在上个状态是否处于第一个\n if (markElements.find(e => e.data[0]?.[DEFAULT_DATA_INDEX] < dataIndex) === undefined) {\n return this._startAngle;\n }\n // 当前 mark 在上个状态是否处于最后一个\n if (markElements.find(e => e.data[0]?.[DEFAULT_DATA_INDEX] > dataIndex) === undefined) {\n return this._endAngle;\n }\n\n // 扇形不在边缘时,获取扇形生长点:获取相邻状态下相邻扇形的边缘\n const prevMarkElement = [...markElements].reverse().find(e => e.data[0]?.[DEFAULT_DATA_INDEX] < dataIndex);\n\n if (outState.includes(state)) {\n return prevMarkElement?.getNextGraphicAttributes()?.endAngle;\n }\n return prevMarkElement?.getGraphicAttribute('endAngle', true);\n }\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<PieAppearPreset>)?.preset;\n\n if (this._pieMark) {\n const pieAnimationConfig = animationConfig(\n Factory.getAnimationInKey('pie')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.pie, this._spec, this._markAttributeContext)\n );\n\n if (pieAnimationConfig.normal && (pieAnimationConfig.normal as IAnimationTypeConfig).type) {\n pieAnimationConfig.normal = centerOffsetConfig(\n this._pieMark,\n pieAnimationConfig.normal as IAnimationTypeConfig\n );\n }\n\n this._pieMark.setAnimationConfig(pieAnimationConfig);\n }\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n // make sure this function fast\n protected _noAnimationDataKey(datum: Datum, index: number) {\n return index;\n }\n\n getActiveMarks(): IMark[] {\n return [this._pieMark];\n }\n\n /** 将 theme merge 到 spec 中 */\n protected _mergeThemeToSpec() {\n if (this._shouldMergeThemeToSpec()) {\n const specFromChart = this._getDefaultSpecFromChart(this.getChart().getSpec());\n\n // this._originalSpec + specFromChart + this._theme = this._spec\n const merge = (originalSpec: any) => {\n const chartSpec = this._prepareSpecBeforeMergingTheme(specFromChart);\n const userSpec = this._prepareSpecBeforeMergingTheme(originalSpec);\n\n const labelSpec = mergeSpec({}, this._theme.label, chartSpec.label, userSpec.label) as IArcLabelSpec;\n const labelTheme = mergeSpec(\n {},\n this._theme.label,\n labelSpec.position === 'inside' ? this._theme.innerLabel : this._theme.outerLabel\n );\n const newTheme = {\n ...this._theme,\n label: labelTheme\n } as IPieSeriesTheme;\n return mergeSpec({}, newTheme, chartSpec, userSpec);\n };\n\n const baseSpec = this._spec;\n this._spec = merge(baseSpec);\n }\n }\n}\n\nexport class PieSeries<T extends IPieSeriesSpec = IPieSeriesSpec> extends BasePieSeries<T> implements IArcSeries {\n static readonly type: string = SeriesTypeEnum.pie;\n type = SeriesTypeEnum.pie;\n}\n\nexport const registerPieSeries = () => {\n Factory.registerMark(ArcMark.type, ArcMark);\n Factory.registerSeries(PieSeries.type, PieSeries);\n registerPieAnimation();\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/pie/pie.ts"],"names":[],"mappings":"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","file":"pie.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { degreeToRadian, isValid } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport {\n AttributeLevel,\n ARC_START_ANGLE,\n ARC_END_ANGLE,\n ARC_RATIO,\n ARC_MIDDLE_ANGLE,\n ARC_RADIAN,\n ARC_QUADRANT,\n ARC_K,\n PREFIX,\n ARC_LABEL_POINT_BX,\n ARC_LABEL_POINT_BY,\n ARC_LABEL_POINT_CX,\n ARC_LABEL_POINT_CY,\n DEFAULT_LABEL_VISIBLE,\n POLAR_START_RADIAN,\n POLAR_END_RADIAN,\n DEFAULT_DATA_INDEX,\n ChartEvent,\n DEFAULT_DATA_KEY\n} from '../../constant';\nimport type { Maybe, IPoint, Datum, StateValueType } from '../../typings';\nimport { normalizeStartEndAngle, polarToCartesian } from '../../util/math';\nimport { isSpecValueWithScale } from '../../util/scale';\nimport { field } from '../../util/object';\nimport type { IModelLayoutOption } from '../../model/interface';\nimport { PolarSeries } from '../polar/polar';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface/type';\nimport type { IArcMark } from '../../mark/arc';\nimport type { ITextMark } from '../../mark/text';\nimport type { IPathMark } from '../../mark/path';\nimport type { IArcSeries, SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IPieOpt } from '../../data/transforms/pie';\n// eslint-disable-next-line no-duplicate-imports\nimport { pie } from '../../data/transforms/pie';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { registerPieAnimation, type IPieAnimationParams, type PieAppearPreset } from './animation/animation';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { AnimationStateEnum } from '../../animation/interface';\nimport type { IArcLabelSpec, IPieSeriesSpec, IPieSeriesTheme } from './interface';\nimport { SeriesData } from '../base/series-data';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { IAnimationTypeConfig } from '@visactor/vgrammar-core';\nimport { centerOffsetConfig } from './animation/centerOffset';\nimport { ArcMark } from '../../mark/arc';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { pieSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { isNil } from '@visactor/vutils';\n\ntype IBasePieSeriesSpec = Omit<IPieSeriesSpec, 'type'> & { type: string };\n\nexport class BasePieSeries<T extends IBasePieSeriesSpec> extends PolarSeries<T> implements IArcSeries {\n protected _pieMarkName: SeriesMarkNameEnum = SeriesMarkNameEnum.pie;\n protected _pieMarkType: MarkTypeEnum = MarkTypeEnum.arc;\n\n static readonly mark: SeriesMarkMap = pieSeriesMark;\n\n protected _viewDataLabel!: SeriesData;\n\n // 饼图渲染不依赖于极坐标系轴,因此由 series 自己存储相关配置信息\n protected _center!: IPoint | null;\n public get center(): IPoint {\n return {\n x: this._spec?.centerX ?? this._region.getLayoutRect().width / 2,\n y: this._spec?.centerY ?? this._region.getLayoutRect().height / 2\n };\n }\n protected _centerOffset!: number;\n\n protected _cornerRadius!: number;\n\n protected _startAngle: number = POLAR_START_RADIAN;\n protected _endAngle: number = POLAR_END_RADIAN;\n protected _padAngle!: number;\n\n protected _pieMark: IArcMark | null = null;\n protected _labelMark: ITextMark | null = null;\n protected _labelLineMark: IPathMark | null = null;\n\n protected declare _theme: Maybe<IPieSeriesTheme>;\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // center\n this._markAttributeContext.getCenter = () => {\n return {\n x: () => this._center?.x ?? this._region.getLayoutRect().width / 2,\n y: () => this._center?.y ?? this._region.getLayoutRect().height / 2\n };\n };\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this._centerOffset = this._spec?.centerOffset ?? 0;\n this._cornerRadius = this._spec?.cornerRadius ?? 0;\n\n const normalized = normalizeStartEndAngle(\n isValid(this._spec?.startAngle) ? degreeToRadian(this._spec.startAngle) : this._startAngle,\n isValid(this._spec?.endAngle) ? degreeToRadian(this._spec.endAngle) : this._endAngle\n );\n this._startAngle = normalized.startAngle;\n this._endAngle = normalized.endAngle;\n this._padAngle = isValid(this._spec?.padAngle) ? degreeToRadian(this._spec.padAngle) : 0;\n\n // 值信息给角度,angleField 是为了兼容小组件用法,因为 spec 改造前已经开放了\n this.setAngleField(this._spec.valueField || this._spec.angleField);\n if (this._spec.categoryField) {\n this.setSeriesField(this._spec.categoryField);\n }\n this._radiusField = [];\n }\n\n initData() {\n super.initData();\n\n const viewData = this.getViewData();\n if (!viewData) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'pie', pie);\n\n viewData.transform(\n {\n type: 'pie',\n options: {\n angleField: this._angleField[0],\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n minAngle: isValid(this._spec?.minAngle) ? degreeToRadian(this._spec.minAngle) : 0,\n asStartAngle: ARC_START_ANGLE,\n asEndAngle: ARC_END_ANGLE,\n asRatio: ARC_RATIO,\n asMiddleAngle: ARC_MIDDLE_ANGLE,\n asRadian: ARC_RADIAN,\n asQuadrant: ARC_QUADRANT,\n asK: ARC_K\n } as IPieOpt\n },\n false\n );\n\n const viewDataLabel = new DataView(this._dataSet, { name: `${PREFIX}_series_${this.id}_viewDataLabel` });\n viewDataLabel.parse([this.getViewData()], {\n type: 'dataview'\n });\n\n this._viewDataLabel = new SeriesData(this._option, viewDataLabel);\n }\n\n initMark(): void {\n this._pieMark = this._createMark(\n {\n ...BasePieSeries.mark.pie,\n name: this._pieMarkName,\n type: this._pieMarkType\n },\n {\n morph: shouldMarkDoMorph(this._spec, this._pieMarkName),\n defaultMorphElementKey: this._seriesField,\n key: DEFAULT_DATA_KEY,\n groupKey: this._seriesField,\n skipBeforeLayouted: true,\n isSeriesMark: true,\n label: this._preprocessLabelSpec(this._spec.label),\n customShape: this._spec.pie?.customShape\n }\n ) as IArcMark;\n }\n\n initMarkStyle(): void {\n const pieMark = this._pieMark;\n if (pieMark) {\n this.setMarkStyle(\n pieMark,\n {\n x: () => this._center?.x ?? this._region.getLayoutRect().width / 2,\n y: () => this._center?.y ?? this._region.getLayoutRect().height / 2,\n fill: this.getColorAttribute(),\n outerRadius: isSpecValueWithScale(this._outerRadius)\n ? this._outerRadius\n : () => this.computeLayoutRadius() * this._outerRadius,\n innerRadius: isSpecValueWithScale(this._innerRadius)\n ? this._innerRadius\n : () => this.computeLayoutRadius() * this._innerRadius,\n cornerRadius: () => this.computeLayoutRadius() * this._cornerRadius,\n startAngle: field(ARC_START_ANGLE).bind(this),\n endAngle: field(ARC_END_ANGLE).bind(this),\n padAngle: this._padAngle,\n centerOffset: this._centerOffset\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(pieMark);\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._pieMark && this._tooltipHelper.activeTriggerSet.mark.add(this._pieMark);\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any, key?: string): void {\n super.initMarkStyleWithSpec(mark, spec, key);\n if (mark.name === this._pieMarkName) {\n // radius 配置需要额外处理比例值\n const pieSpec = this.getSpec()[mark.name];\n if (pieSpec) {\n for (const state in pieSpec.state || {}) {\n this.setMarkStyle(mark, this.generateRadiusStyle(pieSpec.state[state]), state, AttributeLevel.User_Mark);\n }\n }\n }\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n visible: field(DEFAULT_LABEL_VISIBLE).bind(this),\n text: (datum: Datum) => {\n return datum[this.getDimensionField()[0]];\n },\n fill: this._spec.label?.style?.fill || this.getColorAttribute(),\n angle: this._spec.label?.style?.angle,\n limit: this._spec.label?.style?.limit,\n z: this.dataToPositionZ.bind(this)\n });\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this._trigger.setStateKeys([this._seriesField as string, ...this._radiusField]);\n }\n\n initEvent(): void {\n super.initEvent();\n this._viewDataLabel.getDataView()?.target.addListener('change', this.viewDataLabelUpdate.bind(this));\n }\n\n // 饼图不支持分组\n initGroups() {\n return;\n }\n\n /**\n * @override\n * @param ctx\n */\n onLayoutEnd(ctx: IModelLayoutOption): void {\n this._viewDataLabel.getDataView().reRunAllTransform();\n this.onMarkPositionUpdate();\n super.onLayoutEnd(ctx);\n }\n\n getDimensionField(): string[] {\n return this._seriesField ? [this._seriesField] : [];\n }\n getMeasureField(): string[] {\n return this._angleField;\n }\n\n private viewDataLabelUpdate() {\n this.event.emit(ChartEvent.viewDataLabelUpdate, { model: this });\n this._viewDataLabel.updateData();\n }\n\n protected generateRadiusStyle(spec: any) {\n const style: any = {};\n spec?.outerRadius && (style.outerRadius = () => this.computeLayoutRadius() * spec?.outerRadius);\n spec?.innerRadius && (style.innerRadius = () => this.computeLayoutRadius() * spec?.innerRadius);\n spec?.cornerRadius && (style.cornerRadius = () => this.computeLayoutRadius() * spec?.cornerRadius);\n return style;\n }\n\n protected computeLayoutRadius() {\n const { width, height } = this._region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n computeCenter(datum: Datum): IPoint {\n return {\n x: this._pieMark.getAttribute('x', datum, 'normal') as number,\n y: this._pieMark.getAttribute('y', datum, 'normal') as number\n };\n }\n\n protected generateLinePath(state: StateValueType) {\n const key = state === 'normal' ? 'POINT' : state.toUpperCase();\n return {\n path: (datum: Datum) => {\n return (\n `M${Math.round(datum[`${PREFIX}_ARC_LABEL_${key}_AX`])},${Math.round(\n datum[`${PREFIX}_ARC_LABEL_${key}_AY`]\n )}` +\n ` L${Math.round(datum[ARC_LABEL_POINT_BX])},${Math.round(datum[ARC_LABEL_POINT_BY])}` +\n ` L${Math.round(datum[ARC_LABEL_POINT_CX])},${Math.round(datum[ARC_LABEL_POINT_CY])}`\n );\n }\n };\n }\n\n getRadius(state: StateValueType = 'normal'): number {\n const styleRadius =\n state === 'normal'\n ? this.getSpec()[this._pieMark?.name || 'pie']?.style?.outerRadius\n : this.getSpec()[this._pieMark?.name || 'pie']?.state?.[state]?.outerRadius;\n return styleRadius ?? this._outerRadius;\n }\n\n getInnerRadius(state: StateValueType = 'normal'): number {\n const styleRadius =\n state === 'normal'\n ? this.getSpec()[this._pieMark?.name || 'pie']?.style?.innerRadius\n : this.getSpec()[this._pieMark?.name || 'pie']?.state?.[state]?.innerRadius;\n return styleRadius ?? this._innerRadius;\n }\n\n getLabelConfig(): IArcLabelSpec {\n // TODO: 转换 series spec\n return {\n visible: true,\n position: 'outside',\n showRule: 'all',\n rotate: true,\n coverEnable: false,\n spaceWidth: 5,\n layoutArcGap: 6,\n ...this._spec.label,\n\n style: {\n visible: true,\n ...this._spec.label?.style\n },\n line: {\n visible: true,\n line1MinLength: this._spec.label?.line?.line1MinLength ?? 20,\n line2MinLength: this._spec.label?.line?.line2MinLength ?? 10,\n ...this._spec.label?.line\n },\n layout: {\n align: 'arc',\n strategy: 'priority',\n tangentConstraint: true,\n ...this._spec.label?.layout\n }\n };\n }\n\n computeRadius(r: number, k?: number): number {\n return this.computeLayoutRadius() * r * (isNil(k) ? 1 : k) + this._centerOffset;\n }\n\n computeDatumRadius(datum: Datum, state?: string): number {\n return this.computeLayoutRadius() * this.getRadius(state) + this._centerOffset;\n }\n\n _compareSpec(ignoreCheckKeys?: { [key: string]: true }) {\n ignoreCheckKeys = ignoreCheckKeys ?? { data: true };\n ignoreCheckKeys.centerX = true;\n ignoreCheckKeys.centerX = true;\n ignoreCheckKeys.centerY = true;\n ignoreCheckKeys.centerOffset = true;\n ignoreCheckKeys.radius = true;\n ignoreCheckKeys.innerRadius = true;\n ignoreCheckKeys.cornerRadius = true;\n ignoreCheckKeys.startAngle = true;\n ignoreCheckKeys.endAngle = true;\n ignoreCheckKeys.padAngle = true;\n const { centerX, centerY, centerOffset, radius, innerRadius, cornerRadius, startAngle, endAngle, padAngle } =\n this._originalSpec;\n const result = super._compareSpec(ignoreCheckKeys);\n if (\n this._spec?.centerY !== centerY ||\n this._spec?.centerX !== centerX ||\n this._spec?.centerOffset !== centerOffset ||\n this._spec?.radius !== radius ||\n this._spec?.innerRadius !== innerRadius ||\n this._spec?.cornerRadius !== cornerRadius ||\n this._spec?.startAngle !== startAngle ||\n this._spec?.endAngle !== endAngle ||\n this._spec?.padAngle !== padAngle\n ) {\n result.reRender = true;\n result.change = true;\n }\n return result;\n }\n\n computeDatumInnerRadius(datum: Datum, state?: string): number {\n return this.computeLayoutRadius() * this.getInnerRadius(state) + this._centerOffset;\n }\n\n dataToPosition(datum: Datum): IPoint | null {\n const angle = datum[ARC_MIDDLE_ANGLE];\n if (isNil(angle)) {\n return null;\n }\n const radius = this.computeDatumRadius(datum);\n const center = this.computeCenter(datum);\n const delta = polarToCartesian({ angle, radius });\n return { x: center.x + delta.x, y: center.y + delta.y };\n }\n\n dataToCentralPosition = (datum: Datum): IPoint | null => {\n // 和 PieSeries.dataToPosition 实现不同,这里考虑了美观性,返回的位置是曲边梯形的中心\n const angle = datum[ARC_MIDDLE_ANGLE];\n if (isNil(angle)) {\n return null;\n }\n const radius = this.computeDatumRadius(datum);\n const innerRadius = this.computeDatumInnerRadius(datum);\n const center = this.computeCenter(datum);\n const delta = polarToCartesian({ angle, radius: (radius + innerRadius) / 2 });\n return { x: center.x + delta.x, y: center.y + delta.y };\n };\n\n initAnimation() {\n const animationParams: IPieAnimationParams = {\n growFrom: (datum, element, state) => {\n if (state === AnimationStateEnum.appear) {\n return this._startAngle;\n }\n if (state === AnimationStateEnum.disappear) {\n return this._endAngle;\n }\n\n const outState = [AnimationStateEnum.disappear, AnimationStateEnum.exit];\n const markElements = element.mark.elements;\n\n const data = datum;\n const dataIndex = data?.[DEFAULT_DATA_INDEX];\n\n // 当前 mark 在上个状态是否处于第一个\n if (markElements.find(e => e.data[0]?.[DEFAULT_DATA_INDEX] < dataIndex) === undefined) {\n return this._startAngle;\n }\n // 当前 mark 在上个状态是否处于最后一个\n if (markElements.find(e => e.data[0]?.[DEFAULT_DATA_INDEX] > dataIndex) === undefined) {\n return this._endAngle;\n }\n\n // 扇形不在边缘时,获取扇形生长点:获取相邻状态下相邻扇形的边缘\n const prevMarkElement = [...markElements].reverse().find(e => e.data[0]?.[DEFAULT_DATA_INDEX] < dataIndex);\n\n if (outState.includes(state)) {\n return prevMarkElement?.getNextGraphicAttributes()?.endAngle;\n }\n return prevMarkElement?.getGraphicAttribute('endAngle', true);\n }\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<PieAppearPreset>)?.preset;\n\n if (this._pieMark) {\n const pieAnimationConfig = animationConfig(\n Factory.getAnimationInKey('pie')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.pie, this._spec, this._markAttributeContext)\n );\n\n if (pieAnimationConfig.normal && (pieAnimationConfig.normal as IAnimationTypeConfig).type) {\n pieAnimationConfig.normal = centerOffsetConfig(\n this._pieMark,\n pieAnimationConfig.normal as IAnimationTypeConfig\n );\n }\n\n this._pieMark.setAnimationConfig(pieAnimationConfig);\n }\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n // make sure this function fast\n protected _noAnimationDataKey(datum: Datum, index: number) {\n return index;\n }\n\n getActiveMarks(): IMark[] {\n return [this._pieMark];\n }\n\n /** 将 theme merge 到 spec 中 */\n protected _mergeThemeToSpec() {\n if (this._shouldMergeThemeToSpec()) {\n const specFromChart = this._getDefaultSpecFromChart(this.getChart().getSpec());\n\n // this._originalSpec + specFromChart + this._theme = this._spec\n const merge = (originalSpec: any) => {\n const chartSpec = this._prepareSpecBeforeMergingTheme(specFromChart);\n const userSpec = this._prepareSpecBeforeMergingTheme(originalSpec);\n\n const labelSpec = mergeSpec({}, this._theme.label, chartSpec.label, userSpec.label) as IArcLabelSpec;\n const labelTheme = mergeSpec(\n {},\n this._theme.label,\n labelSpec.position === 'inside' ? this._theme.innerLabel : this._theme.outerLabel\n );\n const newTheme = {\n ...this._theme,\n label: labelTheme\n } as IPieSeriesTheme;\n return mergeSpec({}, newTheme, chartSpec, userSpec);\n };\n\n const baseSpec = this._originalSpec;\n this._spec = merge(baseSpec);\n }\n }\n}\n\nexport class PieSeries<T extends IPieSeriesSpec = IPieSeriesSpec> extends BasePieSeries<T> implements IArcSeries {\n static readonly type: string = SeriesTypeEnum.pie;\n type = SeriesTypeEnum.pie;\n}\n\nexport const registerPieSeries = () => {\n Factory.registerMark(ArcMark.type, ArcMark);\n Factory.registerSeries(PieSeries.type, PieSeries);\n registerPieAnimation();\n};\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerRangeColumnSeries = exports.RangeColumnSeries = exports.DefaultBandWidth = void 0;
|
|
6
6
|
|
|
7
|
-
const bar_1 = require("../bar/bar"), type_1 = require("../../mark/interface/type"), type_2 = require("../interface/type"), space_1 = require("../../typings/space"), rect_1 = require("../../mark/rect"), text_1 = require("../../mark/text"), scale_1 = require("../../util/scale"), label_mark_1 = require("../util/label-mark"), constant_1 = require("../../constant"), utils_1 = require("../../animation/utils"), tooltip_helper_1 = require("./tooltip-helper"), config_1 = require("../../animation/config"), interface_1 = require("./interface"), animation_1 = require("./animation"), constant_2 = require("./constant"), factory_1 = require("../../core/factory");
|
|
7
|
+
const bar_1 = require("../bar/bar"), type_1 = require("../../mark/interface/type"), type_2 = require("../interface/type"), space_1 = require("../../typings/space"), rect_1 = require("../../mark/rect"), text_1 = require("../../mark/text"), scale_1 = require("../../util/scale"), label_mark_1 = require("../util/label-mark"), constant_1 = require("../../constant"), utils_1 = require("../../animation/utils"), tooltip_helper_1 = require("./tooltip-helper"), config_1 = require("../../animation/config"), interface_1 = require("./interface"), animation_1 = require("./animation"), constant_2 = require("./constant"), factory_1 = require("../../core/factory"), utils_2 = require("../util/utils");
|
|
8
8
|
|
|
9
9
|
exports.DefaultBandWidth = 6;
|
|
10
10
|
|
|
@@ -94,22 +94,14 @@ class RangeColumnSeries extends bar_1.BarSeries {
|
|
|
94
94
|
}
|
|
95
95
|
initAnimation() {
|
|
96
96
|
var _a, _b, _c, _d, _e;
|
|
97
|
-
const
|
|
98
|
-
var _a, _b, _c;
|
|
99
|
-
const xValue = null == datum ? void 0 : datum[this._fieldX[0]];
|
|
100
|
-
return (null === (_c = null === (_b = null === (_a = this.getViewDataStatistics()) || void 0 === _a ? void 0 : _a.latestData) || void 0 === _b ? void 0 : _b[this._fieldX[0]]) || void 0 === _c ? void 0 : _c.values.indexOf(xValue)) || 0;
|
|
101
|
-
}, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
|
|
97
|
+
const animationParams = (0, utils_2.getGroupAnimationParams)(this), appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
|
|
102
98
|
this._barMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_c = factory_1.Factory.getAnimationInKey("rangeColumn")) || void 0 === _c ? void 0 : _c({
|
|
103
99
|
direction: this.direction
|
|
104
|
-
}, appearPreset), (0, utils_1.userAnimationConfig)(type_2.SeriesMarkNameEnum.bar, this._spec, this._markAttributeContext),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
})), this._maxLabelMark && this._maxLabelMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_e = factory_1.Factory.getAnimationInKey("fadeInOut")) || void 0 === _e ? void 0 : _e(), (0,
|
|
110
|
-
utils_1.userAnimationConfig)(type_2.SeriesMarkNameEnum.label, this._spec, this._markAttributeContext), {
|
|
111
|
-
dataIndex: dataIndex
|
|
112
|
-
}));
|
|
100
|
+
}, appearPreset), (0, utils_1.userAnimationConfig)(type_2.SeriesMarkNameEnum.bar, this._spec, this._markAttributeContext), animationParams)),
|
|
101
|
+
this._minLabelMark && this._minLabelMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_d = factory_1.Factory.getAnimationInKey("fadeInOut")) || void 0 === _d ? void 0 : _d(), (0,
|
|
102
|
+
utils_1.userAnimationConfig)(type_2.SeriesMarkNameEnum.label, this._spec, this._markAttributeContext), animationParams)),
|
|
103
|
+
this._maxLabelMark && this._maxLabelMark.setAnimationConfig((0, utils_1.animationConfig)(null === (_e = factory_1.Factory.getAnimationInKey("fadeInOut")) || void 0 === _e ? void 0 : _e(), (0,
|
|
104
|
+
utils_1.userAnimationConfig)(type_2.SeriesMarkNameEnum.label, this._spec, this._markAttributeContext), animationParams));
|
|
113
105
|
}
|
|
114
106
|
initTooltip() {
|
|
115
107
|
this._tooltipHelper = new tooltip_helper_1.RangeColumnSeriesTooltipHelper(this),
|