@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.
Files changed (143) hide show
  1. package/build/index.js +3678 -3312
  2. package/build/index.min.js +2 -2
  3. package/cjs/charts/3d/rect-3d.js +1 -2
  4. package/cjs/charts/axis-3d/linear-axis.js +2 -1
  5. package/cjs/charts/bar-3d/interface.js +1 -2
  6. package/cjs/charts/bar-3d/series-spec-transformer.js +2 -1
  7. package/cjs/charts/candlestick/index.d.ts +2 -0
  8. package/cjs/charts/candlestick/index.js +2 -1
  9. package/cjs/charts/candlestick/index.js.map +1 -1
  10. package/cjs/charts/candlestick/util.d.ts +2 -0
  11. package/cjs/charts/candlestick/util.js +10 -0
  12. package/cjs/charts/candlestick/util.js.map +1 -0
  13. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.d.ts +14 -0
  14. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js +204 -0
  15. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -0
  16. package/cjs/charts/combination-candlestick/combination-candlestick.d.ts +12 -0
  17. package/cjs/charts/combination-candlestick/combination-candlestick.js +31 -0
  18. package/cjs/charts/combination-candlestick/combination-candlestick.js.map +1 -0
  19. package/cjs/charts/combination-candlestick/constant.d.ts +1 -0
  20. package/cjs/charts/combination-candlestick/constant.js +6 -0
  21. package/cjs/charts/combination-candlestick/constant.js.map +1 -0
  22. package/cjs/charts/combination-candlestick/index.d.ts +3 -0
  23. package/cjs/charts/combination-candlestick/index.js +22 -0
  24. package/cjs/charts/combination-candlestick/index.js.map +1 -0
  25. package/cjs/charts/combination-candlestick/interface.d.ts +13 -0
  26. package/cjs/charts/combination-candlestick/interface.js +6 -0
  27. package/cjs/charts/combination-candlestick/interface.js.map +1 -0
  28. package/cjs/charts/conversion-funnel/arrow-data-transform.js +1 -1
  29. package/cjs/charts/conversion-funnel/constants.js +1 -1
  30. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
  31. package/cjs/charts/conversion-funnel/conversion-funnel.js +1 -1
  32. package/cjs/charts/conversion-funnel/index.js +1 -1
  33. package/cjs/charts/conversion-funnel/interface.js +1 -1
  34. package/cjs/charts/conversion-funnel/util.js +1 -1
  35. package/cjs/charts/funnel-3d/chart.js +1 -1
  36. package/cjs/charts/funnel-3d/constant.js +1 -1
  37. package/cjs/charts/funnel-3d/index.js +1 -1
  38. package/cjs/charts/funnel-3d/interface.js +1 -1
  39. package/cjs/charts/funnel-3d/series-spec-transformer.js +1 -1
  40. package/cjs/charts/funnel-3d/series.js +1 -1
  41. package/cjs/charts/funnel-3d/theme.js +2 -1
  42. package/cjs/charts/histogram-3d/chart.js +1 -1
  43. package/cjs/charts/histogram-3d/index.js +1 -1
  44. package/cjs/charts/histogram-3d/interface.js +1 -1
  45. package/cjs/charts/image-cloud/image-cloud-transformer.js +1 -1
  46. package/cjs/charts/image-cloud/image-cloud.js +1 -1
  47. package/cjs/charts/image-cloud/index.js +1 -1
  48. package/cjs/charts/image-cloud/interface.js +1 -1
  49. package/cjs/components/bar-link/bar-link.js +1 -1
  50. package/cjs/components/bar-link/constant.js +1 -1
  51. package/cjs/components/bar-link/index.js +1 -1
  52. package/cjs/components/bar-link/type.js +1 -1
  53. package/cjs/components/bar-link/util.js +1 -1
  54. package/cjs/components/map-label/index.js +1 -1
  55. package/cjs/components/map-label/layout.js +1 -1
  56. package/cjs/components/map-label/map-label-transformer.js +1 -1
  57. package/cjs/components/map-label/map-label.js +1 -1
  58. package/cjs/components/map-label/theme.js +1 -1
  59. package/cjs/components/map-label/type.js +1 -1
  60. package/cjs/components/series-break/constant.js +1 -2
  61. package/cjs/components/series-break/index.js +1 -1
  62. package/cjs/components/series-break/series-break.js +1 -1
  63. package/cjs/components/series-break/type.js +1 -1
  64. package/cjs/components/series-break/util.js +1 -1
  65. package/cjs/components/series-label/constant.js +1 -1
  66. package/cjs/components/series-label/index.js +1 -1
  67. package/cjs/components/series-label/series-label.js +1 -1
  68. package/cjs/components/series-label/type.js +1 -1
  69. package/cjs/components/series-label/util.js +1 -1
  70. package/cjs/index.d.ts +1 -0
  71. package/cjs/index.js +2 -2
  72. package/cjs/index.js.map +1 -1
  73. package/esm/charts/3d/rect-3d.js +1 -2
  74. package/esm/charts/axis-3d/linear-axis.js +2 -1
  75. package/esm/charts/bar-3d/interface.js +1 -2
  76. package/esm/charts/bar-3d/series-spec-transformer.js +2 -1
  77. package/esm/charts/candlestick/index.d.ts +2 -0
  78. package/esm/charts/candlestick/index.js +4 -0
  79. package/esm/charts/candlestick/index.js.map +1 -1
  80. package/esm/charts/candlestick/util.d.ts +2 -0
  81. package/esm/charts/candlestick/util.js +4 -0
  82. package/esm/charts/candlestick/util.js.map +1 -0
  83. package/esm/charts/combination-candlestick/combination-candlestick-transformer.d.ts +14 -0
  84. package/esm/charts/combination-candlestick/combination-candlestick-transformer.js +199 -0
  85. package/esm/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -0
  86. package/esm/charts/combination-candlestick/combination-candlestick.d.ts +12 -0
  87. package/esm/charts/combination-candlestick/combination-candlestick.js +29 -0
  88. package/esm/charts/combination-candlestick/combination-candlestick.js.map +1 -0
  89. package/esm/charts/combination-candlestick/constant.d.ts +1 -0
  90. package/esm/charts/combination-candlestick/constant.js +2 -0
  91. package/esm/charts/combination-candlestick/constant.js.map +1 -0
  92. package/esm/charts/combination-candlestick/index.d.ts +3 -0
  93. package/esm/charts/combination-candlestick/index.js +6 -0
  94. package/esm/charts/combination-candlestick/index.js.map +1 -0
  95. package/esm/charts/combination-candlestick/interface.d.ts +13 -0
  96. package/esm/charts/combination-candlestick/interface.js +2 -0
  97. package/esm/charts/combination-candlestick/interface.js.map +1 -0
  98. package/esm/charts/conversion-funnel/arrow-data-transform.js +1 -1
  99. package/esm/charts/conversion-funnel/constants.js +1 -1
  100. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +1 -1
  101. package/esm/charts/conversion-funnel/conversion-funnel.js +1 -1
  102. package/esm/charts/conversion-funnel/index.js +1 -1
  103. package/esm/charts/conversion-funnel/interface.js +1 -1
  104. package/esm/charts/conversion-funnel/util.js +1 -1
  105. package/esm/charts/funnel-3d/chart.js +1 -1
  106. package/esm/charts/funnel-3d/constant.js +1 -1
  107. package/esm/charts/funnel-3d/index.js +1 -1
  108. package/esm/charts/funnel-3d/interface.js +1 -1
  109. package/esm/charts/funnel-3d/series-spec-transformer.js +1 -1
  110. package/esm/charts/funnel-3d/series.js +1 -1
  111. package/esm/charts/funnel-3d/theme.js +2 -1
  112. package/esm/charts/histogram-3d/chart.js +1 -1
  113. package/esm/charts/histogram-3d/index.js +1 -1
  114. package/esm/charts/histogram-3d/interface.js +1 -1
  115. package/esm/charts/image-cloud/image-cloud-transformer.js +1 -1
  116. package/esm/charts/image-cloud/image-cloud.js +1 -1
  117. package/esm/charts/image-cloud/index.js +1 -1
  118. package/esm/charts/image-cloud/interface.js +1 -1
  119. package/esm/components/bar-link/bar-link.js +1 -1
  120. package/esm/components/bar-link/constant.js +1 -1
  121. package/esm/components/bar-link/index.js +1 -1
  122. package/esm/components/bar-link/type.js +1 -1
  123. package/esm/components/bar-link/util.js +1 -1
  124. package/esm/components/map-label/index.js +1 -1
  125. package/esm/components/map-label/layout.js +1 -1
  126. package/esm/components/map-label/map-label-transformer.js +1 -1
  127. package/esm/components/map-label/map-label.js +1 -1
  128. package/esm/components/map-label/theme.js +1 -1
  129. package/esm/components/map-label/type.js +1 -1
  130. package/esm/components/series-break/constant.js +1 -2
  131. package/esm/components/series-break/index.js +1 -1
  132. package/esm/components/series-break/series-break.js +1 -1
  133. package/esm/components/series-break/type.js +1 -1
  134. package/esm/components/series-break/util.js +1 -1
  135. package/esm/components/series-label/constant.js +1 -1
  136. package/esm/components/series-label/index.js +1 -1
  137. package/esm/components/series-label/series-label.js +1 -1
  138. package/esm/components/series-label/type.js +1 -1
  139. package/esm/components/series-label/util.js +1 -1
  140. package/esm/index.d.ts +1 -0
  141. package/esm/index.js +2 -0
  142. package/esm/index.js.map +1 -1
  143. package/package.json +3 -3
