@visactor/vtable 0.9.3-alpha.4 → 0.9.3-alpha.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 (241) hide show
  1. package/cjs/ListTable.js +8 -8
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.d.ts +7 -4
  4. package/cjs/PivotChart.js +17 -17
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/PivotTable.js +7 -7
  7. package/cjs/PivotTable.js.map +1 -1
  8. package/cjs/components/axis/axis.js +5 -4
  9. package/cjs/components/axis/axis.js.map +1 -1
  10. package/cjs/components/axis/get-axis-component-size.d.ts +3 -0
  11. package/cjs/components/axis/get-axis-component-size.js +50 -0
  12. package/cjs/components/axis/get-axis-component-size.js.map +1 -0
  13. package/cjs/components/axis/linear-scale.js +2 -1
  14. package/cjs/components/axis/linear-scale.js.map +1 -1
  15. package/cjs/components/legend/legend.d.ts +1 -1
  16. package/cjs/components/legend/legend.js +1 -1
  17. package/cjs/components/legend/legend.js.map +1 -1
  18. package/cjs/components/menu/dom/BaseMenu.d.ts +1 -1
  19. package/cjs/components/menu/dom/BaseMenu.js +2 -2
  20. package/cjs/components/menu/dom/BaseMenu.js.map +1 -1
  21. package/cjs/components/menu/dom/MenuHandler.d.ts +1 -1
  22. package/cjs/components/menu/dom/MenuHandler.js +5 -5
  23. package/cjs/components/menu/dom/MenuHandler.js.map +1 -1
  24. package/cjs/components/menu/dom/logic/MenuContainer.d.ts +1 -1
  25. package/cjs/components/menu/dom/logic/MenuContainer.js +2 -2
  26. package/cjs/components/menu/dom/logic/MenuContainer.js.map +1 -1
  27. package/cjs/components/menu/dom/logic/MenuElement.d.ts +1 -1
  28. package/cjs/components/menu/dom/logic/MenuElement.js +2 -2
  29. package/cjs/components/menu/dom/logic/MenuElement.js.map +1 -1
  30. package/cjs/components/title/title.d.ts +1 -1
  31. package/cjs/components/title/title.js +1 -1
  32. package/cjs/components/title/title.js.map +1 -1
  33. package/cjs/components/tooltip/BaseTooltip.d.ts +1 -1
  34. package/cjs/components/tooltip/BaseTooltip.js +2 -2
  35. package/cjs/components/tooltip/BaseTooltip.js.map +1 -1
  36. package/cjs/components/tooltip/TooltipHandler.d.ts +1 -1
  37. package/cjs/components/tooltip/TooltipHandler.js +7 -7
  38. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  39. package/cjs/components/tooltip/logic/BubbleTooltipElement.d.ts +1 -1
  40. package/cjs/components/tooltip/logic/BubbleTooltipElement.js +2 -2
  41. package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  42. package/cjs/core/BaseTable.d.ts +8 -7
  43. package/cjs/core/BaseTable.js +35 -64
  44. package/cjs/core/BaseTable.js.map +1 -1
  45. package/cjs/core/FouseInput.d.ts +1 -1
  46. package/cjs/core/FouseInput.js +1 -1
  47. package/cjs/core/FouseInput.js.map +1 -1
  48. package/cjs/core/tableHelper.js +3 -3
  49. package/cjs/core/tableHelper.js.map +1 -1
  50. package/cjs/data/CachedDataSource.d.ts +1 -1
  51. package/cjs/data/CachedDataSource.js +2 -2
  52. package/cjs/data/CachedDataSource.js.map +1 -1
  53. package/cjs/data/DataSource.d.ts +1 -1
  54. package/cjs/data/DataSource.js +2 -2
  55. package/cjs/data/DataSource.js.map +1 -1
  56. package/cjs/data/FilterDataSource.js.map +1 -1
  57. package/cjs/event/EventHandler.d.ts +1 -1
  58. package/cjs/event/EventHandler.js +1 -1
  59. package/cjs/event/EventHandler.js.map +1 -1
  60. package/cjs/event/EventTarget.d.ts +3 -3
  61. package/cjs/event/EventTarget.js +5 -5
  62. package/cjs/event/EventTarget.js.map +1 -1
  63. package/cjs/event/drill.js +1 -1
  64. package/cjs/event/drill.js.map +1 -1
  65. package/cjs/event/event.d.ts +1 -1
  66. package/cjs/event/event.js +11 -7
  67. package/cjs/event/event.js.map +1 -1
  68. package/cjs/event/listener/table-group.js +3 -1
  69. package/cjs/event/listener/table-group.js.map +1 -1
  70. package/cjs/event/media-click.js +1 -1
  71. package/cjs/event/media-click.js.map +1 -1
  72. package/cjs/event/pivot-chart/axis-hover.js +2 -2
  73. package/cjs/event/pivot-chart/axis-hover.js.map +1 -1
  74. package/cjs/event/sparkline-event.js +2 -2
  75. package/cjs/event/sparkline-event.js.map +1 -1
  76. package/cjs/index.d.ts +1 -1
  77. package/cjs/index.js +1 -1
  78. package/cjs/index.js.map +1 -1
  79. package/cjs/layout/chart-helper/get-axis-config.d.ts +1 -0
  80. package/cjs/layout/chart-helper/get-axis-config.js +56 -40
  81. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  82. package/cjs/layout/chart-helper/get-chart-spec.js +18 -12
  83. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  84. package/cjs/layout/pivot-header-layout.d.ts +4 -0
  85. package/cjs/layout/pivot-header-layout.js +16 -0
  86. package/cjs/layout/pivot-header-layout.js.map +1 -1
  87. package/cjs/layout/pivot-layout.d.ts +4 -0
  88. package/cjs/layout/pivot-layout.js +16 -0
  89. package/cjs/layout/pivot-layout.js.map +1 -1
  90. package/cjs/layout/simple-header-layout.d.ts +4 -0
  91. package/cjs/layout/simple-header-layout.js +16 -0
  92. package/cjs/layout/simple-header-layout.js.map +1 -1
  93. package/cjs/scenegraph/component/menu.d.ts +1 -1
  94. package/cjs/scenegraph/component/menu.js +1 -1
  95. package/cjs/scenegraph/component/menu.js.map +1 -1
  96. package/cjs/scenegraph/graphic/icon.d.ts +2 -2
  97. package/cjs/scenegraph/graphic/icon.js.map +1 -1
  98. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +7 -7
  99. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  100. package/cjs/scenegraph/group-creater/progress/proxy.js +4 -2
  101. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  102. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +4 -4
  103. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  104. package/cjs/scenegraph/layout/compute-col-width.js +23 -4
  105. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  106. package/cjs/scenegraph/scenegraph.js +1 -1
  107. package/cjs/scenegraph/scenegraph.js.map +1 -1
  108. package/cjs/scenegraph/utils/text-icon-layout.js +1 -1
  109. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  110. package/cjs/state/state.js +5 -2
  111. package/cjs/state/state.js.map +1 -1
  112. package/cjs/ts-types/base-table.d.ts +12 -11
  113. package/cjs/ts-types/base-table.js.map +1 -1
  114. package/cjs/ts-types/component/axis.d.ts +1 -1
  115. package/cjs/ts-types/component/axis.js.map +1 -1
  116. package/cjs/ts-types/events.d.ts +2 -0
  117. package/cjs/ts-types/events.js.map +1 -1
  118. package/cjs/ts-types/list-table/layout-map/api.d.ts +1 -0
  119. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  120. package/dist/vtable.js +604 -443
  121. package/dist/vtable.min.js +3 -3
  122. package/es/ListTable.js +8 -8
  123. package/es/ListTable.js.map +1 -1
  124. package/es/PivotChart.d.ts +7 -4
  125. package/es/PivotChart.js +17 -17
  126. package/es/PivotChart.js.map +1 -1
  127. package/es/PivotTable.js +7 -7
  128. package/es/PivotTable.js.map +1 -1
  129. package/es/components/axis/axis.js +3 -3
  130. package/es/components/axis/axis.js.map +1 -1
  131. package/es/components/axis/get-axis-component-size.d.ts +3 -0
  132. package/es/components/axis/get-axis-component-size.js +44 -0
  133. package/es/components/axis/get-axis-component-size.js.map +1 -0
  134. package/es/components/axis/linear-scale.js +2 -1
  135. package/es/components/axis/linear-scale.js.map +1 -1
  136. package/es/components/legend/legend.d.ts +1 -1
  137. package/es/components/legend/legend.js +1 -1
  138. package/es/components/legend/legend.js.map +1 -1
  139. package/es/components/menu/dom/BaseMenu.d.ts +1 -1
  140. package/es/components/menu/dom/BaseMenu.js +2 -2
  141. package/es/components/menu/dom/BaseMenu.js.map +1 -1
  142. package/es/components/menu/dom/MenuHandler.d.ts +1 -1
  143. package/es/components/menu/dom/MenuHandler.js +5 -5
  144. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  145. package/es/components/menu/dom/logic/MenuContainer.d.ts +1 -1
  146. package/es/components/menu/dom/logic/MenuContainer.js +2 -2
  147. package/es/components/menu/dom/logic/MenuContainer.js.map +1 -1
  148. package/es/components/menu/dom/logic/MenuElement.d.ts +1 -1
  149. package/es/components/menu/dom/logic/MenuElement.js +2 -2
  150. package/es/components/menu/dom/logic/MenuElement.js.map +1 -1
  151. package/es/components/title/title.d.ts +1 -1
  152. package/es/components/title/title.js +1 -1
  153. package/es/components/title/title.js.map +1 -1
  154. package/es/components/tooltip/BaseTooltip.d.ts +1 -1
  155. package/es/components/tooltip/BaseTooltip.js +2 -2
  156. package/es/components/tooltip/BaseTooltip.js.map +1 -1
  157. package/es/components/tooltip/TooltipHandler.d.ts +1 -1
  158. package/es/components/tooltip/TooltipHandler.js +7 -7
  159. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  160. package/es/components/tooltip/logic/BubbleTooltipElement.d.ts +1 -1
  161. package/es/components/tooltip/logic/BubbleTooltipElement.js +2 -2
  162. package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  163. package/es/core/BaseTable.d.ts +8 -7
  164. package/es/core/BaseTable.js +36 -64
  165. package/es/core/BaseTable.js.map +1 -1
  166. package/es/core/FouseInput.d.ts +1 -1
  167. package/es/core/FouseInput.js +1 -1
  168. package/es/core/FouseInput.js.map +1 -1
  169. package/es/core/tableHelper.js +3 -3
  170. package/es/core/tableHelper.js.map +1 -1
  171. package/es/data/CachedDataSource.d.ts +1 -1
  172. package/es/data/CachedDataSource.js +2 -2
  173. package/es/data/CachedDataSource.js.map +1 -1
  174. package/es/data/DataSource.d.ts +1 -1
  175. package/es/data/DataSource.js +2 -2
  176. package/es/data/DataSource.js.map +1 -1
  177. package/es/data/FilterDataSource.js.map +1 -1
  178. package/es/event/EventHandler.d.ts +1 -1
  179. package/es/event/EventHandler.js +1 -1
  180. package/es/event/EventHandler.js.map +1 -1
  181. package/es/event/EventTarget.d.ts +3 -3
  182. package/es/event/EventTarget.js +5 -5
  183. package/es/event/EventTarget.js.map +1 -1
  184. package/es/event/drill.js +1 -1
  185. package/es/event/drill.js.map +1 -1
  186. package/es/event/event.d.ts +1 -1
  187. package/es/event/event.js +12 -6
  188. package/es/event/event.js.map +1 -1
  189. package/es/event/listener/table-group.js +3 -1
  190. package/es/event/listener/table-group.js.map +1 -1
  191. package/es/event/media-click.js +1 -1
  192. package/es/event/media-click.js.map +1 -1
  193. package/es/event/pivot-chart/axis-hover.js +2 -2
  194. package/es/event/pivot-chart/axis-hover.js.map +1 -1
  195. package/es/event/sparkline-event.js +2 -2
  196. package/es/event/sparkline-event.js.map +1 -1
  197. package/es/index.d.ts +1 -1
  198. package/es/index.js +1 -1
  199. package/es/index.js.map +1 -1
  200. package/es/layout/chart-helper/get-axis-config.d.ts +1 -0
  201. package/es/layout/chart-helper/get-axis-config.js +53 -38
  202. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  203. package/es/layout/chart-helper/get-chart-spec.js +19 -13
  204. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  205. package/es/layout/pivot-header-layout.d.ts +4 -0
  206. package/es/layout/pivot-header-layout.js +16 -0
  207. package/es/layout/pivot-header-layout.js.map +1 -1
  208. package/es/layout/pivot-layout.d.ts +4 -0
  209. package/es/layout/pivot-layout.js +16 -0
  210. package/es/layout/pivot-layout.js.map +1 -1
  211. package/es/layout/simple-header-layout.d.ts +4 -0
  212. package/es/layout/simple-header-layout.js +16 -0
  213. package/es/layout/simple-header-layout.js.map +1 -1
  214. package/es/scenegraph/component/menu.d.ts +1 -1
  215. package/es/scenegraph/component/menu.js +1 -1
  216. package/es/scenegraph/component/menu.js.map +1 -1
  217. package/es/scenegraph/graphic/icon.d.ts +2 -2
  218. package/es/scenegraph/graphic/icon.js.map +1 -1
  219. package/es/scenegraph/group-creater/cell-type/image-cell.js +4 -4
  220. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  221. package/es/scenegraph/group-creater/progress/proxy.js +4 -2
  222. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  223. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +4 -4
  224. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  225. package/es/scenegraph/layout/compute-col-width.js +26 -3
  226. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  227. package/es/scenegraph/scenegraph.js +1 -1
  228. package/es/scenegraph/scenegraph.js.map +1 -1
  229. package/es/scenegraph/utils/text-icon-layout.js +1 -1
  230. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  231. package/es/state/state.js +5 -2
  232. package/es/state/state.js.map +1 -1
  233. package/es/ts-types/base-table.d.ts +12 -11
  234. package/es/ts-types/base-table.js.map +1 -1
  235. package/es/ts-types/component/axis.d.ts +1 -1
  236. package/es/ts-types/component/axis.js.map +1 -1
  237. package/es/ts-types/events.d.ts +2 -0
  238. package/es/ts-types/events.js.map +1 -1
  239. package/es/ts-types/list-table/layout-map/api.d.ts +1 -0
  240. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  241. package/package.json +2 -2
