@visactor/vtable 0.26.0-alpha.2 → 1.0.0

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 (193) hide show
  1. package/cjs/ListTable.js +13 -16
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.js +17 -7
  4. package/cjs/PivotChart.js.map +1 -1
  5. package/cjs/PivotTable.js +20 -9
  6. package/cjs/PivotTable.js.map +1 -1
  7. package/cjs/core/BaseTable.d.ts +4 -1
  8. package/cjs/core/BaseTable.js +69 -25
  9. package/cjs/core/BaseTable.js.map +1 -1
  10. package/cjs/core/TABLE_EVENT_TYPE.d.ts +1 -0
  11. package/cjs/core/TABLE_EVENT_TYPE.js +1 -0
  12. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  13. package/cjs/edit/edit-manager.js +8 -7
  14. package/cjs/edit/edit-manager.js.map +1 -1
  15. package/cjs/event/listener/scroll-bar.js +6 -2
  16. package/cjs/event/listener/scroll-bar.js.map +1 -1
  17. package/cjs/event/listener/table-group.js +29 -19
  18. package/cjs/event/listener/table-group.js.map +1 -1
  19. package/cjs/event/util.d.ts +2 -0
  20. package/cjs/event/util.js +18 -4
  21. package/cjs/event/util.js.map +1 -1
  22. package/cjs/header-helper/header-helper.d.ts +1 -0
  23. package/cjs/header-helper/header-helper.js +8 -0
  24. package/cjs/header-helper/header-helper.js.map +1 -1
  25. package/cjs/index.d.ts +1 -1
  26. package/cjs/index.js +2 -2
  27. package/cjs/index.js.map +1 -1
  28. package/cjs/layout/layout-helper.d.ts +0 -2
  29. package/cjs/layout/layout-helper.js +12 -16
  30. package/cjs/layout/layout-helper.js.map +1 -1
  31. package/cjs/layout/pivot-header-layout.d.ts +5 -0
  32. package/cjs/layout/pivot-header-layout.js +89 -47
  33. package/cjs/layout/pivot-header-layout.js.map +1 -1
  34. package/cjs/scenegraph/component/table-component.js +26 -22
  35. package/cjs/scenegraph/component/table-component.js.map +1 -1
  36. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +8 -7
  37. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  38. package/cjs/scenegraph/graphic/group.d.ts +1 -1
  39. package/cjs/scenegraph/graphic/group.js.map +1 -1
  40. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +24 -18
  41. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  42. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  43. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  44. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +18 -16
  45. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  46. package/cjs/scenegraph/group-creater/column-helper.js +1 -1
  47. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  48. package/cjs/scenegraph/group-creater/progress/proxy.js +4 -2
  49. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  50. package/cjs/scenegraph/layout/compute-col-width.js +2 -1
  51. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  52. package/cjs/scenegraph/layout/frozen.js +1 -1
  53. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  54. package/cjs/scenegraph/layout/update-height.js +2 -2
  55. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  56. package/cjs/scenegraph/scenegraph.d.ts +4 -2
  57. package/cjs/scenegraph/scenegraph.js +13 -6
  58. package/cjs/scenegraph/scenegraph.js.map +1 -1
  59. package/cjs/scenegraph/select/update-select-border.d.ts +4 -1
  60. package/cjs/scenegraph/select/update-select-border.js +6 -1
  61. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  62. package/cjs/scenegraph/utils/break-string.js +1 -1
  63. package/cjs/scenegraph/utils/break-string.js.map +1 -1
  64. package/cjs/scenegraph/utils/text-icon-layout.js +4 -4
  65. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  66. package/cjs/scenegraph/utils/text-measure.js +3 -1
  67. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  68. package/cjs/state/cell-move/index.js +2 -1
  69. package/cjs/state/cell-move/index.js.map +1 -1
  70. package/cjs/state/checkbox/checkbox.d.ts +1 -0
  71. package/cjs/state/checkbox/checkbox.js +12 -2
  72. package/cjs/state/checkbox/checkbox.js.map +1 -1
  73. package/cjs/state/radio/radio.d.ts +1 -0
  74. package/cjs/state/radio/radio.js +13 -2
  75. package/cjs/state/radio/radio.js.map +1 -1
  76. package/cjs/state/select/update-position.js +12 -8
  77. package/cjs/state/select/update-position.js.map +1 -1
  78. package/cjs/state/state.d.ts +4 -1
  79. package/cjs/state/state.js +5 -1
  80. package/cjs/state/state.js.map +1 -1
  81. package/cjs/themes/theme.js +3 -0
  82. package/cjs/themes/theme.js.map +1 -1
  83. package/cjs/tools/helper.js +2 -2
  84. package/cjs/tools/helper.js.map +1 -1
  85. package/cjs/ts-types/base-table.d.ts +9 -0
  86. package/cjs/ts-types/base-table.js.map +1 -1
  87. package/cjs/ts-types/common.d.ts +6 -0
  88. package/cjs/ts-types/common.js.map +1 -1
  89. package/cjs/ts-types/events.d.ts +4 -1
  90. package/cjs/ts-types/events.js.map +1 -1
  91. package/cjs/ts-types/table-engine.d.ts +1 -0
  92. package/cjs/ts-types/table-engine.js.map +1 -1
  93. package/cjs/ts-types/theme.d.ts +1 -0
  94. package/cjs/ts-types/theme.js.map +1 -1
  95. package/cjs/vrender.js.map +1 -1
  96. package/dist/vtable.js +513 -173
  97. package/dist/vtable.min.js +2 -2
  98. package/es/ListTable.js +8 -12
  99. package/es/ListTable.js.map +1 -1
  100. package/es/PivotChart.js +9 -5
  101. package/es/PivotChart.js.map +1 -1
  102. package/es/PivotTable.js +17 -10
  103. package/es/PivotTable.js.map +1 -1
  104. package/es/core/BaseTable.d.ts +4 -1
  105. package/es/core/BaseTable.js +70 -25
  106. package/es/core/BaseTable.js.map +1 -1
  107. package/es/core/TABLE_EVENT_TYPE.d.ts +1 -0
  108. package/es/core/TABLE_EVENT_TYPE.js +1 -0
  109. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  110. package/es/edit/edit-manager.js +8 -7
  111. package/es/edit/edit-manager.js.map +1 -1
  112. package/es/event/listener/scroll-bar.js +6 -2
  113. package/es/event/listener/scroll-bar.js.map +1 -1
  114. package/es/event/listener/table-group.js +29 -19
  115. package/es/event/listener/table-group.js.map +1 -1
  116. package/es/event/util.d.ts +2 -0
  117. package/es/event/util.js +12 -0
  118. package/es/event/util.js.map +1 -1
  119. package/es/header-helper/header-helper.d.ts +1 -0
  120. package/es/header-helper/header-helper.js +8 -0
  121. package/es/header-helper/header-helper.js.map +1 -1
  122. package/es/index.d.ts +1 -1
  123. package/es/index.js +1 -1
  124. package/es/index.js.map +1 -1
  125. package/es/layout/layout-helper.d.ts +0 -2
  126. package/es/layout/layout-helper.js +11 -17
  127. package/es/layout/layout-helper.js.map +1 -1
  128. package/es/layout/pivot-header-layout.d.ts +5 -0
  129. package/es/layout/pivot-header-layout.js +90 -46
  130. package/es/layout/pivot-header-layout.js.map +1 -1
  131. package/es/scenegraph/component/table-component.js +27 -21
  132. package/es/scenegraph/component/table-component.js.map +1 -1
  133. package/es/scenegraph/graphic/contributions/group-contribution-render.js +8 -7
  134. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  135. package/es/scenegraph/graphic/group.d.ts +1 -1
  136. package/es/scenegraph/graphic/group.js.map +1 -1
  137. package/es/scenegraph/group-creater/cell-type/image-cell.js +21 -17
  138. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  139. package/es/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  140. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  141. package/es/scenegraph/group-creater/cell-type/video-cell.js +18 -15
  142. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  143. package/es/scenegraph/group-creater/column-helper.js +1 -1
  144. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  145. package/es/scenegraph/group-creater/progress/proxy.js +4 -2
  146. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  147. package/es/scenegraph/layout/compute-col-width.js +2 -1
  148. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  149. package/es/scenegraph/layout/frozen.js +1 -1
  150. package/es/scenegraph/layout/frozen.js.map +1 -1
  151. package/es/scenegraph/layout/update-height.js +2 -2
  152. package/es/scenegraph/layout/update-height.js.map +1 -1
  153. package/es/scenegraph/scenegraph.d.ts +4 -2
  154. package/es/scenegraph/scenegraph.js +13 -6
  155. package/es/scenegraph/scenegraph.js.map +1 -1
  156. package/es/scenegraph/select/update-select-border.d.ts +4 -1
  157. package/es/scenegraph/select/update-select-border.js +6 -1
  158. package/es/scenegraph/select/update-select-border.js.map +1 -1
  159. package/es/scenegraph/utils/break-string.js +1 -1
  160. package/es/scenegraph/utils/break-string.js.map +1 -1
  161. package/es/scenegraph/utils/text-icon-layout.js +4 -4
  162. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  163. package/es/scenegraph/utils/text-measure.js +3 -1
  164. package/es/scenegraph/utils/text-measure.js.map +1 -1
  165. package/es/state/cell-move/index.js +2 -1
  166. package/es/state/cell-move/index.js.map +1 -1
  167. package/es/state/checkbox/checkbox.d.ts +1 -0
  168. package/es/state/checkbox/checkbox.js +10 -0
  169. package/es/state/checkbox/checkbox.js.map +1 -1
  170. package/es/state/radio/radio.d.ts +1 -0
  171. package/es/state/radio/radio.js +10 -0
  172. package/es/state/radio/radio.js.map +1 -1
  173. package/es/state/select/update-position.js +12 -8
  174. package/es/state/select/update-position.js.map +1 -1
  175. package/es/state/state.d.ts +4 -1
  176. package/es/state/state.js +7 -3
  177. package/es/state/state.js.map +1 -1
  178. package/es/themes/theme.js +3 -0
  179. package/es/themes/theme.js.map +1 -1
  180. package/es/tools/helper.js +2 -2
  181. package/es/tools/helper.js.map +1 -1
  182. package/es/ts-types/base-table.d.ts +9 -0
  183. package/es/ts-types/base-table.js.map +1 -1
  184. package/es/ts-types/common.d.ts +6 -0
  185. package/es/ts-types/common.js.map +1 -1
  186. package/es/ts-types/events.d.ts +4 -1
  187. package/es/ts-types/events.js.map +1 -1
  188. package/es/ts-types/table-engine.d.ts +1 -0
  189. package/es/ts-types/table-engine.js.map +1 -1
  190. package/es/ts-types/theme.d.ts +1 -0
  191. package/es/ts-types/theme.js.map +1 -1
  192. package/es/vrender.js.map +1 -1
  193. package/package.json +5 -5
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAsB3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAK/F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAE7B,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAIxC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EAET,UAAU,EAGV,UAAU,EAiBV,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EACnB,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\n\nexport const version = \"0.26.0-alpha.2\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil,\n setCustomAlphabetCharSet,\n restoreMeasureText\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAsB3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAK/F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAE7B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAI/B,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EAET,UAAU,EAGV,UAAU,EAiBV,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EACnB,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\n\nexport const version = \"1.0.0\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil,\n setCustomAlphabetCharSet,\n restoreMeasureText\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n"]}
@@ -10,8 +10,6 @@ export declare function parseColKeyRowKeyForPivotTable(table: PivotTable, option
10
10
  rowKeys: string[];
11
11
  columnKeys: string[];
12
12
  indicatorKeys: string[];
13
- isNeedResetColumnDimensionTree: boolean;
14
- isNeedResetRowDimensionTree: boolean;
15
13
  columnDimensionTree: DimensionTree;
16
14
  rowDimensionTree: DimensionTree;
17
15
  };