@@ -21,4 +21,4 @@ const registerImageCloudChart = () => {
21
21
  };
22
22
 
23
23
  exports.registerImageCloudChart = registerImageCloudChart;
24
- //# sourceMappingURL=image-cloud.js.map
24
+ //# sourceMappingURL=image-cloud.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("./image-cloud"), exports), __exportStar(require("./interface"), exports);
21
- //# sourceMappingURL=index.js.map
21
+ //# sourceMappingURL=index.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=interface.js.map
6
+ //# sourceMappingURL=interface.js.map
@@ -84,4 +84,4 @@ const registerBarLink = () => {
84
84
  };
85
85
 
86
86
  exports.registerBarLink = registerBarLink;
87
- //# sourceMappingURL=bar-link.js.map
87
+ //# sourceMappingURL=bar-link.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.BAR_LINK = void 0, exports.BAR_LINK = "barLink";
6
- //# sourceMappingURL=constant.js.map
6
+ //# sourceMappingURL=constant.js.map
@@ -46,4 +46,4 @@ Object.defineProperty(exports, "getBarLinkConfig", {
46
46
  return util_1.appendBarLinkConfig;
47
47
  }
48
48
  }), __exportStar(require("./constant"), exports);
49
- //# sourceMappingURL=index.js.map
49
+ //# sourceMappingURL=index.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=type.js.map
6
+ //# sourceMappingURL=type.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
@@ -13,4 +13,4 @@ class MapLabelSpecTransformer extends vchart_1.BaseComponentSpecTransformer {
13
13
  }
