@visactor/vchart 1.1.0-beta.9 → 1.1.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +1285 -483
- package/build/index.min.js +1 -1
- package/cjs/chart/base-chart.d.ts +1 -1
- package/cjs/chart/map/map.js +2 -1
- package/cjs/chart/map/map.js.map +1 -1
- package/cjs/compile/compiler.js +2 -1
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +1 -0
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +7 -7
- package/cjs/component/axis/base-axis.js +10 -6
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.js +3 -3
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/interface.d.ts +3 -3
- package/cjs/component/axis/interface.js.map +1 -1
- package/cjs/component/axis/utils.js +3 -2
- package/cjs/component/axis/utils.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js +2 -2
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +2 -0
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +17 -13
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/util.js +1 -1
- package/cjs/component/data-zoom/util.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +1 -0
- package/cjs/component/indicator/indicator.js +7 -3
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +2 -0
- package/cjs/component/interface/theme.js.map +1 -1
- package/cjs/component/interface/type.d.ts +1 -0
- package/cjs/component/interface/type.js +2 -1
- package/cjs/component/interface/type.js.map +1 -1
- package/cjs/component/legend/discrete/interface.d.ts +5 -4
- package/cjs/component/legend/discrete/interface.js.map +1 -1
- package/cjs/component/legend/discrete/util.js +3 -3
- package/cjs/component/legend/discrete/util.js.map +1 -1
- package/cjs/component/legend/util.d.ts +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +6 -5
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.d.ts +2 -1
- package/cjs/core/vchart.js +10 -5
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/map.js +2 -2
- package/cjs/data/transforms/map.js.map +1 -1
- package/cjs/layout/base-layout.d.ts +1 -0
- package/cjs/layout/base-layout.js +62 -0
- package/cjs/layout/base-layout.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +1 -0
- package/cjs/mark/base/base-mark.js +8 -2
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/image.d.ts +10 -0
- package/cjs/mark/image.js +23 -0
- package/cjs/mark/image.js.map +1 -0
- package/cjs/mark/interface/common.d.ts +2 -0
- package/cjs/mark/interface/common.js.map +1 -1
- package/cjs/mark/interface/type.d.ts +1 -0
- package/cjs/mark/interface/type.js +5 -4
- package/cjs/mark/interface/type.js.map +1 -1
- package/cjs/model/interface.d.ts +1 -1
- package/cjs/model/interface.js.map +1 -1
- package/cjs/series/cartesian/cartesian.js +4 -4
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/index.d.ts +2 -2
- package/cjs/series/index.js +4 -4
- package/cjs/series/index.js.map +1 -1
- package/cjs/series/map/interface.d.ts +2 -2
- package/cjs/series/map/interface.js.map +1 -1
- package/cjs/series/map/map.d.ts +2 -2
- package/cjs/series/map/map.js +12 -17
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/range-column/{rangeColumn-3d.d.ts → range-column-3d.d.ts} +1 -1
- package/cjs/series/range-column/{rangeColumn-3d.js → range-column-3d.js} +3 -3
- package/cjs/series/range-column/range-column-3d.js.map +1 -0
- package/cjs/series/range-column/{rangeColumn.js → range-column.js} +1 -1
- package/cjs/series/range-column/range-column.js.map +1 -0
- package/cjs/series/sunburst/sunburst.d.ts +1 -1
- package/cjs/series/waterfall/waterfall.js +7 -6
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/data-zoom.js +3 -3
- package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/index.js +3 -2
- package/cjs/theme/buildin-theme/light/component/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/poptip.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/poptip.js +32 -0
- package/cjs/theme/buildin-theme/light/component/poptip.js.map +1 -0
- package/cjs/typings/spec/common.d.ts +4 -1
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/visual.d.ts +12 -0
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/style.d.ts +2 -1
- package/cjs/util/style.js +28 -9
- package/cjs/util/style.js.map +1 -1
- package/cjs/vchart-all.js +2 -2
- package/cjs/vchart-all.js.map +1 -1
- package/esm/chart/base-chart.d.ts +1 -1
- package/esm/chart/map/map.js +2 -1
- package/esm/chart/map/map.js.map +1 -1
- package/esm/compile/compiler.js +3 -2
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +1 -0
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +7 -7
- package/esm/component/axis/base-axis.js +11 -7
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.js +1 -1
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/interface.d.ts +3 -3
- package/esm/component/axis/interface.js.map +1 -1
- package/esm/component/axis/utils.js +2 -2
- package/esm/component/axis/utils.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js +2 -2
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +2 -0
- package/esm/component/data-zoom/data-zoom/data-zoom.js +17 -13
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/util.js +1 -1
- package/esm/component/data-zoom/util.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +1 -0
- package/esm/component/indicator/indicator.js +7 -3
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/interface/theme.d.ts +2 -0
- package/esm/component/interface/theme.js.map +1 -1
- package/esm/component/interface/type.d.ts +1 -0
- package/esm/component/interface/type.js +2 -1
- package/esm/component/interface/type.js.map +1 -1
- package/esm/component/legend/discrete/interface.d.ts +5 -4
- package/esm/component/legend/discrete/interface.js.map +1 -1
- package/esm/component/legend/discrete/util.js +3 -2
- package/esm/component/legend/discrete/util.js.map +1 -1
- package/esm/component/legend/util.d.ts +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +4 -2
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.d.ts +2 -1
- package/esm/core/vchart.js +12 -5
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/map.js +4 -2
- package/esm/data/transforms/map.js.map +1 -1
- package/esm/layout/base-layout.d.ts +1 -0
- package/esm/layout/base-layout.js +62 -0
- package/esm/layout/base-layout.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +1 -0
- package/esm/mark/base/base-mark.js +8 -2
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/image.d.ts +10 -0
- package/esm/mark/image.js +19 -0
- package/esm/mark/image.js.map +1 -0
- package/esm/mark/interface/common.d.ts +2 -0
- package/esm/mark/interface/common.js.map +1 -1
- package/esm/mark/interface/type.d.ts +1 -0
- package/esm/mark/interface/type.js +5 -4
- package/esm/mark/interface/type.js.map +1 -1
- package/esm/model/interface.d.ts +1 -1
- package/esm/model/interface.js.map +1 -1
- package/esm/series/cartesian/cartesian.js +4 -4
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/index.d.ts +2 -2
- package/esm/series/index.js +2 -2
- package/esm/series/index.js.map +1 -1
- package/esm/series/map/interface.d.ts +2 -2
- package/esm/series/map/interface.js.map +1 -1
- package/esm/series/map/map.d.ts +2 -2
- package/esm/series/map/map.js +13 -18
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/range-column/{rangeColumn-3d.d.ts → range-column-3d.d.ts} +1 -1
- package/esm/series/range-column/{rangeColumn-3d.js → range-column-3d.js} +2 -2
- package/esm/series/range-column/range-column-3d.js.map +1 -0
- package/esm/series/range-column/{rangeColumn.js → range-column.js} +1 -1
- package/esm/series/range-column/range-column.js.map +1 -0
- package/esm/series/sunburst/sunburst.d.ts +1 -1
- package/esm/series/waterfall/waterfall.js +6 -6
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/data-zoom.js +3 -3
- package/esm/theme/buildin-theme/light/component/data-zoom.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/index.js +4 -1
- package/esm/theme/buildin-theme/light/component/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/poptip.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/poptip.js +28 -0
- package/esm/theme/buildin-theme/light/component/poptip.js.map +1 -0
- package/esm/typings/spec/common.d.ts +4 -1
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/visual.d.ts +12 -0
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/style.d.ts +2 -1
- package/esm/util/style.js +23 -7
- package/esm/util/style.js.map +1 -1
- package/esm/vchart-all.js +3 -1
- package/esm/vchart-all.js.map +1 -1
- package/package.json +12 -12
- package/cjs/series/range-column/rangeColumn-3d.js.map +0 -1
- package/cjs/series/range-column/rangeColumn.js.map +0 -1
- package/esm/series/range-column/rangeColumn-3d.js.map +0 -1
- package/esm/series/range-column/rangeColumn.js.map +0 -1
- /package/cjs/series/range-column/{rangeColumn.d.ts → range-column.d.ts} +0 -0
- /package/esm/series/range-column/{rangeColumn.d.ts → range-column.d.ts} +0 -0
|
@@ -25,28 +25,31 @@ class DataZoom extends data_filter_base_component_1.DataFilterBaseComponent {
|
|
|
25
25
|
super(spec, Object.assign({}, options)), this.type = interface_1.ComponentTypeEnum.dataZoom,
|
|
26
26
|
this.name = interface_1.ComponentTypeEnum.dataZoom, this.layoutZIndex = constant_1.LayoutZIndex.DataZoom,
|
|
27
27
|
this.layoutLevel = constant_1.LayoutLevel.DataZoom, this._dataToPositionX = datum => {
|
|
28
|
-
const offsetLeft = "left" === this._orient ? this._middleHandlerSize : 0;
|
|
29
|
-
return (this._isHorizontal ? this._stateScale : this._valueScale).scale(datum[this._stateField]) + this.getLayoutStartPoint().x + offsetLeft;
|
|
28
|
+
const offsetLeft = "left" === this._orient ? this._middleHandlerSize : 0, offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;
|
|
29
|
+
return (this._isHorizontal ? this._stateScale : this._valueScale).scale(datum[this._stateField]) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;
|
|
30
30
|
}, this._dataToPositionX2 = datum => {
|
|
31
|
-
const offsetLeft = "left" === this._orient ? this._middleHandlerSize : 0, xScale = this._isHorizontal ? this._stateScale : this._valueScale, min = xScale.domain()[0];
|
|
32
|
-
return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft;
|
|
31
|
+
const offsetLeft = "left" === this._orient ? this._middleHandlerSize : 0, offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0, xScale = this._isHorizontal ? this._stateScale : this._valueScale, min = xScale.domain()[0];
|
|
32
|
+
return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;
|
|
33
33
|
}, this._dataToPositionY = datum => {
|
|
34
|
-
const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;
|
|
35
|
-
return (this._isHorizontal ? this._valueScale : this._stateScale).scale(datum[this._valueField]) + this.getLayoutStartPoint().y + offsetTop;
|
|
34
|
+
const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0, offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;
|
|
35
|
+
return (this._isHorizontal ? this._valueScale : this._stateScale).scale(datum[this._valueField]) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;
|
|
36
36
|
}, this._dataToPositionY2 = datum => {
|
|
37
|
-
const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0, yScale = this._isHorizontal ? this._valueScale : this._stateScale, min = yScale.domain()[0];
|
|
38
|
-
return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop;
|
|
37
|
+
const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0, offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2, yScale = this._isHorizontal ? this._valueScale : this._stateScale, min = yScale.domain()[0];
|
|
38
|
+
return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;
|
|
39
39
|
}, this._valueField = "y";
|
|
40
40
|
}
|
|
41
41
|
created() {
|
|
42
42
|
super.created(), this._initValueScale();
|
|
43
43
|
}
|
|
44
44
|
setAttrFromSpec() {
|
|
45
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
45
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
46
46
|
super.setAttrFromSpec(), this._backgroundSize = null !== (_b = null === (_a = this._spec.background) || void 0 === _a ? void 0 : _a.size) && void 0 !== _b ? _b : 30,
|
|
47
47
|
this._middleHandlerSize = this._computeMiddleHandlerSize(), this._width = this._computeWidth(),
|
|
48
48
|
this._height = this._computeHeight(), (null === (_e = null === (_d = null === (_c = this._originalSpec.startHandler) || void 0 === _c ? void 0 : _c.style) || void 0 === _d ? void 0 : _d.size) || void 0 === _e || _e) && (this._spec.startHandler.style.size = this._isHorizontal ? this._height - this._middleHandlerSize : this._width - this._middleHandlerSize),
|
|
49
49
|
(null === (_h = null === (_g = null === (_f = this._originalSpec.endHandler) || void 0 === _f ? void 0 : _f.style) || void 0 === _g ? void 0 : _g.size) || void 0 === _h || _h) && (this._spec.endHandler.style.size = this._isHorizontal ? this._height - this._middleHandlerSize : this._width - this._middleHandlerSize);
|
|
50
|
+
const startHandlerVisble = null === (_j = this._spec.startHandler.style.visible) || void 0 === _j || _j, endHandlerVisble = null === (_k = this._spec.endHandler.style.visible) || void 0 === _k || _k;
|
|
51
|
+
this._startHandlerSize = startHandlerVisble ? this._spec.startHandler.style.size : 0,
|
|
52
|
+
this._endHandlerSize = endHandlerVisble ? this._spec.endHandler.style.size : 0;
|
|
50
53
|
}
|
|
51
54
|
onLayoutEnd(ctx) {
|
|
52
55
|
this._updateScaleRange(), super.onLayoutEnd(ctx);
|
|
@@ -59,9 +62,10 @@ class DataZoom extends data_filter_base_component_1.DataFilterBaseComponent {
|
|
|
59
62
|
}
|
|
60
63
|
}
|
|
61
64
|
_updateScaleRange() {
|
|
62
|
-
|
|
63
|
-
this.
|
|
64
|
-
this._valueScale.range([ this.
|
|
65
|
+
const handlerSize = (this._startHandlerSize + this._endHandlerSize) / 2;
|
|
66
|
+
this._stateScale && this._valueScale && (this._isHorizontal ? (this._stateScale.range([ 0, this._computeWidth() - handlerSize ]),
|
|
67
|
+
this._valueScale.range([ this._computeHeight() - this._middleHandlerSize, 0 ])) : "left" === this.layoutOrient ? (this._stateScale.range([ 0, this._computeHeight() - handlerSize ]),
|
|
68
|
+
this._valueScale.range([ this._computeWidth() - this._middleHandlerSize, 0 ])) : (this._stateScale.range([ 0, this._computeHeight() - handlerSize ]),
|
|
65
69
|
this._valueScale.range([ 0, this._computeWidth() - this._middleHandlerSize ])),
|
|
66
70
|
this._component && this._component.setAttributes({
|
|
67
71
|
size: {
|
|
@@ -87,7 +91,7 @@ class DataZoom extends data_filter_base_component_1.DataFilterBaseComponent {
|
|
|
87
91
|
return (0, vutils_1.isNumber)(this._spec.width) ? this._spec.width : this._isHorizontal ? this.getLayoutRect().width : this._backgroundSize + this._middleHandlerSize;
|
|
88
92
|
}
|
|
89
93
|
_computeHeight() {
|
|
90
|
-
return (0, vutils_1.isNumber)(this._spec.height) ? this._spec.height : this._isHorizontal ? this._backgroundSize + this._middleHandlerSize : this.getLayoutRect().height;
|
|
94
|
+
return (0, vutils_1.isNumber)(this._spec.height) ? this._spec.height : this._isHorizontal ? this._backgroundSize + this._middleHandlerSize : this.getLayoutRect().height - (this._startHandlerSize + this._endHandlerSize) / 2;
|
|
91
95
|
}
|
|
92
96
|
_createOrUpdateComponent() {
|
|
93
97
|
var _a, _b, _c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/data-zoom/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["import { isArray, isNil, isNumber, merge } from '@visactor/vutils';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataZoom as DataZoomComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, ISymbolGraphicAttribute } from '@visactor/vrender';\nimport type { Datum } from '../../../typings';\nimport type { ILinearScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../../constant';\n\nexport class DataZoom extends DataFilterBaseComponent {\n static type = ComponentTypeEnum.dataZoom;\n type = ComponentTypeEnum.dataZoom;\n name: string = ComponentTypeEnum.dataZoom;\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n\n // datazoom组件\n protected _component!: DataZoomComponent;\n\n protected _valueScale!: ILinearScale;\n\n protected _backgroundSize!: number;\n protected _middleHandlerSize!: number;\n\n static createComponent(spec: any, options: IComponentOption) {\n const compSpec = spec.dataZoom || options.defaultSpec;\n if (isNil(compSpec)) {\n return undefined;\n }\n if (!isArray(compSpec)) {\n return new DataZoom(compSpec, { ...options, specKey: 'dataZoom' });\n }\n const zooms: DataZoom[] = [];\n compSpec.forEach((s, i: number) => {\n zooms.push(new DataZoom(s, { ...options, specIndex: i, specKey: 'dataZoom' }));\n });\n return zooms;\n }\n\n constructor(spec: any, options: IComponentOption) {\n super(spec, {\n ...options\n });\n\n this._valueField = 'y';\n }\n\n created() {\n super.created();\n this._initValueScale();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size相关\n this._backgroundSize = this._spec.background?.size ?? 30;\n this._middleHandlerSize = this._computeMiddleHandlerSize();\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n // startHandler和endHandler size如果没有配置,则默认跟随background宽 or 高\n if (this._originalSpec.startHandler?.style?.size ?? true) {\n this._spec.startHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n if (this._originalSpec.endHandler?.style?.size ?? true) {\n this._spec.endHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n super.onLayoutEnd(ctx);\n }\n\n protected _initValueScale() {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n const valueScale = new LinearScale();\n valueScale.domain(domain);\n this._valueScale = valueScale;\n }\n }\n\n protected _updateScaleRange() {\n if (!this._stateScale || !this._valueScale) {\n return;\n }\n if (this._isHorizontal) {\n this._stateScale.range([0, this._computeWidth()]);\n this._valueScale.range([this._computeHeight() - this._middleHandlerSize, 0]);\n } else if (this.layoutOrient === 'left') {\n this._stateScale.range([0, this._computeHeight()]);\n this._valueScale.range([this._computeWidth() - this._middleHandlerSize, 0]);\n } else {\n this._stateScale.range([0, this._computeHeight()]);\n this._valueScale.range([0, this._computeWidth() - this._middleHandlerSize]);\n }\n\n if (this._component) {\n this._component.setAttributes({\n size: {\n width: this._computeWidth(),\n height: this._computeHeight()\n }\n });\n }\n }\n\n protected _computeDomainOfValueScale() {\n const domain = this._data.getLatestData().map((d: any) => d[this._valueField]);\n\n return domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : null;\n }\n\n protected _computeMiddleHandlerSize(): number {\n let size = 0;\n if (this._spec?.middleHandler?.visible) {\n const middleHandlerIconSize = this._spec.middleHandler.icon.style.size ?? 8;\n const middleHandlerBackSize = this._spec.middleHandler.background.size ?? 40;\n size += Math.max(middleHandlerIconSize as number, middleHandlerBackSize);\n }\n return size;\n }\n\n protected _computeWidth(): number {\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n\n return this._backgroundSize + this._middleHandlerSize;\n }\n\n protected _computeHeight(): number {\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n if (this._isHorizontal) {\n return this._backgroundSize + this._middleHandlerSize;\n }\n return this.getLayoutRect().height;\n }\n\n protected _dataToPositionX = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n\n return xScale.scale(datum[this._stateField]) + this.getLayoutStartPoint().x + offsetLeft;\n };\n\n protected _dataToPositionX2 = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const min = xScale.domain()[0];\n return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft;\n };\n\n protected _dataToPositionY = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n\n return yScale.scale(datum[this._valueField]) + this.getLayoutStartPoint().y + offsetTop;\n };\n\n protected _dataToPositionY2 = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const min = yScale.domain()[0];\n return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop;\n };\n\n protected _createOrUpdateComponent() {\n if (!this._component) {\n const container = this.getContainer();\n this._component = new DataZoomComponent({\n zIndex: this.layoutZIndex,\n start: this._start,\n end: this._end,\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n },\n orient: this._orient,\n size: {\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height\n },\n showDetail: this._spec?.showDetail,\n brushSelect: this._spec?.brushSelect ?? true,\n previewData: this._data.getLatestData(),\n previewCallbackX: this._dataToPositionX,\n previewCallbackY: this._dataToPositionY,\n ...(this._getComponentAttrs() as any)\n });\n\n if (this._isHorizontal) {\n this._component.setPreviewCallbackY1(this._dataToPositionY2);\n } else {\n this._component.setPreviewCallbackX1(this._dataToPositionX2);\n }\n this._component.setStatePointToData((state: number) => this._statePointToData(state));\n this._component.setUpdateStateCallback((start: number, end: number) => {\n this._handleChange(start, end);\n });\n\n container.add(this._component as unknown as INode);\n\n this._updateScaleRange();\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean) {\n if (updateComponent && this._component) {\n this._component.setStartAndEnd(start, end);\n }\n\n this._start = start;\n this._end = end;\n const hasChange = this._handleStateChange(this._statePointToData(start), this._statePointToData(end));\n if (hasChange) {\n this.event.emit(ChartEvent.dataZoomChange, {\n model: this,\n value: {\n filterData: this._spec.filterMode !== 'axis',\n start,\n end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n\n protected _handleDataCollectionChange() {\n const data = this._data.getDataView();\n data.reRunAllTransform();\n this._component?.setPreviewData(data.latestData);\n\n if (this._valueScale) {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n this._valueScale.domain(domain);\n }\n }\n }\n\n protected _initEvent() {\n // do nothing\n }\n\n protected _getComponentAttrs() {\n return {\n backgroundStyle: transformToGraphic(this._spec.background?.style) as unknown as IRectGraphicAttribute,\n startHandlerStyle: transformToGraphic(this._spec.startHandler?.style) as unknown as ISymbolGraphicAttribute,\n middleHandlerStyle: {\n visible: this._spec.middleHandler?.visible ?? false,\n icon: transformToGraphic(this._spec.middleHandler?.icon?.style) as unknown as ISymbolGraphicAttribute,\n background: {\n size: this._spec.middleHandler?.background?.size,\n style: transformToGraphic(this._spec.middleHandler.background?.style)\n } as any\n },\n endHandlerStyle: transformToGraphic(this._spec.endHandler?.style) as unknown as ISymbolGraphicAttribute,\n startTextStyle: {\n padding: this._spec.startText?.padding,\n formatMethod: this._spec.startText?.formatMethod,\n textStyle: transformToGraphic(this._spec.startText?.style)\n } as unknown,\n endTextStyle: {\n padding: this._spec.endText?.padding,\n formatMethod: this._spec.endText?.formatMethod,\n textStyle: transformToGraphic(this._spec.endText?.style)\n } as unknown,\n selectedBackgroundStyle: transformToGraphic(\n this._spec.selectedBackground.style\n ) as unknown as IRectGraphicAttribute,\n dragMaskStyle: transformToGraphic(this._spec.dragMask?.style) as unknown as IRectGraphicAttribute,\n backgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.backgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.backgroundChart?.area?.style)\n }\n },\n selectedBackgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.selectedBackgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.selectedBackgroundChart?.area?.style)\n }\n }\n };\n }\n\n clear(): void {\n if (this._component) {\n this._container.removeChild(this._component as unknown as INode);\n this._component = null;\n }\n super.clear();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/data-zoom/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["import { isArray, isNil, isNumber, merge } from '@visactor/vutils';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport { DataZoom as DataZoomComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, ISymbolGraphicAttribute } from '@visactor/vrender';\nimport type { Datum } from '../../../typings';\nimport type { ILinearScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../../constant';\n\nexport class DataZoom extends DataFilterBaseComponent {\n static type = ComponentTypeEnum.dataZoom;\n type = ComponentTypeEnum.dataZoom;\n name: string = ComponentTypeEnum.dataZoom;\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n\n // datazoom组件\n protected _component!: DataZoomComponent;\n\n protected _valueScale!: ILinearScale;\n\n protected _backgroundSize!: number;\n protected _middleHandlerSize!: number;\n protected _startHandlerSize!: number;\n protected _endHandlerSize!: number;\n\n static createComponent(spec: any, options: IComponentOption) {\n const compSpec = spec.dataZoom || options.defaultSpec;\n if (isNil(compSpec)) {\n return undefined;\n }\n if (!isArray(compSpec)) {\n return new DataZoom(compSpec, { ...options, specKey: 'dataZoom' });\n }\n const zooms: DataZoom[] = [];\n compSpec.forEach((s, i: number) => {\n zooms.push(new DataZoom(s, { ...options, specIndex: i, specKey: 'dataZoom' }));\n });\n return zooms;\n }\n\n constructor(spec: any, options: IComponentOption) {\n super(spec, {\n ...options\n });\n\n this._valueField = 'y';\n }\n\n created() {\n super.created();\n this._initValueScale();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size相关\n this._backgroundSize = this._spec.background?.size ?? 30;\n this._middleHandlerSize = this._computeMiddleHandlerSize();\n this._width = this._computeWidth();\n this._height = this._computeHeight();\n // startHandler和endHandler size如果没有配置,则默认跟随background宽 or 高\n if (this._originalSpec.startHandler?.style?.size ?? true) {\n this._spec.startHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n if (this._originalSpec.endHandler?.style?.size ?? true) {\n this._spec.endHandler.style.size = this._isHorizontal\n ? this._height - this._middleHandlerSize\n : this._width - this._middleHandlerSize;\n }\n const startHandlerVisble = this._spec.startHandler.style.visible ?? true;\n const endHandlerVisble = this._spec.endHandler.style.visible ?? true;\n this._startHandlerSize = startHandlerVisble ? this._spec.startHandler.style.size : 0;\n this._endHandlerSize = endHandlerVisble ? this._spec.endHandler.style.size : 0;\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n super.onLayoutEnd(ctx);\n }\n\n protected _initValueScale() {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n const valueScale = new LinearScale();\n valueScale.domain(domain);\n this._valueScale = valueScale;\n }\n }\n\n protected _updateScaleRange() {\n const handlerSize = (this._startHandlerSize + this._endHandlerSize) / 2;\n if (!this._stateScale || !this._valueScale) {\n return;\n }\n if (this._isHorizontal) {\n this._stateScale.range([0, this._computeWidth() - handlerSize]);\n this._valueScale.range([this._computeHeight() - this._middleHandlerSize, 0]);\n } else if (this.layoutOrient === 'left') {\n this._stateScale.range([0, this._computeHeight() - handlerSize]);\n this._valueScale.range([this._computeWidth() - this._middleHandlerSize, 0]);\n } else {\n this._stateScale.range([0, this._computeHeight() - handlerSize]);\n this._valueScale.range([0, this._computeWidth() - this._middleHandlerSize]);\n }\n\n if (this._component) {\n this._component.setAttributes({\n size: {\n width: this._computeWidth(),\n height: this._computeHeight()\n }\n });\n }\n }\n\n protected _computeDomainOfValueScale() {\n const domain = this._data.getLatestData().map((d: any) => d[this._valueField]);\n\n return domain.length ? [Math.min.apply(null, domain), Math.max.apply(null, domain)] : null;\n }\n\n protected _computeMiddleHandlerSize(): number {\n let size = 0;\n if (this._spec?.middleHandler?.visible) {\n const middleHandlerIconSize = this._spec.middleHandler.icon.style.size ?? 8;\n const middleHandlerBackSize = this._spec.middleHandler.background.size ?? 40;\n size += Math.max(middleHandlerIconSize as number, middleHandlerBackSize);\n }\n return size;\n }\n\n protected _computeWidth(): number {\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n\n return this._backgroundSize + this._middleHandlerSize;\n }\n\n protected _computeHeight(): number {\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n if (this._isHorizontal) {\n return this._backgroundSize + this._middleHandlerSize;\n }\n return this.getLayoutRect().height - (this._startHandlerSize + this._endHandlerSize) / 2;\n }\n\n protected _dataToPositionX = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n return xScale.scale(datum[this._stateField]) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionX2 = (datum: Datum): number => {\n const offsetLeft = this._orient === 'left' ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? this._startHandlerSize / 2 : 0;\n const xScale = this._isHorizontal ? this._stateScale : this._valueScale;\n const min = xScale.domain()[0];\n return xScale.scale(min) + this.getLayoutStartPoint().x + offsetLeft + offsetHandler;\n };\n\n protected _dataToPositionY = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n\n return yScale.scale(datum[this._valueField]) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n protected _dataToPositionY2 = (datum: Datum): number => {\n const offsetTop = this._isHorizontal ? this._middleHandlerSize : 0;\n const offsetHandler = this._isHorizontal ? 0 : this._startHandlerSize / 2;\n const yScale = this._isHorizontal ? this._valueScale : this._stateScale;\n const min = yScale.domain()[0];\n return yScale.scale(min) + this.getLayoutStartPoint().y + offsetTop + offsetHandler;\n };\n\n protected _createOrUpdateComponent() {\n if (!this._component) {\n const container = this.getContainer();\n this._component = new DataZoomComponent({\n zIndex: this.layoutZIndex,\n start: this._start,\n end: this._end,\n position: {\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y\n },\n orient: this._orient,\n size: {\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height\n },\n showDetail: this._spec?.showDetail,\n brushSelect: this._spec?.brushSelect ?? true,\n previewData: this._data.getLatestData(),\n previewCallbackX: this._dataToPositionX,\n previewCallbackY: this._dataToPositionY,\n ...(this._getComponentAttrs() as any)\n });\n\n if (this._isHorizontal) {\n this._component.setPreviewCallbackY1(this._dataToPositionY2);\n } else {\n this._component.setPreviewCallbackX1(this._dataToPositionX2);\n }\n this._component.setStatePointToData((state: number) => this._statePointToData(state));\n this._component.setUpdateStateCallback((start: number, end: number) => {\n this._handleChange(start, end);\n });\n\n container.add(this._component as unknown as INode);\n\n this._updateScaleRange();\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean) {\n if (updateComponent && this._component) {\n this._component.setStartAndEnd(start, end);\n }\n\n this._start = start;\n this._end = end;\n const hasChange = this._handleStateChange(this._statePointToData(start), this._statePointToData(end));\n if (hasChange) {\n this.event.emit(ChartEvent.dataZoomChange, {\n model: this,\n value: {\n filterData: this._spec.filterMode !== 'axis',\n start,\n end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n\n protected _handleDataCollectionChange() {\n const data = this._data.getDataView();\n data.reRunAllTransform();\n this._component?.setPreviewData(data.latestData);\n\n if (this._valueScale) {\n const domain = this._computeDomainOfValueScale();\n\n if (domain) {\n this._valueScale.domain(domain);\n }\n }\n }\n\n protected _initEvent() {\n // do nothing\n }\n\n protected _getComponentAttrs() {\n return {\n backgroundStyle: transformToGraphic(this._spec.background?.style) as unknown as IRectGraphicAttribute,\n startHandlerStyle: transformToGraphic(this._spec.startHandler?.style) as unknown as ISymbolGraphicAttribute,\n middleHandlerStyle: {\n visible: this._spec.middleHandler?.visible ?? false,\n icon: transformToGraphic(this._spec.middleHandler?.icon?.style) as unknown as ISymbolGraphicAttribute,\n background: {\n size: this._spec.middleHandler?.background?.size,\n style: transformToGraphic(this._spec.middleHandler.background?.style)\n } as any\n },\n endHandlerStyle: transformToGraphic(this._spec.endHandler?.style) as unknown as ISymbolGraphicAttribute,\n startTextStyle: {\n padding: this._spec.startText?.padding,\n formatMethod: this._spec.startText?.formatMethod,\n textStyle: transformToGraphic(this._spec.startText?.style)\n } as unknown,\n endTextStyle: {\n padding: this._spec.endText?.padding,\n formatMethod: this._spec.endText?.formatMethod,\n textStyle: transformToGraphic(this._spec.endText?.style)\n } as unknown,\n selectedBackgroundStyle: transformToGraphic(\n this._spec.selectedBackground.style\n ) as unknown as IRectGraphicAttribute,\n dragMaskStyle: transformToGraphic(this._spec.dragMask?.style) as unknown as IRectGraphicAttribute,\n backgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.backgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.backgroundChart?.area?.style)\n }\n },\n selectedBackgroundChartStyle: {\n line: merge(transformToGraphic(this._spec.selectedBackgroundChart?.line?.style), { fill: false }),\n area: {\n curveType: 'basis',\n visible: true,\n ...transformToGraphic(this._spec.selectedBackgroundChart?.area?.style)\n }\n }\n };\n }\n\n clear(): void {\n if (this._component) {\n this._container.removeChild(this._component as unknown as INode);\n this._component = null;\n }\n super.clear();\n }\n}\n"]}
|
|
@@ -21,7 +21,7 @@ const dataFilterComputeDomain = (data, op) => {
|
|
|
21
21
|
(0, util_1.isNil)(stateFields[i]) || dv.latestData.forEach((d => {
|
|
22
22
|
(0, util_1.array)(stateFields[i]).forEach((state => {
|
|
23
23
|
(0, util_1.isNil)(d[state]) || ((0, util_1.isNil)(resultObj[d[state]]) && (resultObj[d[state]] = 0),
|
|
24
|
-
(0, util_1.isNil)(valueFields[i]) || (resultObj[d[state]] += parseFloat(d[valueFields[i]])));
|
|
24
|
+
(0, util_1.isNil)(valueFields[i]) || (resultObj[d[state]] += isNaN(parseFloat(d[valueFields[i]])) ? 1 : parseFloat(d[valueFields[i]])));
|
|
25
25
|
}));
|
|
26
26
|
}));
|
|
27
27
|
})), Object.keys(resultObj).forEach(((d, i) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/data-zoom/util.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAYnC,MAAM,uBAAuB,GAAG,CAAC,IAAgB,EAAE,EAAkC,EAAE,EAAE;IAC9F,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,IAAA,YAAK,EAAC,SAAS,CAAC,IAAI,IAAA,YAAK,EAAC,UAAU,CAAC,EAAE;QACzC,OAAO,IAAI,CAAC;KACb;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,EAAE,CAAC;KACX;IAED,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,YAAY,EAAE,EAAE;QAClB,MAAM,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;KACrF;SAAM;QACL,MAAM,GAAG,CAAC,CAAM,EAAE,EAAE;YAElB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7F,CAAC,CAAC;KACH;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC;AAtBW,QAAA,uBAAuB,2BAsBlC;AAeK,MAAM,uBAAuB,GAAG,CAAC,IAAgB,EAAE,EAAkC,EAAE,EAAE;IAC9F,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;IAC9D,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;IAC7C,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,UAAU,GAAU,EAAE,CAAC;IAE7B,cAAc,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,CAAC,EAAE,EAAE;QACzC,IAAI,IAAA,YAAK,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YACzB,OAAO;SACR;QAED,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;YAE/B,IAAA,YAAK,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACpC,IAAI,CAAC,IAAA,YAAK,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;oBACpB,IAAI,IAAA,YAAK,EAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBAC9B,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;qBACzB;oBACD,IAAI,CAAC,IAAA,YAAK,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;
|
|
1
|
+
{"version":3,"sources":["../src/component/data-zoom/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { array, isNil } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\n\nexport interface IDataFilterWithNewDomainOption {\n getNewDomain: () => any[];\n isContinuous: () => boolean;\n field: () => string;\n}\n\n/**\n * 保证数据筛选的结果全都在坐标轴的新domain范围中,防止出现point数据因为超出domain范围而绘制在原点的情况\n */\nexport const dataFilterWithNewDomain = (data: Array<any>, op: IDataFilterWithNewDomainOption) => {\n const { getNewDomain, isContinuous, field } = op;\n const datumField = field();\n const newDomain = getNewDomain();\n if (isNil(newDomain) || isNil(datumField)) {\n return data;\n }\n if (newDomain.length === 0) {\n return [];\n }\n\n let filter = null;\n if (isContinuous()) {\n filter = (d: any) => d[datumField] >= newDomain[0] && d[datumField] <= newDomain[1];\n } else {\n filter = (d: any) => {\n // 这里d[f] + ''的原因是:数据是number类型的,但轴声明为band轴,domain会强制将number => string,所以filter的时候要将data中的number => string\n return newDomain.indexOf(d[datumField] + '') >= 0 || newDomain.indexOf(d[datumField]) >= 0;\n };\n }\n\n return data.filter(filter);\n};\n\nexport interface IDataFilterComputeDomainOption {\n input: {\n dataCollection: any[];\n stateFields: string[];\n valueFields: string[];\n method: 'sum'; // todo: 也许可以提供多种数据统计方法 @chensiji\n };\n output: {\n stateField: string;\n valueField: string;\n };\n}\n\nexport const dataFilterComputeDomain = (data: Array<any>, op: IDataFilterComputeDomainOption) => {\n const { stateFields, valueFields, dataCollection } = op.input;\n const { stateField, valueField } = op.output;\n const resultObj = {};\n const resultData: any[] = [];\n\n dataCollection.forEach((dv: DataView, i) => {\n if (isNil(stateFields[i])) {\n return;\n }\n\n dv.latestData.forEach((d: any) => {\n // 针对rangeColumn等xField为数组形式的图表,需要将xField的所有value都记录下来\n array(stateFields[i]).forEach(state => {\n if (!isNil(d[state])) {\n if (isNil(resultObj[d[state]])) {\n resultObj[d[state]] = 0;\n }\n if (!isNil(valueFields[i])) {\n // 传进来的d[yFields[i]]可能是stringnumber\n // 传进来的d[yFields[i]]可能是普通的字符串,这时计数按1计算(其实相当于计算数据条数)\n resultObj[d[state]] += isNaN(parseFloat(d[valueFields[i]])) ? 1 : parseFloat(d[valueFields[i]]);\n }\n }\n });\n });\n });\n Object.keys(resultObj).forEach((d, i) => {\n const res = { [stateField]: d };\n\n if (valueField) {\n res[valueField] = resultObj[d];\n }\n\n resultData.push(res);\n });\n\n return resultData;\n};\n"]}
|
|
@@ -6,6 +6,7 @@ import type { IRegion } from '../../region/interface';
|
|
|
6
6
|
import type { IIndicator, IIndicatorTheme } from './interface';
|
|
7
7
|
import type { Maybe } from '../../typings';
|
|
8
8
|
export declare class Indicator extends BaseComponent implements IIndicator {
|
|
9
|
+
static speckey: string;
|
|
9
10
|
static type: ComponentTypeEnum;
|
|
10
11
|
type: ComponentTypeEnum;
|
|
11
12
|
name: string;
|
|
@@ -15,7 +15,10 @@ class Indicator extends base_1.BaseComponent {
|
|
|
15
15
|
static createComponent(spec, options) {
|
|
16
16
|
if (this.type !== Indicator.type) return null;
|
|
17
17
|
const indicatorSpec = spec.indicator || options.defaultSpec;
|
|
18
|
-
return (0, util_1.array)(indicatorSpec).filter((s => s && !1 !== s.visible)).map((s => new Indicator(s, options)
|
|
18
|
+
return (0, util_1.array)(indicatorSpec).filter((s => s && !1 !== s.visible)).map(((s, index) => new Indicator(s, Object.assign(Object.assign({}, options), {
|
|
19
|
+
specIndex: index,
|
|
20
|
+
specKey: Indicator.speckey
|
|
21
|
+
}))));
|
|
19
22
|
}
|
|
20
23
|
created() {
|
|
21
24
|
super.created(), this.initData(), this.initEvent();
|
|
@@ -115,9 +118,10 @@ class Indicator extends base_1.BaseComponent {
|
|
|
115
118
|
return (0, util_1.eachSeries)(this._regions, (s => model === s)) || this._regions.includes(model);
|
|
116
119
|
}
|
|
117
120
|
clear() {
|
|
118
|
-
|
|
121
|
+
this._indicatorComponent && (this._container.removeChild(this._indicatorComponent),
|
|
122
|
+
this._indicatorComponent = null), this._cacheAttrs = null, super.clear();
|
|
119
123
|
}
|
|
120
124
|
}
|
|
121
125
|
|
|
122
|
-
exports.Indicator = Indicator, Indicator.type = interface_1.ComponentTypeEnum.indicator;
|
|
126
|
+
exports.Indicator = Indicator, Indicator.speckey = "indicator", Indicator.type = interface_1.ComponentTypeEnum.indicator;
|
|
123
127
|
//# sourceMappingURL=indicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/indicator/indicator.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,6CAA2D;AAE3D,4CAAiD;AAEjD,kCAAwC;AAIxC,qCAA2E;AAC3E,6CAA2C;AAC3C,iCAAyC;AAEzC,kDAAuE;AACvE,6CAAoD;AACpD,qEAAgF;AAIhF,4CAAsD;AAGtD,MAAa,SAAU,SAAQ,oBAAa;IAA5C;;QAEE,SAAI,GAAG,6BAAiB,CAAC,SAAS,CAAC;QACnC,SAAI,GAAW,6BAAiB,CAAC,SAAS,CAAC;QAE3C,eAAU,GAA6B,UAAU,CAAC;QAClD,iBAAY,GAAW,uBAAY,CAAC,SAAS,CAAC;QAC9C,gBAAW,GAAW,sBAAW,CAAC,SAAS,CAAC;QAEpC,SAAI,GAAW,CAAC,CAAC;QAEjB,iBAAY,GAAQ,IAAI,CAAC;IAiNnC,CAAC;IAtMC,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QACzD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;YAChC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;QAC5D,MAAM,UAAU,GAAiB,IAAA,YAAK,EAAC,aAAa,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACvC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAA,YAAK,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAA,YAAK,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAGD,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAGS,SAAS;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACvD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;gBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACvD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,WAAW,CAAC,KAAU;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAGO,QAAQ;QACd,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,sBAAe,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,WAAW,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY;aAC/B;SACF,CAAC,CAAC;QAEH,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAc,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,qBAAqB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;QAE9C,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAEO,kBAAkB;;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAE9C,MAAM,oBAAoB,GAAyB,EAAE,CAAC;QACtD,IAAA,YAAK,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAA4B,EAAE,EAAE;YACjE,MAAM,WAAW,GAAG,IAAA,YAAK,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7D,oBAAoB,CAAC,IAAI,CAAC;gBACxB,OAAO,EAAE,WAAW,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjG,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;gBACrC,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,KAAK,kCACA,IAAA,0BAAkB,EAAC,WAAW,CAAC,KAAK,CAAC,KACxC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAClE;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;YACnG,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;aACf;YACD,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,CAAC;YAC3B,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,CAAC;YAC3B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ;YAC7C,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;gBAC/G,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;gBAC1C,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS;gBACrC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;gBACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU;gBACvC,KAAK,kCACA,IAAA,0BAAkB,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAC7C,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAC5E;aACF;YACD,OAAO,EAAE,oBAAoB;SACP,CAAC;IAC3B,CAAC;IAEO,iCAAiC,CAAC,KAA0B;QAClE,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;gBACrC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM;YACL,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAEtC,MAAM,SAAS,GAAG,IAAI,8BAAmB,CAAC,KAAY,CAAC,CAAC;YACxD,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,SAA6B,CAAC,CAAC;YAC7C,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAU,EAAE,IAAY,EAAE,EAAE,CAC5D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAuC,EAAE,KAAK,EAAE,IAAI,CAAC,CAC/E,CAAC;SACH;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEO,WAAW,CACjB,KAAyB,EACzB,IAQa;;QAEb,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D;QACD,IAAI,IAAA,iBAAU,EAAC,IAAI,CAAC,EAAE;YACpB,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,mCAAI,EAAE,CAAC;SACjD;QACD,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IACpB,CAAC;IAEO,eAAe,CAAC,KAAa;QACnC,OAAO,IAAA,iBAAU,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAgB,CAAC,CAAC;IACjG,CAAC;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;;AA3NH,8BA4NC;AA3NQ,cAAI,GAAG,6BAAiB,CAAC,SAAS,CAAC","file":"indicator.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IComponentOption } from '../interface';\nimport { LayoutLevel, LayoutZIndex } from '../../constant';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { BaseComponent } from '../base';\nimport type { IRegion } from '../../region/interface';\nimport type { IIndicator, IIndicatorItemSpec, IIndicatorTheme } from './interface';\nimport type { Maybe } from '../../typings';\nimport { isValid, isFunction, array, merge, eachSeries } from '../../util';\nimport { isEqual } from '@visactor/vutils';\nimport { indicatorMapper } from './util';\nimport type { IModel } from '../../model/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { CompilableData } from '../../compile/data';\nimport { Indicator as IndicatorComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IndicatorAttributes } from '@visactor/vrender-components';\nimport type { INode } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport type { IVisualScale, IVisualSpecStyle, VisualType, FunctionType } from '../../typings/visual';\n\nexport class Indicator extends BaseComponent implements IIndicator {\n static type = ComponentTypeEnum.indicator;\n type = ComponentTypeEnum.indicator;\n name: string = ComponentTypeEnum.indicator;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n layoutZIndex: number = LayoutZIndex.Indicator;\n layoutLevel: number = LayoutLevel.Indicator;\n\n private _gap: number = 0;\n\n private _activeDatum: any = null;\n private _displayData!: CompilableData;\n\n private _title: IIndicatorItemSpec;\n private _content: IIndicatorItemSpec[];\n\n private _indicatorComponent: IndicatorComponents;\n private _cacheAttrs: IndicatorAttributes;\n\n protected declare _theme: Maybe<IIndicatorTheme>;\n\n static createComponent(spec: any, options: IComponentOption) {\n if (this.type !== Indicator.type) {\n return null;\n }\n const indicatorSpec = spec.indicator || options.defaultSpec;\n const indicators: IIndicator[] = array(indicatorSpec)\n .filter(s => s && s.visible !== false)\n .map(s => new Indicator(s, options));\n return indicators;\n }\n\n created() {\n super.created();\n // data\n this.initData();\n // event\n this.initEvent();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._gap = this._spec.gap || 0;\n this._title = this._spec.title;\n this._content = this._spec.content;\n this._regions = this._option.getRegionsInUserIdOrIndex(array(this._spec.regionId), array(this._spec.regionIndex));\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n // event\n protected initEvent() {\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (this._spec.trigger === 'hover') {\n this.event.on('hovered', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(params.value[0]);\n }\n });\n this.event.on('unhovered', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(null);\n }\n });\n } else {\n this.event.on('selected', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(params.value[0]);\n }\n });\n this.event.on('unselected', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(null);\n }\n });\n }\n }\n\n private updateDatum(datum: any) {\n this._activeDatum = datum;\n this.setAttributeTag(true);\n this._displayData.updateData();\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n }\n\n // data\n private initData() {\n registerDataSetInstanceTransform(this._option.dataSet, 'indicatorFilter', indicatorMapper);\n const displayData = new DataView(this._option.dataSet);\n displayData.transform({\n type: 'indicatorFilter',\n options: {\n title: this._title,\n content: this._content,\n datum: () => this._activeDatum\n }\n });\n\n displayData.target.addListener('change', this.updateDatum.bind(this));\n\n this._displayData = new CompilableData(this._option, displayData);\n }\n\n updateLayoutAttribute(): void {\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n\n super.updateLayoutAttribute();\n }\n\n private _getIndicatorAttrs() {\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n const { x, y } = region.getLayoutStartPoint();\n\n const contentComponentSpec: IIndicatorItemSpec[] = [];\n array(this._spec.content).forEach((eachItem: IIndicatorItemSpec) => {\n const contentSpec = merge({}, this._theme.content, eachItem);\n contentComponentSpec.push({\n visible: contentSpec.visible !== false && (contentSpec.field ? this._activeDatum !== null : true),\n space: contentSpec.space || this._gap,\n autoLimit: contentSpec.autoLimit,\n autoFit: contentSpec.autoFit,\n fitPercent: contentSpec.fitPercent,\n style: {\n ...transformToGraphic(contentSpec.style),\n text: this._createText(contentSpec.field, contentSpec.style.text)\n }\n });\n });\n return {\n visible: this._spec.visible !== false && (this._spec.fixed !== false || this._activeDatum !== null),\n size: {\n width: width,\n height: height\n },\n zIndex: this.layoutZIndex,\n x: x,\n y: y,\n dx: this._spec.offsetX ?? 0,\n dy: this._spec.offsetY ?? 0,\n limitRatio: this._spec.limitRatio || Infinity,\n title: {\n visible: this._spec.title.visible !== false && (!isValid(this._spec.title.field) || this._activeDatum !== null),\n space: this._spec.title.space || this._gap,\n autoLimit: this._spec.title.autoLimit,\n autoFit: this._spec.title.autoFit,\n fitPercent: this._spec.title.fitPercent,\n style: {\n ...transformToGraphic(this._spec.title.style),\n text: this._createText(this._spec.title.field, this._spec.title.style.text)\n }\n },\n content: contentComponentSpec\n } as IndicatorAttributes;\n }\n\n private _createOrUpdateIndicatorComponent(attrs: IndicatorAttributes): IndicatorComponents {\n if (this._indicatorComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._indicatorComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n //FIXME:类型“IndicatorAttributes”的参数不能赋给类型“Required<IndicatorAttributes>”的参数\n const indicator = new IndicatorComponents(attrs as any);\n indicator.name = 'indicator';\n container.add(indicator as unknown as INode);\n this._indicatorComponent = indicator;\n this._indicatorComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._indicatorComponent as unknown as INode, event, type)\n );\n }\n this._cacheAttrs = attrs;\n return this._indicatorComponent;\n }\n\n private _createText(\n field: string | undefined,\n text:\n | string\n | number\n | string[]\n | IVisualScale\n | VisualType<string>[]\n | FunctionType<string | number | string[]>\n | IVisualSpecStyle<unknown, string | number | string[]>\n | undefined\n ) {\n if (field) {\n return this._activeDatum ? this._activeDatum[field] : '';\n }\n if (isFunction(text)) {\n return text(this._activeDatum, undefined) ?? '';\n }\n return text ?? '';\n }\n\n private isRelativeModel(model: IModel) {\n return eachSeries(this._regions, s => model === s) || this._regions.includes(model as IRegion);\n }\n\n clear(): void {\n super.clear();\n this._indicatorComponent = null;\n this._cacheAttrs = null;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/indicator/indicator.ts"],"names":[],"mappings":"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","file":"indicator.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IComponentOption } from '../interface';\nimport { LayoutLevel, LayoutZIndex } from '../../constant';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { BaseComponent } from '../base';\nimport type { IRegion } from '../../region/interface';\nimport type { IIndicator, IIndicatorItemSpec, IIndicatorTheme } from './interface';\nimport type { Maybe } from '../../typings';\nimport { isValid, isFunction, array, merge, eachSeries } from '../../util';\nimport { isEqual } from '@visactor/vutils';\nimport { indicatorMapper } from './util';\nimport type { IModel } from '../../model/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { CompilableData } from '../../compile/data';\nimport { Indicator as IndicatorComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IndicatorAttributes } from '@visactor/vrender-components';\nimport type { INode } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport type { IVisualScale, IVisualSpecStyle, VisualType, FunctionType } from '../../typings/visual';\n\nexport class Indicator extends BaseComponent implements IIndicator {\n static speckey = 'indicator';\n static type = ComponentTypeEnum.indicator;\n type = ComponentTypeEnum.indicator;\n name: string = ComponentTypeEnum.indicator;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n layoutZIndex: number = LayoutZIndex.Indicator;\n layoutLevel: number = LayoutLevel.Indicator;\n\n private _gap: number = 0;\n\n private _activeDatum: any = null;\n private _displayData!: CompilableData;\n\n private _title: IIndicatorItemSpec;\n private _content: IIndicatorItemSpec[];\n\n private _indicatorComponent: IndicatorComponents;\n private _cacheAttrs: IndicatorAttributes;\n\n protected declare _theme: Maybe<IIndicatorTheme>;\n\n static createComponent(spec: any, options: IComponentOption) {\n if (this.type !== Indicator.type) {\n return null;\n }\n const indicatorSpec = spec.indicator || options.defaultSpec;\n const indicators: IIndicator[] = array(indicatorSpec)\n .filter(s => s && s.visible !== false)\n .map((s, index) => new Indicator(s, { ...options, specIndex: index, specKey: Indicator.speckey }));\n return indicators;\n }\n\n created() {\n super.created();\n // data\n this.initData();\n // event\n this.initEvent();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._gap = this._spec.gap || 0;\n this._title = this._spec.title;\n this._content = this._spec.content;\n this._regions = this._option.getRegionsInUserIdOrIndex(array(this._spec.regionId), array(this._spec.regionIndex));\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n // event\n protected initEvent() {\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (this._spec.trigger === 'hover') {\n this.event.on('hovered', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(params.value[0]);\n }\n });\n this.event.on('unhovered', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(null);\n }\n });\n } else {\n this.event.on('selected', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(params.value[0]);\n }\n });\n this.event.on('unselected', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(null);\n }\n });\n }\n }\n\n private updateDatum(datum: any) {\n this._activeDatum = datum;\n this.setAttributeTag(true);\n this._displayData.updateData();\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n }\n\n // data\n private initData() {\n registerDataSetInstanceTransform(this._option.dataSet, 'indicatorFilter', indicatorMapper);\n const displayData = new DataView(this._option.dataSet);\n displayData.transform({\n type: 'indicatorFilter',\n options: {\n title: this._title,\n content: this._content,\n datum: () => this._activeDatum\n }\n });\n\n displayData.target.addListener('change', this.updateDatum.bind(this));\n\n this._displayData = new CompilableData(this._option, displayData);\n }\n\n updateLayoutAttribute(): void {\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n\n super.updateLayoutAttribute();\n }\n\n private _getIndicatorAttrs() {\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n const { x, y } = region.getLayoutStartPoint();\n\n const contentComponentSpec: IIndicatorItemSpec[] = [];\n array(this._spec.content).forEach((eachItem: IIndicatorItemSpec) => {\n const contentSpec = merge({}, this._theme.content, eachItem);\n contentComponentSpec.push({\n visible: contentSpec.visible !== false && (contentSpec.field ? this._activeDatum !== null : true),\n space: contentSpec.space || this._gap,\n autoLimit: contentSpec.autoLimit,\n autoFit: contentSpec.autoFit,\n fitPercent: contentSpec.fitPercent,\n style: {\n ...transformToGraphic(contentSpec.style),\n text: this._createText(contentSpec.field, contentSpec.style.text)\n }\n });\n });\n return {\n visible: this._spec.visible !== false && (this._spec.fixed !== false || this._activeDatum !== null),\n size: {\n width: width,\n height: height\n },\n zIndex: this.layoutZIndex,\n x: x,\n y: y,\n dx: this._spec.offsetX ?? 0,\n dy: this._spec.offsetY ?? 0,\n limitRatio: this._spec.limitRatio || Infinity,\n title: {\n visible: this._spec.title.visible !== false && (!isValid(this._spec.title.field) || this._activeDatum !== null),\n space: this._spec.title.space || this._gap,\n autoLimit: this._spec.title.autoLimit,\n autoFit: this._spec.title.autoFit,\n fitPercent: this._spec.title.fitPercent,\n style: {\n ...transformToGraphic(this._spec.title.style),\n text: this._createText(this._spec.title.field, this._spec.title.style.text)\n }\n },\n content: contentComponentSpec\n } as IndicatorAttributes;\n }\n\n private _createOrUpdateIndicatorComponent(attrs: IndicatorAttributes): IndicatorComponents {\n if (this._indicatorComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._indicatorComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n //FIXME:类型“IndicatorAttributes”的参数不能赋给类型“Required<IndicatorAttributes>”的参数\n const indicator = new IndicatorComponents(attrs as any);\n indicator.name = 'indicator';\n container.add(indicator as unknown as INode);\n this._indicatorComponent = indicator;\n this._indicatorComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._indicatorComponent as unknown as INode, event, type)\n );\n }\n this._cacheAttrs = attrs;\n return this._indicatorComponent;\n }\n\n private _createText(\n field: string | undefined,\n text:\n | string\n | number\n | string[]\n | IVisualScale\n | VisualType<string>[]\n | FunctionType<string | number | string[]>\n | IVisualSpecStyle<unknown, string | number | string[]>\n | undefined\n ) {\n if (field) {\n return this._activeDatum ? this._activeDatum[field] : '';\n }\n if (isFunction(text)) {\n return text(this._activeDatum, undefined) ?? '';\n }\n return text ?? '';\n }\n\n private isRelativeModel(model: IModel) {\n return eachSeries(this._regions, s => model === s) || this._regions.includes(model as IRegion);\n }\n\n clear(): void {\n if (this._indicatorComponent) {\n this._container.removeChild(this._indicatorComponent as unknown as INode);\n this._indicatorComponent = null;\n }\n this._cacheAttrs = null;\n super.clear();\n }\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PopTipAttributes } from '@visactor/vrender-components';
|
|
1
2
|
import type { IAxisCommonTheme, ICartesianAxisCommonTheme, IPolarAxisCommonTheme } from '../axis';
|
|
2
3
|
import type { IBrushTheme } from '../brush';
|
|
3
4
|
import type { ICrosshairTheme } from '../crosshair/interface';
|
|
@@ -35,4 +36,5 @@ export interface IComponentTheme {
|
|
|
35
36
|
[ComponentTypeEnum.brush]?: IBrushTheme;
|
|
36
37
|
[ComponentTypeEnum.title]?: ITitleTheme;
|
|
37
38
|
[ComponentTypeEnum.mapLabel]?: IMapLabelTheme;
|
|
39
|
+
[ComponentTypeEnum.poptip]?: PopTipAttributes;
|
|
38
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { IAxisCommonTheme, ICartesianAxisCommonTheme, IPolarAxisCommonTheme } from '../axis';\nimport type { IBrushTheme } from '../brush';\nimport type { ICrosshairTheme } from '../crosshair/interface';\nimport type { IDataZoomTheme, IScrollBarTheme } from '../data-zoom';\nimport type { IIndicatorTheme } from '../indicator/interface';\nimport type { IDiscreteLegendTheme, IColorLegendTheme, ISizeLegendTheme } from '../legend';\nimport type { IMapLabelTheme } from '../map-label';\nimport type { IMarkAreaTheme } from '../marker/mark-area/interface';\nimport type { IMarkLineTheme } from '../marker/mark-line/interface';\nimport type { IMarkPointTheme } from '../marker/mark-point/interface';\nimport type { IPlayerTheme } from '../player';\nimport type { ITitleTheme } from '../title';\nimport type { ITooltipTheme } from '../tooltip/interface';\nimport type { ComponentTypeEnum } from './type';\n\nexport interface IComponentTheme {\n /**\n * 通用坐标轴配置\n */\n axis?: IAxisCommonTheme;\n /**\n * 离散轴的通用配置\n */\n axisBand?: IAxisCommonTheme;\n /**\n * 连续轴的通用配置\n */\n axisLinear?: IAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 x 轴的配置\n */\n axisX?: ICartesianAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 y 轴配置\n */\n axisY?: ICartesianAxisCommonTheme;\n /**\n * 极坐标系下半径轴配置\n */\n axisRadius?: IPolarAxisCommonTheme;\n /**\n * 极坐标系下角度轴配置\n */\n axisAngle?: IPolarAxisCommonTheme;\n /**\n * 离散图例配置\n */\n [ComponentTypeEnum.discreteLegend]?: IDiscreteLegendTheme;\n /**\n * 连续颜色图例配置\n */\n [ComponentTypeEnum.colorLegend]?: IColorLegendTheme;\n /**\n * 连续尺寸图例配置\n */\n [ComponentTypeEnum.sizeLegend]?: ISizeLegendTheme;\n /**\n * markLine 标记配置\n */\n [ComponentTypeEnum.markLine]?: IMarkLineTheme;\n /**\n * markArea 标记配置\n */\n [ComponentTypeEnum.markArea]?: IMarkAreaTheme;\n /**\n * markPoint 标记配置\n */\n [ComponentTypeEnum.markPoint]?: IMarkPointTheme;\n /**\n * tooltip 组件配置\n */\n [ComponentTypeEnum.tooltip]?: ITooltipTheme;\n /**\n * crosshair 配置\n */\n [ComponentTypeEnum.crosshair]?: ICrosshairTheme;\n /**\n * dataZoom 配置\n */\n [ComponentTypeEnum.dataZoom]?: IDataZoomTheme;\n /**\n * scrollbar 滚动条配置\n */\n [ComponentTypeEnum.scrollBar]?: IScrollBarTheme;\n /**\n * 指标卡组件配置\n */\n [ComponentTypeEnum.indicator]?: IIndicatorTheme;\n /**\n * 播放器配置\n */\n [ComponentTypeEnum.player]?: IPlayerTheme;\n /**\n * 框选配置\n */\n [ComponentTypeEnum.brush]?: IBrushTheme;\n /**\n * 图表标题配置\n */\n [ComponentTypeEnum.title]?: ITitleTheme;\n /**\n * 地图标签配置\n */\n [ComponentTypeEnum.mapLabel]?: IMapLabelTheme;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { PopTipAttributes } from '@visactor/vrender-components';\nimport type { IAxisCommonTheme, ICartesianAxisCommonTheme, IPolarAxisCommonTheme } from '../axis';\nimport type { IBrushTheme } from '../brush';\nimport type { ICrosshairTheme } from '../crosshair/interface';\nimport type { IDataZoomTheme, IScrollBarTheme } from '../data-zoom';\nimport type { IIndicatorTheme } from '../indicator/interface';\nimport type { IDiscreteLegendTheme, IColorLegendTheme, ISizeLegendTheme } from '../legend';\nimport type { IMapLabelTheme } from '../map-label';\nimport type { IMarkAreaTheme } from '../marker/mark-area/interface';\nimport type { IMarkLineTheme } from '../marker/mark-line/interface';\nimport type { IMarkPointTheme } from '../marker/mark-point/interface';\nimport type { IPlayerTheme } from '../player';\nimport type { ITitleTheme } from '../title';\nimport type { ITooltipTheme } from '../tooltip/interface';\nimport type { ComponentTypeEnum } from './type';\n\nexport interface IComponentTheme {\n /**\n * 通用坐标轴配置\n */\n axis?: IAxisCommonTheme;\n /**\n * 离散轴的通用配置\n */\n axisBand?: IAxisCommonTheme;\n /**\n * 连续轴的通用配置\n */\n axisLinear?: IAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 x 轴的配置\n */\n axisX?: ICartesianAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 y 轴配置\n */\n axisY?: ICartesianAxisCommonTheme;\n /**\n * 极坐标系下半径轴配置\n */\n axisRadius?: IPolarAxisCommonTheme;\n /**\n * 极坐标系下角度轴配置\n */\n axisAngle?: IPolarAxisCommonTheme;\n /**\n * 离散图例配置\n */\n [ComponentTypeEnum.discreteLegend]?: IDiscreteLegendTheme;\n /**\n * 连续颜色图例配置\n */\n [ComponentTypeEnum.colorLegend]?: IColorLegendTheme;\n /**\n * 连续尺寸图例配置\n */\n [ComponentTypeEnum.sizeLegend]?: ISizeLegendTheme;\n /**\n * markLine 标记配置\n */\n [ComponentTypeEnum.markLine]?: IMarkLineTheme;\n /**\n * markArea 标记配置\n */\n [ComponentTypeEnum.markArea]?: IMarkAreaTheme;\n /**\n * markPoint 标记配置\n */\n [ComponentTypeEnum.markPoint]?: IMarkPointTheme;\n /**\n * tooltip 组件配置\n */\n [ComponentTypeEnum.tooltip]?: ITooltipTheme;\n /**\n * crosshair 配置\n */\n [ComponentTypeEnum.crosshair]?: ICrosshairTheme;\n /**\n * dataZoom 配置\n */\n [ComponentTypeEnum.dataZoom]?: IDataZoomTheme;\n /**\n * scrollbar 滚动条配置\n */\n [ComponentTypeEnum.scrollBar]?: IScrollBarTheme;\n /**\n * 指标卡组件配置\n */\n [ComponentTypeEnum.indicator]?: IIndicatorTheme;\n /**\n * 播放器配置\n */\n [ComponentTypeEnum.player]?: IPlayerTheme;\n /**\n * 框选配置\n */\n [ComponentTypeEnum.brush]?: IBrushTheme;\n /**\n * 图表标题配置\n */\n [ComponentTypeEnum.title]?: ITitleTheme;\n /**\n * 地图标签配置\n */\n [ComponentTypeEnum.mapLabel]?: IMapLabelTheme;\n /**\n * 省略文本配置\n */\n [ComponentTypeEnum.poptip]?: PopTipAttributes;\n}\n"]}
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
17
17
|
ComponentTypeEnum.markLine = "markLine", ComponentTypeEnum.markArea = "markArea",
|
|
18
18
|
ComponentTypeEnum.markPoint = "markPoint", ComponentTypeEnum.tooltip = "tooltip",
|
|
19
19
|
ComponentTypeEnum.title = "title", ComponentTypeEnum.player = "player", ComponentTypeEnum.scrollBar = "scrollBar",
|
|
20
|
-
ComponentTypeEnum.label = "label", ComponentTypeEnum.brush = "brush", ComponentTypeEnum.
|
|
20
|
+
ComponentTypeEnum.label = "label", ComponentTypeEnum.brush = "brush", ComponentTypeEnum.poptip = "poptip",
|
|
21
|
+
ComponentTypeEnum.customMark = "customMark";
|
|
21
22
|
}(ComponentTypeEnum = exports.ComponentTypeEnum || (exports.ComponentTypeEnum = {}));
|
|
22
23
|
//# sourceMappingURL=type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/interface/type.ts"],"names":[],"mappings":";;;AAEA,IAAY,
|
|
1
|
+
{"version":3,"sources":["../src/component/interface/type.ts"],"names":[],"mappings":";;;AAEA,IAAY,iBAgCX;AAhCD,WAAY,iBAAiB;IAC3B,oDAA+B,CAAA;IAC/B,6DAAwC,CAAA;IACxC,iEAA4C,CAAA;IAC5C,6DAAwC,CAAA;IACxC,4CAAuB,CAAA;IACvB,qDAAgC,CAAA;IAChC,yDAAoC,CAAA;IACpC,4CAAuB,CAAA;IACvB,8DAAyC,CAAA;IACzC,sDAAiC,CAAA;IACjC,0CAAqB,CAAA;IACrB,oDAA+B,CAAA;IAC/B,4CAAuB,CAAA;IACvB,sDAAiC,CAAA;IACjC,0DAAqC,CAAA;IACrC,gDAA2B,CAAA;IAC3B,8CAAyB,CAAA;IACzB,0CAAqB,CAAA;IACrB,0CAAqB,CAAA;IACrB,0CAAqB,CAAA;IACrB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,oCAAe,CAAA;IACf,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;IACvB,oCAAe,CAAA;IACf,oCAAe,CAAA;IAEf,sCAAiB,CAAA;IAEjB,8CAAyB,CAAA;AAC3B,CAAC,EAhCW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAgC5B","file":"type.js","sourcesContent":["export type ComponentType = keyof typeof ComponentTypeEnum | string;\n\nexport enum ComponentTypeEnum {\n cartesianAxis = 'cartesianAxis',\n cartesianBandAxis = 'cartesianAxis-band',\n cartesianLinearAxis = 'cartesianAxis-linear',\n cartesianTimeAxis = 'cartesianAxis-time',\n polarAxis = 'polarAxis',\n polarBandAxis = 'polarAxis-band',\n polarLinearAxis = 'polarAxis-linear',\n crosshair = 'crosshair',\n cartesianCrosshair = 'cartesianCrosshair',\n polarCrosshair = 'polarCrosshair',\n dataZoom = 'dataZoom',\n geoCoordinate = 'geoCoordinate',\n indicator = 'indicator',\n discreteLegend = 'discreteLegend',\n continuousLegend = 'continuousLegend',\n colorLegend = 'colorLegend',\n sizeLegend = 'sizeLegend',\n mapLabel = 'mapLabel',\n markLine = 'markLine',\n markArea = 'markArea',\n markPoint = 'markPoint',\n tooltip = 'tooltip',\n title = 'title',\n player = 'player',\n scrollBar = 'scrollBar',\n label = 'label',\n brush = 'brush',\n\n poptip = 'poptip',\n\n customMark = 'customMark'\n}\n"]}
|
|
@@ -3,6 +3,7 @@ import type { DiscreteLegendAttrs, LegendItemDatum, LegendItem } from '@visactor
|
|
|
3
3
|
import type { ILegendCommonSpec, NoVisibleMarkStyle } from '../interface';
|
|
4
4
|
import type { StringOrNumber } from '../../../typings';
|
|
5
5
|
export type formatterCallback = (text: StringOrNumber, item: LegendItemDatum, index: number) => any;
|
|
6
|
+
export type LegendItemStyleValue<T> = T | ((item: LegendItemDatum, isSelected: boolean, index: number, allItems: LegendItemDatum[]) => T);
|
|
6
7
|
export type LegendItemStyle<T> = {
|
|
7
8
|
style?: T;
|
|
8
9
|
state?: {
|
|
@@ -15,20 +16,20 @@ export type LegendItemStyle<T> = {
|
|
|
15
16
|
export type IItem = {
|
|
16
17
|
background?: {
|
|
17
18
|
visible?: boolean;
|
|
18
|
-
} & LegendItemStyle<NoVisibleMarkStyle<IRectMarkSpec
|
|
19
|
+
} & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<IRectMarkSpec>>>;
|
|
19
20
|
shape?: {
|
|
20
21
|
visible?: boolean;
|
|
21
22
|
space?: number;
|
|
22
|
-
} & LegendItemStyle<Partial<NoVisibleMarkStyle<ISymbolMarkSpec
|
|
23
|
+
} & LegendItemStyle<LegendItemStyleValue<Partial<NoVisibleMarkStyle<ISymbolMarkSpec>>>>;
|
|
23
24
|
label?: {
|
|
24
25
|
space?: number;
|
|
25
26
|
formatMethod?: formatterCallback;
|
|
26
|
-
} & LegendItemStyle<NoVisibleMarkStyle<ITextMarkSpec
|
|
27
|
+
} & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<ITextMarkSpec>>>;
|
|
27
28
|
value?: {
|
|
28
29
|
space?: number;
|
|
29
30
|
alignRight?: boolean;
|
|
30
31
|
formatMethod?: formatterCallback;
|
|
31
|
-
} & LegendItemStyle<NoVisibleMarkStyle<ITextMarkSpec
|
|
32
|
+
} & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<ITextMarkSpec>>>;
|
|
32
33
|
focusIconStyle?: NoVisibleMarkStyle<ISymbolMarkSpec>;
|
|
33
34
|
maxWidth?: number | string;
|
|
34
35
|
width?: number | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/legend/discrete/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../../typings/visual';\nimport type { DiscreteLegendAttrs, LegendItemDatum, LegendItem } from '@visactor/vrender-components';\nimport type { ILegendCommonSpec, NoVisibleMarkStyle } from '../interface';\nimport type { StringOrNumber } from '../../../typings';\n\nexport type formatterCallback = (text: StringOrNumber, item: LegendItemDatum, index: number) => any;\n\nexport type LegendItemStyle<T> = {\n /**\n * 样式配置\n */\n style?: T;\n /**\n * 状态样式配置\n */\n state?: {\n /**\n * 选中态\n */\n selected?: T;\n /**\n * 非选中态\n */\n unSelected?: T;\n /**\n * 选中态 hover\n */\n selectedHover?: T;\n /**\n * 非选中态 hover\n */\n unSelectedHover?: T;\n };\n};\n\nexport type IItem = {\n /**\n * 图例项背景配置\n */\n background?: {\n /**\n * 是否展示图例项背景\n */\n visible?: boolean;\n } & LegendItemStyle<NoVisibleMarkStyle<IRectMarkSpec
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/discrete/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '../../../typings/visual';\nimport type { DiscreteLegendAttrs, LegendItemDatum, LegendItem } from '@visactor/vrender-components';\nimport type { ILegendCommonSpec, NoVisibleMarkStyle } from '../interface';\nimport type { StringOrNumber } from '../../../typings';\n\nexport type formatterCallback = (text: StringOrNumber, item: LegendItemDatum, index: number) => any;\nexport type LegendItemStyleValue<T> =\n | T\n | ((item: LegendItemDatum, isSelected: boolean, index: number, allItems: LegendItemDatum[]) => T);\nexport type LegendItemStyle<T> = {\n /**\n * 样式配置\n */\n style?: T;\n /**\n * 状态样式配置\n */\n state?: {\n /**\n * 选中态\n */\n selected?: T;\n /**\n * 非选中态\n */\n unSelected?: T;\n /**\n * 选中态 hover\n */\n selectedHover?: T;\n /**\n * 非选中态 hover\n */\n unSelectedHover?: T;\n };\n};\n\nexport type IItem = {\n /**\n * 图例项背景配置\n */\n background?: {\n /**\n * 是否展示图例项背景\n */\n visible?: boolean;\n } & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<IRectMarkSpec>>>;\n /**\n * 图例项的 shape 图标的配置\n */\n shape?: {\n /**\n * 图例项的 shape 图标\n */\n visible?: boolean;\n /** shape 同后面 label 的间距 */\n space?: number;\n } & LegendItemStyle<LegendItemStyleValue<Partial<NoVisibleMarkStyle<ISymbolMarkSpec>>>>;\n /**\n * 图例项的 label 文本配置\n */\n label?: {\n /**\n * 图例项 label 同后面 value 的间距\n */\n space?: number;\n /**\n * 格式化文本函数\n */\n formatMethod?: formatterCallback;\n } & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<ITextMarkSpec>>>;\n /**\n * 图例项 value 配置\n */\n value?: {\n /** value 同后面元素的间距 */\n space?: number;\n /**\n * 是否右对齐显示,仅当设置图例项宽度 itemWidth 时生效\n * 默认为 false,\n */\n alignRight?: boolean;\n /**\n * 格式化文本函数\n */\n formatMethod?: formatterCallback;\n } & LegendItemStyle<LegendItemStyleValue<NoVisibleMarkStyle<ITextMarkSpec>>>;\n /**\n * 聚焦按钮配置\n */\n focusIconStyle?: NoVisibleMarkStyle<ISymbolMarkSpec>;\n /**\n * 图例项的最大宽度,默认为 null。\n * 可使用百分比,表示显示区域的宽度占比。\n */\n maxWidth?: number | string;\n /**\n * 图例项的宽度, 默认自动计算。\n * 可使用百分比,表示显示区域的宽度占比。\n */\n width?: number | string;\n /**\n * 图例的高度,默认自动计算。\n * 可使用百分比,表示显示区域的高度占比。\n */\n height?: number | string;\n} & Omit<LegendItem, 'background' | 'shape' | 'label' | 'value' | 'focusIconStyle' | 'width' | 'height' | 'maxWidth'>;\n\nexport type IPager = {\n /**\n * 文本样式配置\n */\n textStyle?: Partial<NoVisibleMarkStyle<ITextMarkSpec>>;\n handler?: {\n /**\n * 按钮同文本内容区的间距,默认为 8\n */\n space?: number;\n /**\n * 上一页按钮形状\n */\n preShape?: string;\n /**\n * 下一页按钮形状\n */\n nextShape?: string;\n style?: Omit<NoVisibleMarkStyle<ISymbolMarkSpec>, 'symbolType'>;\n state?: {\n /**\n * hover 状态下的样式\n */\n hover?: Omit<NoVisibleMarkStyle<ISymbolMarkSpec>, 'symbolType'>;\n /**\n * 不可用状态样式\n */\n disable?: Omit<NoVisibleMarkStyle<ISymbolMarkSpec>, 'symbolType'>;\n };\n };\n} & Omit<DiscreteLegendAttrs['pager'], 'textStyle' | 'handler'>;\n\n/** spec */\nexport type IDiscreteLegendSpec = ILegendCommonSpec & {\n type?: 'discrete';\n /**\n * 在原始图例绘制数据的基础上,进行自定义,比如可以自定义 value 值\n * @param data 图例的绘制数据\n * @returns\n */\n data?: (data: LegendItemDatum[]) => LegendItemDatum[];\n\n /** 图例项配置 */\n item?: IItem;\n\n /**\n * 翻页器配置\n */\n pager?: IPager;\n\n /**\n * scaleName must match the id of the scale configured in **scales**\n */\n scaleName?: string;\n /**\n * After the legend is bound to the scale, the dimension associated with the series data and the legend can be configured through field.\n * If the field is not configured, the first item of fields in the domain of scale is used by default\n * If the domain of the scale is not dependent on data statistics, series.getSeriesField() is used by default\n */\n field?: string;\n} & Omit<DiscreteLegendAttrs, 'layout' | 'title' | 'items' | 'item' | 'pager'>;\n\n// theme 主题相关配置\nexport type IDiscreteLegendTheme = Omit<\n IDiscreteLegendSpec,\n 'type' | 'data' | 'regionIndex' | 'regionId' | 'seriesIndex' | 'seriesId' | 'id' | 'defaultSelected'\n>;\n"]}
|
|
@@ -20,9 +20,9 @@ function getLegendAttributes(spec, rect) {
|
|
|
20
20
|
const _a = (0, vutils_1.merge)({}, spec), {title: title = {}, item: item = {}, pager: pager = {}, background: background = {}, type: type, id: id, visible: visible, orient: orient, position: position, data: data, filter: filter, regionId: regionId, regionIndex: regionIndex, seriesIndex: seriesIndex, seriesId: seriesId, padding: padding} = _a, attrs = __rest(_a, [ "title", "item", "pager", "background", "type", "id", "visible", "orient", "position", "data", "filter", "regionId", "regionIndex", "seriesIndex", "seriesId", "padding" ]);
|
|
21
21
|
return title.visible && (attrs.title = (0, util_2.transformLegendTitleAttributes)(title)),
|
|
22
22
|
(0, vutils_1.isEmpty)(item.focusIconStyle) || (0, style_1.transformToGraphic)(item.focusIconStyle),
|
|
23
|
-
(0, style_1.transformComponentStyle)(item.shape),
|
|
24
|
-
|
|
25
|
-
(0, util_1.isPercent)(item.maxWidth) && (item.maxWidth = Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width / 100),
|
|
23
|
+
item.shape = (0, style_1.transformComponentStyle)(item.shape), item.label = (0,
|
|
24
|
+
style_1.transformComponentStyle)(item.label), item.value = (0, style_1.transformComponentStyle)(item.value),
|
|
25
|
+
item.background = (0, style_1.transformComponentStyle)(item.background), (0, util_1.isPercent)(item.maxWidth) && (item.maxWidth = Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width / 100),
|
|
26
26
|
(0, util_1.isPercent)(item.width) && (item.width = Number(item.width.substring(0, item.width.length - 1)) * rect.width / 100),
|
|
27
27
|
(0, util_1.isPercent)(item.height) && (item.height = Number(item.height.substring(0, item.height.length - 1)) * rect.width / 100),
|
|
28
28
|
attrs.item = item, (0, vutils_1.isEmpty)(pager.textStyle) || (0, style_1.transformToGraphic)(pager.textStyle),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/legend/discrete/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6CAA2D;AAE3D,wCAA0C;AAC1C,+CAAkF;AAClF,kCAAyD;AAGzD,SAAgB,mBAAmB,CAAC,IAAyB,EAAE,IAAiB;IAC9E,MAAM,KAsBF,IAAA,cAAK,EAAC,EAAE,EAAE,IAAI,CAAC,EAtBb,EAEJ,KAAK,GAAG,EAAE,EACV,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,EAAE,EACV,UAAU,GAAG,EAAE,EAGf,IAAI,EACJ,EAAE,EACF,OAAO,EACP,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,OAAO,OAGU,EADd,QAAQ,cArBP,0KAsBL,CAAkB,CAAC;IAEpB,MAAM,KAAK,GAAQ,QAAQ,CAAC;IAG5B,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,KAAK,CAAC,KAAK,GAAG,IAAA,qCAA8B,EAAC,KAAK,CAAC,CAAC;KACrD;IAGD,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QACjC,IAAA,0BAAkB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACzC;IACD,IAAA,+BAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/discrete/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6CAA2D;AAE3D,wCAA0C;AAC1C,+CAAkF;AAClF,kCAAyD;AAGzD,SAAgB,mBAAmB,CAAC,IAAyB,EAAE,IAAiB;IAC9E,MAAM,KAsBF,IAAA,cAAK,EAAC,EAAE,EAAE,IAAI,CAAC,EAtBb,EAEJ,KAAK,GAAG,EAAE,EACV,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,EAAE,EACV,UAAU,GAAG,EAAE,EAGf,IAAI,EACJ,EAAE,EACF,OAAO,EACP,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,OAAO,OAGU,EADd,QAAQ,cArBP,0KAsBL,CAAkB,CAAC;IAEpB,MAAM,KAAK,GAAQ,QAAQ,CAAC;IAG5B,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,KAAK,CAAC,KAAK,GAAG,IAAA,qCAA8B,EAAC,KAAK,CAAC,CAAC;KACrD;IAGD,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QACjC,IAAA,0BAAkB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACzC;IACD,IAAI,CAAC,KAAK,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,IAAA,gBAAS,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KACnG;IACD,IAAI,IAAA,gBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACzB,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KAC1F;IACD,IAAI,IAAA,gBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KAC7F;IACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAGlB,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,IAAA,0BAAkB,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACrC;IACD,IAAA,+BAAuB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAEpB,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,IAAA,gBAAO,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACpD,IAAA,cAAK,EAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,IAAA,gBAAO,EAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC/B,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;SACpC;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAnED,kDAmEC","file":"util.js","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { isEmpty, isValid, merge } from '@visactor/vutils';\nimport type { ILayoutRect } from '../../../model/interface';\nimport { isPercent } from '../../../util';\nimport { transformComponentStyle, transformToGraphic } from '../../../util/style';\nimport { transformLegendTitleAttributes } from '../util';\nimport type { IDiscreteLegendSpec } from './interface';\n\nexport function getLegendAttributes(spec: IDiscreteLegendSpec, rect: ILayoutRect) {\n const {\n // 需要进行样式转换的属性\n title = {},\n item = {},\n pager = {},\n background = {},\n\n // 以下不属于 legend 需要的属性,单独拿出来以免污染传递给组件的属性\n type,\n id,\n visible,\n orient,\n position,\n data,\n filter,\n regionId,\n regionIndex,\n seriesIndex,\n seriesId,\n padding, // vchart 布局模块已经处理了\n\n ...restSpec\n } = merge({}, spec);\n\n const attrs: any = restSpec;\n\n // transform title\n if (title.visible) {\n attrs.title = transformLegendTitleAttributes(title);\n }\n\n // transform item\n if (!isEmpty(item.focusIconStyle)) {\n transformToGraphic(item.focusIconStyle);\n }\n item.shape = transformComponentStyle(item.shape);\n item.label = transformComponentStyle(item.label);\n item.value = transformComponentStyle(item.value);\n item.background = transformComponentStyle(item.background);\n\n if (isPercent(item.maxWidth)) {\n item.maxWidth = (Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.width)) {\n item.width = (Number(item.width.substring(0, item.width.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.height)) {\n item.height = (Number(item.height.substring(0, item.height.length - 1)) * rect.width) / 100;\n }\n attrs.item = item;\n\n // transform pager\n if (!isEmpty(pager.textStyle)) {\n transformToGraphic(pager.textStyle);\n }\n transformComponentStyle(pager.handler);\n attrs.pager = pager;\n\n if (background.visible && !isEmpty(background.style)) {\n merge(attrs, background.style);\n if (isValid(background.padding)) {\n attrs.padding = background.padding;\n }\n }\n\n return attrs;\n}\n"]}
|
|
@@ -20,7 +20,7 @@ export declare function transformLegendTitleAttributes(title: ITitle): {
|
|
|
20
20
|
padding?: import("@visactor/vrender-components/es/core/type").Padding;
|
|
21
21
|
maxWidth?: number;
|
|
22
22
|
minWidth?: number;
|
|
23
|
-
align?: "center" | "start" | "end";
|
|
24
23
|
space?: number;
|
|
24
|
+
align?: "center" | "start" | "end";
|
|
25
25
|
};
|
|
26
26
|
export declare function getLayout(spec: ILegendCommonSpec): "vertical" | "horizontal";
|
package/cjs/core/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VChart } from './vchart';
|
|
2
2
|
import { Factory } from './factory';
|
|
3
3
|
export { VChart, Factory };
|
|
4
|
-
export declare const version = "1.1.
|
|
4
|
+
export declare const version = "1.1.1-beta.1";
|
|
5
5
|
export type { IVChart } from './interface';
|
|
6
6
|
export * from '../event/interface';
|
|
7
7
|
export * from '../typings/spec/common';
|
package/cjs/core/index.js
CHANGED
|
@@ -37,10 +37,11 @@ Object.defineProperty(exports, "Factory", {
|
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
39
|
|
|
40
|
-
const region_1 = require("../region/region"), base_layout_1 = require("../layout/base-layout"), group_1 = require("../mark/group"), component_1 = require("../mark/component");
|
|
40
|
+
const region_1 = require("../region/region"), base_layout_1 = require("../layout/base-layout"), group_1 = require("../mark/group"), component_1 = require("../mark/component"), image_1 = require("./../mark/image");
|
|
41
41
|
|
|
42
|
-
vchart_1.VChart.useMark([ component_1.ComponentMark, group_1.GroupMark
|
|
43
|
-
factory_1.Factory.
|
|
44
|
-
|
|
45
|
-
__exportStar(require("../theme/interface"), exports),
|
|
42
|
+
vchart_1.VChart.useMark([ component_1.ComponentMark, group_1.GroupMark, image_1.ImageMark ]),
|
|
43
|
+
factory_1.Factory.registerRegion("region", region_1.Region), factory_1.Factory.registerLayout("base", base_layout_1.Layout),
|
|
44
|
+
exports.version = "1.1.1-beta.1", __exportStar(require("../event/interface"), exports),
|
|
45
|
+
__exportStar(require("../typings/spec/common"), exports), __exportStar(require("../theme/interface"), exports),
|
|
46
|
+
vutils_1.Logger.getInstance(vutils_1.LoggerLevel.Error);
|
|
46
47
|
//# sourceMappingURL=index.js.map
|
package/cjs/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAuD;AAKvD,qCAAkC;
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAuD;AAKvD,qCAAkC;AAiBzB,uFAjBA,eAAM,OAiBA;AAhBf,uCAAoC;AAgBnB,wFAhBR,iBAAO,OAgBQ;AAfxB,6CAA0C;AAC1C,uDAA+C;AAC/C,yCAA0C;AAC1C,iDAAkD;AAClD,2CAA4C;AAG5C,eAAM,CAAC,OAAO,CAAC,CAAC,yBAAa,EAAE,iBAAS,EAAE,iBAAS,CAAC,CAAC,CAAC;AAGtD,iBAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAa,CAAC,CAAC;AAGhD,iBAAO,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAa,CAAC,CAAC;AAKjC,QAAA,OAAO,GAAG,cAAc,CAAC;AAKtC,qDAAmC;AACnC,yDAAuC;AAEvC,qDAAmC;AAGnC,eAAM,CAAC,WAAW,CAAC,oBAAW,CAAC,KAAK,CAAC,CAAC","file":"index.js","sourcesContent":["import { Logger, LoggerLevel } from '@visactor/vutils';\n/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\nimport { Region } from '../region/region';\nimport { Layout } from '../layout/base-layout';\nimport { GroupMark } from '../mark/group';\nimport { ComponentMark } from '../mark/component';\nimport { ImageMark } from './../mark/image';\n\n// register groupMark and componentMark\nVChart.useMark([ComponentMark, GroupMark, ImageMark]);\n\n// install region module\nFactory.registerRegion('region', Region as any);\n\n// install layout module\nFactory.registerLayout('base', Layout as any);\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.1.1-beta.1\";\n\n// export necessary types\nexport type { IVChart } from './interface';\n// the event types\nexport * from '../event/interface';\nexport * from '../typings/spec/common';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport * from '../theme/interface';\n\n// set default logger level to Level.error\nLogger.getInstance(LoggerLevel.Error);\n"]}
|
package/cjs/core/vchart.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import type { GeoSourceOption } from '../series/map/geo-source';
|
|
|
14
14
|
import type { IMark, MarkConstructor } from '../mark/interface';
|
|
15
15
|
import type { ITooltipHandler } from '../typings/tooltip';
|
|
16
16
|
import type { Datum, IPoint, IRegionQuerier, IShowTooltipOption, ISpec, Maybe, MaybeArray, StringOrNumber } from '../typings';
|
|
17
|
-
import type { IBoundsLike } from '@visactor/vutils';
|
|
17
|
+
import type { IBoundsLike, ILogger } from '@visactor/vutils';
|
|
18
18
|
import { ThemeManager } from '../theme/theme-manager';
|
|
19
19
|
import type { ITheme } from '../theme';
|
|
20
20
|
import type { IUpdateSpecResult } from '../model/interface';
|
|
@@ -34,6 +34,7 @@ export declare class VChart implements IVChart {
|
|
|
34
34
|
static unregisterMap(key: string): void;
|
|
35
35
|
static getMap(key: string): GeoSourceType;
|
|
36
36
|
static hideTooltip(excludeId?: MaybeArray<number>): void;
|
|
37
|
+
static getLogger(): ILogger;
|
|
37
38
|
static readonly InstanceManager: typeof InstanceManager;
|
|
38
39
|
static readonly ThemeManager: typeof ThemeManager;
|
|
39
40
|
static globalConfig: IGlobalConfig;
|