@visactor/vtable 1.3.2-alpha.2 → 1.3.2

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 (149) hide show
  1. package/cjs/PivotChart.d.ts +0 -1
  2. package/cjs/PivotChart.js +0 -4
  3. package/cjs/PivotChart.js.map +1 -1
  4. package/cjs/components/axis/axis.js +2 -3
  5. package/cjs/components/axis/axis.js.map +1 -1
  6. package/cjs/components/empty-tip/empty-tip.js +2 -2
  7. package/cjs/components/empty-tip/empty-tip.js.map +1 -1
  8. package/cjs/components/legend/discrete-legend/discrete-legend.js +1 -2
  9. package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  10. package/cjs/components/tooltip/TooltipHandler.js +1 -3
  11. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  12. package/cjs/components/tooltip/logic/BubbleTooltipElement.js +7 -3
  13. package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  14. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
  15. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  16. package/cjs/core/BaseTable.d.ts +2 -4
  17. package/cjs/core/BaseTable.js +197 -62
  18. package/cjs/core/BaseTable.js.map +1 -1
  19. package/cjs/core/FouseInput.d.ts +0 -1
  20. package/cjs/core/FouseInput.js +2 -5
  21. package/cjs/core/FouseInput.js.map +1 -1
  22. package/cjs/dataset/dataset.d.ts +2 -0
  23. package/cjs/dataset/dataset.js +8 -7
  24. package/cjs/dataset/dataset.js.map +1 -1
  25. package/cjs/event/event.js +1 -2
  26. package/cjs/event/event.js.map +1 -1
  27. package/cjs/event/listener/container-dom.js +1 -1
  28. package/cjs/event/listener/container-dom.js.map +1 -1
  29. package/cjs/event/listener/table-group.js +5 -3
  30. package/cjs/event/listener/table-group.js.map +1 -1
  31. package/cjs/event/util.js +2 -2
  32. package/cjs/event/util.js.map +1 -1
  33. package/cjs/index.d.ts +1 -1
  34. package/cjs/index.js +2 -2
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/layout/layout-helper.js.map +1 -1
  37. package/cjs/layout/pivot-header-layout.js +57 -37
  38. package/cjs/layout/pivot-header-layout.js.map +1 -1
  39. package/cjs/scenegraph/debug-tool/debug-tool.js +1 -4
  40. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  41. package/cjs/scenegraph/graphic/chart.d.ts +0 -1
  42. package/cjs/scenegraph/graphic/chart.js +20 -34
  43. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  44. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +8 -20
  45. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  46. package/cjs/scenegraph/graphic/contributions/chart-render.d.ts +1 -2
  47. package/cjs/scenegraph/graphic/contributions/chart-render.js +24 -40
  48. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  49. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +1 -2
  50. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  51. package/cjs/scenegraph/layout/update-width.js +3 -0
  52. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  53. package/cjs/scenegraph/refresh-node/update-chart.d.ts +0 -1
  54. package/cjs/scenegraph/refresh-node/update-chart.js +2 -9
  55. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  56. package/cjs/scenegraph/scenegraph.js +4 -10
  57. package/cjs/scenegraph/scenegraph.js.map +1 -1
  58. package/cjs/state/state.js +1 -1
  59. package/cjs/themes/component.js +1 -1
  60. package/cjs/themes/theme.js +6 -0
  61. package/cjs/themes/theme.js.map +1 -1
  62. package/cjs/ts-types/base-table.d.ts +4 -15
  63. package/cjs/ts-types/base-table.js.map +1 -1
  64. package/cjs/ts-types/icon.d.ts +2 -0
  65. package/cjs/ts-types/icon.js.map +1 -1
  66. package/cjs/ts-types/theme.d.ts +2 -0
  67. package/cjs/ts-types/theme.js.map +1 -1
  68. package/cjs/ts-types/tooltip.d.ts +2 -0
  69. package/cjs/ts-types/tooltip.js.map +1 -1
  70. package/cjs/vrender.js.map +1 -1
  71. package/dist/vtable.js +545 -539
  72. package/dist/vtable.min.js +2 -2
  73. package/es/PivotChart.d.ts +0 -1
  74. package/es/PivotChart.js +2 -5
  75. package/es/PivotChart.js.map +1 -1
  76. package/es/components/axis/axis.js +1 -3
  77. package/es/components/axis/axis.js.map +1 -1
  78. package/es/components/empty-tip/empty-tip.js +2 -2
  79. package/es/components/empty-tip/empty-tip.js.map +1 -1
  80. package/es/components/legend/discrete-legend/discrete-legend.js +1 -2
  81. package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  82. package/es/components/tooltip/TooltipHandler.js +1 -3
  83. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  84. package/es/components/tooltip/logic/BubbleTooltipElement.js +7 -3
  85. package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  86. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
  87. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  88. package/es/core/BaseTable.d.ts +2 -4
  89. package/es/core/BaseTable.js +196 -63
  90. package/es/core/BaseTable.js.map +1 -1
  91. package/es/core/FouseInput.d.ts +0 -1
  92. package/es/core/FouseInput.js +2 -5
  93. package/es/core/FouseInput.js.map +1 -1
  94. package/es/dataset/dataset.d.ts +2 -0
  95. package/es/dataset/dataset.js +8 -7
  96. package/es/dataset/dataset.js.map +1 -1
  97. package/es/event/event.js +1 -2
  98. package/es/event/event.js.map +1 -1
  99. package/es/event/listener/container-dom.js +1 -1
  100. package/es/event/listener/container-dom.js.map +1 -1
  101. package/es/event/listener/table-group.js +5 -3
  102. package/es/event/listener/table-group.js.map +1 -1
  103. package/es/event/util.js +2 -2
  104. package/es/event/util.js.map +1 -1
  105. package/es/index.d.ts +1 -1
  106. package/es/index.js +1 -1
  107. package/es/index.js.map +1 -1
  108. package/es/layout/layout-helper.js.map +1 -1
  109. package/es/layout/pivot-header-layout.js +56 -36
  110. package/es/layout/pivot-header-layout.js.map +1 -1
  111. package/es/scenegraph/debug-tool/debug-tool.js +1 -4
  112. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  113. package/es/scenegraph/graphic/chart.d.ts +0 -1
  114. package/es/scenegraph/graphic/chart.js +21 -33
  115. package/es/scenegraph/graphic/chart.js.map +1 -1
  116. package/es/scenegraph/graphic/contributions/chart-render-helper.js +8 -20
  117. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  118. package/es/scenegraph/graphic/contributions/chart-render.d.ts +1 -2
  119. package/es/scenegraph/graphic/contributions/chart-render.js +25 -41
  120. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  121. package/es/scenegraph/group-creater/cell-type/chart-cell.js +1 -2
  122. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  123. package/es/scenegraph/layout/update-width.js +3 -0
  124. package/es/scenegraph/layout/update-width.js.map +1 -1
  125. package/es/scenegraph/refresh-node/update-chart.d.ts +0 -1
  126. package/es/scenegraph/refresh-node/update-chart.js +0 -6
  127. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  128. package/es/scenegraph/scenegraph.js +4 -10
  129. package/es/scenegraph/scenegraph.js.map +1 -1
  130. package/es/state/state.js +1 -1
  131. package/es/themes/component.js +1 -1
  132. package/es/themes/theme.js +6 -0
  133. package/es/themes/theme.js.map +1 -1
  134. package/es/ts-types/base-table.d.ts +4 -15
  135. package/es/ts-types/base-table.js.map +1 -1
  136. package/es/ts-types/icon.d.ts +2 -0
  137. package/es/ts-types/icon.js.map +1 -1
  138. package/es/ts-types/theme.d.ts +2 -0
  139. package/es/ts-types/theme.js.map +1 -1
  140. package/es/ts-types/tooltip.d.ts +2 -0
  141. package/es/ts-types/tooltip.js.map +1 -1
  142. package/es/vrender.js.map +1 -1
  143. package/package.json +3 -3
  144. package/cjs/core/utils/get-cell-position.d.ts +0 -42
  145. package/cjs/core/utils/get-cell-position.js +0 -206
  146. package/cjs/core/utils/get-cell-position.js.map +0 -1
  147. package/es/core/utils/get-cell-position.d.ts +0 -42
  148. package/es/core/utils/get-cell-position.js +0 -194
  149. package/es/core/utils/get-cell-position.js.map +0 -1