@@ -1,3 +1,4 @@
1
1
  import type { PivotLayoutMap } from '../pivot-layout';
2
2
  export declare function getAxisConfigInPivotChart(col: number, row: number, layout: PivotLayoutMap): any;
3
3
  export declare function getAxisOption(col: number, row: number, orient: string, layout: PivotLayoutMap): any;
4
+ export declare function checkZeroAlign(col: number, row: number, orient: string, layout: PivotLayoutMap): boolean;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.getAxisOption = exports.getAxisConfigInPivotChart = void 0;
5
+ }), exports.checkZeroAlign = exports.getAxisOption = exports.getAxisConfigInPivotChart = void 0;
6
6
 
7
7
  const vutils_1 = require("@visactor/vutils");
8
8
 
@@ -11,17 +11,15 @@ function getAxisConfigInPivotChart(col, row, layout) {
11
11
  if (layout.hasTwoIndicatorAxes && row === layout.columnHeaderLevelCount - 1 && col >= layout.rowHeaderLevelCount && col < layout.colCount - layout.rightFrozenColCount) {
12
12
  let defaultKey = layout.getIndicatorKeyInChartSpec(col, layout.columnHeaderLevelCount - 1)[1];
13
13
  if ((0, vutils_1.isArray)(defaultKey) && (defaultKey = defaultKey[0]), !defaultKey) return;
14
- const data = layout.dataset.collectedValues[defaultKey + "_align"] ? layout.dataset.collectedValues[defaultKey + "_align"] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByCol(col), range = data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]], axisOption = getAxisOption(col, row, "top", layout);
14
+ const isZeroAlign = checkZeroAlign(col, row, "top", layout), data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByCol(col), range = data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]], axisOption = getAxisOption(col, row, "top", layout);
15
15
  if (!1 === (null == axisOption ? void 0 : axisOption.visible)) return;
