@visactor/vtable 1.17.1-alpha.2 → 1.17.1-alpha.4

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 (41) hide show
  1. package/cjs/ListTable.js +9 -1
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotTable.d.ts +0 -1
  4. package/cjs/PivotTable.js +0 -3
  5. package/cjs/PivotTable.js.map +1 -1
  6. package/cjs/core/BaseTable.js +1 -1
  7. package/cjs/core/BaseTable.js.map +1 -1
  8. package/cjs/dataset/dataset-pivot-table.js +1 -2
  9. package/cjs/edit/editors.js +2 -1
  10. package/cjs/event/list-table/checkbox.js +13 -4
  11. package/cjs/event/list-table/checkbox.js.map +1 -1
  12. package/cjs/index.d.ts +1 -1
  13. package/cjs/index.js +1 -1
  14. package/cjs/index.js.map +1 -1
  15. package/cjs/scenegraph/scenegraph.js +1 -1
  16. package/cjs/scenegraph/scenegraph.js.map +1 -1
  17. package/cjs/state/checkbox/checkbox.js +8 -1
  18. package/cjs/state/checkbox/checkbox.js.map +1 -1
  19. package/cjs/vrender.js.map +1 -1
  20. package/dist/vtable.js +47 -9
  21. package/dist/vtable.min.js +1 -1
  22. package/es/ListTable.js +9 -1
  23. package/es/ListTable.js.map +1 -1
  24. package/es/PivotTable.d.ts +0 -1
  25. package/es/PivotTable.js +0 -3
  26. package/es/PivotTable.js.map +1 -1
  27. package/es/core/BaseTable.js +1 -1
  28. package/es/core/BaseTable.js.map +1 -1
  29. package/es/dataset/dataset-pivot-table.js +1 -2
  30. package/es/edit/editors.js +2 -1
  31. package/es/event/list-table/checkbox.js +13 -4
  32. package/es/event/list-table/checkbox.js.map +1 -1
  33. package/es/index.d.ts +1 -1
  34. package/es/index.js +1 -1
  35. package/es/index.js.map +1 -1
  36. package/es/scenegraph/scenegraph.js +1 -1
  37. package/es/scenegraph/scenegraph.js.map +1 -1
  38. package/es/state/checkbox/checkbox.js +8 -1
  39. package/es/state/checkbox/checkbox.js.map +1 -1
  40. package/es/vrender.js.map +1 -1
  41. package/package.json +4 -4
@@ -337,5 +337,4 @@ export class DatasetForPivotTable {
337
337
  }
338
338
  return tree.forEach((treeNode => getPath(treeNode, []))), result;
339
339
  }
340
- }
341
- //# sourceMappingURL=dataset-pivot-table.js.map
340
+ }
@@ -2,4 +2,5 @@ export const editors = {};
2
2
 
3
3
  export function get(editorName) {
4
4
  if (editors[editorName]) return editors[editorName];
5
- }
5
+ }
6
+ //# sourceMappingURL=editors.js.map
@@ -6,11 +6,11 @@ import { HierarchyState } from "../../ts-types";
6
6
 