@@ -1,7 +1,6 @@
1
1
  import type { BaseTable } from '../core';
2
2
  import type { Rect } from '../tools/Rect';
3
3
  export declare class FocusInput extends EventTarget {
4
- private _container;
5
4
  private _table;
6
5
  private _input;
7
6
  constructor(table: BaseTable, parentElement: HTMLElement);
@@ -14,7 +14,7 @@ class FocusInput extends EventTarget {
14
14
  div.classList.add("input-container");
15
15
  const input = this._input = document.createElement("input");
16
16
  div.appendChild(input), input.classList.add("table-focus-control"), input.dataset.vtable = "vtable",
17
- input.readOnly = !0, parentElement.appendChild(div), this._container = div;
17
+ input.readOnly = !0, parentElement.appendChild(div);
18
18
  }
19
19
  focus() {
20
20
  this._input.focus({
@@ -31,10 +31,7 @@ class FocusInput extends EventTarget {
31
31
  get input() {
32
32
  return this._input;
33
33
  }
34
- release() {
35
- var _a;
36
- null === (_a = this._container.parentElement) || void 0 === _a || _a.removeChild(this._container);
37
- }
34
+ release() {}
38
35
  }
39
36
 
40
37
  exports.FocusInput = FocusInput;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/FouseInput.ts"],"names":[],"mappings":";;;AAEA,sCAAmC;AAEnC,MAAa,UAAW,SAAQ,WAAW;IAIzC,YAAY,KAAgB,EAAE,aAA0B;QACtD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,SAAG,CAAC,IAAI,KAAK,MAAM,EAAE;YACvB,OAAO;SACR;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1C,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QACxB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC9B,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;QACjC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAChC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,YAAY,CAAC,IAAU,EAAE,KAAa;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAChD,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;QACvC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;QACzC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;QAChD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;IACpD,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO;;QAEL,MAAA,IAAI,CAAC,UAAU,CAAC,aAAa,0CAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;CACF;AA/CD,gCA+CC","file":"FouseInput.js","sourcesContent":["import type { BaseTable } from '../core';\nimport type { Rect } from '../tools/Rect';\nimport { Env } from '../tools/env';\n\nexport class FocusInput extends EventTarget {\n private _container: HTMLDivElement;\n private _table: BaseTable;\n private _input: HTMLInputElement;\n constructor(table: BaseTable, parentElement: HTMLElement) {\n super();\n this._table = table;\n if (Env.mode === 'node') {\n return;\n }\n const div = document.createElement('div'); //再加一层 C360插件逻辑中用的window.getSelection()来判断的滚动\n // div.style.position = 'fixed';//定位不能使用fixed 在父级transform非none的时候 都会有问题\n div.style.opacity = '0';\n div.dataset.vtable = 'vtable'; //这里不能变 C360取元素的依据\n div.style.pointerEvents = 'none';\n div.classList.add('input-container');\n const input = (this._input = document.createElement('input'));\n div.appendChild(input);\n input.classList.add('table-focus-control');\n input.dataset.vtable = 'vtable';\n input.readOnly = true;\n parentElement.appendChild(div);\n this._container = div;\n }\n\n focus(): void {\n this._input.focus({ preventScroll: true });\n }\n setFocusRect(rect: Rect, value: string): void {\n const input = this._input;\n input.value = value;\n // input.focus({ preventScroll: true });\n input.select();\n const top = rect.top - this._table.scrollTop;\n const left = rect.left - this._table.scrollLeft;\n input.style.top = `${top.toFixed()}px`;\n input.style.left = `${left.toFixed()}px`;\n input.style.width = `${rect.width.toFixed()}px`;\n input.style.height = `${rect.height.toFixed()}px`;\n }\n get input(): HTMLInputElement {\n return this._input;\n }\n release(): void {\n // document.removeChild(this._input);\n this._container.parentElement?.removeChild(this._container);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/FouseInput.ts"],"names":[],"mappings":";;;AAEA,sCAAmC;AAEnC,MAAa,UAAW,SAAQ,WAAW;IAGzC,YAAY,KAAgB,EAAE,aAA0B;QACtD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,SAAG,CAAC,IAAI,KAAK,MAAM,EAAE;YACvB,OAAO;SACR;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1C,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QACxB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC9B,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;QACjC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAChC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,YAAY,CAAC,IAAU,EAAE,KAAa;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAChD,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;QACvC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;QACzC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;QAChD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;IACpD,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO;IAEP,CAAC;CACF;AA5CD,gCA4CC","file":"FouseInput.js","sourcesContent":["import type { BaseTable } from '../core';\nimport type { Rect } from '../tools/Rect';\nimport { Env } from '../tools/env';\n\nexport class FocusInput extends EventTarget {\n private _table: BaseTable;\n private _input: HTMLInputElement;\n constructor(table: BaseTable, parentElement: HTMLElement) {\n super();\n this._table = table;\n if (Env.mode === 'node') {\n return;\n }\n const div = document.createElement('div'); //再加一层 C360插件逻辑中用的window.getSelection()来判断的滚动\n // div.style.position = 'fixed';//定位不能使用fixed 在父级transform非none的时候 都会有问题\n div.style.opacity = '0';\n div.dataset.vtable = 'vtable'; //这里不能变 C360取元素的依据\n div.style.pointerEvents = 'none';\n div.classList.add('input-container');\n const input = (this._input = document.createElement('input'));\n div.appendChild(input);\n input.classList.add('table-focus-control');\n input.dataset.vtable = 'vtable';\n input.readOnly = true;\n parentElement.appendChild(div);\n }\n\n focus(): void {\n this._input.focus({ preventScroll: true });\n }\n setFocusRect(rect: Rect, value: string): void {\n const input = this._input;\n input.value = value;\n // input.focus({ preventScroll: true });\n input.select();\n const top = rect.top - this._table.scrollTop;\n const left = rect.left - this._table.scrollLeft;\n input.style.top = `${top.toFixed()}px`;\n input.style.left = `${left.toFixed()}px`;\n input.style.width = `${rect.width.toFixed()}px`;\n input.style.height = `${rect.height.toFixed()}px`;\n }\n get input(): HTMLInputElement {\n return this._input;\n }\n release(): void {\n // document.removeChild(this._input);\n }\n}\n"]}
@@ -41,7 +41,9 @@ export declare class Dataset {
41
41
  collectedValues: Record<string, Record<string, CollectedValue>>;
42
42
  cacheCollectedValues: Record<string, Record<string, CollectedValue>>;
43
43
  rows: string[];
44
+ rowsHasValue: boolean[];
44
45
  columns: string[];
46
+ columnsHasValue: boolean[];
45
47
  indicatorKeys: string[];
46
48
  customRowTree?: IHeaderTreeDefine[];
47
49
  customColTree?: IHeaderTreeDefine[];
@@ -43,7 +43,8 @@ class Dataset {
43
43
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
44
44
  if (this.records = records, this.collectedValues = {}, this.cacheCollectedValues = {},
45
45
  this.totalRecordsTree = {}, this.tree = {}, this.colFlatKeys = {}, this.rowFlatKeys = {},
46
- this.colKeys = [], this.rowKeys = [], records) {
46
+ this.colKeys = [], this.rowKeys = [], this.rowsHasValue = [], this.columnsHasValue = [],
47
+ records) {
47
48
  this.records = records;
48
49
  "undefined" != typeof window && window.performance.now();
49
50
  this.processRecords(), this.processCollectedValuesWithSumBy(), this.generateCollectedValuesSortRule(),
@@ -53,8 +54,8 @@ class Dataset {
53
54
  "undefined" != typeof window && window.performance.now(), "undefined" != typeof window && window.performance.now();
54
55
  this.sortKeys();
55
56
  "undefined" != typeof window && window.performance.now(), "undefined" != typeof window && window.performance.now();
56
- this.customRowTree ? this.rowHeaderTree = this.customRowTree : "tree" === this.rowHierarchyType ? this.rowHeaderTree = this.ArrToTree1(this.rowKeys, this.rows, this.indicatorsAsCol ? void 0 : this.indicators, (null === (_b = null === (_a = this.totals) || void 0 === _a ? void 0 : _a.row) || void 0 === _b ? void 0 : _b.showGrandTotals) || !this.indicatorsAsCol && 0 === this.columns.length || this.indicatorsAsCol && 0 === this.rows.length, this.rowGrandTotalLabel) : this.rowHeaderTree = this.ArrToTree(this.rowKeys, this.rows, this.indicatorsAsCol ? void 0 : this.indicators, this.rowsIsTotal, (null === (_d = null === (_c = this.totals) || void 0 === _c ? void 0 : _c.row) || void 0 === _d ? void 0 : _d.showGrandTotals) || this.indicatorsAsCol && 0 === this.rows.length, this.rowGrandTotalLabel, this.rowSubTotalLabel, null !== (_g = null === (_f = null === (_e = this.totals) || void 0 === _e ? void 0 : _e.row) || void 0 === _f ? void 0 : _f.showGrandTotalsOnTop) && void 0 !== _g && _g, null !== (_k = null === (_j = null === (_h = this.totals) || void 0 === _h ? void 0 : _h.row) || void 0 === _j ? void 0 : _j.showSubTotalsOnTop) && void 0 !== _k && _k),
57
- this.customColTree ? this.colHeaderTree = this.customColTree : this.colHeaderTree = this.ArrToTree(this.colKeys, this.columns, this.indicatorsAsCol ? this.indicators : void 0, this.colsIsTotal, (null === (_m = null === (_l = this.totals) || void 0 === _l ? void 0 : _l.column) || void 0 === _m ? void 0 : _m.showGrandTotals) || !this.indicatorsAsCol && 0 === this.columns.length, this.colGrandTotalLabel, this.colSubTotalLabel, null !== (_q = null === (_p = null === (_o = this.totals) || void 0 === _o ? void 0 : _o.column) || void 0 === _p ? void 0 : _p.showGrandTotalsOnLeft) && void 0 !== _q && _q, null !== (_t = null === (_s = null === (_r = this.totals) || void 0 === _r ? void 0 : _r.column) || void 0 === _s ? void 0 : _s.showSubTotalsOnLeft) && void 0 !== _t && _t);
57
+ this.customRowTree ? this.rowHeaderTree = this.customRowTree : "tree" === this.rowHierarchyType ? this.rowHeaderTree = this.ArrToTree1(this.rowKeys, this.rows.filter(((key, index) => this.rowsHasValue[index])), this.indicatorsAsCol ? void 0 : this.indicators, (null === (_b = null === (_a = this.totals) || void 0 === _a ? void 0 : _a.row) || void 0 === _b ? void 0 : _b.showGrandTotals) || !this.indicatorsAsCol && 0 === this.columns.length || this.indicatorsAsCol && 0 === this.rows.length, this.rowGrandTotalLabel) : this.rowHeaderTree = this.ArrToTree(this.rowKeys, this.rows.filter(((key, index) => this.rowsHasValue[index])), this.indicatorsAsCol ? void 0 : this.indicators, this.rowsIsTotal, (null === (_d = null === (_c = this.totals) || void 0 === _c ? void 0 : _c.row) || void 0 === _d ? void 0 : _d.showGrandTotals) || this.indicatorsAsCol && 0 === this.rows.length, this.rowGrandTotalLabel, this.rowSubTotalLabel, null !== (_g = null === (_f = null === (_e = this.totals) || void 0 === _e ? void 0 : _e.row) || void 0 === _f ? void 0 : _f.showGrandTotalsOnTop) && void 0 !== _g && _g, null !== (_k = null === (_j = null === (_h = this.totals) || void 0 === _h ? void 0 : _h.row) || void 0 === _j ? void 0 : _j.showSubTotalsOnTop) && void 0 !== _k && _k),
58
+ this.customColTree ? this.colHeaderTree = this.customColTree : this.colHeaderTree = this.ArrToTree(this.colKeys, this.columns.filter(((key, index) => this.columnsHasValue[index])), this.indicatorsAsCol ? this.indicators : void 0, this.colsIsTotal, (null === (_m = null === (_l = this.totals) || void 0 === _l ? void 0 : _l.column) || void 0 === _m ? void 0 : _m.showGrandTotals) || !this.indicatorsAsCol && 0 === this.columns.length, this.colGrandTotalLabel, this.colSubTotalLabel, null !== (_q = null === (_p = null === (_o = this.totals) || void 0 === _o ? void 0 : _o.column) || void 0 === _p ? void 0 : _p.showGrandTotalsOnLeft) && void 0 !== _q && _q, null !== (_t = null === (_s = null === (_r = this.totals) || void 0 === _r ? void 0 : _r.column) || void 0 === _s ? void 0 : _s.showSubTotalsOnLeft) && void 0 !== _t && _t);
58
59
  "undefined" != typeof window && window.performance.now();
59
60
  (null === (_u = this.dataConfig) || void 0 === _u ? void 0 : _u.isPivotChart) && this.cacheDeminsionCollectedValues();
60
61
  }
@@ -161,7 +162,7 @@ class Dataset {
161
162
  let isToTalRecord = !1;
162
163
  for (let l = 0, len1 = this.rows.length; l < len1; l++) {
163
164
  const rowAttr = this.rows[l];
164
- if (rowAttr in record) rowKey.push(record[rowAttr]); else if (rowAttr !== global_1.IndicatorDimensionKeyPlaceholder) {
165
+ if (rowAttr in record) this.rowsHasValue[l] = !0, rowKey.push(record[rowAttr]); else if (rowAttr !== global_1.IndicatorDimensionKeyPlaceholder) {
165
166
  if ((null === (_d = null === (_c = null === (_b = this.dataConfig) || void 0 === _b ? void 0 : _b.totals) || void 0 === _c ? void 0 : _c.row) || void 0 === _d ? void 0 : _d.showGrandTotals) && 0 === l && !this.rows.find((rk => rk in record))) {
166
167
  rowKey.push(this.rowGrandTotalLabel), isToTalRecord = !0;
167
168
  break;
@@ -174,7 +175,7 @@ class Dataset {
174
175
  }
175
176
  for (let n = 0, len2 = this.columns.length; n < len2; n++) {
176
177
  const colAttr = this.columns[n];
177
- if (colAttr in record) colKey.push(record[colAttr]); else if (colAttr !== global_1.IndicatorDimensionKeyPlaceholder) {
178
+ if (colAttr in record) this.columnsHasValue[n] = !0, colKey.push(record[colAttr]); else if (colAttr !== global_1.IndicatorDimensionKeyPlaceholder) {
178
179
  if ((null === (_o = null === (_m = null === (_l = this.dataConfig) || void 0 === _l ? void 0 : _l.totals) || void 0 === _m ? void 0 : _m.column) || void 0 === _o ? void 0 : _o.showGrandTotals) && 0 === n && !this.columns.find((ck => ck in record))) {
179
180
  colKey.push(this.colGrandTotalLabel), isToTalRecord = !0;
180
181
  break;
@@ -224,8 +225,8 @@ class Dataset {
224
225
  }
225
226
  updateSortRules(sortRules) {
226
227
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
227
- this.sorted = !1, this.sortRules = sortRules, this.sortKeys(), this.customRowTree || ("tree" === this.rowHierarchyType ? this.rowHeaderTree = this.ArrToTree1(this.rowKeys, this.rows, this.indicatorsAsCol ? void 0 : this.indicators, (null === (_b = null === (_a = this.totals) || void 0 === _a ? void 0 : _a.row) || void 0 === _b ? void 0 : _b.showGrandTotals) || !this.indicatorsAsCol && 0 === this.columns.length || this.indicatorsAsCol && 0 === this.rows.length, this.rowGrandTotalLabel) : this.rowHeaderTree = this.ArrToTree(this.rowKeys, this.rows, this.indicatorsAsCol ? void 0 : this.indicators, this.rowsIsTotal, (null === (_d = null === (_c = this.totals) || void 0 === _c ? void 0 : _c.row) || void 0 === _d ? void 0 : _d.showGrandTotals) || this.indicatorsAsCol && 0 === this.rows.length, this.rowGrandTotalLabel, this.rowSubTotalLabel, null !== (_g = null === (_f = null === (_e = this.totals) || void 0 === _e ? void 0 : _e.row) || void 0 === _f ? void 0 : _f.showGrandTotalsOnTop) && void 0 !== _g && _g, null !== (_k = null === (_j = null === (_h = this.totals) || void 0 === _h ? void 0 : _h.row) || void 0 === _j ? void 0 : _j.showSubTotalsOnTop) && void 0 !== _k && _k)),
228
- this.customColTree || (this.colHeaderTree = this.ArrToTree(this.colKeys, this.columns, this.indicatorsAsCol ? this.indicators : void 0, this.colsIsTotal, (null === (_m = null === (_l = this.totals) || void 0 === _l ? void 0 : _l.column) || void 0 === _m ? void 0 : _m.showGrandTotals) || !this.indicatorsAsCol && 0 === this.columns.length, this.colGrandTotalLabel, this.colSubTotalLabel, null !== (_q = null === (_p = null === (_o = this.totals) || void 0 === _o ? void 0 : _o.column) || void 0 === _p ? void 0 : _p.showGrandTotalsOnLeft) && void 0 !== _q && _q, null !== (_t = null === (_s = null === (_r = this.totals) || void 0 === _r ? void 0 : _r.column) || void 0 === _s ? void 0 : _s.showSubTotalsOnLeft) && void 0 !== _t && _t));
228
+ this.sorted = !1, this.sortRules = sortRules, this.sortKeys(), this.customRowTree || ("tree" === this.rowHierarchyType ? this.rowHeaderTree = this.ArrToTree1(this.rowKeys, this.rows.filter(((key, index) => this.rowsHasValue[index])), this.indicatorsAsCol ? void 0 : this.indicators, (null === (_b = null === (_a = this.totals) || void 0 === _a ? void 0 : _a.row) || void 0 === _b ? void 0 : _b.showGrandTotals) || !this.indicatorsAsCol && 0 === this.columns.length || this.indicatorsAsCol && 0 === this.rows.length, this.rowGrandTotalLabel) : this.rowHeaderTree = this.ArrToTree(this.rowKeys, this.rows.filter(((key, index) => this.rowsHasValue[index])), this.indicatorsAsCol ? void 0 : this.indicators, this.rowsIsTotal, (null === (_d = null === (_c = this.totals) || void 0 === _c ? void 0 : _c.row) || void 0 === _d ? void 0 : _d.showGrandTotals) || this.indicatorsAsCol && 0 === this.rows.length, this.rowGrandTotalLabel, this.rowSubTotalLabel, null !== (_g = null === (_f = null === (_e = this.totals) || void 0 === _e ? void 0 : _e.row) || void 0 === _f ? void 0 : _f.showGrandTotalsOnTop) && void 0 !== _g && _g, null !== (_k = null === (_j = null === (_h = this.totals) || void 0 === _h ? void 0 : _h.row) || void 0 === _j ? void 0 : _j.showSubTotalsOnTop) && void 0 !== _k && _k)),
229
+ this.customColTree || (this.colHeaderTree = this.ArrToTree(this.colKeys, this.columns.filter(((key, index) => this.columnsHasValue[index])), this.indicatorsAsCol ? this.indicators : void 0, this.colsIsTotal, (null === (_m = null === (_l = this.totals) || void 0 === _l ? void 0 : _l.column) || void 0 === _m ? void 0 : _m.showGrandTotals) || !this.indicatorsAsCol && 0 === this.columns.length, this.colGrandTotalLabel, this.colSubTotalLabel, null !== (_q = null === (_p = null === (_o = this.totals) || void 0 === _o ? void 0 : _o.column) || void 0 === _p ? void 0 : _p.showGrandTotalsOnLeft) && void 0 !== _q && _q, null !== (_t = null === (_s = null === (_r = this.totals) || void 0 === _r ? void 0 : _r.column) || void 0 === _s ? void 0 : _s.showSubTotalsOnLeft) && void 0 !== _t && _t));
229
230
  }
230
231
  updateFilterRules(filterRules, isResetTree = !1) {
231
232
  var _a;