16
- return (0, vutils_1.merge)({}, axisOption, {
16
+ return (0, vutils_1.merge)({
17
+ range: range
18
+ }, axisOption, {
17
19
  orient: "top",
18
20
  type: "linear",
19
- range: range,
20
21
  label: {
21
22
  flush: !0
22
- },
23
- title: {
24
- visible: !1
25
23
  }
26
24
  });
27
25
  }
@@ -29,7 +27,7 @@ function getAxisConfigInPivotChart(col, row, layout) {
29
27
  const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);
30
28
  let defaultKey = indicatorKeys[0];
31
29
  (0, vutils_1.isArray)(defaultKey) && (defaultKey = defaultKey[0]);
32
- const data = layout.dataset.collectedValues[defaultKey + "_align"] ? layout.dataset.collectedValues[defaultKey + "_align"] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByCol(col), range = data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]];
30
+ const isZeroAlign = checkZeroAlign(col, row, "bottom", layout), data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByCol(col), range = data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]];
33
31
  let indicatorInfo = null;
34
32
  indicatorKeys.forEach((key => {
35
33
  const info = layout.getIndicatorInfo(key);
@@ -37,16 +35,18 @@ function getAxisConfigInPivotChart(col, row, layout) {
37
35
  }));
38
36
  const axisOption = getAxisOption(col, row, "bottom", layout);
39
37
  if (!1 === (null == axisOption ? void 0 : axisOption.visible)) return;
40
- return (0, vutils_1.merge)({}, axisOption, {
38
+ return (0, vutils_1.merge)({
39
+ title: {
40
+ visible: !0,
41
+ text: null == indicatorInfo ? void 0 : indicatorInfo.caption,
42
+ autoRotate: !0
43
+ },
44
+ range: range
45
+ }, axisOption, {
41
46
  orient: "bottom",
42
47
  type: "linear",
43
- range: range,
44
48
  label: {
45
49
  flush: !0
46
- },
47
- title: {
48
- text: null == indicatorInfo ? void 0 : indicatorInfo.caption,
49
- autoRotate: !0
50
50
  }
51
51
  });
52
52
  }
@@ -55,13 +55,11 @@ function getAxisConfigInPivotChart(col, row, layout) {
55
55
  (0, vutils_1.isArray)(rowDimensionKey) && (rowDimensionKey = rowDimensionKey[0]);
56
56
  const data = layout.dataset.collectedValues[rowDimensionKey], recordRow = layout.getRecordIndexByRow(row), rowPath = layout.getRowKeysPath()[recordRow], domain = data[rowPath[rowPath.length - 1]], axisOption = getAxisOption(col, row, "left", layout);
57
57
  if (!1 === (null == axisOption ? void 0 : axisOption.visible)) return;
58
- return (0, vutils_1.merge)({}, axisOption, {
58
+ return (0, vutils_1.merge)({
59
+ domain: Array.from(domain).reverse()
60
+ }, axisOption, {
59
61
  orient: "left",
60
- type: "band",
61
- data: Array.from(domain).reverse(),
62
- title: {
63
- visible: !1
64
- }
62
+ type: "band"
65
63
  });
66
64
  }
67
65
  } else {
@@ -69,7 +67,7 @@ function getAxisConfigInPivotChart(col, row, layout) {
69
67
  const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);
70
68
  let defaultKey = indicatorKeys[0];
71
69
  (0, vutils_1.isArray)(defaultKey) && (defaultKey = defaultKey[0]);
72
- const data = layout.dataset.collectedValues[defaultKey + "_align"] ? layout.dataset.collectedValues[defaultKey + "_align"] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByRow(row), range = data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]];
70
+ const isZeroAlign = checkZeroAlign(col, row, "left", layout), data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByRow(row), range = data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]];
73
71
  let indicatorInfo = null;