14
14
 
15
15
  exports.MapLabelSpecTransformer = MapLabelSpecTransformer;
16
- //# sourceMappingURL=map-label-transformer.js.map
16
+ //# sourceMappingURL=map-label-transformer.js.map
@@ -263,4 +263,4 @@ const registerMapLabel = option => {
263
263
  };
264
264
 
265
265
  exports.registerMapLabel = registerMapLabel;
266
- //# sourceMappingURL=map-label.js.map
266
+ //# sourceMappingURL=map-label.js.map
@@ -60,4 +60,4 @@ exports.mapLabel = {
60
60
  }
61
61
  }
62
62
  };
63
- //# sourceMappingURL=theme.js.map
63
+ //# sourceMappingURL=theme.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=type.js.map
6
+ //# sourceMappingURL=type.js.map
@@ -2,5 +2,4 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.SERIES_BREAK = void 0, exports.SERIES_BREAK = "seriesBreak";
6
- //# sourceMappingURL=constant.js.map
5
+ }), exports.SERIES_BREAK = void 0, exports.SERIES_BREAK = "seriesBreak";
@@ -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
@@ -115,4 +115,4 @@ const registerSeriesBreak = () => {
115
115
  };
116
116
 
117
117
  exports.registerSeriesBreak = registerSeriesBreak;
