@visactor/vchart-extension 2.0.5-alpha.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +3678 -3312
- package/build/index.min.js +2 -2
- package/cjs/charts/3d/rect-3d.js +1 -2
- package/cjs/charts/axis-3d/linear-axis.js +2 -1
- package/cjs/charts/bar-3d/interface.js +1 -2
- package/cjs/charts/bar-3d/series-spec-transformer.js +2 -1
- package/cjs/charts/candlestick/index.d.ts +2 -0
- package/cjs/charts/candlestick/index.js +2 -1
- package/cjs/charts/candlestick/index.js.map +1 -1
- package/cjs/charts/candlestick/util.d.ts +2 -0
- package/cjs/charts/candlestick/util.js +10 -0
- package/cjs/charts/candlestick/util.js.map +1 -0
- package/cjs/charts/combination-candlestick/combination-candlestick-transformer.d.ts +14 -0
- package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js +204 -0
- package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -0
- package/cjs/charts/combination-candlestick/combination-candlestick.d.ts +12 -0
- package/cjs/charts/combination-candlestick/combination-candlestick.js +31 -0
- package/cjs/charts/combination-candlestick/combination-candlestick.js.map +1 -0
- package/cjs/charts/combination-candlestick/constant.d.ts +1 -0
- package/cjs/charts/combination-candlestick/constant.js +6 -0
- package/cjs/charts/combination-candlestick/constant.js.map +1 -0
- package/cjs/charts/combination-candlestick/index.d.ts +3 -0
- package/cjs/charts/combination-candlestick/index.js +22 -0
- package/cjs/charts/combination-candlestick/index.js.map +1 -0
- package/cjs/charts/combination-candlestick/interface.d.ts +13 -0
- package/cjs/charts/combination-candlestick/interface.js +6 -0
- package/cjs/charts/combination-candlestick/interface.js.map +1 -0
- package/cjs/charts/conversion-funnel/arrow-data-transform.js +1 -1
- package/cjs/charts/conversion-funnel/constants.js +1 -1
- package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
- package/cjs/charts/conversion-funnel/conversion-funnel.js +1 -1
- package/cjs/charts/conversion-funnel/index.js +1 -1
- package/cjs/charts/conversion-funnel/interface.js +1 -1
- package/cjs/charts/conversion-funnel/util.js +1 -1
- package/cjs/charts/funnel-3d/chart.js +1 -1
- package/cjs/charts/funnel-3d/constant.js +1 -1
- package/cjs/charts/funnel-3d/index.js +1 -1
- package/cjs/charts/funnel-3d/interface.js +1 -1
- package/cjs/charts/funnel-3d/series-spec-transformer.js +1 -1
- package/cjs/charts/funnel-3d/series.js +1 -1
- package/cjs/charts/funnel-3d/theme.js +2 -1
- package/cjs/charts/histogram-3d/chart.js +1 -1
- package/cjs/charts/histogram-3d/index.js +1 -1
- package/cjs/charts/histogram-3d/interface.js +1 -1
- package/cjs/charts/image-cloud/image-cloud-transformer.js +1 -1
- package/cjs/charts/image-cloud/image-cloud.js +1 -1
- package/cjs/charts/image-cloud/index.js +1 -1
- package/cjs/charts/image-cloud/interface.js +1 -1
- package/cjs/components/bar-link/bar-link.js +1 -1
- package/cjs/components/bar-link/constant.js +1 -1
- package/cjs/components/bar-link/index.js +1 -1
- package/cjs/components/bar-link/type.js +1 -1
- package/cjs/components/bar-link/util.js +1 -1
- package/cjs/components/map-label/index.js +1 -1
- package/cjs/components/map-label/layout.js +1 -1
- package/cjs/components/map-label/map-label-transformer.js +1 -1
- package/cjs/components/map-label/map-label.js +1 -1
- package/cjs/components/map-label/theme.js +1 -1
- package/cjs/components/map-label/type.js +1 -1
- package/cjs/components/series-break/constant.js +1 -2
- package/cjs/components/series-break/index.js +1 -1
- package/cjs/components/series-break/series-break.js +1 -1
- package/cjs/components/series-break/type.js +1 -1
- package/cjs/components/series-break/util.js +1 -1
- package/cjs/components/series-label/constant.js +1 -1
- package/cjs/components/series-label/index.js +1 -1
- package/cjs/components/series-label/series-label.js +1 -1
- package/cjs/components/series-label/type.js +1 -1
- package/cjs/components/series-label/util.js +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +2 -2
- package/cjs/index.js.map +1 -1
- package/esm/charts/3d/rect-3d.js +1 -2
- package/esm/charts/axis-3d/linear-axis.js +2 -1
- package/esm/charts/bar-3d/interface.js +1 -2
- package/esm/charts/bar-3d/series-spec-transformer.js +2 -1
- package/esm/charts/candlestick/index.d.ts +2 -0
- package/esm/charts/candlestick/index.js +4 -0
- package/esm/charts/candlestick/index.js.map +1 -1
- package/esm/charts/candlestick/util.d.ts +2 -0
- package/esm/charts/candlestick/util.js +4 -0
- package/esm/charts/candlestick/util.js.map +1 -0
- package/esm/charts/combination-candlestick/combination-candlestick-transformer.d.ts +14 -0
- package/esm/charts/combination-candlestick/combination-candlestick-transformer.js +199 -0
- package/esm/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -0
- package/esm/charts/combination-candlestick/combination-candlestick.d.ts +12 -0
- package/esm/charts/combination-candlestick/combination-candlestick.js +29 -0
- package/esm/charts/combination-candlestick/combination-candlestick.js.map +1 -0
- package/esm/charts/combination-candlestick/constant.d.ts +1 -0
- package/esm/charts/combination-candlestick/constant.js +2 -0
- package/esm/charts/combination-candlestick/constant.js.map +1 -0
- package/esm/charts/combination-candlestick/index.d.ts +3 -0
- package/esm/charts/combination-candlestick/index.js +6 -0
- package/esm/charts/combination-candlestick/index.js.map +1 -0
- package/esm/charts/combination-candlestick/interface.d.ts +13 -0
- package/esm/charts/combination-candlestick/interface.js +2 -0
- package/esm/charts/combination-candlestick/interface.js.map +1 -0
- package/esm/charts/conversion-funnel/arrow-data-transform.js +1 -1
- package/esm/charts/conversion-funnel/constants.js +1 -1
- package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
- package/esm/charts/conversion-funnel/conversion-funnel.js +1 -1
- package/esm/charts/conversion-funnel/index.js +1 -1
- package/esm/charts/conversion-funnel/interface.js +1 -1
- package/esm/charts/conversion-funnel/util.js +1 -1
- package/esm/charts/funnel-3d/chart.js +1 -1
- package/esm/charts/funnel-3d/constant.js +1 -1
- package/esm/charts/funnel-3d/index.js +1 -1
- package/esm/charts/funnel-3d/interface.js +1 -1
- package/esm/charts/funnel-3d/series-spec-transformer.js +1 -1
- package/esm/charts/funnel-3d/series.js +1 -1
- package/esm/charts/funnel-3d/theme.js +2 -1
- package/esm/charts/histogram-3d/chart.js +1 -1
- package/esm/charts/histogram-3d/index.js +1 -1
- package/esm/charts/histogram-3d/interface.js +1 -1
- package/esm/charts/image-cloud/image-cloud-transformer.js +1 -1
- package/esm/charts/image-cloud/image-cloud.js +1 -1
- package/esm/charts/image-cloud/index.js +1 -1
- package/esm/charts/image-cloud/interface.js +1 -1
- package/esm/components/bar-link/bar-link.js +1 -1
- package/esm/components/bar-link/constant.js +1 -1
- package/esm/components/bar-link/index.js +1 -1
- package/esm/components/bar-link/type.js +1 -1
- package/esm/components/bar-link/util.js +1 -1
- package/esm/components/map-label/index.js +1 -1
- package/esm/components/map-label/layout.js +1 -1
- package/esm/components/map-label/map-label-transformer.js +1 -1
- package/esm/components/map-label/map-label.js +1 -1
- package/esm/components/map-label/theme.js +1 -1
- package/esm/components/map-label/type.js +1 -1
- package/esm/components/series-break/constant.js +1 -2
- package/esm/components/series-break/index.js +1 -1
- package/esm/components/series-break/series-break.js +1 -1
- package/esm/components/series-break/type.js +1 -1
- package/esm/components/series-break/util.js +1 -1
- package/esm/components/series-label/constant.js +1 -1
- package/esm/components/series-label/index.js +1 -1
- package/esm/components/series-label/series-label.js +1 -1
- package/esm/components/series-label/type.js +1 -1
- package/esm/components/series-label/util.js +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -18,4 +18,4 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
20
|
}), __exportStar(require("./image-cloud"), exports), __exportStar(require("./interface"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -180,4 +180,4 @@ function appendBarLinkConfig(rawSpec, barLinkSpec) {
|
|
|
180
180
|
|
|
181
181
|
exports.groupBarsByFields = groupBarsByFields, exports.getLinkData = getLinkData,
|
|
182
182
|
exports.getBarLinkConfig = getBarLinkConfig, exports.appendBarLinkConfig = appendBarLinkConfig;
|
|
183
|
-
//# sourceMappingURL=util.js.map
|
|
183
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -18,4 +18,4 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
20
|
}), __exportStar(require("./map-label"), exports), __exportStar(require("./type"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -151,4 +151,4 @@ function candidatesByOrient(positions, anchor, rect, offset = 0) {
|
|
|
151
151
|
exports.bound = bound, exports.layoutByPosition = layoutByPosition, exports.layoutOuter = layoutOuter,
|
|
152
152
|
exports.layoutOuter2 = layoutOuter2, exports.placeRectByOrient = placeRectByOrient,
|
|
153
153
|
exports.candidatesByOrient = candidatesByOrient;
|
|
154
|
-
//# sourceMappingURL=layout.js.map
|
|
154
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -46,4 +46,4 @@ Object.defineProperty(exports, "getSeriesBreakConfig", {
|
|
|
46
46
|
return util_1.appendSeriesBreakConfig;
|
|
47
47
|
}
|
|
48
48
|
}), __exportStar(require("./type"), exports), __exportStar(require("./constant"), exports);
|
|
49
|
-
//# sourceMappingURL=index.js.map
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -149,4 +149,4 @@ function appendSeriesLabelConfig(rawSpec, seriesLabelSpec) {
|
|
|
149
149
|
|
|
150
150
|
exports.dodge = dodge, exports.dodgeHorizontal = dodgeHorizontal, exports.getSeriesLabelConfig = getSeriesLabelConfig,
|
|
151
151
|
exports.appendSeriesLabelConfig = appendSeriesLabelConfig;
|
|
152
|
-
//# sourceMappingURL=util.js.map
|
|
152
|
+
//# sourceMappingURL=util.js.map
|
package/cjs/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from './charts/bar-3d';
|
|
|
8
8
|
export * from './charts/funnel-3d';
|
|
9
9
|
export * from './charts/histogram-3d';
|
|
10
10
|
export * from './charts/pie-3d';
|
|
11
|
+
export * from './charts/combination-candlestick';
|
|
11
12
|
export * from './charts/word-cloud-3d';
|
|
12
13
|
export * from './charts/axis-3d';
|
|
13
14
|
export * from './charts/range-column-3d';
|
package/cjs/index.js
CHANGED
|
@@ -24,8 +24,8 @@ __exportStar(require("./charts/sequence-scatter-kde/sequence-scatter-kde"), expo
|
|
|
24
24
|
__exportStar(require("./charts/sequence-scatter-pixel/sequence-scatter-pixel"), exports),
|
|
25
25
|
__exportStar(require("./charts/bar-3d"), exports), __exportStar(require("./charts/funnel-3d"), exports),
|
|
26
26
|
__exportStar(require("./charts/histogram-3d"), exports), __exportStar(require("./charts/pie-3d"), exports),
|
|
27
|
-
__exportStar(require("./charts/
|
|
28
|
-
__exportStar(require("./charts/range-column-3d"), exports);
|
|
27
|
+
__exportStar(require("./charts/combination-candlestick"), exports), __exportStar(require("./charts/word-cloud-3d"), exports),
|
|
28
|
+
__exportStar(require("./charts/axis-3d"), exports), __exportStar(require("./charts/range-column-3d"), exports);
|
|
29
29
|
|
|
30
30
|
var plugin_1 = require("./charts/3d/plugin");
|
|
31
31
|
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,qEAAmD;AACnD,6DAA2C;AAC3C,uFAAqE;AACrE,qFAAmE;AACnE,yFAAuE;AAEvE,kDAAgC;AAChC,qDAAmC;AACnC,wDAAsC;AACtC,kDAAgC;AAChC,yDAAuC;AACvC,mDAAiC;AACjC,2DAAyC;AACzC,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AAErC,4DAA0C;AAC1C,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC","file":"index.js","sourcesContent":["export * from './charts/ranking-bar/ranking-bar';\nexport * from './charts/ranking-list/ranking-list';\nexport * from './charts/conversion-funnel';\nexport * from './charts/sequence-scatter-link/sequence-scatter-link';\nexport * from './charts/sequence-scatter-kde/sequence-scatter-kde';\nexport * from './charts/sequence-scatter-pixel/sequence-scatter-pixel';\n\nexport * from './charts/bar-3d';\nexport * from './charts/funnel-3d';\nexport * from './charts/histogram-3d';\nexport * from './charts/pie-3d';\nexport * from './charts/word-cloud-3d';\nexport * from './charts/axis-3d';\nexport * from './charts/range-column-3d';\nexport { register3DPlugin } from './charts/3d/plugin';\nexport * from './charts/pictogram';\nexport * from './charts/image-cloud';\nexport * from './charts/candlestick';\n\nexport * from './components/series-break';\nexport * from './components/bar-link';\nexport * from './components/series-label';\nexport * from './components/map-label';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,qEAAmD;AACnD,6DAA2C;AAC3C,uFAAqE;AACrE,qFAAmE;AACnE,yFAAuE;AAEvE,kDAAgC;AAChC,qDAAmC;AACnC,wDAAsC;AACtC,kDAAgC;AAChC,mEAAiD;AACjD,yDAAuC;AACvC,mDAAiC;AACjC,2DAAyC;AACzC,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AAErC,4DAA0C;AAC1C,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC","file":"index.js","sourcesContent":["export * from './charts/ranking-bar/ranking-bar';\nexport * from './charts/ranking-list/ranking-list';\nexport * from './charts/conversion-funnel';\nexport * from './charts/sequence-scatter-link/sequence-scatter-link';\nexport * from './charts/sequence-scatter-kde/sequence-scatter-kde';\nexport * from './charts/sequence-scatter-pixel/sequence-scatter-pixel';\n\nexport * from './charts/bar-3d';\nexport * from './charts/funnel-3d';\nexport * from './charts/histogram-3d';\nexport * from './charts/pie-3d';\nexport * from './charts/combination-candlestick';\nexport * from './charts/word-cloud-3d';\nexport * from './charts/axis-3d';\nexport * from './charts/range-column-3d';\nexport { register3DPlugin } from './charts/3d/plugin';\nexport * from './charts/pictogram';\nexport * from './charts/image-cloud';\nexport * from './charts/candlestick';\n\nexport * from './components/series-break';\nexport * from './components/bar-link';\nexport * from './components/series-label';\nexport * from './components/map-label';\n"]}
|
package/esm/charts/3d/rect-3d.js
CHANGED
|
@@ -28,5 +28,4 @@ Rect3dMark.type = "rect3d";
|
|
|
28
28
|
export const registerRect3dMark = () => {
|
|
29
29
|
Factory.registerMark(Rect3dMark.type, Rect3dMark), registerShadowRoot(), registerRect3d(),
|
|
30
30
|
registerRectAnimation(), Factory.registerGraphicComponent("rect3d", createRect3d);
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=rect-3d.js.map
|
|
31
|
+
};
|
|
@@ -12,4 +12,5 @@ export const registerCartesianLinearAxis3d = () => {
|
|
|
12
12
|
AxisCls.builtInTheme = Object.assign(Object.assign({}, AxisCls.builtInTheme), {
|
|
13
13
|
axisZ: Object.assign(Object.assign({}, CartesianLinearAxis.builtInTheme.axisX), axisZ)
|
|
14
14
|
}), mixin(AxisCls, Axis3dMixin);
|
|
15
|
-
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=linear-axis.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export { };
|
|
2
|
-
//# sourceMappingURL=interface.js.map
|
|
1
|
+
export { };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/candlestick/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC","file":"index.js","sourcesContent":["export * from './candlestick';\nexport * from './interface';\nexport * from './candlestick-transformer';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/candlestick/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["export * from './candlestick';\nexport * from './interface';\nexport * from './candlestick-transformer';\nexport * from './series/candlestick';\nexport * from './util';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/candlestick/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,8BAA8B,CAAC,IAA4B;IACxE,IAA6B,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3G,CAAC","file":"util.js","sourcesContent":["import type { ICartesianSeriesSpec } from '@visactor/vchart';\nimport type { ICandlestickSeriesSpec } from './series/interface';\nexport function transformCandlestickSeriesSpec(spec: ICandlestickSeriesSpec) {\n (spec as ICartesianSeriesSpec).yField = [spec.openField, spec.highField, spec.lowField, spec.closeField];\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CartesianChartSpecTransformer } from '@visactor/vchart';
|
|
2
|
+
import type { ICombinationCandlestickChartSpec } from './interface';
|
|
3
|
+
export declare class CombinationCandlestickChartSpecTransformer<T extends ICombinationCandlestickChartSpec> extends CartesianChartSpecTransformer<T> {
|
|
4
|
+
protected needAxes(): boolean;
|
|
5
|
+
transformSpec(spec: T): void;
|
|
6
|
+
transformRegion(spec: T): void;
|
|
7
|
+
transformSeriesSpec(spec: T): void;
|
|
8
|
+
private _transformSeriesData;
|
|
9
|
+
protected _transformAxisSpec(spec: T): void;
|
|
10
|
+
protected _transformDataZoomSpec(spec: T): void;
|
|
11
|
+
protected _transformLayout(spec: T): void;
|
|
12
|
+
private _layoutOrientItem;
|
|
13
|
+
private _getLayoutElementCommon;
|
|
14
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { CartesianChartSpecTransformer, isPercent } from "@visactor/vchart";
|
|
2
|
+
|
|
3
|
+
import { merge, array } from "@visactor/vutils";
|
|
4
|
+
|
|
5
|
+
import { transformCandlestickSeriesSpec } from "../candlestick";
|
|
6
|
+
|
|
7
|
+
export class CombinationCandlestickChartSpecTransformer extends CartesianChartSpecTransformer {
|
|
8
|
+
needAxes() {
|
|
9
|
+
return !0;
|
|
10
|
+
}
|
|
11
|
+
transformSpec(spec) {
|
|
12
|
+
this.transformRegion(spec), void 0 === spec.tooltip && (spec.tooltip = {}), this.transformSeriesSpec(spec),
|
|
13
|
+
this._transformAxisSpec(spec), this._transformLayout(spec);
|
|
14
|
+
}
|
|
15
|
+
transformRegion(spec) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
const commonSpec = spec;
|
|
18
|
+
commonSpec.region = [ null !== (_a = spec.candlestickRegion) && void 0 !== _a ? _a : {} ],
|
|
19
|
+
spec.previewSeries && commonSpec.region.push(null !== (_b = spec.previewRegion) && void 0 !== _b ? _b : {});
|
|
20
|
+
}
|
|
21
|
+
transformSeriesSpec(spec) {
|
|
22
|
+
var _a;
|
|
23
|
+
spec.series = null !== (_a = spec.series) && void 0 !== _a ? _a : [], spec.series.forEach((s => {
|
|
24
|
+
this._transformSeriesData(spec, s), s.regionIndex = 0;
|
|
25
|
+
}));
|
|
26
|
+
const tempCandlestickSeries = spec.series.find((s => s.id === spec.candlestickSeries.id));
|
|
27
|
+
let candlestickSpec;
|
|
28
|
+
tempCandlestickSeries ? (merge(tempCandlestickSeries, spec.candlestickSeries), candlestickSpec = tempCandlestickSeries) : (spec.series.push(spec.candlestickSeries),
|
|
29
|
+
candlestickSpec = spec.candlestickSeries), transformCandlestickSeriesSpec(candlestickSpec),
|
|
30
|
+
this._transformSeriesData(spec, candlestickSpec), candlestickSpec.regionIndex = 0,
|
|
31
|
+
spec.previewSeries && array(spec.previewSeries).forEach((previewSeries => {
|
|
32
|
+
const tempPreviewSeries = spec.series.find((s => s.id === previewSeries.id));
|
|
33
|
+
let previewSeriesSpec;
|
|
34
|
+
tempPreviewSeries ? (merge(tempPreviewSeries, previewSeries), previewSeriesSpec = tempPreviewSeries) : (spec.series.push(previewSeries),
|
|
35
|
+
previewSeriesSpec = previewSeries), previewSeriesSpec.regionIndex = 1, this._transformSeriesData(spec, previewSeriesSpec);
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
_transformSeriesData(spec, seriesSpec) {
|
|
39
|
+
var _a;
|
|
40
|
+
seriesSpec.data && (spec.data = array(null !== (_a = spec.data) && void 0 !== _a ? _a : []),
|
|
41
|
+
array(seriesSpec.data).forEach(((d, index) => {
|
|
42
|
+
spec.data.push(d), 0 === index && (seriesSpec.dataIndex = spec.data.length - 1,
|
|
43
|
+
"id" in d ? seriesSpec.dataId = d.id : "name" in d && (seriesSpec.dataId = d.name));
|
|
44
|
+
})), delete seriesSpec.data);
|
|
45
|
+
}
|
|
46
|
+
_transformAxisSpec(spec) {
|
|
47
|
+
super._transformAxisSpec(spec), spec.previewSeries && (spec.previewAxes || (spec.previewAxes = {
|
|
48
|
+
type: "linear",
|
|
49
|
+
orient: "left",
|
|
50
|
+
visible: !1
|
|
51
|
+
}), spec.previewAxes.regionIndex = [ 1 ], spec.axes.push(spec.previewAxes), spec.axes.forEach((axis => {
|
|
52
|
+
axis !== spec.previewAxes && ("left" !== axis.orient && "right" !== axis.orient || (axis.regionIndex = [ 0 ]));
|
|
53
|
+
})));
|
|
54
|
+
}
|
|
55
|
+
_transformDataZoomSpec(spec) {
|
|
56
|
+
spec.dataZoom && array(spec.dataZoom).forEach((dataZoom => {
|
|
57
|
+
"left" !== dataZoom.orient && "right" !== dataZoom.orient || (dataZoom.regionIndex = [ 0 ]);
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
_transformLayout(spec) {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
const layout = {
|
|
63
|
+
type: "grid",
|
|
64
|
+
col: 2,
|
|
65
|
+
row: 6,
|
|
66
|
+
elements: [],
|
|
67
|
+
colWidth: [],
|
|
68
|
+
rowHeight: []
|
|
69
|
+
};
|
|
70
|
+
let totalRow = 0, totalCol = 0;
|
|
71
|
+
if (spec.title && !1 !== (null === (_a = spec.title) || void 0 === _a ? void 0 : _a.visible) && totalRow++,
|
|
72
|
+
spec.legends) {
|
|
73
|
+
const firstLegend = array(spec.legends)[0];
|
|
74
|
+
!1 !== (null == firstLegend ? void 0 : firstLegend.visible) && ("top" === firstLegend.orient || "bottom" === firstLegend.orient ? totalRow++ : totalCol++);
|
|
75
|
+
}
|
|
76
|
+
if (spec.dataZoom && array(spec.dataZoom).forEach((dataZoom => {
|
|
77
|
+
!1 !== (null == dataZoom ? void 0 : dataZoom.visible) && ("top" === dataZoom.orient || "bottom" === dataZoom.orient ? totalRow++ : totalCol++);
|
|
78
|
+
})), spec.axes) {
|
|
79
|
+
const hasLayout = {
|
|
80
|
+
top: !1,
|
|
81
|
+
bottom: !1,
|
|
82
|
+
left: !1,
|
|
83
|
+
right: !1,
|
|
84
|
+
z: !1
|
|
85
|
+
};
|
|
86
|
+
array(spec.axes).forEach((axis => {
|
|
87
|
+
hasLayout[axis.orient] || (hasLayout[axis.orient] = !0, "top" === axis.orient || "bottom" === axis.orient ? totalRow++ : totalCol++);
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
totalRow++, totalCol++, spec.previewSeries && totalRow++, layout.row = totalRow,
|
|
91
|
+
layout.col = totalCol;
|
|
92
|
+
const temp = {
|
|
93
|
+
top: 0,
|
|
94
|
+
bottom: 0,
|
|
95
|
+
left: 0,
|
|
96
|
+
right: 0
|
|
97
|
+
};
|
|
98
|
+
if (spec.title && !1 !== (null === (_b = spec.title) || void 0 === _b ? void 0 : _b.visible) && this._layoutOrientItem(layout, spec.title, temp, {
|
|
99
|
+
specKey: "title",
|
|
100
|
+
index: 0
|
|
101
|
+
}, "total"), spec.legends) {
|
|
102
|
+
const firstLegend = array(spec.legends)[0];
|
|
103
|
+
!1 !== (null == firstLegend ? void 0 : firstLegend.visible) && this._layoutOrientItem(layout, firstLegend, temp, {
|
|
104
|
+
specKey: "legends",
|
|
105
|
+
index: 0
|
|
106
|
+
}, "less");
|
|
107
|
+
}
|
|
108
|
+
if (spec.dataZoom && array(spec.dataZoom).forEach(((dataZoom, index) => {
|
|
109
|
+
!1 !== (null == dataZoom ? void 0 : dataZoom.visible) && this._layoutOrientItem(layout, dataZoom, temp, {
|
|
110
|
+
specKey: "dataZoom",
|
|
111
|
+
index: index
|
|
112
|
+
}, "one");
|
|
113
|
+
})), spec.axes) {
|
|
114
|
+
const hasLayout = {
|
|
115
|
+
left: !1,
|
|
116
|
+
right: !1
|
|
117
|
+
};
|
|
118
|
+
spec.axes.forEach(((axis, index) => {
|
|
119
|
+
"left" !== axis.orient && "right" !== axis.orient || hasLayout[axis.orient] || (hasLayout[axis.orient] = !0,
|
|
120
|
+
this._layoutOrientItem(layout, axis, temp, {
|
|
121
|
+
specKey: "axes",
|
|
122
|
+
index: index
|
|
123
|
+
}, "one"));
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
const regionLayout = this._layoutOrientItem(layout, {
|
|
127
|
+
orient: "top"
|
|
128
|
+
}, temp, {
|
|
129
|
+
specKey: "region",
|
|
130
|
+
index: 0
|
|
131
|
+
}, "one");
|
|
132
|
+
if (spec.previewSeries) {
|
|
133
|
+
const regionLayout = this._layoutOrientItem(layout, {
|
|
134
|
+
orient: "bottom"
|
|
135
|
+
}, temp, {
|
|
136
|
+
specKey: "region",
|
|
137
|
+
index: 1
|
|
138
|
+
}, "one"), previewAxesIndex = spec.axes.findIndex((axis => axis === spec.previewAxes));
|
|
139
|
+
if (-1 !== previewAxesIndex) {
|
|
140
|
+
const previewAxesLayout = {
|
|
141
|
+
col: regionLayout.col - 1,
|
|
142
|
+
row: regionLayout.row,
|
|
143
|
+
modelKey: "axes",
|
|
144
|
+
modelIndex: previewAxesIndex
|
|
145
|
+
};
|
|
146
|
+
layout.elements.push(previewAxesLayout);
|
|
147
|
+
}
|
|
148
|
+
if (spec.previewHeight) if ("string" == typeof spec.previewHeight) {
|
|
149
|
+
if (isPercent(spec.previewHeight)) {
|
|
150
|
+
const heightStr = spec.previewHeight;
|
|
151
|
+
layout.rowHeight.push({
|
|
152
|
+
index: regionLayout.row,
|
|
153
|
+
size: size => Number(heightStr.substring(0, heightStr.length - 1)) * size / 100
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
} else layout.rowHeight.push({
|
|
157
|
+
index: regionLayout.row,
|
|
158
|
+
size: spec.previewHeight
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
const bottomAxesIndex = spec.axes.findIndex((axis => "bottom" === axis.orient));
|
|
162
|
+
this._layoutOrientItem(layout, spec.axes[bottomAxesIndex], temp, {
|
|
163
|
+
specKey: "axes",
|
|
164
|
+
index: bottomAxesIndex
|
|
165
|
+
}, "one"), spec.axes.forEach(((axis, index) => {
|
|
166
|
+
if (axis === spec.previewAxes) return;
|
|
167
|
+
const axisLayout = layout.elements.find((item => "modelKey" in item && "axes" === item.modelKey && item.modelIndex === index));
|
|
168
|
+
axisLayout && ("top" === axis.orient || "bottom" === axis.orient ? axisLayout.col = regionLayout.col : axisLayout.row = regionLayout.row);
|
|
169
|
+
})), array(spec.dataZoom).forEach(((dataZoom, index) => {
|
|
170
|
+
const dataZoomLayout = layout.elements.find((item => "modelKey" in item && "dataZoom" === item.modelKey && item.modelIndex === index));
|
|
171
|
+
dataZoomLayout && ("top" === dataZoom.orient || "bottom" === dataZoom.orient ? dataZoomLayout.col = regionLayout.col : dataZoomLayout.row = regionLayout.row);
|
|
172
|
+
})), spec.layout = layout;
|
|
173
|
+
}
|
|
174
|
+
_layoutOrientItem(layout, modelSpec, temp, modelInfo, spanType) {
|
|
175
|
+
var _a;
|
|
176
|
+
const modelLayout = {
|
|
177
|
+
modelKey: modelInfo.specKey,
|
|
178
|
+
modelIndex: modelInfo.index,
|
|
179
|
+
col: 0,
|
|
180
|
+
row: 0
|
|
181
|
+
}, orient = null !== (_a = modelSpec.orient) && void 0 !== _a ? _a : "top", {span: span, index: index} = this._getLayoutElementCommon(layout, temp, spanType, orient);
|
|
182
|
+
return layout.elements.push(modelLayout), "top" === orient ? (modelLayout.row = temp.top,
|
|
183
|
+
modelLayout.rowSpan = 1, modelLayout.colSpan = span, modelLayout.col = index, temp.top++) : "bottom" === orient ? (modelLayout.row = layout.row - temp.bottom - 1,
|
|
184
|
+
modelLayout.rowSpan = 1, modelLayout.colSpan = span, modelLayout.col = index, temp.bottom++) : "left" === orient ? (modelLayout.col = temp.left,
|
|
185
|
+
modelLayout.colSpan = 1, modelLayout.rowSpan = span, modelLayout.row = index, temp.left++) : "right" === orient && (modelLayout.col = layout.col - temp.right - 1,
|
|
186
|
+
modelLayout.colSpan = 1, modelLayout.rowSpan = span, modelLayout.row = index, temp.right++),
|
|
187
|
+
modelLayout;
|
|
188
|
+
}
|
|
189
|
+
_getLayoutElementCommon(layout, temp, span, orient) {
|
|
190
|
+
return "top" === orient || "bottom" === orient ? {
|
|
191
|
+
span: "total" === span ? layout.col : "one" === span ? 1 : layout.col - temp.left - temp.right,
|
|
192
|
+
index: "total" === span ? 0 : temp.left
|
|
193
|
+
} : {
|
|
194
|
+
span: "total" === span ? layout.row : "one" === span ? 1 : layout.row - temp.top - temp.bottom,
|
|
195
|
+
index: "total" === span ? 0 : temp.top
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=combination-candlestick-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/combination-candlestick/combination-candlestick-transformer.ts"],"names":[],"mappings":"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","file":"combination-candlestick-transformer.js","sourcesContent":["import type { ICommonChartSpec, ICartesianSeriesSpec, IDataType, IGridLayoutSpec, IOrientType } from '@visactor/vchart';\nimport { CartesianChartSpecTransformer, isPercent } from '@visactor/vchart';\nimport type { ICombinationCandlestickChartSpec } from './interface';\nimport { merge, array } from '@visactor/vutils';\nimport { transformCandlestickSeriesSpec } from '../candlestick';\nimport type { ICandlestickSeriesSpec } from '../candlestick/series/interface';\n\n/**\n * @description 组合蜡烛图 spec a转换\n */\nexport class CombinationCandlestickChartSpecTransformer<\n T extends ICombinationCandlestickChartSpec\n> extends CartesianChartSpecTransformer<T> {\n protected needAxes(): boolean {\n return true;\n }\n\n transformSpec(spec: T): void {\n this.transformRegion(spec);\n if (spec.tooltip === undefined) {\n spec.tooltip = {};\n }\n this.transformSeriesSpec(spec);\n this._transformAxisSpec(spec);\n this._transformLayout(spec);\n }\n\n transformRegion(spec: T): void {\n const commonSpec = spec as unknown as ICommonChartSpec;\n commonSpec.region = [spec.candlestickRegion ?? {}];\n if (spec.previewSeries) {\n commonSpec.region.push(spec.previewRegion ?? {});\n }\n }\n\n transformSeriesSpec(spec: T): void {\n // 单独的系列转换\n spec.series = spec.series ?? [];\n spec.series.forEach(s => {\n this._transformSeriesData(spec, s);\n s.regionIndex = 0;\n });\n const tempCandlestickSeries = spec.series.find(s => s.id === spec.candlestickSeries.id) as ICandlestickSeriesSpec;\n let candlestickSpec;\n if (tempCandlestickSeries) {\n merge(tempCandlestickSeries, spec.candlestickSeries);\n candlestickSpec = tempCandlestickSeries;\n } else {\n spec.series.push(spec.candlestickSeries);\n candlestickSpec = spec.candlestickSeries;\n }\n transformCandlestickSeriesSpec(candlestickSpec);\n this._transformSeriesData(spec, candlestickSpec);\n candlestickSpec.regionIndex = 0;\n\n if (spec.previewSeries) {\n array(spec.previewSeries).forEach(previewSeries => {\n const tempPreviewSeries = spec.series.find(s => s.id === previewSeries.id);\n let previewSeriesSpec;\n if (tempPreviewSeries) {\n merge(tempPreviewSeries, previewSeries);\n previewSeriesSpec = tempPreviewSeries;\n } else {\n spec.series.push(previewSeries);\n previewSeriesSpec = previewSeries;\n }\n previewSeriesSpec.regionIndex = 1;\n this._transformSeriesData(spec, previewSeriesSpec);\n });\n }\n }\n\n private _transformSeriesData(spec: T, seriesSpec: ICartesianSeriesSpec) {\n if (seriesSpec.data) {\n spec.data = array(spec.data ?? []);\n array(seriesSpec.data).forEach((d, index) => {\n (spec.data as IDataType[]).push(d);\n if (index === 0) {\n seriesSpec.dataIndex = (spec.data as IDataType[]).length - 1;\n if ('id' in d) {\n seriesSpec.dataId = d.id;\n } else if ('name' in d) {\n seriesSpec.dataId = d.name;\n }\n }\n });\n delete seriesSpec.data;\n }\n }\n\n protected _transformAxisSpec(spec: T) {\n super._transformAxisSpec(spec);\n if (!spec.previewSeries) {\n return;\n }\n if (!spec.previewAxes) {\n spec.previewAxes = {\n type: 'linear',\n orient: 'left',\n visible: false\n };\n }\n spec.previewAxes.regionIndex = [1];\n spec.axes.push(spec.previewAxes);\n\n spec.axes.forEach(axis => {\n if (axis === spec.previewAxes) {\n return;\n }\n if (axis.orient === 'left' || axis.orient === 'right') {\n axis.regionIndex = [0];\n }\n });\n }\n\n protected _transformDataZoomSpec(spec: T) {\n if (spec.dataZoom) {\n array(spec.dataZoom).forEach(dataZoom => {\n if (dataZoom.orient === 'left' || dataZoom.orient === 'right') {\n dataZoom.regionIndex = [0];\n }\n });\n }\n }\n\n protected _transformLayout(spec: T) {\n const layout: IGridLayoutSpec = {\n type: 'grid',\n col: 2,\n row: 6,\n elements: [],\n colWidth: [],\n rowHeight: []\n };\n // 创建布局的临时计算属性\n let totalRow = 0;\n let totalCol = 0;\n // 先获取总计的行和列\n // 如果有 title\n if (spec.title && spec.title?.visible !== false) {\n totalRow++;\n }\n // 图例\n if (spec.legends) {\n const firstLegend = array(spec.legends)[0];\n if (firstLegend?.visible !== false) {\n if (firstLegend.orient === 'top' || firstLegend.orient === 'bottom') {\n totalRow++;\n } else {\n totalCol++;\n }\n }\n }\n // datazoom\n if (spec.dataZoom) {\n array(spec.dataZoom).forEach(dataZoom => {\n if (dataZoom?.visible !== false) {\n if (dataZoom.orient === 'top' || dataZoom.orient === 'bottom') {\n totalRow++;\n } else {\n totalCol++;\n }\n }\n });\n }\n // 轴\n if (spec.axes) {\n const hasLayout = {\n top: false,\n bottom: false,\n left: false,\n right: false,\n z: false\n };\n array(spec.axes).forEach(axis => {\n if (hasLayout[axis.orient]) {\n return;\n }\n hasLayout[axis.orient] = true;\n if (axis.orient === 'top' || axis.orient === 'bottom') {\n totalRow++;\n } else {\n totalCol++;\n }\n });\n }\n // 系列\n totalRow++;\n totalCol++;\n // 预览系列\n if (spec.previewSeries) {\n totalRow++;\n }\n layout.row = totalRow;\n layout.col = totalCol;\n\n const temp = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n // 开始布局\n if (spec.title && spec.title?.visible !== false) {\n this._layoutOrientItem(layout, spec.title, temp, { specKey: 'title', index: 0 }, 'total');\n }\n // 图例\n if (spec.legends) {\n const firstLegend = array(spec.legends)[0];\n if (firstLegend?.visible !== false) {\n this._layoutOrientItem(\n layout,\n firstLegend as { orient: IOrientType },\n temp,\n { specKey: 'legends', index: 0 },\n 'less'\n );\n }\n }\n // datazoom\n if (spec.dataZoom) {\n array(spec.dataZoom).forEach((dataZoom, index) => {\n if (dataZoom?.visible === false) {\n return;\n }\n this._layoutOrientItem(\n layout,\n dataZoom as { orient: IOrientType },\n temp,\n { specKey: 'dataZoom', index },\n 'one'\n );\n });\n }\n // 轴 先只布局左右\n if (spec.axes) {\n const hasLayout = {\n left: false,\n right: false\n };\n spec.axes.forEach((axis, index) => {\n if (axis.orient !== 'left' && axis.orient !== 'right') {\n return;\n }\n if (hasLayout[axis.orient]) {\n return;\n }\n hasLayout[axis.orient] = true;\n this._layoutOrientItem(layout, axis as { orient: IOrientType }, temp, { specKey: 'axes', index }, 'one');\n });\n }\n // region\n const regionLayout = this._layoutOrientItem(\n layout,\n { orient: 'top' },\n temp,\n { specKey: 'region', index: 0 },\n 'one'\n );\n\n // 预览图region\n if (spec.previewSeries) {\n const regionLayout = this._layoutOrientItem(\n layout,\n { orient: 'bottom' },\n temp,\n { specKey: 'region', index: 1 },\n 'one'\n );\n const previewAxesIndex = spec.axes.findIndex(axis => axis === spec.previewAxes);\n if (previewAxesIndex !== -1) {\n const previewAxesLayout = {\n col: regionLayout.col - 1,\n row: regionLayout.row,\n modelKey: 'axes',\n modelIndex: previewAxesIndex\n };\n layout.elements.push(previewAxesLayout);\n }\n if (spec.previewHeight) {\n if (typeof spec.previewHeight === 'string') {\n if (isPercent(spec.previewHeight)) {\n const heightStr = spec.previewHeight;\n layout.rowHeight.push({\n index: regionLayout.row,\n size: (size: number) => (Number(heightStr.substring(0, heightStr.length - 1)) * size) / 100\n });\n }\n } else {\n layout.rowHeight.push({\n index: regionLayout.row,\n size: spec.previewHeight\n });\n }\n }\n }\n\n // 下轴\n const bottomAxesIndex = spec.axes.findIndex(axis => axis.orient === 'bottom');\n this._layoutOrientItem(\n layout,\n spec.axes[bottomAxesIndex],\n temp,\n { specKey: 'axes', index: bottomAxesIndex },\n 'one'\n );\n\n // 修正axes,datazoom\n spec.axes.forEach((axis, index) => {\n // 预览图的轴已处理\n if (axis === spec.previewAxes) {\n return;\n }\n const axisLayout = layout.elements.find(\n item => 'modelKey' in item && item.modelKey === 'axes' && item.modelIndex === index\n );\n if (axisLayout) {\n if (axis.orient === 'top' || axis.orient === 'bottom') {\n axisLayout.col = regionLayout.col;\n } else {\n axisLayout.row = regionLayout.row;\n }\n }\n });\n // 修正datazoom\n array(spec.dataZoom).forEach((dataZoom, index) => {\n const dataZoomLayout = layout.elements.find(\n item => 'modelKey' in item && item.modelKey === 'dataZoom' && item.modelIndex === index\n );\n if (dataZoomLayout) {\n if (dataZoom.orient === 'top' || dataZoom.orient === 'bottom') {\n dataZoomLayout.col = regionLayout.col;\n } else {\n dataZoomLayout.row = regionLayout.row;\n }\n }\n });\n\n spec.layout = layout;\n }\n\n private _layoutOrientItem(\n layout: IGridLayoutSpec,\n modelSpec: { orient?: IOrientType },\n temp: { top: number; bottom: number; left: number; right: number },\n modelInfo: { specKey: string; index: number },\n spanType: 'total' | 'one' | 'less'\n ) {\n const modelLayout: IGridLayoutSpec['elements'][number] = {\n modelKey: modelInfo.specKey,\n modelIndex: modelInfo.index,\n col: 0,\n row: 0\n };\n const orient = modelSpec.orient ?? 'top';\n const { span, index } = this._getLayoutElementCommon(layout, temp, spanType, orient);\n layout.elements.push(modelLayout);\n if (orient === 'top') {\n modelLayout.row = temp.top;\n modelLayout.rowSpan = 1;\n modelLayout.colSpan = span;\n modelLayout.col = index;\n temp.top++;\n } else if (orient === 'bottom') {\n modelLayout.row = layout.row - temp.bottom - 1;\n modelLayout.rowSpan = 1;\n modelLayout.colSpan = span;\n modelLayout.col = index;\n temp.bottom++;\n } else if (orient === 'left') {\n modelLayout.col = temp.left;\n modelLayout.colSpan = 1;\n modelLayout.rowSpan = span;\n modelLayout.row = index;\n temp.left++;\n } else if (orient === 'right') {\n modelLayout.col = layout.col - temp.right - 1;\n modelLayout.colSpan = 1;\n modelLayout.rowSpan = span;\n modelLayout.row = index;\n temp.right++;\n }\n return modelLayout;\n }\n\n private _getLayoutElementCommon(\n layout: IGridLayoutSpec,\n temp: { top: number; bottom: number; left: number; right: number },\n span: 'total' | 'one' | 'less',\n orient: IOrientType\n ) {\n if (orient === 'top' || orient === 'bottom') {\n return {\n span: span === 'total' ? layout.col : span === 'one' ? 1 : layout.col - temp.left - temp.right,\n index: span === 'total' ? 0 : temp.left\n };\n }\n return {\n span: span === 'total' ? layout.row : span === 'one' ? 1 : layout.row - temp.top - temp.bottom,\n index: span === 'total' ? 0 : temp.top\n };\n }\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseChart } from '@visactor/vchart';
|
|
2
|
+
import type { ICombinationCandlestickChartSpec } from './interface';
|
|
3
|
+
import { CombinationCandlestickChartSpecTransformer } from './combination-candlestick-transformer';
|
|
4
|
+
export declare class CombinationCandlestickChart extends BaseChart<ICombinationCandlestickChartSpec> {
|
|
5
|
+
static readonly type: string;
|
|
6
|
+
readonly type: string;
|
|
7
|
+
_spec: ICombinationCandlestickChartSpec;
|
|
8
|
+
static readonly transformerConstructor: typeof CombinationCandlestickChartSpecTransformer;
|
|
9
|
+
readonly transformerConstructor: typeof CombinationCandlestickChartSpecTransformer;
|
|
10
|
+
protected _setModelOption(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare const registerCombinationCandlestickChart: () => void;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseChart, Factory, StackChartMixin, getCartesianCrosshairRect, getCartesianDimensionInfo, getDimensionInfoByValue } from "@visactor/vchart";
|
|
2
|
+
|
|
3
|
+
import { CombinationCandlestickChart_TYPE } from "./constant";
|
|
4
|
+
|
|
5
|
+
import { registerCandlestickSeries } from "../candlestick";
|
|
6
|
+
|
|
7
|
+
import { CombinationCandlestickChartSpecTransformer } from "./combination-candlestick-transformer";
|
|
8
|
+
|
|
9
|
+
import { mixin } from "@visactor/vutils";
|
|
10
|
+
|
|
11
|
+
export class CombinationCandlestickChart extends BaseChart {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments), this.type = CombinationCandlestickChart_TYPE, this.transformerConstructor = CombinationCandlestickChartSpecTransformer;
|
|
14
|
+
}
|
|
15
|
+
_setModelOption() {
|
|
16
|
+
this._modelOption.getDimensionInfo = (chart, point, isTooltip) => {
|
|
17
|
+
var _a;
|
|
18
|
+
return [ ...null !== (_a = getCartesianDimensionInfo(chart, point, isTooltip)) && void 0 !== _a ? _a : [] ];
|
|
19
|
+
}, this._modelOption.getDimensionInfoByValue = getDimensionInfoByValue, this._modelOption.getRectByDimensionData = getCartesianCrosshairRect;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
CombinationCandlestickChart.type = CombinationCandlestickChart_TYPE, CombinationCandlestickChart.transformerConstructor = CombinationCandlestickChartSpecTransformer,
|
|
24
|
+
mixin(CombinationCandlestickChart, StackChartMixin);
|
|
25
|
+
|
|
26
|
+
export const registerCombinationCandlestickChart = () => {
|
|
27
|
+
registerCandlestickSeries(), Factory.registerChart(CombinationCandlestickChart.type, CombinationCandlestickChart);
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=combination-candlestick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/combination-candlestick/combination-candlestick.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,OAAO,EACP,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKzC,MAAM,OAAO,2BAA4B,SAAQ,SAA2C;IAA5F;;QAEW,SAAI,GAAW,gCAAgC,CAAC;QAKhD,2BAAsB,GAAG,0CAA0C,CAAC;IAS/E,CAAC;IAPW,eAAe;QACvB,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,CAAC,KAAyB,EAAE,KAAmB,EAAE,SAAmB,EAAE,EAAE;;YAC3G,OAAO,CAAC,GAAG,CAAC,MAAA,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,sBAAsB,GAAG,yBAAyB,CAAC;IACvE,CAAC;;AAde,gCAAI,GAAW,gCAAgC,CAAC;AAKhD,kDAAsB,GAAG,0CAA0C,CAAC;AAYtF,KAAK,CAAC,2BAA2B,EAAE,eAAe,CAAC,CAAC;AAKpD,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,EAAE;IACtD,yBAAyB,EAAE,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;AACvF,CAAC,CAAC","file":"combination-candlestick.js","sourcesContent":["import type { IChart, ILayoutPoint } from '@visactor/vchart';\nimport {\n BaseChart,\n Factory,\n StackChartMixin,\n getCartesianCrosshairRect,\n getCartesianDimensionInfo,\n getDimensionInfoByValue\n} from '@visactor/vchart';\nimport type { ICombinationCandlestickChartSpec } from './interface';\nimport { CombinationCandlestickChart_TYPE } from './constant';\nimport { registerCandlestickSeries } from '../candlestick';\nimport { CombinationCandlestickChartSpecTransformer } from './combination-candlestick-transformer';\nimport { mixin } from '@visactor/vutils';\n\n/**\n * @description 组合蜡烛图\n */\nexport class CombinationCandlestickChart extends BaseChart<ICombinationCandlestickChartSpec> {\n static readonly type: string = CombinationCandlestickChart_TYPE;\n readonly type: string = CombinationCandlestickChart_TYPE;\n\n declare _spec: ICombinationCandlestickChartSpec;\n\n static readonly transformerConstructor = CombinationCandlestickChartSpecTransformer;\n readonly transformerConstructor = CombinationCandlestickChartSpecTransformer;\n\n protected _setModelOption() {\n this._modelOption.getDimensionInfo = (chart: IChart | undefined, point: ILayoutPoint, isTooltip?: boolean) => {\n return [...(getCartesianDimensionInfo(chart, point, isTooltip) ?? [])];\n };\n this._modelOption.getDimensionInfoByValue = getDimensionInfoByValue;\n this._modelOption.getRectByDimensionData = getCartesianCrosshairRect;\n }\n}\n\nmixin(CombinationCandlestickChart, StackChartMixin);\n\n/**\n * @description 注册组合蜡烛图\n */\nexport const registerCombinationCandlestickChart = () => {\n registerCandlestickSeries();\n Factory.registerChart(CombinationCandlestickChart.type, CombinationCandlestickChart);\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CombinationCandlestickChart_TYPE = "combinationCandlestick";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/combination-candlestick/constant.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAC","file":"constant.js","sourcesContent":["/**\n * @description 常量\n */\nexport const CombinationCandlestickChart_TYPE = 'combinationCandlestick';\n"]}
|