74
72
  indicatorKeys.forEach((key => {
75
73
  const info = layout.getIndicatorInfo(key);
@@ -77,33 +75,33 @@ function getAxisConfigInPivotChart(col, row, layout) {
77
75
  }));
78
76
  const axisOption = getAxisOption(col, row, "left", layout);
79
77
  if (!1 === (null == axisOption ? void 0 : axisOption.visible)) return;
80
- return (0, vutils_1.merge)({}, axisOption, {
78
+ return (0, vutils_1.merge)({
79
+ title: {
80
+ visible: !0,
81
+ text: null == indicatorInfo ? void 0 : indicatorInfo.caption,
82
+ autoRotate: !0
83
+ },
84
+ range: range
85
+ }, axisOption, {
81
86
  orient: "left",
82
87
  type: "linear",
83
- range: range,
84
88
  label: {
85
89
  flush: !0
86
- },
87
- title: {
88
- text: null == indicatorInfo ? void 0 : indicatorInfo.caption,
89
- autoRotate: !0
90
90
  }
91
91
  });
92
92
  }
93
93
  if (col === layout.colCount - layout.rightFrozenColCount && row >= layout.columnHeaderLevelCount && row < layout.rowCount - layout.bottomFrozenRowCount) {
94
94
  let defaultKey = layout.getIndicatorKeyInChartSpec(layout.rowHeaderLevelCount - 1, row)[1];
95
95
  if ((0, vutils_1.isArray)(defaultKey) && (defaultKey = defaultKey[0]), !defaultKey) return;
96
- const data = layout.dataset.collectedValues[defaultKey + "_align"] ? layout.dataset.collectedValues[defaultKey + "_align"] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByRow(row), range = data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]], axisOption = getAxisOption(col, row, "right", layout);
96
+ const isZeroAlign = checkZeroAlign(col, row, "right", layout), data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[defaultKey], index = layout.getRecordIndexByRow(row), range = data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]], axisOption = getAxisOption(col, row, "right", layout);
97
97
  if (!1 === (null == axisOption ? void 0 : axisOption.visible)) return;