118
- //# sourceMappingURL=series-break.js.map
118
+ //# sourceMappingURL=series-break.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=type.js.map
6
+ //# sourceMappingURL=type.js.map
@@ -245,4 +245,4 @@ const appendSeriesBreakConfig = rawSpec => {
245
245
  };
246
246
 
247
247
  exports.appendSeriesBreakConfig = appendSeriesBreakConfig;
248
- //# sourceMappingURL=util.js.map
248
+ //# sourceMappingURL=util.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.SERIES_LABEL = void 0, exports.SERIES_LABEL = "seriesLabel";
6
- //# sourceMappingURL=constant.js.map
6
+ //# sourceMappingURL=constant.js.map
@@ -46,4 +46,4 @@ Object.defineProperty(exports, "getSeriesLabelConfig", {
46
46
  return util_1.appendSeriesLabelConfig;
47
47
  }
48
48
  });
49
- //# sourceMappingURL=index.js.map
49
+ //# sourceMappingURL=index.js.map
@@ -111,4 +111,4 @@ const registerSeriesLabel = () => {
111
111
  };
112
112
 
113
113
  exports.registerSeriesLabel = registerSeriesLabel;
114
- //# sourceMappingURL=series-label.js.map
114
+ //# sourceMappingURL=series-label.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=type.js.map
6
+ //# sourceMappingURL=type.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/word-cloud-3d"), exports), __exportStar(require("./charts/axis-3d"), exports),
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"]}
@@ -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 { };
@@ -4,4 +4,5 @@ export class Bar3dSeriesSpecTransformer extends BarSeriesSpecTransformer {
4
4
  _transformLabelSpec(spec) {
5
5
  this._addMarkLabelSpec(spec, "bar3d");
6
6
  }
7
- }
7
+ }
8
+ //# sourceMappingURL=series-spec-transformer.js.map
@@ -1,3 +1,5 @@
1
1
  export * from './candlestick';
2
2
  export * from './interface';
3
3
  export * from './candlestick-transformer';
4
+ export * from './series/candlestick';
5
+ export * from './util';
@@ -3,4 +3,8 @@ export * from "./candlestick";
3
3
  export * from "./interface";
4
4
 
5
5
  export * from "./candlestick-transformer";
6
+
7
+ export * from "./series/candlestick";
8
+
9
+ export * from "./util";
6
10
  //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ import type { ICandlestickSeriesSpec } from './series/interface';
2
+ export declare function transformCandlestickSeriesSpec(spec: ICandlestickSeriesSpec): void;
@@ -0,0 +1,4 @@
1
+ export function transformCandlestickSeriesSpec(spec) {
2
+ spec.yField = [ spec.openField, spec.highField, spec.lowField, spec.closeField ];
3
+ }
4
+ //# sourceMappingURL=util.js.map
@@ -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,2 @@
1
+ export const CombinationCandlestickChart_TYPE = "combinationCandlestick";
2
+ //# sourceMappingURL=constant.js.map
@@ -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"]}
@@ -0,0 +1,3 @@
1
+ export * from './combination-candlestick';
2
+ export * from './interface';
3
+ export * from './constant';