7
7
  export function bindGroupTitleCheckboxChange(table) {
8
8
  table.on("checkbox_state_change", (args => {
9
- var _a;
9
+ var _a, _b;
10
10
  if (!0 !== (null === (_a = table.internalProps.rowSeriesNumber) || void 0 === _a ? void 0 : _a.enableTreeCheckbox)) return;
11
11
  const {col: col, row: row, checked: checked} = args, record = table.getCellOriginRecord(col, row), indexedData = table.dataSource.currentPagerIndexedData, titleShowIndex = table.getRecordShowIndexByCell(col, row);
12
12
  let titleIndex = indexedData[titleShowIndex];
13
- if (isNumber(titleIndex) && (titleIndex = [ titleIndex ]), record.vtableMerge) if (checked) table.getHierarchyState(col, row) === HierarchyState.collapse ? updateChildrenCheckboxState(!0, titleIndex, table) : setAllChildrenCheckboxState(!0, titleShowIndex, titleIndex, indexedData, table),
13
+ if (isNumber(titleIndex) && (titleIndex = [ titleIndex ]), record.vtableMerge || (null === (_b = record.children) || void 0 === _b ? void 0 : _b.length)) if (checked) table.getHierarchyState(col, row) === HierarchyState.collapse ? updateChildrenCheckboxState(!0, titleIndex, table) : setAllChildrenCheckboxState(!0, titleShowIndex, titleIndex, indexedData, table),
14
14
  updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table); else {
15
15
  table.getHierarchyState(col, row) === HierarchyState.collapse ? updateChildrenCheckboxState(!1, titleIndex, table) : setAllChildrenCheckboxState(!1, titleShowIndex, titleIndex, indexedData, table),
16
16
  updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table);
@@ -48,8 +48,17 @@ function updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData,
48
48
  function updateParentCheckboxState(col, row, currentIndex, table) {
49
49
  const {checkedState: checkedState} = table.stateManager, key = currentIndex.toString(), currentIndexLength = isArray(currentIndex) ? currentIndex.length : 1;
50
50
  let start = !1;
51
- const result = [];
52
- if (checkedState.forEach(((value, index) => {
51
+ const result = [], keys = Array.from(checkedState.keys()).sort(((a, b) => {
52
+ var _a, _b;
53
+ const aArr = a.split(","), bArr = b.split(","), maxLength = Math.max(aArr.length, bArr.length);
54
+ for (let i = 0; i < maxLength; i++) {
55
+ const a = null !== (_a = Number(aArr[i])) && void 0 !== _a ? _a : 0, b = null !== (_b = Number(bArr[i])) && void 0 !== _b ? _b : 0;
56
+ if (a !== b) return a - b;
57
+ }
58
+ return 0;
59
+ })), stateArr = keys.map((key => checkedState.get(key)));
60
+ if (stateArr.forEach(((state, i) => {
61
+ const index = keys[i], value = state;
53
62
  if (start) {
54
63
  index.split(",").length === currentIndexLength ? start = !1 : result.push(value._vtable_rowSeries_number);
55
64
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/list-table/checkbox.ts"],"names":[],"mappings":"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","file":"checkbox.js","sourcesContent":["import { isArray, isNumber } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { setCellCheckboxStateByAttribute } from '../../state/checkbox/checkbox';\nimport { HierarchyState } from '../../ts-types';\n\nexport function bindGroupTitleCheckboxChange(table: BaseTableAPI) {\n table.on('checkbox_state_change', args => {\n if (table.internalProps.rowSeriesNumber?.enableTreeCheckbox !== true) {\n return;\n }\n\n const { col, row, checked } = args;\n const record = table.getCellOriginRecord(col, row);\n const indexedData = (table.dataSource as any).currentPagerIndexedData as (number | number[])[];\n const titleShowIndex = table.getRecordShowIndexByCell(col, row);\n let titleIndex = indexedData[titleShowIndex];\n if (isNumber(titleIndex)) {\n titleIndex = [titleIndex];\n }\n\n if (record.vtableMerge) {\n // 1. group title\n if (checked) {\n // 1.1 group title check\n // 1.1.1 check all children\n if (table.getHierarchyState(col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(true, titleIndex, table);\n } else {\n setAllChildrenCheckboxState(true, titleShowIndex, titleIndex, indexedData, table);\n }\n // 1.1.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table);\n } else {\n // 1.2 group title uncheck\n // 1.2.1 uncheck all children\n if (table.getHierarchyState(col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(false, titleIndex, table);\n } else {\n setAllChildrenCheckboxState(false, titleShowIndex, titleIndex, indexedData, table);\n }\n // 1.2.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table);\n\n // 1.2.3 update header checkbox state\n const oldHeaderCheckedState = table.stateManager.headerCheckedState._vtable_rowSeries_number;\n const newHeaderCheckedState = table.stateManager.updateHeaderCheckedState('_vtable_rowSeries_number', col, row);\n if (oldHeaderCheckedState !== newHeaderCheckedState) {\n table.scenegraph.updateHeaderCheckboxCellState(col, row, newHeaderCheckedState);\n }\n }\n } else {\n // 2. group content, reset group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table);\n }\n });\n}\n\n// update visible children checkbox state\nfunction setAllChildrenCheckboxState(\n state: boolean,\n titleShowIndex: number,\n titleIndex: number[],\n indexedData: (number | number[])[],\n table: BaseTableAPI\n) {\n let i = titleShowIndex + 1;\n while (isArray(indexedData[i]) && (indexedData[i] as number[])?.length > titleIndex.length) {\n const row = table.columnHeaderLevelCount + i;\n table.stateManager.setCheckedState(0, row, '_vtable_rowSeries_number', state);\n setCellCheckboxStateByAttribute(0, row, state, table);\n i++;\n }\n}\n\nfunction updateGroupTitleCheckboxState(\n titleShowIndex: number,\n titleIndex: number[],\n indexedData: (number | number[])[],\n table: BaseTableAPI\n) {\n let parentLength = titleIndex.length - 1;\n if (parentLength > 0) {\n let i = titleShowIndex - 1;\n while (parentLength > 0 && i >= 0) {\n if (\n (isArray(indexedData[i]) && (indexedData[i] as number[])?.length === parentLength) ||\n (parentLength === 1 && isNumber(indexedData[i]))\n ) {\n const row = table.columnHeaderLevelCount + i;\n // check all children\n updateParentCheckboxState(0, row, indexedData[i], table);\n // table.stateManager.setCheckedState(0, row, '_vtable_rowSeries_number', 'indeterminate');\n // setCellCheckboxStateByAttribute(0, row, 'indeterminate', table);\n\n parentLength--;\n }\n i--;\n }\n }\n}\n\nfunction updateParentCheckboxState(col: number, row: number, currentIndex: number | number[], table: BaseTableAPI) {\n const { checkedState } = table.stateManager;\n const key = currentIndex.toString();\n const currentIndexLength = isArray(currentIndex) ? currentIndex.length : 1;\n let start = false;\n const result: (boolean | string)[] = [];\n checkedState.forEach((value, index: string) => {\n if (start) {\n const indexData = index.split(',');\n if (indexData.length === currentIndexLength) {\n start = false;\n } else {\n result.push(value._vtable_rowSeries_number);\n }\n }\n if (index === key) {\n start = true;\n }\n });\n\n if (result.length === 0) {\n return;\n }\n\n const allChecked = result.every(item => !!item);\n const allUnChecked = result.every(item => !item);\n\n if (allChecked) {\n table.stateManager.setCheckedState(col, row, '_vtable_rowSeries_number', true);\n setCellCheckboxStateByAttribute(col, row, true, table);\n } else if (allUnChecked) {\n table.stateManager.setCheckedState(col, row, '_vtable_rowSeries_number', false);\n setCellCheckboxStateByAttribute(col, row, false, table);\n } else {\n table.stateManager.setCheckedState(col, row, '_vtable_rowSeries_number', 'indeterminate');\n setCellCheckboxStateByAttribute(col, row, 'indeterminate', table);\n }\n}\n\n// update invisible children checkbox state(collapsed)\nfunction updateChildrenCheckboxState(state: boolean, currentIndex: number | number[], table: BaseTableAPI) {\n const { checkedState } = table.stateManager;\n const key = currentIndex.toString();\n const currentIndexLength = isArray(currentIndex) ? currentIndex.length : 1;\n let start = false;\n\n checkedState.forEach((value, index: string) => {\n if (start) {\n const indexData = index.split(',');\n if (indexData.length === currentIndexLength) {\n start = false;\n } else {\n value._vtable_rowSeries_number = state;\n }\n }\n if (index === key) {\n start = true;\n }\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/event/list-table/checkbox.ts"],"names":[],"mappings":"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","file":"checkbox.js","sourcesContent":["import { isArray, isNumber } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { setCellCheckboxStateByAttribute } from '../../state/checkbox/checkbox';\nimport { HierarchyState } from '../../ts-types';\n\nexport function bindGroupTitleCheckboxChange(table: BaseTableAPI) {\n table.on('checkbox_state_change', args => {\n if (table.internalProps.rowSeriesNumber?.enableTreeCheckbox !== true) {\n return;\n }\n\n const { col, row, checked } = args;\n const record = table.getCellOriginRecord(col, row);\n const indexedData = (table.dataSource as any).currentPagerIndexedData as (number | number[])[];\n const titleShowIndex = table.getRecordShowIndexByCell(col, row);\n let titleIndex = indexedData[titleShowIndex];\n if (isNumber(titleIndex)) {\n titleIndex = [titleIndex];\n }\n\n if (record.vtableMerge || record.children?.length) {\n // 1. group title\n if (checked) {\n // 1.1 group title check\n // 1.1.1 check all children\n if (table.getHierarchyState(col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(true, titleIndex, table);\n } else {\n setAllChildrenCheckboxState(true, titleShowIndex, titleIndex, indexedData, table);\n }\n // 1.1.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table);\n } else {\n // 1.2 group title uncheck\n // 1.2.1 uncheck all children\n if (table.getHierarchyState(col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(false, titleIndex, table);\n } else {\n setAllChildrenCheckboxState(false, titleShowIndex, titleIndex, indexedData, table);\n }\n // 1.2.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table);\n\n // 1.2.3 update header checkbox state\n const oldHeaderCheckedState = table.stateManager.headerCheckedState._vtable_rowSeries_number;\n const newHeaderCheckedState = table.stateManager.updateHeaderCheckedState('_vtable_rowSeries_number', col, row);\n if (oldHeaderCheckedState !== newHeaderCheckedState) {\n table.scenegraph.updateHeaderCheckboxCellState(col, row, newHeaderCheckedState);\n }\n }\n } else {\n // 2. group content, reset group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table);\n }\n });\n}\n\n// update visible children checkbox state\nfunction setAllChildrenCheckboxState(\n state: boolean,\n titleShowIndex: number,\n titleIndex: number[],\n indexedData: (number | number[])[],\n table: BaseTableAPI\n) {\n let i = titleShowIndex + 1;\n while (isArray(indexedData[i]) && (indexedData[i] as number[])?.length > titleIndex.length) {\n const row = table.columnHeaderLevelCount + i;\n table.stateManager.setCheckedState(0, row, '_vtable_rowSeries_number', state);\n setCellCheckboxStateByAttribute(0, row, state, table);\n i++;\n }\n}\n\nfunction updateGroupTitleCheckboxState(\n titleShowIndex: number,\n titleIndex: number[],\n indexedData: (number | number[])[],\n table: BaseTableAPI\n) {\n let parentLength = titleIndex.length - 1;\n if (parentLength > 0) {\n let i = titleShowIndex - 1;\n while (parentLength > 0 && i >= 0) {\n if (\n (isArray(indexedData[i]) && (indexedData[i] as number[])?.length === parentLength) ||\n (parentLength === 1 && isNumber(indexedData[i]))\n ) {\n const row = table.columnHeaderLevelCount + i;\n // check all children\n updateParentCheckboxState(0, row, indexedData[i], table);\n // table.stateManager.setCheckedState(0, row, '_vtable_rowSeries_number', 'indeterminate');\n // setCellCheckboxStateByAttribute(0, row, 'indeterminate', table);\n\n parentLength--;\n }\n i--;\n }\n }\n}\n\nfunction updateParentCheckboxState(col: number, row: number, currentIndex: number | number[], table: BaseTableAPI) {\n const { checkedState } = table.stateManager;\n const key = currentIndex.toString();\n const currentIndexLength = isArray(currentIndex) ? currentIndex.length : 1;\n let start = false;\n const result: (boolean | string)[] = [];\n\n const keys = Array.from(checkedState.keys()).sort((a: string, b: string) => {\n // number or number[]\n const aArr = (a as string).split(',');\n const bArr = (b as string).split(',');\n const maxLength = Math.max(aArr.length, bArr.length);\n\n // judge from first to last\n for (let i = 0; i < maxLength; i++) {\n const a = Number(aArr[i]) ?? 0;\n const b = Number(bArr[i]) ?? 0;\n if (a !== b) {\n return a - b;\n }\n }\n return 0;\n });\n const stateArr = keys.map(key => checkedState.get(key));\n\n stateArr.forEach((state, i) => {\n const index = keys[i] as string;\n const value = state;\n if (start) {\n const indexData = index.split(',');\n if (indexData.length === currentIndexLength) {\n start = false;\n } else {\n result.push(value._vtable_rowSeries_number);\n }\n }\n if (index === key) {\n start = true;\n }\n });\n\n if (result.length === 0) {\n return;\n }\n\n const allChecked = result.every(item => !!item);\n const allUnChecked = result.every(item => !item);\n\n if (allChecked) {\n table.stateManager.setCheckedState(col, row, '_vtable_rowSeries_number', true);\n setCellCheckboxStateByAttribute(col, row, true, table);\n } else if (allUnChecked) {\n table.stateManager.setCheckedState(col, row, '_vtable_rowSeries_number', false);\n setCellCheckboxStateByAttribute(col, row, false, table);\n } else {\n table.stateManager.setCheckedState(col, row, '_vtable_rowSeries_number', 'indeterminate');\n setCellCheckboxStateByAttribute(col, row, 'indeterminate', table);\n }\n}\n\n// update invisible children checkbox state(collapsed)\nfunction updateChildrenCheckboxState(state: boolean, currentIndex: number | number[], table: BaseTableAPI) {\n const { checkedState } = table.stateManager;\n const key = currentIndex.toString();\n const currentIndexLength = isArray(currentIndex) ? currentIndex.length : 1;\n let start = false;\n\n checkedState.forEach((value, index: string) => {\n if (start) {\n const indexData = index.split(',');\n if (indexData.length === currentIndexLength) {\n start = false;\n } else {\n value._vtable_rowSeries_number = state;\n }\n }\n if (index === key) {\n start = true;\n }\n });\n}\n"]}
package/es/index.d.ts CHANGED
@@ -20,7 +20,7 @@ export { getDataCellPath } from './tools/get-data-path';
20
20
  export * from './render/jsx';
21
21
  export { getTargetCell } from './event/util';
22
22
  export { Icon } from './scenegraph/graphic/icon';
23
- export declare const version = "1.17.1-alpha.2";
23
+ export declare const version = "1.17.1-alpha.4";
24
24
  export { TYPES, core, ListTable, ListTableSimple, ListTableConstructorOptions, PivotTable, PivotTableSimple, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText };
25
25
  declare function getIcons(): {
26
26
  [key: string]: TYPES.ColumnIconOption;
package/es/index.js CHANGED
@@ -42,7 +42,7 @@ export { getTargetCell } from "./event/util";
42
42
 
43
43
  export { Icon } from "./scenegraph/graphic/icon";
44
44
 
45
- export const version = "1.17.1-alpha.2";
45
+ export const version = "1.17.1-alpha.4";
46
46
 
47
47
  export { TYPES, core, ListTable, ListTableSimple, PivotTable, PivotTableSimple, PivotChart, themes, data, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText };
48
48
 
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,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,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;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKjD,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAIxC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAEf,UAAU,EACV,gBAAgB,EAGhB,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,EAGnB,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;AAEtB,cAAc,cAAc,CAAC;AAC7B,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,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 { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\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';\nexport { getTargetCell } from './event/util';\n\nexport { Icon } from './scenegraph/graphic/icon';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.17.1-alpha.2\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\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 // VRender // should use import {xxx} from '@visactor/vtable/es/vrender'\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\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\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,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,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;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKjD,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAIxC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAEf,UAAU,EACV,gBAAgB,EAGhB,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,EAGnB,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;AAEtB,cAAc,cAAc,CAAC;AAC7B,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,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 { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\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';\nexport { getTargetCell } from './event/util';\n\nexport { Icon } from './scenegraph/graphic/icon';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.17.1-alpha.4\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\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 // VRender // should use import {xxx} from '@visactor/vtable/es/vrender'\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\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\n"]}
@@ -892,7 +892,7 @@ export class Scenegraph {
892
892
  updateReactContainer(this.table);
893
893
  }
894
894
  setLoadingHierarchyState(col, row) {
895
- const cellGroup = this.getCell(col, row), iconGraphic = cellGroup.getChildByName("collapse", !0) || cellGroup.getChildByName("expand", !0);
895
+ const iconGraphic = this.getCell(col, row).getChildByName("collapse", !0);
896
896
  if (iconGraphic) {
897
897
  const loadingIcon = registerIcons.get()[InternalIconName.loadingIconName];
898
898
  loadingIcon && dealWithIcon(loadingIcon, iconGraphic, col, row);