98
- return (0, vutils_1.merge)({}, axisOption, {
98
+ return (0, vutils_1.merge)({
99
+ range: range
100
+ }, axisOption, {
99
101
  orient: "right",
100
102
  type: "linear",
101
- range: range,
102
103
  label: {
103
104
  flush: !0
104
- },
105
- title: {
106
- visible: !1
107
105
  }
108
106
  });
109
107
  }
@@ -112,13 +110,11 @@ function getAxisConfigInPivotChart(col, row, layout) {
112
110
  (0, vutils_1.isArray)(columnDimensionKey) && (columnDimensionKey = columnDimensionKey[0]);
113
111
  const data = layout.dataset.collectedValues[columnDimensionKey], recordCol = layout.getRecordIndexByCol(col), colPath = layout.getColKeysPath()[recordCol], domain = data[colPath[colPath.length - 1]], axisOption = getAxisOption(col, row, "bottom", layout);
114
112
  if (!1 === (null == axisOption ? void 0 : axisOption.visible)) return;
115
- return (0, vutils_1.merge)({}, axisOption, {
113
+ return (0, vutils_1.merge)({
114
+ domain: Array.from(domain)
115
+ }, axisOption, {
116
116
  orient: "bottom",
117
- type: "band",
118
- data: Array.from(domain),
119
- title: {
120
- visible: !1
121
- }
117
+ type: "band"
122
118
  });
123
119
  }
124
120
  }
@@ -133,5 +129,25 @@ function getAxisOption(col, row, orient, layout) {
133
129
  return layout._table.pivotChartAxes.find((axisOption => axisOption.orient === orient));
134
130
  }
135
131
 
136
- exports.getAxisConfigInPivotChart = getAxisConfigInPivotChart, exports.getAxisOption = getAxisOption;
132
+ function checkZeroAlign(col, row, orient, layout) {
133
+ const orients = [];
134
+ "left" === orient || "right" === orient ? orients.push("left", "right") : "top" !== orient && "bottom" !== orient || orients.push("top", "bottom");
135
+ const spec = layout.getRawChartSpec(col, row);
136
+ let axesSpec;
137
+ if (axesSpec = spec && (0, vutils_1.isArray)(spec.axes) ? spec.axes : layout._table.pivotChartAxes,
138
+ (0, vutils_1.isArray)(axesSpec)) {
139
+ const axes = [];
140
+ axesSpec.forEach((axis => {
141
+ orients.includes(axis.orient) && axes.push(axis);
142
+ }));
143
+ for (let i = 0; i < axes.length; i++) {
144
+ const axis = axes[i];
145
+ if (axis.sync && axis.sync.zeroAlign && axis.sync.axisId && axes.find((axisSync => axisSync.id === axis.sync.axisId))) return !0;
146
+ }
147
+ }
148
+ return !1;
149
+ }
150
+
151
+ exports.getAxisConfigInPivotChart = getAxisConfigInPivotChart, exports.getAxisOption = getAxisOption,
152
+ exports.checkZeroAlign = checkZeroAlign;
137
153
  //# sourceMappingURL=get-axis-config.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["layout/chart-helper/get-axis-config.ts"],"names":[],"mappings":"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","file":"get-axis-config.js","sourcesContent":["import { isArray, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotChart } from '../../PivotChart';\n\nexport function getAxisConfigInPivotChart(col: number, row: number, layout: PivotLayoutMap): any {\n if (!layout._table.isPivotChart()) {\n return undefined;\n }\n\n // 是否是指标\n if (layout.indicatorsAsCol) {\n if (\n layout.hasTwoIndicatorAxes &&\n row === layout.columnHeaderLevelCount - 1 &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, layout.columnHeaderLevelCount - 1);\n let defaultKey = indicatorKeys[1];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n if (!defaultKey) {\n return undefined;\n }\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range =\n data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]];\n\n const axisOption = getAxisOption(col, row, 'top', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 顶部副指标轴\n return merge({}, axisOption, {\n orient: 'top',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n visible: false\n }\n });\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n let defaultKey = indicatorKeys[0];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range =\n data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]];\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 底侧指标轴\n return merge({}, axisOption, {\n orient: 'bottom',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n // visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n }\n });\n } else if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data = layout.dataset.collectedValues[rowDimensionKey];\n\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Array<string>;\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧维度轴\n return merge({}, axisOption, {\n orient: 'left',\n type: 'band',\n data: Array.from(domain).reverse(),\n title: {\n visible: false\n }\n });\n }\n } else {\n if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n let defaultKey = indicatorKeys[0];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range =\n data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]];\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧指标轴\n return merge({}, axisOption, {\n orient: 'left',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n // visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n }\n });\n } else if (\n col === layout.colCount - layout.rightFrozenColCount &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(layout.rowHeaderLevelCount - 1, row);\n let defaultKey = indicatorKeys[1];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n if (!defaultKey) {\n return undefined;\n }\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range =\n data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]];\n\n const axisOption = getAxisOption(col, row, 'right', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 右侧副指标轴\n return merge({}, axisOption, {\n orient: 'right',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n visible: false\n }\n });\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n // const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data = layout.dataset.collectedValues[columnDimensionKey];\n\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = data[colPath[colPath.length - 1]] as Array<string>;\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 底部维度轴\n return merge({}, axisOption, {\n orient: 'bottom',\n type: 'band',\n data: Array.from(domain),\n title: {\n visible: false\n }\n });\n }\n }\n\n return undefined;\n}\n\nexport function getAxisOption(col: number, row: number, orient: string, layout: PivotLayoutMap) {\n const spec = layout.getRawChartSpec(col, row);\n if (spec && isArray(spec.axes)) {\n const axisOption = spec.axes.find((axis: any) => {\n return axis.orient === orient;\n });\n if (axisOption) {\n return axisOption;\n }\n }\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === orient;\n });\n return axisOption;\n}\n"]}
1
+ {"version":3,"sources":["layout/chart-helper/get-axis-config.ts"],"names":[],"mappings":"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","file":"get-axis-config.js","sourcesContent":["import { isArray, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotChart } from '../../PivotChart';\n\nexport function getAxisConfigInPivotChart(col: number, row: number, layout: PivotLayoutMap): any {\n if (!layout._table.isPivotChart()) {\n return undefined;\n }\n\n // 是否是指标\n if (layout.indicatorsAsCol) {\n if (\n layout.hasTwoIndicatorAxes &&\n row === layout.columnHeaderLevelCount - 1 &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, layout.columnHeaderLevelCount - 1);\n let defaultKey = indicatorKeys[1];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n if (!defaultKey) {\n return undefined;\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'top', layout);\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range =\n data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]];\n\n const axisOption = getAxisOption(col, row, 'top', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 顶部副指标轴\n return merge(\n {\n range: range\n },\n axisOption,\n {\n orient: 'top',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n let defaultKey = indicatorKeys[0];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'bottom', layout);\n\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range =\n data[layout.getColKeysPath()[index][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]];\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 底侧指标轴\n return merge(\n {\n title: {\n visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n },\n range: range\n },\n axisOption,\n {\n orient: 'bottom',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data = layout.dataset.collectedValues[rowDimensionKey];\n\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Array<string>;\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧维度轴\n return merge(\n {\n domain: Array.from(domain).reverse()\n },\n axisOption,\n {\n orient: 'left',\n type: 'band'\n }\n );\n }\n } else {\n if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n let defaultKey = indicatorKeys[0];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'left', layout);\n\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range =\n data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]];\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧指标轴\n return merge(\n {\n title: {\n visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n },\n range: range\n },\n axisOption,\n {\n orient: 'left',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n col === layout.colCount - layout.rightFrozenColCount &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(layout.rowHeaderLevelCount - 1, row);\n let defaultKey = indicatorKeys[1];\n if (isArray(defaultKey)) {\n defaultKey = defaultKey[0];\n }\n\n if (!defaultKey) {\n return undefined;\n }\n\n const isZeroAlign = checkZeroAlign(col, row, 'right', layout);\n\n const data = layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[defaultKey + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range =\n data[layout.getRowKeysPath()[index][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]];\n\n const axisOption = getAxisOption(col, row, 'right', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 右侧副指标轴\n return merge(\n {\n range: range\n },\n axisOption,\n {\n orient: 'right',\n type: 'linear',\n label: {\n flush: true\n }\n }\n );\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n // const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data = layout.dataset.collectedValues[columnDimensionKey];\n\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = data[colPath[colPath.length - 1]] as Array<string>;\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n if (axisOption?.visible === false) {\n return;\n }\n // 底部维度轴\n return merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n orient: 'bottom',\n type: 'band'\n }\n );\n }\n }\n\n return undefined;\n}\n\nexport function getAxisOption(col: number, row: number, orient: string, layout: PivotLayoutMap) {\n const spec = layout.getRawChartSpec(col, row);\n if (spec && isArray(spec.axes)) {\n const axisOption = spec.axes.find((axis: any) => {\n return axis.orient === orient;\n });\n if (axisOption) {\n return axisOption;\n }\n }\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === orient;\n });\n return axisOption;\n}\n\nexport function checkZeroAlign(col: number, row: number, orient: string, layout: PivotLayoutMap) {\n // check condition:\n // 1. two axes and one set sync\n // 2. axisId in sync is another\n const orients: string[] = [];\n if (orient === 'left' || orient === 'right') {\n orients.push('left', 'right');\n } else if (orient === 'top' || orient === 'bottom') {\n orients.push('top', 'bottom');\n }\n const spec = layout.getRawChartSpec(col, row);\n let axesSpec;\n if (spec && isArray(spec.axes)) {\n axesSpec = spec.axes;\n } else {\n axesSpec = (layout._table as PivotChart).pivotChartAxes as ITableAxisOption[];\n }\n if (isArray(axesSpec)) {\n const axes: any[] = [];\n axesSpec.forEach((axis: any) => {\n if (orients.includes(axis.orient)) {\n axes.push(axis);\n }\n });\n for (let i = 0; i < axes.length; i++) {\n const axis = axes[i];\n if (\n axis.sync &&\n axis.sync.zeroAlign &&\n axis.sync.axisId &&\n axes.find(axisSync => {\n return axisSync.id === axis.sync.axisId;\n })\n ) {\n return true;\n }\n }\n }\n\n return false;\n}\n"]}
@@ -32,9 +32,12 @@ function getChartAxes(col, row, layout) {
32
32
  const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row), colIndex = layout.getRecordIndexByCol(col);
33
33
  indicatorKeys.forEach(((key, index) => {
34
34
  (0, vutils_1.isArray)(key) && (key = key[0]);
35
- const range = (layout.dataset.collectedValues[key + "_align"] ? layout.dataset.collectedValues[key + "_align"] : layout.dataset.collectedValues[key])[layout.getColKeysPath()[colIndex][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]], axisOption = (0,
35
+ const isZeroAlign = (0, get_axis_config_1.checkZeroAlign)(col, row, 0 === index ? "bottom" : "top", layout), range = (layout.dataset.collectedValues[key + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[key + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[key])[layout.getColKeysPath()[colIndex][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]], axisOption = (0,
36
36
  get_axis_config_1.getAxisOption)(col, row, 0 === index ? "bottom" : "top", layout);
37
- axes.push((0, vutils_1.merge)({}, axisOption, {
37
+ (null == axisOption ? void 0 : axisOption.zero) && (range.min = Math.min(range.min, 0),
38
+ range.max = Math.max(range.max, 0)), axes.push((0, vutils_1.merge)({
39
+ range: range
40
+ }, axisOption, {
38
41
  type: "linear",
39
42
  orient: 0 === index ? "bottom" : "top",
40
43
  label: {
@@ -43,7 +46,6 @@ function getChartAxes(col, row, layout) {
43
46
  title: {
44
47
  visible: !1
45
48
  },
46
- range: range,
47
49
  seriesIndex: index,
48
50
  height: -1
49
51
  }));
@@ -52,7 +54,9 @@ function getChartAxes(col, row, layout) {
52
54
  (0, vutils_1.isArray)(rowDimensionKey) && (rowDimensionKey = rowDimensionKey[0]);
53
55
  const data = layout.dataset.cacheCollectedValues[rowDimensionKey] || layout.dataset.collectedValues[rowDimensionKey], recordRow = layout.getRecordIndexByRow(row), rowPath = layout.getRowKeysPath()[recordRow], domain = data[rowPath[rowPath.length - 1]], axisOption = (0,
54
56
  get_axis_config_1.getAxisOption)(col, row, "left", layout);
55
- axes.push((0, vutils_1.merge)({}, axisOption, {
57
+ axes.push((0, vutils_1.merge)({
58
+ domain: Array.from(domain)
59
+ }, axisOption, {
56
60
  type: "band",
57
61
  orient: "left",
58
62
  label: {
@@ -71,16 +75,18 @@ function getChartAxes(col, row, layout) {
71
75
  title: {
72
76
  visible: !1
73
77
  },
74
- width: -1,
75
- domain: Array.from(domain)
78
+ width: -1
76
79
  }));
77
80
  } else {
78
81
  const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row), rowIndex = layout.getRecordIndexByRow(row);
79
82
  indicatorKeys.forEach(((key, index) => {
80
83
  (0, vutils_1.isArray)(key) && (key = key[0]);
81
- const range = (layout.dataset.collectedValues[key + "_align"] ? layout.dataset.collectedValues[key + "_align"] : layout.dataset.collectedValues[key])[layout.getRowKeysPath()[rowIndex][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]], axisOption = (0,
84
+ const isZeroAlign = (0, get_axis_config_1.checkZeroAlign)(col, row, 0 === index ? "left" : "right", layout), range = (layout.dataset.collectedValues[key + (isZeroAlign ? "_align" : "")] ? layout.dataset.collectedValues[key + (isZeroAlign ? "_align" : "")] : layout.dataset.collectedValues[key])[layout.getRowKeysPath()[rowIndex][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]], axisOption = (0,
82
85
  get_axis_config_1.getAxisOption)(col, row, 0 === index ? "left" : "right", layout);
83
- axes.push((0, vutils_1.merge)({}, axisOption, {
86
+ (null == axisOption ? void 0 : axisOption.zero) && (range.min = Math.min(range.min, 0),
87
+ range.max = Math.max(range.max, 0)), axes.push((0, vutils_1.merge)({
88
+ range: range
89
+ }, axisOption, {
84
90
  type: "linear",
85
91
  orient: 0 === index ? "left" : "right",
86
92
  label: {
@@ -89,7 +95,6 @@ function getChartAxes(col, row, layout) {
89
95
  title: {
90
96
  visible: !1
91
97
  },
92
- range: range,
93
98
  seriesIndex: index,
94
99
  width: -1
95
100
  }));
@@ -98,7 +103,9 @@ function getChartAxes(col, row, layout) {
98
103
  (0, vutils_1.isArray)(columnDimensionKey) && (columnDimensionKey = columnDimensionKey[0]);
99
104
  const data = layout.dataset.cacheCollectedValues[columnDimensionKey] || layout.dataset.collectedValues[columnDimensionKey], recordCol = layout.getRecordIndexByCol(col), colPath = layout.getColKeysPath()[recordCol], domain = data[colPath[colPath.length - 1]], axisOption = (0,
100
105
  get_axis_config_1.getAxisOption)(col, row, "bottom", layout);
101
- axes.push((0, vutils_1.merge)({}, axisOption, {
106
+ axes.push((0, vutils_1.merge)({
107
+ domain: Array.from(domain)
108
+ }, axisOption, {
102
109
  type: "band",
103
110
  orient: "bottom",
104
111
  visible: !0,
@@ -118,8 +125,7 @@ function getChartAxes(col, row, layout) {
118
125
  title: {
119
126
  visible: !1
120
127
  },
121
- height: -1,
122
- domain: Array.from(domain)
128
+ height: -1
123
129
  }));
124
130
  }
125
131
  return axes;
@@ -1 +1 @@
1
- {"version":3,"sources":["layout/chart-helper/get-chart-spec.ts"],"names":[],"mappings":"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","file":"get-chart-spec.js","sourcesContent":["import { cloneDeep, isArray, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { PivotChart } from '../../PivotChart';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotHeaderLayoutMap } from '../pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\nimport { getAxisOption } from './get-axis-config';\n\nexport function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap | PivotHeaderLayoutMap): any {\n const paths = layout.getCellHeaderPaths(col, row);\n let indicatorObj;\n if (layout.indicatorsAsCol) {\n const indicatorKey = paths.colHeaderPaths.find(colPath => colPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n } else {\n const indicatorKey = paths.rowHeaderPaths.find(rowPath => rowPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n }\n // const indicatorKeys: string[] = [];\n const chartSpec = indicatorObj?.chartSpec;\n\n return chartSpec;\n}\n\nexport function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n let chartSpec = layout.getRawChartSpec(col, row);\n if (chartSpec) {\n chartSpec = cloneDeep(chartSpec);\n chartSpec.axes = layout.getChartAxes(col, row);\n chartSpec.padding = 0;\n return chartSpec;\n }\n return null;\n}\n\nexport function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any {\n const axes = [];\n if (layout.indicatorsAsCol) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const colIndex = layout.getRecordIndexByCol(col);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n // const data = layout.dataset.collectedValues[key];\n const data = layout.dataset.collectedValues[key + '_align']\n ? layout.dataset.collectedValues[key + '_align']\n : layout.dataset.collectedValues[key];\n const range =\n data[layout.getColKeysPath()[colIndex][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]];\n\n const axisOption = getAxisOption(col, row, index === 0 ? 'bottom' : 'top', layout);\n axes.push(\n merge({}, axisOption, {\n type: 'linear',\n orient: index === 0 ? 'bottom' : 'top',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n range,\n seriesIndex: index,\n height: -1\n })\n );\n });\n\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, col)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[rowDimensionKey] || layout.dataset.collectedValues[rowDimensionKey];\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Set<string>;\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n axes.push(\n merge({}, axisOption, {\n type: 'band',\n orient: 'left',\n // visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n // height: -1,\n width: -1,\n // autoIndent: false,\n domain: Array.from(domain)\n })\n );\n } else {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const rowIndex = layout.getRecordIndexByRow(row);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n const data = layout.dataset.collectedValues[key + '_align']\n ? layout.dataset.collectedValues[key + '_align']\n : layout.dataset.collectedValues[key];\n const range =\n data[layout.getRowKeysPath()[rowIndex][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]];\n\n const axisOption = getAxisOption(col, row, index === 0 ? 'left' : 'right', layout);\n axes.push(\n merge({}, axisOption, {\n type: 'linear',\n orient: index === 0 ? 'left' : 'right',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n range,\n seriesIndex: index,\n width: -1\n // grid: index === 0 ? undefined : { visible: false }\n })\n );\n });\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[columnDimensionKey] || layout.dataset.collectedValues[columnDimensionKey];\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = data[colPath[colPath.length - 1]] as Set<string>;\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n axes.push(\n merge({}, axisOption, {\n type: 'band',\n orient: 'bottom',\n visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n height: -1,\n // autoIndent: false,\n domain: Array.from(domain)\n })\n );\n }\n return axes;\n}\n/**\n * 获取单元格对应spec的dataId。\n * 如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> => <dataId, series-chart的指标key用于过滤数据>\n * @param col\n * @param row\n * @param layout\n * @returns\n */\nexport function getChartDataId(\n col: number,\n row: number,\n layout: PivotLayoutMap | PivotHeaderLayoutMap | SimpleHeaderLayoutMap\n): string | Record<string, string> {\n const chartSpec = layout.getRawChartSpec(col, row);\n // 如果chartSpec配置了组合图 series 则需要考虑 series中存在的多个指标\n if (chartSpec?.series) {\n const dataIdfield: Record<string, string> = {};\n\n if (chartSpec.data?.id) {\n dataIdfield[chartSpec.data.id] = undefined;\n }\n chartSpec?.series.forEach((seriesSpec: any) => {\n if (!seriesSpec.data?.fromDataId) {\n if (!seriesSpec.data?.transforms) {\n const seriesField = seriesSpec.direction === 'horizontal' ? seriesSpec.xField : seriesSpec.yField;\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = seriesSpec.data?.id\n ? seriesField\n : undefined;\n } else {\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = undefined;\n }\n }\n });\n return dataIdfield;\n }\n return chartSpec.data.id;\n}\n"]}
1
+ {"version":3,"sources":["layout/chart-helper/get-chart-spec.ts"],"names":[],"mappings":"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","file":"get-chart-spec.js","sourcesContent":["import { cloneDeep, isArray, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { PivotChart } from '../../PivotChart';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotHeaderLayoutMap } from '../pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\nimport { checkZeroAlign, getAxisOption } from './get-axis-config';\n\nexport function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap | PivotHeaderLayoutMap): any {\n const paths = layout.getCellHeaderPaths(col, row);\n let indicatorObj;\n if (layout.indicatorsAsCol) {\n const indicatorKey = paths.colHeaderPaths.find(colPath => colPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n } else {\n const indicatorKey = paths.rowHeaderPaths.find(rowPath => rowPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n }\n // const indicatorKeys: string[] = [];\n const chartSpec = indicatorObj?.chartSpec;\n\n return chartSpec;\n}\n\nexport function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n let chartSpec = layout.getRawChartSpec(col, row);\n if (chartSpec) {\n chartSpec = cloneDeep(chartSpec);\n chartSpec.axes = layout.getChartAxes(col, row);\n chartSpec.padding = 0;\n return chartSpec;\n }\n return null;\n}\n\nexport function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any {\n const axes = [];\n if (layout.indicatorsAsCol) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const colIndex = layout.getRecordIndexByCol(col);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, index === 0 ? 'bottom' : 'top', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = data[\n layout.getColKeysPath()[colIndex][Math.max(0, layout.columnHeaderLevelCount - 1 - layout.topAxesCount)]\n ] as { max?: number; min?: number };\n\n const axisOption = getAxisOption(col, row, index === 0 ? 'bottom' : 'top', layout);\n if (axisOption?.zero) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'bottom' : 'top',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n seriesIndex: index,\n height: -1\n }\n )\n );\n });\n\n let rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, col)[0];\n if (isArray(rowDimensionKey)) {\n rowDimensionKey = rowDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[rowDimensionKey] || layout.dataset.collectedValues[rowDimensionKey];\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Set<string>;\n\n const axisOption = getAxisOption(col, row, 'left', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n type: 'band',\n orient: 'left',\n // visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n // height: -1,\n width: -1\n // autoIndent: false,\n }\n )\n );\n } else {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const rowIndex = layout.getRecordIndexByRow(row);\n indicatorKeys.forEach((key, index) => {\n if (isArray(key)) {\n key = key[0];\n }\n\n const isZeroAlign = checkZeroAlign(col, row, index === 0 ? 'left' : 'right', layout);\n\n const data = layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n ? layout.dataset.collectedValues[key + (isZeroAlign ? '_align' : '')]\n : layout.dataset.collectedValues[key];\n const range = data[\n layout.getRowKeysPath()[rowIndex][Math.max(0, layout.rowHeaderLevelCount - 1 - layout.leftAxesCount)]\n ] as { max?: number; min?: number };\n\n const axisOption = getAxisOption(col, row, index === 0 ? 'left' : 'right', layout);\n if (axisOption?.zero) {\n range.min = Math.min(range.min, 0);\n range.max = Math.max(range.max, 0);\n }\n axes.push(\n merge(\n {\n range\n },\n axisOption,\n {\n type: 'linear',\n orient: index === 0 ? 'left' : 'right',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n seriesIndex: index,\n width: -1\n // grid: index === 0 ? undefined : { visible: false }\n }\n )\n );\n });\n\n let columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n if (isArray(columnDimensionKey)) {\n columnDimensionKey = columnDimensionKey[0];\n }\n const data =\n layout.dataset.cacheCollectedValues[columnDimensionKey] || layout.dataset.collectedValues[columnDimensionKey];\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = data[colPath[colPath.length - 1]] as Set<string>;\n\n const axisOption = getAxisOption(col, row, 'bottom', layout);\n axes.push(\n merge(\n {\n domain: Array.from(domain)\n },\n axisOption,\n {\n type: 'band',\n orient: 'bottom',\n visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n height: -1\n // autoIndent: false,\n }\n )\n );\n }\n return axes;\n}\n/**\n * 获取单元格对应spec的dataId。\n * 如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> => <dataId, series-chart的指标key用于过滤数据>\n * @param col\n * @param row\n * @param layout\n * @returns\n */\nexport function getChartDataId(\n col: number,\n row: number,\n layout: PivotLayoutMap | PivotHeaderLayoutMap | SimpleHeaderLayoutMap\n): string | Record<string, string> {\n const chartSpec = layout.getRawChartSpec(col, row);\n // 如果chartSpec配置了组合图 series 则需要考虑 series中存在的多个指标\n if (chartSpec?.series) {\n const dataIdfield: Record<string, string> = {};\n\n if (chartSpec.data?.id) {\n dataIdfield[chartSpec.data.id] = undefined;\n }\n chartSpec?.series.forEach((seriesSpec: any) => {\n if (!seriesSpec.data?.fromDataId) {\n if (!seriesSpec.data?.transforms) {\n const seriesField = seriesSpec.direction === 'horizontal' ? seriesSpec.xField : seriesSpec.yField;\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = seriesSpec.data?.id\n ? seriesField\n : undefined;\n } else {\n dataIdfield[seriesSpec.data?.id ?? chartSpec.data?.id ?? 'data'] = undefined;\n }\n }\n });\n return dataIdfield;\n }\n return chartSpec.data.id;\n}\n"]}
@@ -101,6 +101,9 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
101
101
  isRowHeader(col: number, row: number): boolean;
102
102
  isRightFrozenColumn(col: number, row: number): boolean;
103
103
  isBottomFrozenRow(col: number, row: number): boolean;
104
+ isLeftBottomCorner(col: number, row: number): boolean;
105
+ isRightTopCorner(col: number, row: number): boolean;
106
+ isRightBottomCorner(col: number, row: number): boolean;
104
107
  getColumnHeaderRange(): CellRange;
105
108
  getRowHeaderRange(): CellRange;
106
109
  getCornerHeaderRange(): CellRange;
@@ -164,5 +167,6 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
164
167
  getChartAxes(col: number, row: number): any[];
165
168
  getRawChartSpec(col: number, row: number): any;
166
169
  getChartDataId(col: number, row: number): any;
170
+ release(): void;
167
171
  }
168
172
  export {};
@@ -399,6 +399,15 @@ class PivotHeaderLayoutMap {
399
399
  isBottomFrozenRow(col, row) {
400
400
  return col >= this.rowHeaderLevelCount && row >= this.rowCount - this.bottomFrozenRowCount && col < this.colCount - this.rightFrozenColCount;
401
401
  }
402
+ isLeftBottomCorner(col, row) {
403
+ return col < this.rowHeaderLevelCount && row >= this.rowCount - this.bottomFrozenRowCount;
404
+ }
405
+ isRightTopCorner(col, row) {
406
+ return col >= this.colCount - this.rightFrozenColCount && row < this.columnHeaderLevelCount;
407
+ }
408
+ isRightBottomCorner(col, row) {
409
+ return col >= this.colCount - this.rightFrozenColCount && row >= this.rowCount - this.bottomFrozenRowCount;
410
+ }
402
411
  getColumnHeaderRange() {
403
412
  return {
404
413
  start: {
@@ -953,6 +962,13 @@ class PivotHeaderLayoutMap {
953
962
  getChartDataId(col, row) {
954
963
  return (0, get_chart_spec_1.getChartDataId)(col, row, this);
955
964
  }
965
+ release() {
966
+ const activeChartInstance = this._table._getActiveChartInstance();
967
+ null == activeChartInstance || activeChartInstance.release(), this._indicators.forEach((indicatorObject => {
968
+ var _a;
969
+ null === (_a = indicatorObject.chartInstance) || void 0 === _a || _a.release();
970
+ }));
971
+ }
956
972
  }
957
973
 
958
974
  exports.PivotHeaderLayoutMap = PivotHeaderLayoutMap;