@@ -1,5 +1,3 @@
1
- import { IndicatorDimensionKeyPlaceholder } from "../tools/global";
2
-
3
1
  import { AggregationType } from "../ts-types";
4
2
 
5
3
  import { DimensionTree } from "./tree-helper";
@@ -44,17 +42,15 @@ export function checkHasTreeDefine(layoutMap) {
44
42
  }
45
43
 
46
44
  export function parseColKeyRowKeyForPivotTable(table, options) {
47
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
48
- let columnDimensionTree, rowDimensionTree, isNeedResetColumnDimensionTree = !0, isNeedResetRowDimensionTree = !0;
49
- options.columnTree && (!1 !== table.options.indicatorsAsCol && !1 !== table.options.supplementIndicatorNodes && supplementIndicatorNodesForCustomTree(table.internalProps.columnTree, options.indicators),
50
- columnDimensionTree = new DimensionTree(null !== (_a = table.internalProps.columnTree) && void 0 !== _a ? _a : [], table.layoutNodeId),
51
- isNeedResetColumnDimensionTree = !1 !== table.options.supplementIndicatorNodes && !1 !== table.options.indicatorsAsCol && !columnDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) && (null === (_b = options.indicators) || void 0 === _b ? void 0 : _b.length) >= 1),
52
- options.rowTree && (!1 === table.options.indicatorsAsCol && !1 !== table.options.supplementIndicatorNodes && supplementIndicatorNodesForCustomTree(table.internalProps.rowTree, options.indicators),
53
- rowDimensionTree = new DimensionTree(null !== (_c = table.internalProps.rowTree) && void 0 !== _c ? _c : [], table.layoutNodeId, table.options.rowHierarchyType, "tree" === table.options.rowHierarchyType ? null !== (_d = table.options.rowExpandLevel) && void 0 !== _d ? _d : 1 : void 0),
54
- isNeedResetRowDimensionTree = !1 !== table.options.supplementIndicatorNodes && !1 === table.options.indicatorsAsCol && !rowDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) && (null === (_e = options.indicators) || void 0 === _e ? void 0 : _e.length) >= 1);
55
- const rowKeys = (null === (_f = null == rowDimensionTree ? void 0 : rowDimensionTree.dimensionKeys) || void 0 === _f ? void 0 : _f.count) ? rowDimensionTree.dimensionKeys.valueArr() : null !== (_h = null === (_g = options.rows) || void 0 === _g ? void 0 : _g.reduce(((keys, rowObj) => ("string" == typeof rowObj ? keys.push(rowObj) : keys.push(rowObj.dimensionKey),
56
- keys)), [])) && void 0 !== _h ? _h : [], columnKeys = (null === (_j = null == columnDimensionTree ? void 0 : columnDimensionTree.dimensionKeys) || void 0 === _j ? void 0 : _j.count) ? columnDimensionTree.dimensionKeys.valueArr() : null !== (_l = null === (_k = options.columns) || void 0 === _k ? void 0 : _k.reduce(((keys, columnObj) => ("string" == typeof columnObj ? keys.push(columnObj) : keys.push(columnObj.dimensionKey),
57
- keys)), [])) && void 0 !== _l ? _l : [], indicatorKeys = null !== (_o = null === (_m = options.indicators) || void 0 === _m ? void 0 : _m.reduce(((keys, indicatorObj) => {
45
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
46
+ let columnDimensionTree, rowDimensionTree;
47
+ options.columnTree && (!1 !== table.options.indicatorsAsCol && !1 !== table.options.supplementIndicatorNodes && (table.internalProps.columnTree = supplementIndicatorNodesForCustomTree(table.internalProps.columnTree, options.indicators)),
48
+ columnDimensionTree = new DimensionTree(null !== (_a = table.internalProps.columnTree) && void 0 !== _a ? _a : [], table.layoutNodeId)),
49
+ options.rowTree && (!1 === table.options.indicatorsAsCol && !1 !== table.options.supplementIndicatorNodes && (table.internalProps.rowTree = supplementIndicatorNodesForCustomTree(table.internalProps.rowTree, options.indicators)),
50
+ rowDimensionTree = new DimensionTree(null !== (_b = table.internalProps.rowTree) && void 0 !== _b ? _b : [], table.layoutNodeId, table.options.rowHierarchyType, "tree" === table.options.rowHierarchyType ? null !== (_c = table.options.rowExpandLevel) && void 0 !== _c ? _c : 1 : void 0));
51
+ const rowKeys = (null === (_d = null == rowDimensionTree ? void 0 : rowDimensionTree.dimensionKeys) || void 0 === _d ? void 0 : _d.count) ? rowDimensionTree.dimensionKeys.valueArr() : null !== (_f = null === (_e = options.rows) || void 0 === _e ? void 0 : _e.reduce(((keys, rowObj) => ("string" == typeof rowObj ? keys.push(rowObj) : keys.push(rowObj.dimensionKey),
52
+ keys)), [])) && void 0 !== _f ? _f : [], columnKeys = (null === (_g = null == columnDimensionTree ? void 0 : columnDimensionTree.dimensionKeys) || void 0 === _g ? void 0 : _g.count) ? columnDimensionTree.dimensionKeys.valueArr() : null !== (_j = null === (_h = options.columns) || void 0 === _h ? void 0 : _h.reduce(((keys, columnObj) => ("string" == typeof columnObj ? keys.push(columnObj) : keys.push(columnObj.dimensionKey),
53
+ keys)), [])) && void 0 !== _j ? _j : [], indicatorKeys = null !== (_l = null === (_k = options.indicators) || void 0 === _k ? void 0 : _k.reduce(((keys, indicatorObj) => {
58
54
  var _a, _b;
59
55
  return "string" == typeof indicatorObj ? keys.push(indicatorObj) : (keys.push(indicatorObj.indicatorKey),
60
56
  indicatorObj.chartSpec && ((null === (_a = table.internalProps.dataConfig) || void 0 === _a ? void 0 : _a.aggregationRules) ? null === (_b = table.internalProps.dataConfig) || void 0 === _b || _b.aggregationRules.push({
@@ -72,8 +68,8 @@ export function parseColKeyRowKeyForPivotTable(table, options) {
72
68
  aggregationType: AggregationType.NONE
73
69
  } ]
74
70
  })), keys;
75
- }), [])) && void 0 !== _o ? _o : [];
76
- return "tree" === options.rowHierarchyType && (null !== (_q = null === (_p = options.extensionRows) || void 0 === _p ? void 0 : _p.length) && void 0 !== _q ? _q : 0) >= 1 && (null === (_r = options.extensionRows) || void 0 === _r || _r.forEach((extensionRow => {
71
+ }), [])) && void 0 !== _l ? _l : [];
72
+ return "tree" === options.rowHierarchyType && (null !== (_o = null === (_m = options.extensionRows) || void 0 === _m ? void 0 : _m.length) && void 0 !== _o ? _o : 0) >= 1 && (null === (_p = options.extensionRows) || void 0 === _p || _p.forEach((extensionRow => {
77
73
  const extension_rowKeys = [];
78
74
  extensionRow.rows.forEach((row => {
79
75
  "string" == typeof row ? extension_rowKeys.push(row) : extension_rowKeys.push(row.dimensionKey);
@@ -82,8 +78,6 @@ export function parseColKeyRowKeyForPivotTable(table, options) {
82
78
  rowKeys: rowKeys,
83
79
  columnKeys: columnKeys,
84
80
  indicatorKeys: indicatorKeys,
85
- isNeedResetColumnDimensionTree: isNeedResetColumnDimensionTree,
86
- isNeedResetRowDimensionTree: isNeedResetRowDimensionTree,
87
81
  columnDimensionTree: columnDimensionTree,
88
82
  rowDimensionTree: rowDimensionTree
89
83
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/layout/layout-helper.ts"],"names":[],"mappings":"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","file":"layout-helper.js","sourcesContent":["import type { PivotTable } from '../PivotTable';\nimport { IndicatorDimensionKeyPlaceholder } from '../tools/global';\nimport { AggregationType } from '../ts-types';\nimport type { PivotTableConstructorOptions, Aggregation, IHeaderTreeDefine, IIndicator } from '../ts-types';\nimport type { ColumnData } from '../ts-types/list-table/layout-map/api';\nimport type { IChartColumnIndicator } from '../ts-types/pivot-table/indicator/chart-indicator';\nimport type { SimpleHeaderLayoutMap } from './simple-header-layout';\nimport type { ITreeLayoutHeadNode } from './tree-helper';\nimport { DimensionTree } from './tree-helper';\n\nexport function checkHasAggregation(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n return true;\n }\n }\n return false;\n}\n\nexport function checkHasAggregationOnTop(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === true).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === true) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasAggregationOnBottom(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === false).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === false) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasTreeDefine(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.define?.tree) {\n return true;\n }\n }\n return false;\n}\n\nexport function parseColKeyRowKeyForPivotTable(table: PivotTable, options: PivotTableConstructorOptions) {\n let columnDimensionTree;\n let rowDimensionTree;\n let isNeedResetColumnDimensionTree = true;\n let isNeedResetRowDimensionTree = true;\n if (options.columnTree) {\n if (table.options.indicatorsAsCol !== false && table.options.supplementIndicatorNodes !== false) {\n supplementIndicatorNodesForCustomTree(table.internalProps.columnTree, options.indicators);\n }\n columnDimensionTree = new DimensionTree(\n (table.internalProps.columnTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId\n );\n\n if (\n table.options.supplementIndicatorNodes !== false &&\n table.options.indicatorsAsCol !== false &&\n !columnDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n options.indicators?.length >= 1\n ) {\n isNeedResetColumnDimensionTree = true;\n } else {\n isNeedResetColumnDimensionTree = false;\n }\n }\n if (options.rowTree) {\n if (table.options.indicatorsAsCol === false && table.options.supplementIndicatorNodes !== false) {\n supplementIndicatorNodesForCustomTree(table.internalProps.rowTree, options.indicators);\n }\n rowDimensionTree = new DimensionTree(\n (table.internalProps.rowTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId,\n table.options.rowHierarchyType,\n table.options.rowHierarchyType === 'tree' ? table.options.rowExpandLevel ?? 1 : undefined\n );\n if (\n table.options.supplementIndicatorNodes !== false &&\n table.options.indicatorsAsCol === false &&\n !rowDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n options.indicators?.length >= 1\n ) {\n isNeedResetRowDimensionTree = true;\n } else {\n isNeedResetRowDimensionTree = false;\n }\n }\n const rowKeys = rowDimensionTree?.dimensionKeys?.count\n ? rowDimensionTree.dimensionKeys.valueArr()\n : options.rows?.reduce((keys: string[], rowObj) => {\n if (typeof rowObj === 'string') {\n keys.push(rowObj);\n } else {\n keys.push(rowObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const columnKeys = columnDimensionTree?.dimensionKeys?.count\n ? columnDimensionTree.dimensionKeys.valueArr()\n : options.columns?.reduce((keys: string[], columnObj) => {\n if (typeof columnObj === 'string') {\n keys.push(columnObj);\n } else {\n keys.push(columnObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const indicatorKeys =\n options.indicators?.reduce((keys: string[], indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n if ((indicatorObj as IChartColumnIndicator).chartSpec) {\n if (table.internalProps.dataConfig?.aggregationRules) {\n table.internalProps.dataConfig?.aggregationRules.push({\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n });\n } else if (table.internalProps.dataConfig) {\n table.internalProps.dataConfig.aggregationRules = [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ];\n } else {\n table.internalProps.dataConfig = {\n aggregationRules: [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ]\n };\n }\n }\n }\n return keys;\n }, []) ?? [];\n if (options.rowHierarchyType === 'tree' && (options.extensionRows?.length ?? 0) >= 1) {\n options.extensionRows?.forEach(extensionRow => {\n const extension_rowKeys: string[] = [];\n extensionRow.rows.forEach(row => {\n if (typeof row === 'string') {\n extension_rowKeys.push(row);\n } else {\n extension_rowKeys.push(row.dimensionKey);\n }\n });\n rowKeys.push(...extension_rowKeys);\n });\n }\n return {\n rowKeys,\n columnKeys,\n indicatorKeys,\n isNeedResetColumnDimensionTree,\n isNeedResetRowDimensionTree,\n columnDimensionTree,\n rowDimensionTree\n };\n}\n\nexport function supplementIndicatorNodesForCustomTree(\n customTree: IHeaderTreeDefine[],\n indicators: (string | IIndicator)[]\n) {\n const checkNode = (nodes: IHeaderTreeDefine[], isHasIndicator: boolean) => {\n nodes.forEach((node: IHeaderTreeDefine) => {\n if (\n !node.indicatorKey &&\n !isHasIndicator &&\n (!(node.children as IHeaderTreeDefine[])?.length || !node.children)\n ) {\n node.children = indicators?.map((indicator: IIndicator | string): { indicatorKey: string; value: string } => {\n if (typeof indicator === 'string') {\n return { indicatorKey: indicator, value: indicator };\n }\n return { indicatorKey: indicator.indicatorKey, value: indicator.title ?? indicator.indicatorKey };\n });\n } else if (node.children && Array.isArray(node.children)) {\n checkNode(node.children, isHasIndicator || !!node.indicatorKey);\n }\n });\n };\n if (customTree?.length) {\n checkNode(customTree, false);\n } else {\n customTree = indicators?.map((indicator: IIndicator | string): { indicatorKey: string; value: string } => {\n if (typeof indicator === 'string') {\n return { indicatorKey: indicator, value: indicator };\n }\n return { indicatorKey: indicator.indicatorKey, value: indicator.title ?? indicator.indicatorKey };\n });\n }\n return customTree;\n}\n"]}
1
+ {"version":3,"sources":["../src/layout/layout-helper.ts"],"names":[],"mappings":"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","file":"layout-helper.js","sourcesContent":["import type { PivotTable } from '../PivotTable';\nimport { IndicatorDimensionKeyPlaceholder } from '../tools/global';\nimport { AggregationType } from '../ts-types';\nimport type { PivotTableConstructorOptions, Aggregation, IHeaderTreeDefine, IIndicator } from '../ts-types';\nimport type { ColumnData } from '../ts-types/list-table/layout-map/api';\nimport type { IChartColumnIndicator } from '../ts-types/pivot-table/indicator/chart-indicator';\nimport type { SimpleHeaderLayoutMap } from './simple-header-layout';\nimport type { ITreeLayoutHeadNode } from './tree-helper';\nimport { DimensionTree } from './tree-helper';\n\nexport function checkHasAggregation(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n return true;\n }\n }\n return false;\n}\n\nexport function checkHasAggregationOnTop(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === true).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === true) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasAggregationOnBottom(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === false).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === false) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasTreeDefine(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.define?.tree) {\n return true;\n }\n }\n return false;\n}\n\nexport function parseColKeyRowKeyForPivotTable(table: PivotTable, options: PivotTableConstructorOptions) {\n let columnDimensionTree;\n let rowDimensionTree;\n // let isNeedResetColumnDimensionTree = true;\n // let isNeedResetRowDimensionTree = true;\n if (options.columnTree) {\n if (table.options.indicatorsAsCol !== false && table.options.supplementIndicatorNodes !== false) {\n table.internalProps.columnTree = supplementIndicatorNodesForCustomTree(\n table.internalProps.columnTree,\n options.indicators\n );\n }\n columnDimensionTree = new DimensionTree(\n (table.internalProps.columnTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId\n );\n\n // if (\n // table.options.supplementIndicatorNodes !== false &&\n // table.options.indicatorsAsCol !== false &&\n // !columnDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n // options.indicators?.length >= 1\n // ) {\n // isNeedResetColumnDimensionTree = true;\n // } else {\n // isNeedResetColumnDimensionTree = false;\n // }\n // } else {\n // if (options.indicatorsAsCol !== false) {\n // table.internalProps.columnTree = supplementIndicatorNodesForCustomTree([], options.indicators);\n // }\n }\n if (options.rowTree) {\n if (table.options.indicatorsAsCol === false && table.options.supplementIndicatorNodes !== false) {\n table.internalProps.rowTree = supplementIndicatorNodesForCustomTree(\n table.internalProps.rowTree,\n options.indicators\n );\n }\n rowDimensionTree = new DimensionTree(\n (table.internalProps.rowTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId,\n table.options.rowHierarchyType,\n table.options.rowHierarchyType === 'tree' ? table.options.rowExpandLevel ?? 1 : undefined\n );\n // if (\n // table.options.supplementIndicatorNodes !== false &&\n // table.options.indicatorsAsCol === false &&\n // !rowDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n // options.indicators?.length >= 1\n // ) {\n // isNeedResetRowDimensionTree = true;\n // } else {\n // isNeedResetRowDimensionTree = false;\n // }\n // } else {\n // if (options.indicatorsAsCol === false) {\n // table.internalProps.rowTree = supplementIndicatorNodesForCustomTree([], options.indicators);\n // }\n }\n const rowKeys = rowDimensionTree?.dimensionKeys?.count\n ? rowDimensionTree.dimensionKeys.valueArr()\n : options.rows?.reduce((keys: string[], rowObj) => {\n if (typeof rowObj === 'string') {\n keys.push(rowObj);\n } else {\n keys.push(rowObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const columnKeys = columnDimensionTree?.dimensionKeys?.count\n ? columnDimensionTree.dimensionKeys.valueArr()\n : options.columns?.reduce((keys: string[], columnObj) => {\n if (typeof columnObj === 'string') {\n keys.push(columnObj);\n } else {\n keys.push(columnObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const indicatorKeys =\n options.indicators?.reduce((keys: string[], indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n if ((indicatorObj as IChartColumnIndicator).chartSpec) {\n if (table.internalProps.dataConfig?.aggregationRules) {\n table.internalProps.dataConfig?.aggregationRules.push({\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n });\n } else if (table.internalProps.dataConfig) {\n table.internalProps.dataConfig.aggregationRules = [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ];\n } else {\n table.internalProps.dataConfig = {\n aggregationRules: [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ]\n };\n }\n }\n }\n return keys;\n }, []) ?? [];\n if (options.rowHierarchyType === 'tree' && (options.extensionRows?.length ?? 0) >= 1) {\n options.extensionRows?.forEach(extensionRow => {\n const extension_rowKeys: string[] = [];\n extensionRow.rows.forEach(row => {\n if (typeof row === 'string') {\n extension_rowKeys.push(row);\n } else {\n extension_rowKeys.push(row.dimensionKey);\n }\n });\n rowKeys.push(...extension_rowKeys);\n });\n }\n return {\n rowKeys,\n columnKeys,\n indicatorKeys,\n // isNeedResetColumnDimensionTree,\n // isNeedResetRowDimensionTree,\n columnDimensionTree,\n rowDimensionTree\n };\n}\n\nexport function supplementIndicatorNodesForCustomTree(\n customTree: IHeaderTreeDefine[],\n indicators: (string | IIndicator)[]\n) {\n const checkNode = (nodes: IHeaderTreeDefine[], isHasIndicator: boolean) => {\n nodes.forEach((node: IHeaderTreeDefine) => {\n if (\n !node.indicatorKey &&\n !isHasIndicator &&\n (!(node.children as IHeaderTreeDefine[])?.length || !node.children)\n ) {\n node.children = indicators?.map((indicator: IIndicator | string): { indicatorKey: string; value: string } => {\n if (typeof indicator === 'string') {\n return { indicatorKey: indicator, value: indicator };\n }\n return { indicatorKey: indicator.indicatorKey, value: indicator.title ?? indicator.indicatorKey };\n });\n } else if (node.children && Array.isArray(node.children)) {\n checkNode(node.children, isHasIndicator || !!node.indicatorKey);\n }\n });\n };\n if (customTree?.length) {\n checkNode(customTree, false);\n } else {\n customTree = indicators?.map((indicator: IIndicator | string): { indicatorKey: string; value: string } => {\n if (typeof indicator === 'string') {\n return { indicatorKey: indicator, value: indicator };\n }\n return { indicatorKey: indicator.indicatorKey, value: indicator.title ?? indicator.indicatorKey };\n });\n }\n return customTree;\n}\n"]}
@@ -18,6 +18,10 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
18
18
  cornerHeaderObjs: HeaderData[];
19
19
  columnHeaderObjs: HeaderData[];
20
20
  rowHeaderObjs: HeaderData[];
21
+ private _cornerHeaderCellFullPathIds;
22
+ private _columnHeaderCellFullPathIds;
23
+ private _rowHeaderCellFullPathIds;
24
+ private _rowHeaderCellFullPathIds_FULL;
21
25
  private _cornerHeaderCellIds;
22
26
  private _columnHeaderCellIds;
23
27
  private _rowHeaderCellIds;
@@ -227,4 +231,5 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
227
231
  getSeriesNumberHeader(col: number, row: number): SeriesNumberColumnData;
228
232
  getSeriesNumberBody(col: number, row: number): SeriesNumberColumnData;
229
233
  changeTreeNodeTitle(col: number, row: number, value: string): void;
234
+ generateCellIdsConsiderHideHeader(): void;
230
235
  }
@@ -25,15 +25,17 @@ export class PivotHeaderLayoutMap {
25
25
  constructor(table, dataset, columnDimensionTree, rowDimensionTree) {
26
26
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
27
27
  if (this.colIndex = 0, this._showHeader = !0, this.columnHeaderObjs = [], this.rowHeaderObjs = [],
28
- this._cornerHeaderCellIds = [], this._columnHeaderCellIds = [], this._rowHeaderCellIds = [],
29
- this._rowHeaderCellIds_FULL = [], this._columnWidths = [], this.columnPaths = [],
30
- this._headerObjects = [], this._headerObjectMap = {}, this._indicators = [], this.indicatorsAsCol = !0,
31
- this.hideIndicatorName = !1, this._showRowHeader = !0, this._showColumnHeader = !0,
32
- this._indicatorShowType = "column", this.rowHierarchyTextStartAlignment = !1, this.rowDimensionKeys = [],
33
- this.colDimensionKeys = [], this.indicatorKeys = [], this.indicatorDimensionKey = IndicatorDimensionKeyPlaceholder,
34
- this._rowHeaderExtensionTree = {}, this._extensionRowDimensionKeys = [], this.fullRowDimensionKeys = [],
35
- this.leftRowSeriesNumberColumnCount = 0, this.rightRowSeriesNumberColumnCount = 0,
36
- this.sharedVar = table.layoutNodeId, this._table = table, "tree" === table.options.rowHierarchyType && (this.extensionRows = table.options.extensionRows),
28
+ this._cornerHeaderCellFullPathIds = [], this._columnHeaderCellFullPathIds = [],
29
+ this._rowHeaderCellFullPathIds = [], this._rowHeaderCellFullPathIds_FULL = [], this._cornerHeaderCellIds = [],
30
+ this._columnHeaderCellIds = [], this._rowHeaderCellIds = [], this._rowHeaderCellIds_FULL = [],
31
+ this._columnWidths = [], this.columnPaths = [], this._headerObjects = [], this._headerObjectMap = {},
32
+ this._indicators = [], this.indicatorsAsCol = !0, this.hideIndicatorName = !1, this._showRowHeader = !0,
33
+ this._showColumnHeader = !0, this._indicatorShowType = "column", this.rowHierarchyTextStartAlignment = !1,
34
+ this.rowDimensionKeys = [], this.colDimensionKeys = [], this.indicatorKeys = [],
35
+ this.indicatorDimensionKey = IndicatorDimensionKeyPlaceholder, this._rowHeaderExtensionTree = {},
36
+ this._extensionRowDimensionKeys = [], this.fullRowDimensionKeys = [], this.leftRowSeriesNumberColumnCount = 0,
37
+ this.rightRowSeriesNumberColumnCount = 0, this.sharedVar = table.layoutNodeId, this._table = table,
38
+ "tree" === table.options.rowHierarchyType && (this.extensionRows = table.options.extensionRows),
37
39
  this.dataset = dataset, this._largeCellRangeCache = [], this._CellHeaderPathMap = new Map,
38
40
  this.rowTree = table.internalProps.rowTree, this.columnTree = table.internalProps.columnTree,
39
41
  this.rowsDefine = null !== (_a = table.internalProps.rows) && void 0 !== _a ? _a : [],
@@ -64,7 +66,7 @@ export class PivotHeaderLayoutMap {
64
66
  if (!axes.length || axes.every((axis => axis.orient !== (this.indicatorsAsCol ? "top" : "right") || !1 !== axis.visible))) return !0;
65
67
  }
66
68
  return !1;
67
- }))), this.resetColumnHeaderLevelCount(), this._rowHeaderCellIds_FULL = transpose(this._rowHeaderCellIds_FULL),
69
+ }))), this.resetColumnHeaderLevelCount(), this._rowHeaderCellFullPathIds_FULL = transpose(this._rowHeaderCellFullPathIds_FULL),
68
70
  "tree" === table.options.rowHierarchyType && (null === (_o = this.extensionRows) || void 0 === _o ? void 0 : _o.length) >= 1 && (this.generateExtensionRowTree(),
69
71
  this.extensionRows.forEach((extensionRow => {
70
72
  const rowKeys = [];
@@ -88,8 +90,9 @@ export class PivotHeaderLayoutMap {
88
90
  } else this.cornerHeaderObjs = this._addCornerHeaders(null, void 0);
89
91
  this.colIndex = 0, this._headerObjectMap = this._headerObjects.reduce(((o, e) => (o[e.id] = e,
90
92
  o)), {}), this.indicatorsAsCol && !this.hideIndicatorName ? this._indicatorShowType = "column" : this.indicatorsAsCol || this.hideIndicatorName ? this._indicatorShowType = "none" : this._indicatorShowType = "row",
91
- this.setPagination(table.options.pagination), this._table.isPivotChart() && (this._chartItemSpanSize = 0,
92
- this._chartItemBandSize = 0, this._indicators.find((indicatorObject => {
93
+ this.generateCellIdsConsiderHideHeader(), this.setPagination(table.options.pagination),
94
+ this._table.isPivotChart() && (this._chartItemSpanSize = 0, this._chartItemBandSize = 0,
95
+ this._indicators.find((indicatorObject => {
93
96
  var _a, _b, _c, _d, _e, _f, _g, _h;
94
97
  (null === (_a = null == indicatorObject ? void 0 : indicatorObject.style) || void 0 === _a ? void 0 : _a.padding) && (this._chartPadding = indicatorObject.style.padding),
95
98
  (null === (_b = indicatorObject.chartSpec) || void 0 === _b ? void 0 : _b.barWidth) && "number" == typeof indicatorObject.chartSpec.barWidth && (this._chartItemSpanSize = null === (_c = indicatorObject.chartSpec) || void 0 === _c ? void 0 : _c.barWidth);
@@ -133,11 +136,11 @@ export class PivotHeaderLayoutMap {
133
136
  }
134
137
  _generateColHeaderIds() {
135
138
  var _a, _b, _c, _d, _e, _f;
136
- if ((null === (_a = this.columnDimensionTree.tree.children) || void 0 === _a ? void 0 : _a.length) >= 1 && this._addHeaders(this._columnHeaderCellIds, 0, this.columnDimensionTree.tree.children, [], this.columnHeaderObjs),
139
+ if ((null === (_a = this.columnDimensionTree.tree.children) || void 0 === _a ? void 0 : _a.length) >= 1 && this._addHeaders(this._columnHeaderCellFullPathIds, 0, this.columnDimensionTree.tree.children, [], this.columnHeaderObjs),
137
140
  this.columnHeaderTitle) {
138
141
  this.sharedVar.seqId = Math.max(this.sharedVar.seqId, this._headerObjects.length);
139
142
  const id = ++this.sharedVar.seqId, firstRowIds = Array(this.colCount - this.rowHeaderLevelCount).fill(id);
140
- this._columnHeaderCellIds.unshift(firstRowIds);
143
+ this._columnHeaderCellFullPathIds.unshift(firstRowIds);
141
144
  const cell = {
142
145
  id: id,
143
146
  title: "string" == typeof this.columnHeaderTitle.title ? this.columnHeaderTitle.title : this.columnsDefine.reduce(((title, value) => "string" == typeof value ? title : title + (title ? `/${value.title}` : `${value.title}`)), ""),
@@ -155,11 +158,11 @@ export class PivotHeaderLayoutMap {
155
158
  }
156
159
  _generateRowHeaderIds() {
157
160
  var _a, _b, _c, _d, _e, _f, _g, _h;
158
- if ((null === (_a = this.rowDimensionTree.tree.children) || void 0 === _a ? void 0 : _a.length) >= 1 && ("tree" === this.rowHierarchyType ? this._addHeadersForTreeMode(this._rowHeaderCellIds_FULL, 0, this.rowDimensionTree.tree.children, [], this.rowDimensionTree.totalLevel, !0, this.rowsDefine, this.rowHeaderObjs) : this._addHeaders(this._rowHeaderCellIds_FULL, 0, this.rowDimensionTree.tree.children, [], this.rowHeaderObjs)),
161
+ if ((null === (_a = this.rowDimensionTree.tree.children) || void 0 === _a ? void 0 : _a.length) >= 1 && ("tree" === this.rowHierarchyType ? this._addHeadersForTreeMode(this._rowHeaderCellFullPathIds_FULL, 0, this.rowDimensionTree.tree.children, [], this.rowDimensionTree.totalLevel, !0, this.rowsDefine, this.rowHeaderObjs) : this._addHeaders(this._rowHeaderCellFullPathIds_FULL, 0, this.rowDimensionTree.tree.children, [], this.rowHeaderObjs)),
159
162
  this.rowHeaderTitle) {
160
163
  this.sharedVar.seqId = Math.max(this.sharedVar.seqId, this._headerObjects.length);
161
- const id = ++this.sharedVar.seqId, firstColIds = Array(null !== (_c = null === (_b = this._rowHeaderCellIds_FULL[0]) || void 0 === _b ? void 0 : _b.length) && void 0 !== _c ? _c : this.rowDimensionTree.tree.size).fill(id);
162
- this._rowHeaderCellIds_FULL.unshift(firstColIds);
164
+ const id = ++this.sharedVar.seqId, firstColIds = Array(null !== (_c = null === (_b = this._rowHeaderCellFullPathIds_FULL[0]) || void 0 === _b ? void 0 : _b.length) && void 0 !== _c ? _c : this.rowDimensionTree.tree.size).fill(id);
165
+ this._rowHeaderCellFullPathIds_FULL.unshift(firstColIds);
163
166
  const cell = {
164
167
  id: id,
165
168
  title: "string" == typeof this.rowHeaderTitle.title ? this.rowHeaderTitle.title : this.rowsDefine.reduce(((title, value) => "string" == typeof value ? title : title + (title ? `/${value.title}` : `${value.title}`)), ""),
@@ -228,10 +231,10 @@ export class PivotHeaderLayoutMap {
228
231
  description: null == dimensionInfo ? void 0 : dimensionInfo.cornerDescription
229
232
  };
230
233
  if (results[id] = cell, this._headerObjects[id] = cell, "column" === this.cornerSetting.titleOnDimension) {
231
- this._cornerHeaderCellIds[key] || (this._cornerHeaderCellIds[key] = []);
232
- for (let r = 0; r < this.rowHeaderLevelCount; r++) this._cornerHeaderCellIds[key][r] = id;
233
- } else if ("row" === this.cornerSetting.titleOnDimension) for (let r = 0; r < this.columnHeaderLevelCount; r++) this._cornerHeaderCellIds[r] || (this._cornerHeaderCellIds[r] = []),
234
- this._cornerHeaderCellIds[r][key] = id;
234
+ this._cornerHeaderCellFullPathIds[key] || (this._cornerHeaderCellFullPathIds[key] = []);
235
+ for (let r = 0; r < this.rowHeaderLevelCount; r++) this._cornerHeaderCellFullPathIds[key][r] = id;
236
+ } else if ("row" === this.cornerSetting.titleOnDimension) for (let r = 0; r < this.columnHeaderLevelCount; r++) this._cornerHeaderCellFullPathIds[r] || (this._cornerHeaderCellFullPathIds[r] = []),
237
+ this._cornerHeaderCellFullPathIds[r][key] = id;
235
238
  })); else {
236
239
  const id = ++this.sharedVar.seqId, cell = {
237
240
  id: id,
@@ -248,15 +251,15 @@ export class PivotHeaderLayoutMap {
248
251
  }
249
252
  };
250
253
  results[id] = cell, this._headerObjects[id] = cell;
251
- for (let r = 0; r < this.columnHeaderLevelCount; r++) for (let j = 0; j < this.rowHeaderLevelCount; j++) this._cornerHeaderCellIds[r] || (this._cornerHeaderCellIds[r] = []),
252
- this._cornerHeaderCellIds[r][j] = id;
254
+ for (let r = 0; r < this.columnHeaderLevelCount; r++) for (let j = 0; j < this.rowHeaderLevelCount; j++) this._cornerHeaderCellFullPathIds[r] || (this._cornerHeaderCellFullPathIds[r] = []),
255
+ this._cornerHeaderCellFullPathIds[r][j] = id;
253
256
  }
254
257
  return results;
255
258
  }
256
259
  generateExtensionRowTree() {
257
260
  this.extensionRows.forEach(((extensionRow, indexP) => {
258
- const old_rowHeaderCellIds = this._rowHeaderCellIds_FULL;
259
- this._rowHeaderCellIds_FULL = [], old_rowHeaderCellIds.forEach(((row_ids, index) => {
261
+ const old_rowHeaderCellIds = this._rowHeaderCellFullPathIds_FULL;
262
+ this._rowHeaderCellFullPathIds_FULL = [], old_rowHeaderCellIds.forEach(((row_ids, index) => {
260
263
  const key = row_ids[row_ids.length - 1];
261
264
  let tree, rowExtensionDimensionTree;
262
265
  if (this.colIndex = 0, "function" == typeof extensionRow.rowTree) {
@@ -271,7 +274,7 @@ export class PivotHeaderLayoutMap {
271
274
  this._rowHeaderExtensionTree[key] = rowExtensionDimensionTree);
272
275
  const extensionRowTreeHeaderIds = [];
273
276
  this._addHeadersForTreeMode(extensionRowTreeHeaderIds, 0, rowExtensionDimensionTree.tree.children, [], rowExtensionDimensionTree.totalLevel, !0, extensionRow.rows, this.rowHeaderObjs);
274
- for (let i = 0; i < extensionRowTreeHeaderIds[0].length; i++) this._rowHeaderCellIds_FULL.push(row_ids.concat(extensionRowTreeHeaderIds[0][i]));
277
+ for (let i = 0; i < extensionRowTreeHeaderIds[0].length; i++) this._rowHeaderCellFullPathIds_FULL.push(row_ids.concat(extensionRowTreeHeaderIds[0][i]));
275
278
  }));
276
279
  }));
277
280
  }
@@ -487,7 +490,7 @@ export class PivotHeaderLayoutMap {
487
490
  return this.columnHeaderTitle && (count += 1), this._table.isPivotChart() && this.indicatorsAsCol && !this.hasTwoIndicatorAxes && checkHasCartesianChart(this.indicatorsDefine) && (count -= 1),
488
491
  void (this.columnHeaderLevelCount = count);
489
492
  }
490
- this.columnHeaderLevelCount = 0;
493
+ this.columnHeaderLevelCount = this.indicatorsAsCol ? this.hideIndicatorName ? 0 : 1 : 0;
491
494
  }
492
495
  resetRowHeaderLevelCount() {
493
496
  var _a, _b;
@@ -722,7 +725,7 @@ export class PivotHeaderLayoutMap {
722
725
  let colPath = [], rowPath = [];
723
726
  if (row >= 0 && recordCol >= 0 && (colPath = this.columnDimensionTree.getTreePath(recordCol, this.showHeader && this.showColumnHeader ? row - (this.columnHeaderTitle ? 1 : 0) : this.columnDimensionTree.totalLevel)),
724
727
  col >= 0 && recordRow >= 0) if ("tree" === this.rowHierarchyType) {
725
- const row_pathIds = this._rowHeaderCellIds[recordRow];
728
+ const row_pathIds = this._rowHeaderCellFullPathIds[recordRow];
726
729
  let findTree = this.rowDimensionTree, level = 0;
727
730
  for (;findTree; ) {
728
731
  const pathIds = [];
@@ -802,18 +805,18 @@ export class PivotHeaderLayoutMap {
802
805
  }
803
806
  toggleHierarchyState(col, row) {
804
807
  var _a, _b, _c, _d, _e, _f;
805
- const oldRowHeaderCellIds = this._rowHeaderCellIds_FULL.slice(0), oldRowHeaderCellPositons = oldRowHeaderCellIds.map(((id, row) => ({
808
+ const oldRowHeaderCellIds = this._rowHeaderCellFullPathIds_FULL.slice(0), oldRowHeaderCellPositons = oldRowHeaderCellIds.map(((id, row) => ({
806
809
  col: col,
807
810
  row: row + this.columnHeaderLevelCount
808
811
  }))), hd = this.getHeader(col, row);
809
812
  if (hd.define.hierarchyState = hd.define.hierarchyState === HierarchyState.collapse ? HierarchyState.expand : HierarchyState.collapse,
810
- this.rowDimensionTree.reset(this.rowDimensionTree.tree.children, !0), this._rowHeaderCellIds_FULL = [],
813
+ this.rowDimensionTree.reset(this.rowDimensionTree.tree.children, !0), this._rowHeaderCellFullPathIds_FULL = [],
811
814
  this.rowDimensionKeys = this.rowDimensionTree.dimensionKeys.valueArr(), this.fullRowDimensionKeys = [],
812
815
  this.fullRowDimensionKeys = this.fullRowDimensionKeys.concat(this.rowDimensionKeys),
813
- this._addHeadersForTreeMode(this._rowHeaderCellIds_FULL, 0, this.rowDimensionTree.tree.children, [], this.rowDimensionTree.totalLevel, !0, this.rowsDefine, this.rowHeaderObjs),
816
+ this._addHeadersForTreeMode(this._rowHeaderCellFullPathIds_FULL, 0, this.rowDimensionTree.tree.children, [], this.rowDimensionTree.totalLevel, !0, this.rowsDefine, this.rowHeaderObjs),
814
817
  this.rowHeaderTitle) {
815
818
  const id = ++this.sharedVar.seqId, firstColIds = Array(this.rowCount - this.columnHeaderLevelCount).fill(id);
816
- this._rowHeaderCellIds_FULL.unshift(firstColIds);
819
+ this._rowHeaderCellFullPathIds_FULL.unshift(firstColIds);
817
820
  const cell = {
818
821
  id: id,
819
822
  title: "string" == typeof this.rowHeaderTitle.title ? this.rowHeaderTitle.title : this.rowsDefine.reduce(((title, value) => "string" == typeof value ? title : title + (title ? `/${value.title}` : `${value.title}`)), ""),
@@ -830,11 +833,13 @@ export class PivotHeaderLayoutMap {
830
833
  };
831
834
  this.rowHeaderObjs.push(cell), this._headerObjects[id] = cell;
832
835
  }
833
- this._rowHeaderCellIds_FULL = transpose(this._rowHeaderCellIds_FULL), "tree" === this.rowHierarchyType && (null === (_f = this.extensionRows) || void 0 === _f ? void 0 : _f.length) >= 1 && this.generateExtensionRowTree(),
836
+ this._rowHeaderCellFullPathIds_FULL = transpose(this._rowHeaderCellFullPathIds_FULL),
837
+ "tree" === this.rowHierarchyType && (null === (_f = this.extensionRows) || void 0 === _f ? void 0 : _f.length) >= 1 && this.generateExtensionRowTree(),
834
838
  this.colIndex = 0, this._headerObjectMap = this._headerObjects.reduce(((o, e) => (o[e.id] = e,
835
839
  o)), {}), this._CellHeaderPathMap = new Map, this._largeCellRangeCache.length = 0;
836
- const diffCell = diffCellAddress(col, row, oldRowHeaderCellIds.map((oldCellId => oldCellId[col - this.leftRowSeriesNumberColumnCount])), this._rowHeaderCellIds_FULL.map((newCellId => newCellId[col - this.leftRowSeriesNumberColumnCount])), oldRowHeaderCellPositons, this);
837
- return this._rowHeaderCellIds = this._rowHeaderCellIds_FULL.slice(), diffCell;
840
+ const diffCell = diffCellAddress(col, row, oldRowHeaderCellIds.map((oldCellId => oldCellId[col - this.leftRowSeriesNumberColumnCount])), this._rowHeaderCellFullPathIds_FULL.map((newCellId => newCellId[col - this.leftRowSeriesNumberColumnCount])), oldRowHeaderCellPositons, this);
841
+ return this.generateCellIdsConsiderHideHeader(), this.setPagination(this.pagination),
842
+ diffCell;
838
843
  }
839
844
  isHeaderForColWidth(col, row) {
840
845
  return this.isHeader(col, row);
@@ -971,10 +976,10 @@ export class PivotHeaderLayoutMap {
971
976
  const targetCellRange = this.getCellRange(target.col, sourceCellRange.start.row);
972
977
  if (targetIndex = target.col >= source.col ? targetCellRange.end.col - sourceSize + 1 : targetCellRange.start.col,
973
978
  targetIndex === sourceCellRange.start.col) return null;
974
- for (let row = 0; row < this._columnHeaderCellIds.length; row++) {
975
- const sourceIds = this._columnHeaderCellIds[row].splice(sourceCellRange.start.col - this.rowHeaderLevelCount - this.leftRowSeriesNumberColumnCount, sourceSize);
979
+ for (let row = 0; row < this._columnHeaderCellFullPathIds.length; row++) {
980
+ const sourceIds = this._columnHeaderCellFullPathIds[row].splice(sourceCellRange.start.col - this.rowHeaderLevelCount - this.leftRowSeriesNumberColumnCount, sourceSize);
976
981
  sourceIds.unshift(targetIndex - this.rowHeaderLevelCount - this.leftRowSeriesNumberColumnCount, 0),
977
- Array.prototype.splice.apply(this._columnHeaderCellIds[row], sourceIds);
982
+ Array.prototype.splice.apply(this._columnHeaderCellFullPathIds[row], sourceIds);
978
983
  }
979
984
  const sourceColumns = this._columnWidths.splice(sourceCellRange.start.col - this.leftRowSeriesNumberColumnCount, sourceSize);
980
985
  return sourceColumns.unshift(targetIndex - this.leftRowSeriesNumberColumnCount, 0),
@@ -995,8 +1000,12 @@ export class PivotHeaderLayoutMap {
995
1000
  targetIndex === sourceCellRange.start.row - this.columnHeaderLevelCount) return null;
996
1001
  const sourceIds = this._rowHeaderCellIds.splice(sourceCellRange.start.row - this.columnHeaderLevelCount, sourceSize);
997
1002
  sourceIds.unshift(targetIndex - this.currentPageStartIndex, 0), Array.prototype.splice.apply(this._rowHeaderCellIds, sourceIds);
1003
+ const sourceIds0 = this._rowHeaderCellFullPathIds.splice(sourceCellRange.start.row - this.columnHeaderLevelCount, sourceSize);
1004
+ sourceIds0.unshift(targetIndex - this.currentPageStartIndex, 0), Array.prototype.splice.apply(this._rowHeaderCellFullPathIds, sourceIds0);
998
1005
  const sourceIds_FULL = this._rowHeaderCellIds_FULL.splice(sourceCellRange.start.row - this.columnHeaderLevelCount + this.currentPageStartIndex, sourceSize);
999
- return sourceIds_FULL.unshift(targetIndex, 0), Array.prototype.splice.apply(this._rowHeaderCellIds_FULL, sourceIds_FULL),
1006
+ sourceIds_FULL.unshift(targetIndex, 0), Array.prototype.splice.apply(this._rowHeaderCellIds_FULL, sourceIds_FULL);
1007
+ const sourceIds_FULL0 = this._rowHeaderCellFullPathIds_FULL.splice(sourceCellRange.start.row - this.columnHeaderLevelCount + this.currentPageStartIndex, sourceSize);
1008
+ return sourceIds_FULL0.unshift(targetIndex, 0), Array.prototype.splice.apply(this._rowHeaderCellFullPathIds_FULL, sourceIds_FULL0),
1000
1009
  this.rowDimensionTree.movePosition(sourceRowHeaderPaths.length - 1, sourceCellRange.start.row - this.columnHeaderLevelCount, targetIndex + (target.row > source.row ? sourceRowHeaderNode.size - 1 : 0)),
1001
1010
  this.rowDimensionTree.reset(this.rowDimensionTree.tree.children, !0), this._CellHeaderPathMap = new Map,
1002
1011
  this._largeCellRangeCache.length = 0, {
@@ -1140,15 +1149,17 @@ export class PivotHeaderLayoutMap {
1140
1149
  return getChartDataId(col, row, this);
1141
1150
  }
1142
1151
  setPagination(pagination) {
1143
- var _a, _b, _c, _d, _e;
1152
+ var _a, _b, _c, _d, _e, _f, _g;
1144
1153
  if (this.clearCellRangeMap(), this.pagination = pagination, "grid" === this.rowHierarchyType && isValid(null === (_a = this.pagination) || void 0 === _a ? void 0 : _a.perPageCount) && isValid(null === (_b = this.pagination) || void 0 === _b ? void 0 : _b.currentPage)) {
1145
1154
  !1 === this.indicatorsAsCol && (this.pagination.perPageCount = Math.ceil(this.pagination.perPageCount / this.indicatorKeys.length) * this.indicatorKeys.length);
1146
1155
  const {perPageCount: perPageCount, currentPage: currentPage} = this.pagination;
1147
1156
  this.currentPageStartIndex = perPageCount * (currentPage || 0), this.currentPageEndIndex = this.currentPageStartIndex + perPageCount,
1148
- this._rowHeaderCellIds = null === (_c = this._rowHeaderCellIds_FULL) || void 0 === _c ? void 0 : _c.slice(this.currentPageStartIndex, this.currentPageEndIndex);
1157
+ this._rowHeaderCellIds = null === (_c = this._rowHeaderCellIds_FULL) || void 0 === _c ? void 0 : _c.slice(this.currentPageStartIndex, this.currentPageEndIndex),
1158
+ this._rowHeaderCellFullPathIds = null === (_d = this._rowHeaderCellFullPathIds_FULL) || void 0 === _d ? void 0 : _d.slice(this.currentPageStartIndex, this.currentPageEndIndex);
1149
1159
  } else this.currentPageStartIndex = 0, this.currentPageEndIndex = this._rowHeaderCellIds_FULL.length,
1150
- this._rowHeaderCellIds = null === (_d = this._rowHeaderCellIds_FULL) || void 0 === _d ? void 0 : _d.slice(this.currentPageStartIndex, this.currentPageEndIndex);
1151
- this.pagination && (this.pagination.totalCount = null === (_e = this._rowHeaderCellIds_FULL) || void 0 === _e ? void 0 : _e.length);
1160
+ this._rowHeaderCellIds = null === (_e = this._rowHeaderCellIds_FULL) || void 0 === _e ? void 0 : _e.slice(this.currentPageStartIndex, this.currentPageEndIndex),
1161
+ this._rowHeaderCellFullPathIds = null === (_f = this._rowHeaderCellFullPathIds_FULL) || void 0 === _f ? void 0 : _f.slice(this.currentPageStartIndex, this.currentPageEndIndex);
1162
+ this.pagination && (this.pagination.totalCount = null === (_g = this._rowHeaderCellIds_FULL) || void 0 === _g ? void 0 : _g.length);
1152
1163
  }
1153
1164
  release() {
1154
1165
  var _a;
@@ -1359,13 +1370,14 @@ export class PivotHeaderLayoutMap {
1359
1370
  }
1360
1371
  resetHeaderTree() {
1361
1372
  var _a, _b;
1362
- this._rowHeaderCellIds_FULL = [], this._columnHeaderCellIds = [];
1373
+ this._rowHeaderCellFullPathIds_FULL = [], this._columnHeaderCellIds = [];
1363
1374
  const dataset = this.dataset;
1364
1375
  this.rowTree = dataset.rowHeaderTree, this.columnTree = dataset.colHeaderTree, this.columnDimensionTree = new DimensionTree(null !== (_a = this.columnTree) && void 0 !== _a ? _a : [], this.sharedVar),
1365
1376
  this.rowDimensionTree = new DimensionTree(null !== (_b = this.rowTree) && void 0 !== _b ? _b : [], this.sharedVar, this.rowHierarchyType, "tree" === this.rowHierarchyType ? this.rowExpandLevel : void 0),
1366
1377
  this._generateColHeaderIds(), this.colIndex = 0, this._generateRowHeaderIds(), this.resetColumnHeaderLevelCount(),
1367
- this._rowHeaderCellIds_FULL = transpose(this._rowHeaderCellIds_FULL), this._headerObjectMap = this._headerObjects.reduce(((o, e) => (o[e.id] = e,
1368
- o)), {}), this.setPagination(this.pagination);
1378
+ this._rowHeaderCellFullPathIds_FULL = transpose(this._rowHeaderCellFullPathIds_FULL),
1379
+ this._headerObjectMap = this._headerObjects.reduce(((o, e) => (o[e.id] = e, o)), {}),
1380
+ this.generateCellIdsConsiderHideHeader(), this.setPagination(this.pagination);
1369
1381
  }
1370
1382
  isSeriesNumberInHeader(col, row) {
1371
1383
  return this.leftRowSeriesNumberColumnCount > 0 && col >= 0 && row >= 0 && col < this.leftRowSeriesNumberColumnCount && row < this.headerLevelCount || this.rightRowSeriesNumberColumnCount > 0 && row >= 0 && col >= this.colCount - this.rightRowSeriesNumberColumnCount && row < this.headerLevelCount;
@@ -1389,6 +1401,38 @@ export class PivotHeaderLayoutMap {
1389
1401
  const id = this.getCellId(col, row);
1390
1402
  this._headerObjectMap[id].title = value;
1391
1403
  }
1404
+ generateCellIdsConsiderHideHeader() {
1405
+ if (this._columnHeaderCellIds = this._columnHeaderCellFullPathIds.slice(), !this.showColumnHeader) if (this.indicatorsAsCol && !this.hideIndicatorName) {
1406
+ const indicatorIndex = this.colDimensionKeys.indexOf(IndicatorDimensionKeyPlaceholder), indicatorIds = this._columnHeaderCellIds.splice(indicatorIndex, 1);
1407
+ this._columnHeaderCellIds.splice(0, this._columnHeaderCellIds.length), this._columnHeaderCellIds.push(indicatorIds[0]);
1408
+ } else this._columnHeaderCellIds.splice(0, this._columnHeaderCellIds.length);
1409
+ if (this._rowHeaderCellIds_FULL = this._rowHeaderCellFullPathIds_FULL.slice(), !this.showRowHeader) if (this.indicatorsAsCol || this.hideIndicatorName) this._rowHeaderCellIds_FULL.forEach(((cellIds, index) => {
1410
+ const _cellIds = cellIds.slice();
1411
+ _cellIds.splice(0, _cellIds.length), this._rowHeaderCellIds_FULL[index] = _cellIds;
1412
+ })); else {
1413
+ const indicatorIndex = this.rowDimensionKeys.indexOf(IndicatorDimensionKeyPlaceholder);
1414
+ this._rowHeaderCellIds_FULL.forEach(((cellIds, index) => {
1415
+ const _cellIds = cellIds.slice(), indicator = _cellIds.splice(indicatorIndex, 1);
1416
+ _cellIds.splice(0, _cellIds.length), _cellIds.push(indicator[0]), this._rowHeaderCellIds_FULL[index] = _cellIds;
1417
+ }));
1418
+ }
1419
+ if (this._rowHeaderCellIds = this._rowHeaderCellIds_FULL.slice(), this._cornerHeaderCellIds = this._cornerHeaderCellFullPathIds.slice(),
1420
+ 0 === this.rowHeaderLevelCount || 0 === this.columnHeaderLevelCount) this._cornerHeaderCellIds = []; else if ("row" !== this.cornerSetting.titleOnDimension || this.showRowHeader) {
1421
+ if ("column" === this.cornerSetting.titleOnDimension && !this.showColumnHeader) if (this.indicatorsAsCol && !this.hideIndicatorName) {
1422
+ const indicatorIndex = this.colDimensionKeys.indexOf(IndicatorDimensionKeyPlaceholder), indicatorIds = this._cornerHeaderCellIds.splice(indicatorIndex, 1);
1423
+ this._cornerHeaderCellIds.splice(0, this._cornerHeaderCellIds.length), this._cornerHeaderCellIds.push(indicatorIds[0]);
1424
+ } else this._cornerHeaderCellIds.splice(0, this._cornerHeaderCellIds.length);
1425
+ } else if (this.indicatorsAsCol || this.hideIndicatorName) this._cornerHeaderCellIds.forEach(((cellIds, index) => {
1426
+ const _cellIds = cellIds.slice();
1427
+ _cellIds.splice(0, _cellIds.length), this._cornerHeaderCellIds[index] = _cellIds;
1428
+ })); else {
1429
+ const indicatorIndex = this.rowDimensionKeys.indexOf(IndicatorDimensionKeyPlaceholder);
1430
+ this._cornerHeaderCellIds.forEach(((cellIds, index) => {
1431
+ const _cellIds = cellIds.slice(), indicator = _cellIds.splice(indicatorIndex, 1);
1432
+ _cellIds.splice(0, _cellIds.length), _cellIds.push(indicator[0]), this._cornerHeaderCellIds[index] = _cellIds;
1433
+ }));
1434
+ }
1435
+ }
1392
1436
  }
1393
1437
 
1394
1438
  function scaleWholeRangeSize(count, bandwidth, paddingInner, paddingOuter) {