@visactor/vtable 1.19.4 → 1.19.6

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 (109) hide show
  1. package/cjs/ListTable.d.ts +0 -4
  2. package/cjs/ListTable.js +0 -10
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.js +4 -2
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/PivotTable.d.ts +0 -8
  7. package/cjs/PivotTable.js +0 -28
  8. package/cjs/PivotTable.js.map +1 -1
  9. package/cjs/core/BaseTable.js +5 -3
  10. package/cjs/core/BaseTable.js.map +1 -1
  11. package/cjs/core/record-helper.js +115 -11
  12. package/cjs/core/record-helper.js.map +1 -1
  13. package/cjs/data/CachedDataSource.d.ts +1 -1
  14. package/cjs/data/CachedDataSource.js +5 -5
  15. package/cjs/data/CachedDataSource.js.map +1 -1
  16. package/cjs/event/listener/table-group.js +1 -1
  17. package/cjs/event/listener/table-group.js.map +1 -1
  18. package/cjs/event/self-event-listener/list-table/checkbox.js +1 -1
  19. package/cjs/event/self-event-listener/list-table/checkbox.js.map +1 -1
  20. package/cjs/index.d.ts +1 -1
  21. package/cjs/index.js +1 -1
  22. package/cjs/index.js.map +1 -1
  23. package/cjs/layout/index.js +1 -2
  24. package/cjs/layout/pivot-header-layout.js +1 -1
  25. package/cjs/layout/pivot-layout.js +0 -2
  26. package/cjs/layout/row-height-map.js +1 -1
  27. package/cjs/layout/simple-header-layout.js +1 -1
  28. package/cjs/layout/tree-helper.js +1 -1
  29. package/cjs/plugins/custom-cell-style.js +2 -1
  30. package/cjs/plugins/index.js +1 -1
  31. package/cjs/plugins/interface.js +1 -1
  32. package/cjs/plugins/invert-highlight.js +1 -1
  33. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  34. package/cjs/plugins/plugin-manager.js +1 -1
  35. package/cjs/scenegraph/graphic/chart.js +1 -1
  36. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  37. package/cjs/scenegraph/icon/icon-update.js +1 -1
  38. package/cjs/scenegraph/icon/icon-update.js.map +1 -1
  39. package/cjs/scenegraph/layout/compute-col-width.js +47 -2
  40. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  41. package/cjs/scenegraph/layout/update-height.js +1 -1
  42. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  43. package/cjs/scenegraph/scenegraph.js +1 -1
  44. package/cjs/scenegraph/scenegraph.js.map +1 -1
  45. package/cjs/scenegraph/utils/text-icon-layout.js +1 -0
  46. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  47. package/cjs/state/checkbox/checkbox.js +2 -1
  48. package/cjs/state/checkbox/checkbox.js.map +1 -1
  49. package/cjs/ts-types/base-table.d.ts +11 -0
  50. package/cjs/ts-types/base-table.js.map +1 -1
  51. package/cjs/ts-types/table-engine.d.ts +21 -14
  52. package/cjs/ts-types/table-engine.js.map +1 -1
  53. package/cjs/vrender.js.map +1 -1
  54. package/dist/vtable.js +270 -87
  55. package/dist/vtable.min.js +2 -2
  56. package/es/ListTable.d.ts +0 -4
  57. package/es/ListTable.js +0 -10
  58. package/es/ListTable.js.map +1 -1
  59. package/es/PivotChart.js +4 -2
  60. package/es/PivotChart.js.map +1 -1
  61. package/es/PivotTable.d.ts +0 -8
  62. package/es/PivotTable.js +0 -28
  63. package/es/PivotTable.js.map +1 -1
  64. package/es/core/BaseTable.js +5 -3
  65. package/es/core/BaseTable.js.map +1 -1
  66. package/es/core/record-helper.js +114 -8
  67. package/es/core/record-helper.js.map +1 -1
  68. package/es/data/CachedDataSource.d.ts +1 -1
  69. package/es/data/CachedDataSource.js +5 -5
  70. package/es/data/CachedDataSource.js.map +1 -1
  71. package/es/event/listener/table-group.js +1 -1
  72. package/es/event/listener/table-group.js.map +1 -1
  73. package/es/event/self-event-listener/list-table/checkbox.js +1 -1
  74. package/es/event/self-event-listener/list-table/checkbox.js.map +1 -1
  75. package/es/index.d.ts +1 -1
  76. package/es/index.js +1 -1
  77. package/es/index.js.map +1 -1
  78. package/es/layout/index.js +1 -2
  79. package/es/layout/pivot-header-layout.js +1 -1
  80. package/es/layout/pivot-layout.js +0 -2
  81. package/es/layout/row-height-map.js +1 -1
  82. package/es/layout/simple-header-layout.js +1 -1
  83. package/es/layout/tree-helper.js +1 -1
  84. package/es/plugins/custom-cell-style.js +2 -1
  85. package/es/plugins/index.js +1 -1
  86. package/es/plugins/interface.js +1 -1
  87. package/es/plugins/invert-highlight.js +1 -1
  88. package/es/plugins/list-tree-stick-cell.js +1 -1
  89. package/es/plugins/plugin-manager.js +1 -1
  90. package/es/scenegraph/graphic/chart.js +1 -1
  91. package/es/scenegraph/graphic/chart.js.map +1 -1
  92. package/es/scenegraph/icon/icon-update.js +1 -1
  93. package/es/scenegraph/icon/icon-update.js.map +1 -1
  94. package/es/scenegraph/layout/compute-col-width.js +47 -2
  95. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  96. package/es/scenegraph/layout/update-height.js +1 -1
  97. package/es/scenegraph/layout/update-height.js.map +1 -1
  98. package/es/scenegraph/scenegraph.js +1 -1
  99. package/es/scenegraph/scenegraph.js.map +1 -1
  100. package/es/scenegraph/utils/text-icon-layout.js +1 -0
  101. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  102. package/es/state/checkbox/checkbox.js +2 -1
  103. package/es/state/checkbox/checkbox.js.map +1 -1
  104. package/es/ts-types/base-table.d.ts +11 -0
  105. package/es/ts-types/base-table.js.map +1 -1
  106. package/es/ts-types/table-engine.d.ts +21 -14
  107. package/es/ts-types/table-engine.js.map +1 -1
  108. package/es/vrender.js.map +1 -1
  109. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/self-event-listener/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 type { ListTableAPI } from '../../../ts-types';\nimport { HierarchyState } from '../../../ts-types';\nimport type { CachedDataSource } from '../../../data';\n\nexport function bindGroupTitleCheckboxChange(table: BaseTableAPI) {\n table.on('checkbox_state_change', args => {\n const { col, row, checked, field } = args;\n\n if (!table.internalProps.layoutMap.isSeriesNumber(col, row) || table.internalProps.enableCheckboxCascade !== true) {\n return;\n }\n\n if (table.isHeader(col, row)) {\n return;\n }\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 (getHierarchyState(table, col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(true, titleIndex, table, field as string);\n } else {\n setAllChildrenCheckboxState(true, titleShowIndex, titleIndex, indexedData, table, col);\n }\n // 1.1.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table, col);\n } else {\n // 1.2 group title uncheck\n // 1.2.1 uncheck all children\n if (getHierarchyState(table, col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(false, titleIndex, table, field as string);\n } else {\n setAllChildrenCheckboxState(false, titleShowIndex, titleIndex, indexedData, table, col);\n }\n // 1.2.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table, col);\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, col);\n }\n });\n}\n\n// 在cellType: 'checkbox'与tree: true同时配置时,开启enableTreeCheckbox\nexport function bindGroupCheckboxTreeChange(table: ListTableAPI) {\n if (table.internalProps.enableCheckboxCascade !== true) {\n return;\n }\n table.on('checkbox_state_change', args => {\n const { col, row, checked, field } = args;\n\n const isCheckboxAndTree = table.internalProps.columns.some(column => column.tree);\n table.internalProps.enableCheckboxCascade && field !== '_vtable_rowSeries_number';\n\n if (!isCheckboxAndTree) {\n return;\n }\n if (table.isHeader(col, row)) {\n return;\n }\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 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 (getHierarchyState(table, col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(true, titleIndex, table, field as string);\n } else {\n setAllChildrenCheckboxState(true, titleShowIndex, titleIndex, indexedData, table, col, field as string);\n }\n // 1.1.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table, col, field as string);\n } else {\n // 1.2 group title uncheck\n // 1.2.1 uncheck all children\n if (getHierarchyState(table, col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(false, titleIndex, table, field as string);\n } else {\n setAllChildrenCheckboxState(false, titleShowIndex, titleIndex, indexedData, table, col, field as string);\n }\n // 1.2.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table, col, field as string);\n // 1.2.3 update header checkbox state\n const oldHeaderCheckedState = table.stateManager.headerCheckedState._vtable_rowSeries_number;\n const newHeaderCheckedState = table.stateManager.updateHeaderCheckedState(field as string, 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, col, field as string);\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 col: number,\n field?: string\n) {\n const fieldName = field || '_vtable_rowSeries_number';\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(col, row, fieldName, state);\n setCellCheckboxStateByAttribute(col, row, state, table);\n i++;\n }\n}\n\nfunction updateGroupTitleCheckboxState(\n titleShowIndex: number,\n titleIndex: number[],\n indexedData: (number | number[])[],\n table: BaseTableAPI,\n col: number,\n field?: string\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(col, row, indexedData[i], table, field);\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(\n col: number,\n row: number,\n currentIndex: number | number[],\n table: BaseTableAPI,\n field?: string\n) {\n const { checkedState } = table.stateManager;\n const key = currentIndex.toString();\n const fieldName = field || '_vtable_rowSeries_number';\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 // currentIndex的子元素\n const childOfCurrentIndex = (keys as string[]).filter(item => item.startsWith(key + ',') && item !== key);\n\n stateArr.forEach((state, i) => {\n const index = keys[i] as string;\n const value = state;\n const isChildOfCurrentIndex = childOfCurrentIndex.includes(index);\n\n if (start) {\n if (!isChildOfCurrentIndex) {\n start = false;\n } else {\n result.push(value[fieldName]);\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, fieldName, true);\n setCellCheckboxStateByAttribute(col, row, true, table);\n } else if (allUnChecked) {\n table.stateManager.setCheckedState(col, row, fieldName, false);\n setCellCheckboxStateByAttribute(col, row, false, table);\n } else {\n table.stateManager.setCheckedState(col, row, fieldName, 'indeterminate');\n setCellCheckboxStateByAttribute(col, row, 'indeterminate', table);\n }\n}\n\n// update invisible children checkbox state(collapsed)\nfunction updateChildrenCheckboxState(\n parentState: boolean,\n currentIndex: number | number[],\n table: BaseTableAPI,\n field: string\n) {\n const { checkedState } = table.stateManager;\n const key = currentIndex.toString();\n const currentIndexLength = isArray(currentIndex) ? currentIndex.length : 1;\n let start = false;\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\n // 当前元素的子元素数组\n const childrenOfKey = (keys as string[]).filter(item => item.startsWith(key + ',') && item !== key);\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 const shouldSelectChildren = childrenOfKey.length !== 0 && childrenOfKey.includes(index);\n\n if (start) {\n if (!shouldSelectChildren) {\n start = false;\n } else {\n value[field] = parentState;\n }\n }\n if (index === key) {\n start = true;\n }\n });\n}\n\nexport function bindHeaderCheckboxChange(table: BaseTableAPI) {\n if (table.internalProps.enableCheckboxCascade !== true) {\n return;\n }\n table.on('checkbox_state_change', args => {\n const { col, row, checked, field } = args;\n if (table.isHeader(col, row)) {\n //点击的表头部分的checkbox 需要同时处理表头和body单元格的状态\n table.stateManager.setHeaderCheckedState(field as string | number, checked);\n const cellType = table.getCellType(col, row);\n if (cellType === 'checkbox') {\n table.scenegraph.updateCheckboxCellState(col, row, checked);\n }\n } else {\n //点击的是body单元格的checkbox 处理本单元格的状态维护 同时需要检查表头是否改变状态\n table.stateManager.setCheckedState(col, row, field as string | number, checked);\n const cellType = table.getCellType(col, row);\n if (cellType === 'checkbox') {\n const oldHeaderCheckedState = table.stateManager.headerCheckedState[field as string | number];\n const newHeaderCheckedState = table.stateManager.updateHeaderCheckedState(field as string | number, col, row);\n if (oldHeaderCheckedState !== newHeaderCheckedState) {\n table.scenegraph.updateHeaderCheckboxCellState(col, row, newHeaderCheckedState);\n }\n }\n }\n });\n}\n\n// get hierarchy state by row\nfunction getHierarchyState(table: BaseTableAPI, col: number, row: number) {\n const index = table.getRecordShowIndexByCell(col, row);\n return (table.dataSource as CachedDataSource).getHierarchyState(index);\n}\n"]}
1
+ {"version":3,"sources":["../src/event/self-event-listener/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 type { ListTableAPI } from '../../../ts-types';\nimport { HierarchyState } from '../../../ts-types';\nimport type { CachedDataSource } from '../../../data';\n\nexport function bindGroupTitleCheckboxChange(table: BaseTableAPI) {\n table.on('checkbox_state_change', args => {\n const { col, row, checked, field } = args;\n\n if (!table.internalProps.layoutMap.isSeriesNumber(col, row) || table.internalProps.enableCheckboxCascade !== true) {\n return;\n }\n\n if (table.isHeader(col, row)) {\n return;\n }\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 (getHierarchyState(table, col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(true, titleIndex, table, field as string);\n } else {\n setAllChildrenCheckboxState(true, titleShowIndex, titleIndex, indexedData, table, col);\n }\n // 1.1.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table, col);\n } else {\n // 1.2 group title uncheck\n // 1.2.1 uncheck all children\n if (getHierarchyState(table, col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(false, titleIndex, table, field as string);\n } else {\n setAllChildrenCheckboxState(false, titleShowIndex, titleIndex, indexedData, table, col);\n }\n // 1.2.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table, col);\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, col);\n }\n });\n}\n\n// 在cellType: 'checkbox'与tree: true同时配置时,开启enableTreeCheckbox\nexport function bindGroupCheckboxTreeChange(table: ListTableAPI) {\n if (table.internalProps.enableCheckboxCascade !== true) {\n return;\n }\n table.on('checkbox_state_change', args => {\n const { col, row, checked, field } = args;\n\n const isCheckboxAndTree = table.internalProps.columns.some(column => column.tree);\n table.internalProps.enableCheckboxCascade && field !== '_vtable_rowSeries_number';\n\n if (!isCheckboxAndTree) {\n return;\n }\n if (table.isHeader(col, row)) {\n return;\n }\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 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 (getHierarchyState(table, col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(true, titleIndex, table, field as string);\n } else {\n setAllChildrenCheckboxState(true, titleShowIndex, titleIndex, indexedData, table, col, field as string);\n }\n // 1.1.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table, col, field as string);\n } else {\n // 1.2 group title uncheck\n // 1.2.1 uncheck all children\n if (getHierarchyState(table, col, row) === HierarchyState.collapse) {\n updateChildrenCheckboxState(false, titleIndex, table, field as string);\n } else {\n setAllChildrenCheckboxState(false, titleShowIndex, titleIndex, indexedData, table, col, field as string);\n }\n // 1.2.2 update group title state\n updateGroupTitleCheckboxState(titleShowIndex, titleIndex, indexedData, table, col, field as string);\n // 1.2.3 update header checkbox state\n const oldHeaderCheckedState = table.stateManager.headerCheckedState._vtable_rowSeries_number;\n const newHeaderCheckedState = table.stateManager.updateHeaderCheckedState(field as string, 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, col, field as string);\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 col: number,\n field?: string\n) {\n const fieldName = field || '_vtable_rowSeries_number';\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(col, row, fieldName, state);\n setCellCheckboxStateByAttribute(col, row, state, table);\n i++;\n }\n}\n\nfunction updateGroupTitleCheckboxState(\n titleShowIndex: number,\n titleIndex: number[],\n indexedData: (number | number[])[],\n table: BaseTableAPI,\n col: number,\n field?: string\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(col, row, indexedData[i], table, field);\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(\n col: number,\n row: number,\n currentIndex: number | number[],\n table: BaseTableAPI,\n field?: string\n) {\n const { checkedState } = table.stateManager;\n const key = currentIndex.toString();\n const fieldName = field || '_vtable_rowSeries_number';\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 // currentIndex的子元素\n const childOfCurrentIndex = (keys as string[]).filter(item => item.startsWith(key + ',') && item !== key);\n\n stateArr.forEach((state, i) => {\n const index = keys[i] as string;\n const value = state;\n const isChildOfCurrentIndex = childOfCurrentIndex.includes(index);\n\n if (start) {\n if (!isChildOfCurrentIndex) {\n start = false;\n } else {\n result.push(value[fieldName]);\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, fieldName, true);\n setCellCheckboxStateByAttribute(col, row, true, table);\n } else if (allUnChecked) {\n table.stateManager.setCheckedState(col, row, fieldName, false);\n setCellCheckboxStateByAttribute(col, row, false, table);\n } else {\n table.stateManager.setCheckedState(col, row, fieldName, 'indeterminate');\n setCellCheckboxStateByAttribute(col, row, 'indeterminate', table);\n }\n}\n\n// update invisible children checkbox state(collapsed)\nfunction updateChildrenCheckboxState(\n parentState: boolean,\n currentIndex: number | number[],\n table: BaseTableAPI,\n field: string\n) {\n const { checkedState } = table.stateManager;\n const key = currentIndex.toString();\n const currentIndexLength = isArray(currentIndex) ? currentIndex.length : 1;\n let start = false;\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\n // 当前元素的子元素数组\n const childrenOfKey = (keys as string[]).filter(item => item.startsWith(key + ',') && item !== key);\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 const shouldSelectChildren = childrenOfKey.length !== 0 && childrenOfKey.includes(index);\n\n if (start) {\n if (!shouldSelectChildren) {\n start = false;\n } else {\n value[field] = parentState;\n }\n }\n if (index === key) {\n start = true;\n }\n });\n}\n\nexport function bindHeaderCheckboxChange(table: BaseTableAPI) {\n if (table.internalProps.enableHeaderCheckboxCascade !== true) {\n return;\n }\n table.on('checkbox_state_change', args => {\n const { col, row, checked, field } = args;\n if (table.isHeader(col, row)) {\n //点击的表头部分的checkbox 需要同时处理表头和body单元格的状态\n table.stateManager.setHeaderCheckedState(field as string | number, checked);\n const cellType = table.getCellType(col, row);\n if (cellType === 'checkbox') {\n table.scenegraph.updateCheckboxCellState(col, row, checked);\n }\n } else {\n //点击的是body单元格的checkbox 处理本单元格的状态维护 同时需要检查表头是否改变状态\n table.stateManager.setCheckedState(col, row, field as string | number, checked);\n const cellType = table.getCellType(col, row);\n if (cellType === 'checkbox') {\n const oldHeaderCheckedState = table.stateManager.headerCheckedState[field as string | number];\n const newHeaderCheckedState = table.stateManager.updateHeaderCheckedState(field as string | number, col, row);\n if (oldHeaderCheckedState !== newHeaderCheckedState) {\n table.scenegraph.updateHeaderCheckboxCellState(col, row, newHeaderCheckedState);\n }\n }\n }\n });\n}\n\n// get hierarchy state by row\nfunction getHierarchyState(table: BaseTableAPI, col: number, row: number) {\n const index = table.getRecordShowIndexByCell(col, row);\n return (table.dataSource as CachedDataSource).getHierarchyState(index);\n}\n"]}
package/es/index.d.ts CHANGED
@@ -23,7 +23,7 @@ export * from './render/jsx';
23
23
  export { getTargetCell } from './event/util';
24
24
  export { toBoxArray } from './tools/helper';
25
25
  export { Icon } from './scenegraph/graphic/icon';
26
- export declare const version = "1.19.4";
26
+ export declare const version = "1.19.6";
27
27
  export { TYPES, core, ListTable, ListTableSimple, BaseTableAPI, ListTableConstructorOptions, PivotTable, PivotTableSimple, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, textMeasure, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText, plugins };
28
28
  declare function getIcons(): {
29
29
  [key: string]: TYPES.ColumnIconOption;
package/es/index.js CHANGED
@@ -46,7 +46,7 @@ export { toBoxArray } from "./tools/helper";
46
46
 
47
47
  export { Icon } from "./scenegraph/graphic/icon";
48
48
 
49
- export const version = "1.19.4";
49
+ export const version = "1.19.6";
50
50
 
51
51
  export { TYPES, core, ListTable, ListTableSimple, PivotTable, PivotTableSimple, PivotChart, textMeasure, themes, data, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText, plugins };
52
52
 
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;AAC3D,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAsBrC,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,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAM5G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKjD,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAIhC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAGf,UAAU,EACV,gBAAgB,EAGhB,UAAU,EAiBV,WAAW,EACX,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAClB,OAAO,EAER,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 * as plugins from './plugins';\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, textMeasure } from './scenegraph/utils/text-measure';\nimport type { BaseTableAPI } from './ts-types/base-table';\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';\nexport { toBoxArray } from './tools/helper';\nexport { Icon } from './scenegraph/graphic/icon';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.19.4\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n BaseTableAPI,\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 textMeasure,\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 plugins\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;AAC3D,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAsBrC,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,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAM5G,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKjD,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAIhC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAGf,UAAU,EACV,gBAAgB,EAGhB,UAAU,EAiBV,WAAW,EACX,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAClB,OAAO,EAER,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 * as plugins from './plugins';\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, textMeasure } from './scenegraph/utils/text-measure';\nimport type { BaseTableAPI } from './ts-types/base-table';\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';\nexport { toBoxArray } from './tools/helper';\nexport { Icon } from './scenegraph/graphic/icon';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.19.6\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n BaseTableAPI,\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 textMeasure,\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 plugins\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,2 +1 @@
1
- export { SimpleHeaderLayoutMap } from "./simple-header-layout";
2
- //# sourceMappingURL=index.js.map
1
+ export { SimpleHeaderLayoutMap } from "./simple-header-layout";
@@ -1917,4 +1917,4 @@ function bandSpace(count, paddingInner, paddingOuter) {
1917
1917
  return space = 1 === count ? count + 2 * paddingOuter : count - paddingInner + 2 * paddingOuter,
1918
1918
  count ? space > 0 ? space : 1 : 0;
1919
1919
  }
1920
- //# sourceMappingURL=pivot-header-layout.js.map
1920
+ //# sourceMappingURL=pivot-header-layout.js.map
@@ -1,3 +1 @@
1
-
2
-
3
1
  //# sourceMappingURL=pivot-layout.js.map
@@ -172,4 +172,4 @@ function indexFirst(arr, elm) {
172
172
  }
173
173
  return high < 0 ? 0 : high;
174
174
  }
175
- //# sourceMappingURL=row-height-map.js.map
175
+ //# sourceMappingURL=row-height-map.js.map
@@ -801,4 +801,4 @@ export class SimpleHeaderLayoutMap {
801
801
  if (col >= 0) return col < this.leftRowSeriesNumberColumnCount ? this.leftRowSeriesNumberColumn[col].define : this.transpose ? this._columns[row].define : this._columns[col - this.leftRowSeriesNumberColumnCount].define;
802
802
  }
803
803
  }
804
- //# sourceMappingURL=simple-header-layout.js.map
804
+ //# sourceMappingURL=simple-header-layout.js.map
@@ -407,4 +407,4 @@ export function deleteTreeHideNode(tree_children, dimensionPath, indicators, has
407
407
  dimensionPath.pop();
408
408
  }
409
409
  }
410
- //# sourceMappingURL=tree-helper.js.map
410
+ //# sourceMappingURL=tree-helper.js.map
@@ -103,4 +103,5 @@ export function mergeStyle(cacheStyle, customCellStyle) {
103
103
 
104
104
  export const registerCustomCellStylePlugin = () => {
105
105
  Factory.registerComponent("customCellStylePlugin", CustomCellStylePlugin);
106
- };
106
+ };
107
+ //# sourceMappingURL=custom-cell-style.js.map
@@ -1,4 +1,4 @@
1
1
  export { PluginManager } from "./plugin-manager";
2
2
 
3
3
  export { CustomCellStylePlugin } from "./custom-cell-style";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -11,4 +11,4 @@ export function onBeforeAttributeUpdateForInvertHighlight(val, attribute) {
11
11
  });
12
12
  }
13
13
  }
14
- //# sourceMappingURL=invert-highlight.js.map
14
+ //# sourceMappingURL=invert-highlight.js.map
@@ -175,4 +175,4 @@ function scrollToRow(row, table) {
175
175
  export const registerListTreeStickCellPlugin = () => {
176
176
  Factory.registerComponent("listTreeStickCellPlugin", ListTreeStickCellPlugin);
177
177
  };
178
- //# sourceMappingURL=list-tree-stick-cell.js.map
178
+ //# sourceMappingURL=list-tree-stick-cell.js.map
@@ -44,4 +44,4 @@ export class PluginManager {
44
44
  }));
45
45
  }
46
46
  }
47
- //# sourceMappingURL=plugin-manager.js.map
47
+ //# sourceMappingURL=plugin-manager.js.map
@@ -66,7 +66,7 @@ export class Chart extends Rect {
66
66
  renderHooks: {
67
67
  afterClearRect(drawParams) {
68
68
  const {context: context, layer: layer, viewBox: viewBox} = drawParams;
69
- layer.main && drawParams.clear && (context.beginPath(), context.fillStyle = hoverColor,
69
+ layer.main && drawParams.clear && hoverColor && (context.beginPath(), context.fillStyle = hoverColor,
70
70
  context.rect(viewBox.x1, viewBox.y1, viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1),
71
71
  context.fill());
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/graphic/chart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAyBpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;AAEjD,MAAM,OAAO,KAAM,SAAQ,IAAI;IAQ7B,YAAY,gBAAyB,EAAE,MAA8B;QACnE,KAAK,CAAC,MAAM,CAAC,CAAC;QARhB,SAAI,GAAgB,OAAc,CAAC;QASjC,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YACzB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,SAAS,CAC9D,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;gBACzC,YAAY,EAAE,MAAM,CAAC,MAAM;gBAC3B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB;gBACjE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;gBACrC,eAAe,EAAE,KAAK;gBACtB,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;gBACvC,GAAG,EAAE,MAAM,CAAC,GAAG;gBASf,WAAW,EAAE,KAAK;gBAClB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,KAAK;aACf,CAAC,CACH,CAAC,CAAC;YACH,aAAa,CAAC,UAAU,EAAE,CAAC;YAC3B,aAAa,CAAC,QAAQ,EAAE,CAAC,iBAAiB,EAAE,CAAC;YAC7C,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;SAC3D;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;SAC3C;IAMH,CAAC;IAWD,QAAQ,CAAC,KAAmB;;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAIzD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7C,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;YACrC,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU;YACzB,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU;YACzB,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS;YACxB,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,MAAA,IAAI,CAAC,mBAAmB,0CAAE,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CACrD,IAAI,CAAC,SAAS,CAAC,IAAI,EACnB,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAEzC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YACnC,IAAI,EAAE,iBAAiB;YACvB,eAAe,EAAE,KAAK;YAOtB,OAAO,EAAE;gBACP,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,EAAE,GAAG,EAAE;gBACX,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,EAAE,GAAG,EAAE;aACZ;YACD,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU;YACnC,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,CAAC,UAAiB,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;gBAGjB,GAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,GAAG,CAAC,YAAY,CACd,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,EACb,IAAI,CACL,CAAC;gBACF,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBACjC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC/F,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,GAAG,CAAC,WAAW,EAAE,CAAC;gBAElB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAE,UAAkB,CAAC,UAAU,EAAE;oBAG3D,UAAU,CAAC,WAAW,EAAE,CAAC;oBACzB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAChE,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;iBACpC;YACH,CAAC;YACD,WAAW,CAAC,KAAU;gBACpB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;gBAElB,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;gBACzB,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,CAAC;YACD,WAAW,EAAE;gBACX,cAAc,CAAC,UAAe;oBAC5B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;oBAC/C,IAAI,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;wBAClC,OAAO,CAAC,SAAS,EAAE,CAAC;wBACpB,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC;wBAC/B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;wBACvF,OAAO,CAAC,IAAI,EAAE,CAAC;qBAChB;gBACH,CAAC;aACF;SACF,CAAC,CACH,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAGvD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC5D,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1G,UAAU,CAAC,MAAM,CAAC,mBAAmB;YACnC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAGpG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;QAEtC,MAAA,MAAC,KAAK,CAAC,aAAa,CAAC,SAAiB,0CAAE,oCAAoC,mDAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAW,EAAE,EAAE;;YACnD,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,MAAK,KAAK,EAAE;gBAChD,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;aACzC;iBAAM,IAAI,KAAK,CAAC,IAAI,EAAE;gBACrB,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC;aAClD;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,MAAW,EAAE,EAAE;;YACtD,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,WAAW,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACf,UAAU,CAAC,GAAG,EAAE;gBACd,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QACH,MAAA,MAAC,KAAoB,EAAC,eAAe,mDAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpE,CAAC;IAMD,UAAU;;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAGpB,MAAA,IAAI,CAAC,mBAAmB,0CAAE,aAAa,CACrC;YACE,EAAE,EAAE,CAAC,IAAI;YACT,EAAE,EAAE,CAAC,GAAG;YACR,EAAE,EAAE,CAAC,IAAI;YACT,EAAE,EAAE,CAAC,GAAG;SACT,EACD,KAAK,EACL,KAAK,CACN,CAAC;QACF,MAAA,IAAI,CAAC,mBAAmB,0CAAE,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,IAAS;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,UAAU;;QAMR,MAAM,SAAS,GAAG,IAAI,CAAC,MAAe,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAC3C,MAAM,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,KAAqB,CAAC;QAExD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,gBAAgB,CAAC;QAEtD,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,0CAAE,EAAE,mCAAI,CAAC,CAAC,CAAC;YACpF,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,0CAAE,EAAE,mCAAI,CAAC,CAAC,CAAC;YAChH,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,0CAAE,EAAE,mCAAI,CAAC,CAAC,CAAC;YACnF,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,0CAAE,EAAE,mCAAI,CAAC,CAAC,CAAC;SACjH,CAAC;IACJ,CAAC;;AA7CM,UAAI,GAAW,CAAC,CAAC;AAgD1B,SAAS,cAAc,CAAC,GAAW,EAAE,GAAW,EAAE,KAAmB;;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,MAAM,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAChE,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IAC7B,IACE,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC;QACtC,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;QACpC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC;QACnC,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC;KAED;SAAM,IAAI,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAE7C,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC3D,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,yBAAyB,EAAE,CAAC;KAClE;SAAM,IAAI,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAE1C,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC1D,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,uBAAuB,EAAE,CAAC;KAChE;SAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAElD,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC3D,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,yBAAyB,EAAE,CAAC;KAClE;SAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAEhD,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC1D,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,uBAAuB,EAAE,CAAC;KAChE;SAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAE1F,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC1D,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,uBAAuB,EAAE,CAAC;QAC/D,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC3D,SAAS,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,yBAAyB,EAAE,CAAC;KAClE;IAED,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,0CAAE,EAAE,mCAAI,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,0CAAE,EAAE,mCAAI,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,0CAAE,EAAE,mCAAI,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,0CAAE,EAAE,mCAAI,CAAC,CAAC,CAAC;IAE/D,OAAO,SAAS,CAAC;AACnB,CAAC","file":"chart.js","sourcesContent":["import type { GraphicType, IGroupGraphicAttribute, Stage, Group } from './../../vrender';\nimport { genNumberType, Rect } from './../../vrender';\nimport { Bounds, merge } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { PivotChart } from '../../PivotChart';\nimport { getCellHoverColor } from '../../state/hover/is-cell-hover';\n\ninterface IChartGraphicAttribute extends IGroupGraphicAttribute {\n canvas: HTMLCanvasElement;\n dataId: string | Record<string, string>; //如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> <dataId, series-chart的指标key用于过滤数据>\n data: any;\n spec: any;\n axes: any;\n ClassType: any;\n chartInstance: any;\n cellPadding: number[];\n mode: string;\n modeParams: any;\n dpr: number;\n // viewBox: {\n // x1: number;\n // y1: number;\n // x2: number;\n // y2: number;\n // };\n tableChartOption: any;\n col?: number;\n row?: number;\n}\n\nexport const CHART_NUMBER_TYPE = genNumberType();\n\nexport class Chart extends Rect {\n type: GraphicType = 'chart' as any;\n declare attribute: IChartGraphicAttribute;\n chartInstance: any;\n activeChartInstance: any;\n active: boolean;\n cacheCanvas: HTMLCanvasElement | { x: number; y: number; width: number; height: number; canvas: HTMLCanvasElement }[]; // HTMLCanvasElement\n isShareChartSpec: boolean; //针对chartSpec用户配置成函数形式的话 就不需要存储chartInstance了 会太占内存,使用这个变量 当渲染出缓存图表会就删除chartInstance实例\n constructor(isShareChartSpec: boolean, params: IChartGraphicAttribute) {\n super(params);\n this.numberType = CHART_NUMBER_TYPE;\n this.isShareChartSpec = isShareChartSpec;\n // 创建chart\n if (!params.chartInstance) {\n const chartInstance = (this.chartInstance = new params.ClassType(\n params.spec,\n merge({}, this.attribute.tableChartOption, {\n renderCanvas: params.canvas,\n mode: this.attribute.mode === 'node' ? 'node' : 'desktop-browser',\n modeParams: this.attribute.modeParams,\n canvasControled: false,\n viewBox: { x1: 0, x2: 0, y1: 0, y2: 0 },\n dpr: params.dpr,\n // viewBox: params.viewBox,\n // viewBox: this.getViewBox(),\n // viewBox: {\n // x1: params.cellPadding[3],\n // x2: params.width - params.cellPadding[1],\n // y1: params.cellPadding[0],\n // y2: params.height - params.cellPadding[2]\n // },\n interactive: false,\n animation: false,\n autoFit: false\n })\n ));\n chartInstance.renderSync();\n chartInstance.getStage().enableDirtyBounds();\n params.chartInstance = this.chartInstance = chartInstance;\n } else {\n this.chartInstance = params.chartInstance;\n }\n\n // this.chart.load().then((cache) => {\n // this.cacheCanvas = cache;\n // this.deactivate();\n // });\n }\n\n // onBeforeAttributeUpdate() {\n // if (arguments[2] === y) {\n // debugger;\n // }\n // }\n /**\n * 激活该图表元素\n * @param table\n */\n activate(table: BaseTableAPI) {\n this.active = true;\n const { col, row } = this.parent;\n const hoverColor = getCellHoverColor(this.parent, table);\n // this.chart = new TestChart(this.attribute.spec);\n // const ctx = this.attribute.canvas.getContext('2d');\n // const { x1, y1, x2, y2 } = this.attribute.viewBox;\n const { x1, y1, x2, y2 } = this.getViewBox();\n //获取渲染区域的bound 考虑被表头遮住部分的情况\n const tableBound = getTableBounds(col, row, table);\n const clipBound = tableBound.intersect({\n x1: x1 - table.scrollLeft,\n x2: x2 - table.scrollLeft,\n y1: y1 - table.scrollTop,\n y2: y2 - table.scrollTop\n });\n this.activeChartInstance?.release();\n this.activeChartInstance = new this.attribute.ClassType(\n this.attribute.spec,\n merge({}, this.attribute.tableChartOption, {\n // disableDirtyBounds: true,\n renderCanvas: this.attribute.canvas,\n mode: 'desktop-browser',\n canvasControled: false,\n // viewBox: {\n // x1: x1 - table.scrollLeft,\n // x2: x2 - table.scrollLeft,\n // y1: y1 - table.scrollTop,\n // y2: y2 - table.scrollTop\n // },\n viewBox: {\n x1: 0,\n x2: x2 - x1,\n y1: 0,\n y2: y2 - y1\n },\n dpr: table.internalProps.pixelRatio,\n animation: false,\n interactive: true,\n autoFit: false, //控制当容器变化大小时vchart实例不应响应事件进行内部处理\n beforeRender: (chartStage: Stage) => {\n const stage = this.stage;\n const ctx = chartStage.window.getContext();\n const stageMatrix = stage.window.getViewBoxTransform();\n const viewBox = stage.window.getViewBox();\n ctx.inuse = true;\n // ctx.save();\n // console.log(ctx.getImageData(0, 0, 100, 100));\n ctx.clearMatrix();\n ctx.setTransform(\n stageMatrix.a,\n stageMatrix.b,\n stageMatrix.c,\n stageMatrix.d,\n stageMatrix.e,\n stageMatrix.f,\n true\n );\n ctx.translate(viewBox.x1, viewBox.y1);\n ctx.setTransformForCurrent(true); // 替代原有的chart viewBox\n ctx.beginPath();\n ctx.rect(clipBound.x1, clipBound.y1, clipBound.x2 - clipBound.x1, clipBound.y2 - clipBound.y1);\n ctx.clip();\n ctx.clearMatrix();\n\n if (table.options.canvas && !(chartStage as any).needRender) {\n // 在使用viewbox局部渲染时,activate单独渲染chart stage,可能导致外部stage场景层级错乱\n // 此时触发整个表格的重绘,外部stage场景可以通过table的beforeRender配置触发更上一级的重绘\n chartStage.pauseRender();\n table.scenegraph.stage.dirtyBounds.union(this.globalAABBBounds);\n table.scenegraph.updateNextFrame();\n }\n },\n afterRender(stage: any) {\n const ctx = stage.window.getContext();\n ctx.inuse = false;\n\n stage.needRender = false;\n chartStage.resumeRender();\n },\n renderHooks: {\n afterClearRect(drawParams: any) {\n const { context, layer, viewBox } = drawParams;\n if (layer.main && drawParams.clear) {\n context.beginPath();\n context.fillStyle = hoverColor;\n context.rect(viewBox.x1, viewBox.y1, viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1);\n context.fill();\n }\n }\n }\n })\n );\n const chartStage = this.activeChartInstance.getStage();\n // chartStage.needRender = true;\n // chartStage.background = 'red';\n const matrix = this.globalTransMatrix.clone();\n const stageMatrix = this.stage.window.getViewBoxTransform();\n matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f);\n chartStage.window.setViewBoxTransform &&\n chartStage.window.setViewBoxTransform(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n\n // this.activeChartInstance.updateData('data', this.attribute.data);\n this.activeChartInstance.renderSync();\n\n (table.internalProps.layoutMap as any)?.updateDataStateToActiveChartInstance?.(this.activeChartInstance);\n this.activeChartInstance.on('click', (params: any) => {\n if (this.attribute.spec.select?.enable === false) {\n table.scenegraph.updateChartState(null);\n } else if (Chart.temp) {\n table.scenegraph.updateChartState(params?.datum);\n }\n });\n this.activeChartInstance.on('brushEnd', (params: any) => {\n table.scenegraph.updateChartState(params?.value?.inBrushData);\n Chart.temp = 0;\n setTimeout(() => {\n Chart.temp = 1;\n }, 0);\n });\n (table as PivotChart)._bindChartEvent?.(this.activeChartInstance);\n }\n static temp: number = 1;\n /**\n * 图表失去焦点\n * @param table\n */\n deactivate() {\n this.active = false;\n // move active chart view box out of browser view\n // to avoid async render when chart is releasd\n this.activeChartInstance?.updateViewBox(\n {\n x1: -1000,\n x2: -800,\n y1: -1000,\n y2: -800\n },\n false,\n false\n );\n this.activeChartInstance?.release();\n this.activeChartInstance = null;\n }\n /** 更新图表对应数据 */\n updateData(data: any) {\n this.attribute.data = data;\n }\n\n getViewBox(): {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n } {\n const cellGroup = this.parent as Group;\n const padding = this.attribute.cellPadding;\n const table = (this.stage as any).table as BaseTableAPI;\n\n const { x1, y1, x2, y2 } = cellGroup.globalAABBBounds;\n\n return {\n x1: Math.ceil(x1 + padding[3] + table.scrollLeft + (table.options.viewBox?.x1 ?? 0)),\n x2: Math.ceil(x1 + cellGroup.attribute.width - padding[1] + table.scrollLeft + (table.options.viewBox?.x1 ?? 0)),\n y1: Math.ceil(y1 + padding[0] + table.scrollTop + (table.options.viewBox?.y1 ?? 0)),\n y2: Math.ceil(y1 + cellGroup.attribute.height - padding[2] + table.scrollTop + (table.options.viewBox?.y1 ?? 0))\n };\n }\n}\n\nfunction getTableBounds(col: number, row: number, table: BaseTableAPI) {\n const { layoutMap } = table.internalProps;\n const bodyBound = new Bounds();\n const tableBound = table.scenegraph.tableGroup.globalAABBBounds;\n bodyBound.x1 = tableBound.x1;\n bodyBound.x2 = tableBound.x2;\n bodyBound.y1 = tableBound.y1;\n bodyBound.y2 = tableBound.y2;\n if (\n layoutMap.isLeftBottomCorner(col, row) ||\n layoutMap.isRightTopCorner(col, row) ||\n layoutMap.isLeftTopCorner(col, row) ||\n layoutMap.isRightBottomCorner(col, row)\n ) {\n // frozen cornor\n } else if (layoutMap.isFrozenColumn(col, row)) {\n // left frozen\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n } else if (layoutMap.isFrozenRow(col, row)) {\n // top frozen\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n } else if (layoutMap.isRightFrozenColumn(col, row)) {\n // right frozen\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n } else if (layoutMap.isBottomFrozenRow(col, row)) {\n // bottom frozen\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n } else if (!layoutMap.isFrozenColumn(col, row) && !layoutMap.isRightFrozenColumn(col, row)) {\n // no frozen body\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n }\n\n bodyBound.x1 = bodyBound.x1 + (table.options.viewBox?.x1 ?? 0);\n bodyBound.x2 = bodyBound.x2 + (table.options.viewBox?.x1 ?? 0);\n bodyBound.y1 = bodyBound.y1 + (table.options.viewBox?.y1 ?? 0);\n bodyBound.y2 = bodyBound.y2 + (table.options.viewBox?.y1 ?? 0);\n\n return bodyBound;\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/graphic/chart.ts"],"names":[],"mappings":"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","file":"chart.js","sourcesContent":["import type { GraphicType, IGroupGraphicAttribute, Stage, Group } from './../../vrender';\nimport { genNumberType, Rect } from './../../vrender';\nimport { Bounds, merge } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { PivotChart } from '../../PivotChart';\nimport { getCellHoverColor } from '../../state/hover/is-cell-hover';\n\ninterface IChartGraphicAttribute extends IGroupGraphicAttribute {\n canvas: HTMLCanvasElement;\n dataId: string | Record<string, string>; //如果是spec外层的dataId,则是string,否则通过series获取到的是Record<string, string> <dataId, series-chart的指标key用于过滤数据>\n data: any;\n spec: any;\n axes: any;\n ClassType: any;\n chartInstance: any;\n cellPadding: number[];\n mode: string;\n modeParams: any;\n dpr: number;\n // viewBox: {\n // x1: number;\n // y1: number;\n // x2: number;\n // y2: number;\n // };\n tableChartOption: any;\n col?: number;\n row?: number;\n}\n\nexport const CHART_NUMBER_TYPE = genNumberType();\n\nexport class Chart extends Rect {\n type: GraphicType = 'chart' as any;\n declare attribute: IChartGraphicAttribute;\n chartInstance: any;\n activeChartInstance: any;\n active: boolean;\n cacheCanvas: HTMLCanvasElement | { x: number; y: number; width: number; height: number; canvas: HTMLCanvasElement }[]; // HTMLCanvasElement\n isShareChartSpec: boolean; //针对chartSpec用户配置成函数形式的话 就不需要存储chartInstance了 会太占内存,使用这个变量 当渲染出缓存图表会就删除chartInstance实例\n constructor(isShareChartSpec: boolean, params: IChartGraphicAttribute) {\n super(params);\n this.numberType = CHART_NUMBER_TYPE;\n this.isShareChartSpec = isShareChartSpec;\n // 创建chart\n if (!params.chartInstance) {\n const chartInstance = (this.chartInstance = new params.ClassType(\n params.spec,\n merge({}, this.attribute.tableChartOption, {\n renderCanvas: params.canvas,\n mode: this.attribute.mode === 'node' ? 'node' : 'desktop-browser',\n modeParams: this.attribute.modeParams,\n canvasControled: false,\n viewBox: { x1: 0, x2: 0, y1: 0, y2: 0 },\n dpr: params.dpr,\n // viewBox: params.viewBox,\n // viewBox: this.getViewBox(),\n // viewBox: {\n // x1: params.cellPadding[3],\n // x2: params.width - params.cellPadding[1],\n // y1: params.cellPadding[0],\n // y2: params.height - params.cellPadding[2]\n // },\n interactive: false,\n animation: false,\n autoFit: false\n })\n ));\n chartInstance.renderSync();\n chartInstance.getStage().enableDirtyBounds();\n params.chartInstance = this.chartInstance = chartInstance;\n } else {\n this.chartInstance = params.chartInstance;\n }\n\n // this.chart.load().then((cache) => {\n // this.cacheCanvas = cache;\n // this.deactivate();\n // });\n }\n\n // onBeforeAttributeUpdate() {\n // if (arguments[2] === y) {\n // debugger;\n // }\n // }\n /**\n * 激活该图表元素\n * @param table\n */\n activate(table: BaseTableAPI) {\n this.active = true;\n const { col, row } = this.parent;\n const hoverColor = getCellHoverColor(this.parent, table);\n // this.chart = new TestChart(this.attribute.spec);\n // const ctx = this.attribute.canvas.getContext('2d');\n // const { x1, y1, x2, y2 } = this.attribute.viewBox;\n const { x1, y1, x2, y2 } = this.getViewBox();\n //获取渲染区域的bound 考虑被表头遮住部分的情况\n const tableBound = getTableBounds(col, row, table);\n const clipBound = tableBound.intersect({\n x1: x1 - table.scrollLeft,\n x2: x2 - table.scrollLeft,\n y1: y1 - table.scrollTop,\n y2: y2 - table.scrollTop\n });\n this.activeChartInstance?.release();\n this.activeChartInstance = new this.attribute.ClassType(\n this.attribute.spec,\n merge({}, this.attribute.tableChartOption, {\n // disableDirtyBounds: true,\n renderCanvas: this.attribute.canvas,\n mode: 'desktop-browser',\n canvasControled: false,\n // viewBox: {\n // x1: x1 - table.scrollLeft,\n // x2: x2 - table.scrollLeft,\n // y1: y1 - table.scrollTop,\n // y2: y2 - table.scrollTop\n // },\n viewBox: {\n x1: 0,\n x2: x2 - x1,\n y1: 0,\n y2: y2 - y1\n },\n dpr: table.internalProps.pixelRatio,\n animation: false,\n interactive: true,\n autoFit: false, //控制当容器变化大小时vchart实例不应响应事件进行内部处理\n beforeRender: (chartStage: Stage) => {\n const stage = this.stage;\n const ctx = chartStage.window.getContext();\n const stageMatrix = stage.window.getViewBoxTransform();\n const viewBox = stage.window.getViewBox();\n ctx.inuse = true;\n // ctx.save();\n // console.log(ctx.getImageData(0, 0, 100, 100));\n ctx.clearMatrix();\n ctx.setTransform(\n stageMatrix.a,\n stageMatrix.b,\n stageMatrix.c,\n stageMatrix.d,\n stageMatrix.e,\n stageMatrix.f,\n true\n );\n ctx.translate(viewBox.x1, viewBox.y1);\n ctx.setTransformForCurrent(true); // 替代原有的chart viewBox\n ctx.beginPath();\n ctx.rect(clipBound.x1, clipBound.y1, clipBound.x2 - clipBound.x1, clipBound.y2 - clipBound.y1);\n ctx.clip();\n ctx.clearMatrix();\n\n if (table.options.canvas && !(chartStage as any).needRender) {\n // 在使用viewbox局部渲染时,activate单独渲染chart stage,可能导致外部stage场景层级错乱\n // 此时触发整个表格的重绘,外部stage场景可以通过table的beforeRender配置触发更上一级的重绘\n chartStage.pauseRender();\n table.scenegraph.stage.dirtyBounds.union(this.globalAABBBounds);\n table.scenegraph.updateNextFrame();\n }\n },\n afterRender(stage: any) {\n const ctx = stage.window.getContext();\n ctx.inuse = false;\n\n stage.needRender = false;\n chartStage.resumeRender();\n },\n renderHooks: {\n afterClearRect(drawParams: any) {\n const { context, layer, viewBox } = drawParams;\n if (layer.main && drawParams.clear && hoverColor) {\n context.beginPath();\n context.fillStyle = hoverColor;\n context.rect(viewBox.x1, viewBox.y1, viewBox.x2 - viewBox.x1, viewBox.y2 - viewBox.y1);\n context.fill();\n }\n }\n }\n })\n );\n const chartStage = this.activeChartInstance.getStage();\n // chartStage.needRender = true;\n // chartStage.background = 'red';\n const matrix = this.globalTransMatrix.clone();\n const stageMatrix = this.stage.window.getViewBoxTransform();\n matrix.multiply(stageMatrix.a, stageMatrix.b, stageMatrix.c, stageMatrix.d, stageMatrix.e, stageMatrix.f);\n chartStage.window.setViewBoxTransform &&\n chartStage.window.setViewBoxTransform(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n\n // this.activeChartInstance.updateData('data', this.attribute.data);\n this.activeChartInstance.renderSync();\n\n (table.internalProps.layoutMap as any)?.updateDataStateToActiveChartInstance?.(this.activeChartInstance);\n this.activeChartInstance.on('click', (params: any) => {\n if (this.attribute.spec.select?.enable === false) {\n table.scenegraph.updateChartState(null);\n } else if (Chart.temp) {\n table.scenegraph.updateChartState(params?.datum);\n }\n });\n this.activeChartInstance.on('brushEnd', (params: any) => {\n table.scenegraph.updateChartState(params?.value?.inBrushData);\n Chart.temp = 0;\n setTimeout(() => {\n Chart.temp = 1;\n }, 0);\n });\n (table as PivotChart)._bindChartEvent?.(this.activeChartInstance);\n }\n static temp: number = 1;\n /**\n * 图表失去焦点\n * @param table\n */\n deactivate() {\n this.active = false;\n // move active chart view box out of browser view\n // to avoid async render when chart is releasd\n this.activeChartInstance?.updateViewBox(\n {\n x1: -1000,\n x2: -800,\n y1: -1000,\n y2: -800\n },\n false,\n false\n );\n this.activeChartInstance?.release();\n this.activeChartInstance = null;\n }\n /** 更新图表对应数据 */\n updateData(data: any) {\n this.attribute.data = data;\n }\n\n getViewBox(): {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n } {\n const cellGroup = this.parent as Group;\n const padding = this.attribute.cellPadding;\n const table = (this.stage as any).table as BaseTableAPI;\n\n const { x1, y1, x2, y2 } = cellGroup.globalAABBBounds;\n\n return {\n x1: Math.ceil(x1 + padding[3] + table.scrollLeft + (table.options.viewBox?.x1 ?? 0)),\n x2: Math.ceil(x1 + cellGroup.attribute.width - padding[1] + table.scrollLeft + (table.options.viewBox?.x1 ?? 0)),\n y1: Math.ceil(y1 + padding[0] + table.scrollTop + (table.options.viewBox?.y1 ?? 0)),\n y2: Math.ceil(y1 + cellGroup.attribute.height - padding[2] + table.scrollTop + (table.options.viewBox?.y1 ?? 0))\n };\n }\n}\n\nfunction getTableBounds(col: number, row: number, table: BaseTableAPI) {\n const { layoutMap } = table.internalProps;\n const bodyBound = new Bounds();\n const tableBound = table.scenegraph.tableGroup.globalAABBBounds;\n bodyBound.x1 = tableBound.x1;\n bodyBound.x2 = tableBound.x2;\n bodyBound.y1 = tableBound.y1;\n bodyBound.y2 = tableBound.y2;\n if (\n layoutMap.isLeftBottomCorner(col, row) ||\n layoutMap.isRightTopCorner(col, row) ||\n layoutMap.isLeftTopCorner(col, row) ||\n layoutMap.isRightBottomCorner(col, row)\n ) {\n // frozen cornor\n } else if (layoutMap.isFrozenColumn(col, row)) {\n // left frozen\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n } else if (layoutMap.isFrozenRow(col, row)) {\n // top frozen\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n } else if (layoutMap.isRightFrozenColumn(col, row)) {\n // right frozen\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n } else if (layoutMap.isBottomFrozenRow(col, row)) {\n // bottom frozen\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n } else if (!layoutMap.isFrozenColumn(col, row) && !layoutMap.isRightFrozenColumn(col, row)) {\n // no frozen body\n bodyBound.x1 = tableBound.x1 + table.getFrozenColsWidth();\n bodyBound.x2 = tableBound.x2 - table.getRightFrozenColsWidth();\n bodyBound.y1 = tableBound.y1 + table.getFrozenRowsHeight();\n bodyBound.y2 = tableBound.y2 - table.getBottomFrozenRowsHeight();\n }\n\n bodyBound.x1 = bodyBound.x1 + (table.options.viewBox?.x1 ?? 0);\n bodyBound.x2 = bodyBound.x2 + (table.options.viewBox?.x1 ?? 0);\n bodyBound.y1 = bodyBound.y1 + (table.options.viewBox?.y1 ?? 0);\n bodyBound.y2 = bodyBound.y2 + (table.options.viewBox?.y1 ?? 0);\n\n return bodyBound;\n}\n"]}
@@ -145,7 +145,7 @@ export function updateHierarchyIcon(col, row, scene) {
145
145
  let iconConfig;
146
146
  iconConfig = scene.table.isHeader(col, row) ? scene.table.internalProps.headerHelper.getHierarchyIcon(col, row) : scene.table.internalProps.bodyHelper.getHierarchyIcon(col, row),
147
147
  updateCellRangeIcon(col, row, (icon => icon.attribute.funcType === IconFuncTypeEnum.collapse || icon.attribute.funcType === IconFuncTypeEnum.expand), (icon => {
148
- dealWithIcon(iconConfig, icon), icon.name = iconConfig.name;
148
+ dealWithIcon(iconConfig, icon), icon.name = null == iconConfig ? void 0 : iconConfig.name;
149
149
  }), scene);
150
150
  }
151
151
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/icon/icon-update.ts"],"names":[],"mappings":"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","file":"icon-update.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { Group } from '../graphic/group';\nimport type { Scenegraph } from '../scenegraph';\nimport type { ColumnIconOption, SortOrder, SvgIcon } from '../../ts-types';\nimport { IconFuncTypeEnum } from '../../ts-types';\nimport type { Icon } from '../graphic/icon';\nimport type { TooltipOptions } from '../../ts-types/tooltip';\nimport type { IRect } from './../../vrender';\nimport { IContainPointMode, createRect } from './../../vrender';\nimport { dealWithIcon } from '../utils/text-icon-layout';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { getCellMergeRange } from '../../tools/merge-range';\nimport { traverseObject } from '../../tools/util';\n\nexport function hideHoverIcon(col: number, row: number, scene: Scenegraph) {\n if (col === -1 || row === -1) {\n return;\n }\n // const cellGroup = scene.getCell(col, row);\n // hideIcon(scene, cellGroup, 'mouseenter_cell');\n\n // hideIcon\n updateCellRangeIcon(\n col,\n row,\n (icon: Icon) => icon.attribute.visibleTime === 'mouseenter_cell',\n (icon: Icon) => {\n icon.setAttribute('opacity', 0);\n\n const iconBack = icon.parent.getChildByName('icon-back') as IRect;\n if (iconBack) {\n iconBack.setAttribute('visible', false);\n }\n },\n scene\n );\n scene.updateNextFrame();\n}\n\nexport function showHoverIcon(col: number, row: number, scene: Scenegraph) {\n if (col === -1 || row === -1) {\n return;\n }\n // const cellGroup = scene.getCell(col, row);\n // showIcon(scene, cellGroup, 'mouseenter_cell');\n\n // showIcon\n updateCellRangeIcon(\n col,\n row,\n (icon: Icon) => icon.attribute.visibleTime === 'mouseenter_cell',\n (icon: Icon) => {\n icon.setAttribute('opacity', 1);\n },\n scene\n );\n scene.updateNextFrame();\n}\n\nexport function hideClickIcon(col: number, row: number, scene: Scenegraph) {\n if (col === -1 || row === -1) {\n return;\n }\n // const cellGroup = scene.getCell(col, row);\n // hideIcon(scene, cellGroup, 'click_cell');\n\n // hideIcon\n updateCellRangeIcon(\n col,\n row,\n (icon: Icon) => icon.attribute.visibleTime === 'click_cell',\n (icon: Icon) => {\n icon.setAttribute('opacity', 0);\n },\n scene\n );\n scene.updateNextFrame();\n}\n\nexport function showClickIcon(col: number, row: number, scene: Scenegraph) {\n if (col === -1 || row === -1) {\n return;\n }\n // const cellGroup = scene.getCell(col, row);\n // showIcon(scene, cellGroup, 'click_cell');\n\n // showIcon\n updateCellRangeIcon(\n col,\n row,\n (icon: Icon) => icon.attribute.visibleTime === 'click_cell',\n (icon: Icon) => {\n icon.setAttribute('opacity', 1);\n },\n scene\n );\n scene.updateNextFrame();\n}\n\n/**\n * @description: 获取指定单元格指定位置的icon mark\n * @param {number} col\n * @param {number} row\n * @param {number} x\n * @param {number} y\n * @return {*}\n */\nexport function getIconByXY(col: number, row: number, x: number, y: number, scene: Scenegraph): Icon | undefined {\n const cellGroup = scene.getCell(col, row);\n let pickMark;\n cellGroup.forEachChildren((mark: Icon) => {\n if (mark.role && mark.role.startsWith('icon') && mark.containsPoint(x, y, IContainPointMode.GLOBAL)) {\n pickMark = mark;\n }\n });\n return pickMark;\n}\n\n/**\n * @description: 将指定icon mark设置为Hover样式\n * @param {Icon} icon\n * @param {number} col\n * @param {number} row\n * @return {*}\n */\nexport function setIconHoverStyle(baseIcon: Icon, col: number, row: number, cellGroup: Group, scene: Scenegraph) {\n if (baseIcon.attribute.backgroundColor || baseIcon.attribute.hoverImage) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.name === baseIcon.name,\n (icon: Icon) => {\n // hover展示背景\n if (icon.attribute.backgroundColor) {\n let iconBack = icon.parent.getChildByName('icon-back') as IRect;\n if (iconBack) {\n iconBack.setAttributes({\n x:\n (icon.attribute.x ?? 0) +\n // (icon.attribute.dx ?? 0) +\n (icon.AABBBounds.width() - icon.backgroundWidth) / 2,\n y: (icon.attribute.y ?? 0) + (icon.AABBBounds.height() - icon.backgroundHeight) / 2,\n dx: icon.attribute.dx ?? 0,\n dy: icon.attribute.dy ?? 0,\n width: icon.backgroundWidth,\n height: icon.backgroundHeight,\n fill: icon.attribute.backgroundColor,\n cornerRadius: 5,\n visible: true\n });\n } else {\n iconBack = createRect({\n x:\n (icon.attribute.x ?? 0) +\n // (icon.attribute.dx ?? 0) +\n (icon.AABBBounds.width() - icon.backgroundWidth) / 2,\n y: (icon.attribute.y ?? 0) + (icon.AABBBounds.height() - icon.backgroundHeight) / 2,\n dx: icon.attribute.dx ?? 0,\n dy: icon.attribute.dy ?? 0,\n width: icon.backgroundWidth,\n height: icon.backgroundHeight,\n fill: icon.attribute.backgroundColor,\n cornerRadius: 5,\n pickable: false,\n visible: true\n }) as IRect;\n iconBack.name = 'icon-back';\n // cellGroup.appendChild(iconBack);\n }\n icon.parent.insertBefore(iconBack, icon);\n }\n\n // hover更换图片\n if (icon.attribute.hoverImage && icon.attribute.image !== icon.attribute.hoverImage) {\n icon.image = icon.attribute.hoverImage;\n }\n },\n scene\n );\n }\n // hover展示tooltip\n if (baseIcon.tooltip) {\n const { x1: left, x2: right, y1: top, y2: bottom } = baseIcon.globalAABBBounds;\n const tooltipOptions: TooltipOptions = {\n content: baseIcon.tooltip.title,\n referencePosition: {\n rect: {\n left: left,\n right: right,\n top: top,\n bottom: bottom,\n width: baseIcon.globalAABBBounds.width(),\n height: baseIcon.globalAABBBounds.height()\n },\n placement: baseIcon.tooltip.placement\n },\n disappearDelay: baseIcon.tooltip.disappearDelay,\n style: Object.assign({}, scene.table.internalProps.theme?.tooltipStyle, baseIcon.tooltip?.style)\n };\n if (!scene.table.internalProps.tooltipHandler.isBinded(tooltipOptions)) {\n scene.table.showTooltip(col, row, tooltipOptions);\n }\n }\n}\n\n/**\n * @description: 将指定icon mark设置为Normal样式\n * @param {Icon} icon\n * @param {number} col\n * @param {number} row\n * @return {*}\n */\nexport function setIconNormalStyle(baseIcon: Icon, col: number, row: number, scene: Scenegraph) {\n if (baseIcon.attribute.backgroundColor || baseIcon.attribute.hoverImage) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.name === baseIcon.name,\n (icon: Icon) => {\n const iconBack = icon.parent.getChildByName('icon-back') as IRect;\n if (iconBack) {\n iconBack.setAttribute('visible', false);\n }\n\n // hover更换图片\n if (icon.attribute.hoverImage && icon.attribute.image !== icon.attribute.originImage) {\n icon.image = icon.attribute.originImage;\n }\n },\n scene\n );\n }\n}\n\nexport function updateIcon(baseIcon: Icon, iconConfig: ColumnIconOption, col: number, row: number, scene: Scenegraph) {\n // 直接更新mark attribute\n // dealWithIcon(iconConfig, icon);\n // icon.name = iconConfig.name;\n // scene.updateNextFrame();\n const iconName = baseIcon.name;\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.name === iconName,\n // dealer\n (icon: Icon) => {\n dealWithIcon(iconConfig, icon);\n icon.name = iconConfig.name;\n },\n scene\n );\n\n scene.updateNextFrame();\n}\n\nfunction resetSortIcon(oldSortCol: number, oldSortRow: number, iconConfig: ColumnIconOption, scene: Scenegraph) {\n const oldSortCell = scene.getCell(oldSortCol, oldSortRow);\n\n if (\n isValid(oldSortCell.mergeStartCol) &&\n isValid(oldSortCell.mergeStartRow) &&\n isValid(oldSortCell.mergeEndCol) &&\n isValid(oldSortCell.mergeEndRow)\n ) {\n for (let col = oldSortCell.mergeStartCol; col <= oldSortCell.mergeEndCol; col++) {\n for (let row = oldSortCell.mergeStartRow; row <= oldSortCell.mergeEndRow; row++) {\n let oldIconMark: Icon;\n scene.getCell(col, row).forEachChildren((mark: Icon) => {\n if (mark.attribute.funcType === 'sort') {\n oldIconMark = mark;\n return true;\n }\n return false;\n });\n if (oldIconMark) {\n dealWithIcon(iconConfig, oldIconMark);\n oldIconMark.name = iconConfig.name;\n }\n }\n }\n } else {\n let oldIconMark: Icon;\n\n //oldSortCell.forEachChildren((mark: Icon) => {\n traverseObject(oldSortCell, 'children', (mark: Icon) => {\n if (mark.attribute.funcType === 'sort') {\n oldIconMark = mark;\n return true;\n }\n return false;\n });\n\n if (oldIconMark) {\n // updateIcon(oldIconMark, oldIcon);\n dealWithIcon(iconConfig, oldIconMark);\n oldIconMark.name = iconConfig.name;\n }\n }\n}\n\nfunction checkSameCell(col1: number, row1: number, col2: number, row2: number, table: BaseTableAPI) {\n const range1 = table.getCellRange(col1, row1);\n const range2 = table.getCellRange(col2, row2);\n if (\n range1.start.col === range2.start.col &&\n range1.start.row === range2.start.row &&\n range1.end.col === range2.end.col &&\n range1.end.row === range2.end.row\n ) {\n return true;\n }\n return false;\n}\n\nexport function updateSortIcon(options: {\n col: number;\n row: number;\n iconMark: Icon;\n order: SortOrder;\n oldSortCol: number;\n oldSortRow: number;\n oldIconMark: Icon | undefined;\n scene: Scenegraph;\n}) {\n const { col, row, iconMark, order, oldSortCol, oldSortRow, oldIconMark, scene } = options;\n // 更新icon\n const icon = scene.table.internalProps.headerHelper.getSortIcon(order, scene.table, col, row);\n if (iconMark) {\n updateIcon(iconMark, icon, col, row, scene);\n }\n\n // 更新旧frozen icon\n if (!checkSameCell(col, row, oldSortCol, oldSortRow, scene.table)) {\n const oldIcon = scene.table.internalProps.headerHelper.getSortIcon('normal', scene.table, oldSortCol, oldSortRow);\n if (oldIconMark) {\n updateIcon(oldIconMark, oldIcon, oldSortCol, oldSortRow, scene);\n } else {\n resetSortIcon(oldSortCol, oldSortRow, oldIcon, scene);\n }\n }\n}\n\nexport function updateFrozenIcon(scene: Scenegraph) {\n // 依据新旧冻结列确定更新范围\n for (let col = 0; col < scene.table.colCount; col++) {\n for (let row = 0; row < scene.table.columnHeaderLevelCount; row++) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.attribute.funcType === 'frozen',\n // dealer\n (icon: Icon) => {\n const iconConfig = scene.table.internalProps.headerHelper.getFrozenIcon(col, row);\n dealWithIcon(iconConfig, icon);\n icon.name = iconConfig.name;\n },\n scene\n );\n }\n }\n}\n\nexport function updateHierarchyIcon(col: number, row: number, scene: Scenegraph) {\n let iconConfig: SvgIcon;\n if (scene.table.isHeader(col, row)) {\n iconConfig = scene.table.internalProps.headerHelper.getHierarchyIcon(col, row);\n } else {\n iconConfig = scene.table.internalProps.bodyHelper.getHierarchyIcon(col, row);\n }\n\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) =>\n icon.attribute.funcType === IconFuncTypeEnum.collapse || icon.attribute.funcType === IconFuncTypeEnum.expand,\n // dealer\n (icon: Icon) => {\n dealWithIcon(iconConfig, icon);\n icon.name = iconConfig.name;\n },\n scene\n );\n}\n\nexport function updateCellGroupIcon(cellGroup: Group, filter: (icon: Icon) => boolean, dealer: (icon: Icon) => void) {\n if (!cellGroup || cellGroup.role === 'empty') {\n return;\n }\n cellGroup.forEachChildren((child: any) => {\n if (child.type === 'group') {\n updateCellGroupIcon(child, filter, dealer);\n } else if (filter(child)) {\n dealer(child);\n }\n });\n}\n\nexport function updateCellRangeIcon(\n col: number,\n row: number,\n filter: (icon: Icon) => boolean,\n dealer: (icon: Icon) => void,\n scene: Scenegraph\n) {\n const cellGroup = scene.getCell(col, row);\n if (\n cellGroup.role === 'cell' &&\n isValid(cellGroup.mergeStartCol) &&\n isValid(cellGroup.mergeStartRow) &&\n isValid(cellGroup.mergeEndCol) &&\n isValid(cellGroup.mergeEndRow)\n ) {\n const { colStart, colEnd, rowStart, rowEnd } = getCellMergeRange(cellGroup, scene);\n for (let col = colStart; col <= colEnd; col++) {\n for (let row = rowStart; row <= rowEnd; row++) {\n updateCellGroupIcon(scene.highPerformanceGetCell(col, row), filter, dealer);\n }\n }\n } else {\n updateCellGroupIcon(cellGroup, filter, dealer);\n }\n}\n\nexport function residentHoverIcon(col: number, row: number, scene: Scenegraph) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.attribute.funcType === IconFuncTypeEnum.dropDown,\n // dealer\n (icon: Icon) => {\n (icon as any).oldVisibleTime = icon.attribute.visibleTime;\n icon.setAttribute('visibleTime', 'always');\n icon.setAttribute('opacity', 1);\n },\n scene\n );\n}\n\nexport function resetResidentHoverIcon(col: number, row: number, scene: Scenegraph) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.attribute.funcType === IconFuncTypeEnum.dropDown,\n // dealer\n (icon: Icon) => {\n (icon as any).oldVisibleTime && icon.setAttribute('visibleTime', (icon as any).oldVisibleTime);\n icon.setAttribute('opacity', icon.attribute.visibleTime === 'always' ? 1 : 0);\n },\n scene\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/icon/icon-update.ts"],"names":[],"mappings":"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","file":"icon-update.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { Group } from '../graphic/group';\nimport type { Scenegraph } from '../scenegraph';\nimport type { ColumnIconOption, SortOrder, SvgIcon } from '../../ts-types';\nimport { IconFuncTypeEnum } from '../../ts-types';\nimport type { Icon } from '../graphic/icon';\nimport type { TooltipOptions } from '../../ts-types/tooltip';\nimport type { IRect } from './../../vrender';\nimport { IContainPointMode, createRect } from './../../vrender';\nimport { dealWithIcon } from '../utils/text-icon-layout';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { getCellMergeRange } from '../../tools/merge-range';\nimport { traverseObject } from '../../tools/util';\n\nexport function hideHoverIcon(col: number, row: number, scene: Scenegraph) {\n if (col === -1 || row === -1) {\n return;\n }\n // const cellGroup = scene.getCell(col, row);\n // hideIcon(scene, cellGroup, 'mouseenter_cell');\n\n // hideIcon\n updateCellRangeIcon(\n col,\n row,\n (icon: Icon) => icon.attribute.visibleTime === 'mouseenter_cell',\n (icon: Icon) => {\n icon.setAttribute('opacity', 0);\n\n const iconBack = icon.parent.getChildByName('icon-back') as IRect;\n if (iconBack) {\n iconBack.setAttribute('visible', false);\n }\n },\n scene\n );\n scene.updateNextFrame();\n}\n\nexport function showHoverIcon(col: number, row: number, scene: Scenegraph) {\n if (col === -1 || row === -1) {\n return;\n }\n // const cellGroup = scene.getCell(col, row);\n // showIcon(scene, cellGroup, 'mouseenter_cell');\n\n // showIcon\n updateCellRangeIcon(\n col,\n row,\n (icon: Icon) => icon.attribute.visibleTime === 'mouseenter_cell',\n (icon: Icon) => {\n icon.setAttribute('opacity', 1);\n },\n scene\n );\n scene.updateNextFrame();\n}\n\nexport function hideClickIcon(col: number, row: number, scene: Scenegraph) {\n if (col === -1 || row === -1) {\n return;\n }\n // const cellGroup = scene.getCell(col, row);\n // hideIcon(scene, cellGroup, 'click_cell');\n\n // hideIcon\n updateCellRangeIcon(\n col,\n row,\n (icon: Icon) => icon.attribute.visibleTime === 'click_cell',\n (icon: Icon) => {\n icon.setAttribute('opacity', 0);\n },\n scene\n );\n scene.updateNextFrame();\n}\n\nexport function showClickIcon(col: number, row: number, scene: Scenegraph) {\n if (col === -1 || row === -1) {\n return;\n }\n // const cellGroup = scene.getCell(col, row);\n // showIcon(scene, cellGroup, 'click_cell');\n\n // showIcon\n updateCellRangeIcon(\n col,\n row,\n (icon: Icon) => icon.attribute.visibleTime === 'click_cell',\n (icon: Icon) => {\n icon.setAttribute('opacity', 1);\n },\n scene\n );\n scene.updateNextFrame();\n}\n\n/**\n * @description: 获取指定单元格指定位置的icon mark\n * @param {number} col\n * @param {number} row\n * @param {number} x\n * @param {number} y\n * @return {*}\n */\nexport function getIconByXY(col: number, row: number, x: number, y: number, scene: Scenegraph): Icon | undefined {\n const cellGroup = scene.getCell(col, row);\n let pickMark;\n cellGroup.forEachChildren((mark: Icon) => {\n if (mark.role && mark.role.startsWith('icon') && mark.containsPoint(x, y, IContainPointMode.GLOBAL)) {\n pickMark = mark;\n }\n });\n return pickMark;\n}\n\n/**\n * @description: 将指定icon mark设置为Hover样式\n * @param {Icon} icon\n * @param {number} col\n * @param {number} row\n * @return {*}\n */\nexport function setIconHoverStyle(baseIcon: Icon, col: number, row: number, cellGroup: Group, scene: Scenegraph) {\n if (baseIcon.attribute.backgroundColor || baseIcon.attribute.hoverImage) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.name === baseIcon.name,\n (icon: Icon) => {\n // hover展示背景\n if (icon.attribute.backgroundColor) {\n let iconBack = icon.parent.getChildByName('icon-back') as IRect;\n if (iconBack) {\n iconBack.setAttributes({\n x:\n (icon.attribute.x ?? 0) +\n // (icon.attribute.dx ?? 0) +\n (icon.AABBBounds.width() - icon.backgroundWidth) / 2,\n y: (icon.attribute.y ?? 0) + (icon.AABBBounds.height() - icon.backgroundHeight) / 2,\n dx: icon.attribute.dx ?? 0,\n dy: icon.attribute.dy ?? 0,\n width: icon.backgroundWidth,\n height: icon.backgroundHeight,\n fill: icon.attribute.backgroundColor,\n cornerRadius: 5,\n visible: true\n });\n } else {\n iconBack = createRect({\n x:\n (icon.attribute.x ?? 0) +\n // (icon.attribute.dx ?? 0) +\n (icon.AABBBounds.width() - icon.backgroundWidth) / 2,\n y: (icon.attribute.y ?? 0) + (icon.AABBBounds.height() - icon.backgroundHeight) / 2,\n dx: icon.attribute.dx ?? 0,\n dy: icon.attribute.dy ?? 0,\n width: icon.backgroundWidth,\n height: icon.backgroundHeight,\n fill: icon.attribute.backgroundColor,\n cornerRadius: 5,\n pickable: false,\n visible: true\n }) as IRect;\n iconBack.name = 'icon-back';\n // cellGroup.appendChild(iconBack);\n }\n icon.parent.insertBefore(iconBack, icon);\n }\n\n // hover更换图片\n if (icon.attribute.hoverImage && icon.attribute.image !== icon.attribute.hoverImage) {\n icon.image = icon.attribute.hoverImage;\n }\n },\n scene\n );\n }\n // hover展示tooltip\n if (baseIcon.tooltip) {\n const { x1: left, x2: right, y1: top, y2: bottom } = baseIcon.globalAABBBounds;\n const tooltipOptions: TooltipOptions = {\n content: baseIcon.tooltip.title,\n referencePosition: {\n rect: {\n left: left,\n right: right,\n top: top,\n bottom: bottom,\n width: baseIcon.globalAABBBounds.width(),\n height: baseIcon.globalAABBBounds.height()\n },\n placement: baseIcon.tooltip.placement\n },\n disappearDelay: baseIcon.tooltip.disappearDelay,\n style: Object.assign({}, scene.table.internalProps.theme?.tooltipStyle, baseIcon.tooltip?.style)\n };\n if (!scene.table.internalProps.tooltipHandler.isBinded(tooltipOptions)) {\n scene.table.showTooltip(col, row, tooltipOptions);\n }\n }\n}\n\n/**\n * @description: 将指定icon mark设置为Normal样式\n * @param {Icon} icon\n * @param {number} col\n * @param {number} row\n * @return {*}\n */\nexport function setIconNormalStyle(baseIcon: Icon, col: number, row: number, scene: Scenegraph) {\n if (baseIcon.attribute.backgroundColor || baseIcon.attribute.hoverImage) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.name === baseIcon.name,\n (icon: Icon) => {\n const iconBack = icon.parent.getChildByName('icon-back') as IRect;\n if (iconBack) {\n iconBack.setAttribute('visible', false);\n }\n\n // hover更换图片\n if (icon.attribute.hoverImage && icon.attribute.image !== icon.attribute.originImage) {\n icon.image = icon.attribute.originImage;\n }\n },\n scene\n );\n }\n}\n\nexport function updateIcon(baseIcon: Icon, iconConfig: ColumnIconOption, col: number, row: number, scene: Scenegraph) {\n // 直接更新mark attribute\n // dealWithIcon(iconConfig, icon);\n // icon.name = iconConfig.name;\n // scene.updateNextFrame();\n const iconName = baseIcon.name;\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.name === iconName,\n // dealer\n (icon: Icon) => {\n dealWithIcon(iconConfig, icon);\n icon.name = iconConfig.name;\n },\n scene\n );\n\n scene.updateNextFrame();\n}\n\nfunction resetSortIcon(oldSortCol: number, oldSortRow: number, iconConfig: ColumnIconOption, scene: Scenegraph) {\n const oldSortCell = scene.getCell(oldSortCol, oldSortRow);\n\n if (\n isValid(oldSortCell.mergeStartCol) &&\n isValid(oldSortCell.mergeStartRow) &&\n isValid(oldSortCell.mergeEndCol) &&\n isValid(oldSortCell.mergeEndRow)\n ) {\n for (let col = oldSortCell.mergeStartCol; col <= oldSortCell.mergeEndCol; col++) {\n for (let row = oldSortCell.mergeStartRow; row <= oldSortCell.mergeEndRow; row++) {\n let oldIconMark: Icon;\n scene.getCell(col, row).forEachChildren((mark: Icon) => {\n if (mark.attribute.funcType === 'sort') {\n oldIconMark = mark;\n return true;\n }\n return false;\n });\n if (oldIconMark) {\n dealWithIcon(iconConfig, oldIconMark);\n oldIconMark.name = iconConfig.name;\n }\n }\n }\n } else {\n let oldIconMark: Icon;\n\n //oldSortCell.forEachChildren((mark: Icon) => {\n traverseObject(oldSortCell, 'children', (mark: Icon) => {\n if (mark.attribute.funcType === 'sort') {\n oldIconMark = mark;\n return true;\n }\n return false;\n });\n\n if (oldIconMark) {\n // updateIcon(oldIconMark, oldIcon);\n dealWithIcon(iconConfig, oldIconMark);\n oldIconMark.name = iconConfig.name;\n }\n }\n}\n\nfunction checkSameCell(col1: number, row1: number, col2: number, row2: number, table: BaseTableAPI) {\n const range1 = table.getCellRange(col1, row1);\n const range2 = table.getCellRange(col2, row2);\n if (\n range1.start.col === range2.start.col &&\n range1.start.row === range2.start.row &&\n range1.end.col === range2.end.col &&\n range1.end.row === range2.end.row\n ) {\n return true;\n }\n return false;\n}\n\nexport function updateSortIcon(options: {\n col: number;\n row: number;\n iconMark: Icon;\n order: SortOrder;\n oldSortCol: number;\n oldSortRow: number;\n oldIconMark: Icon | undefined;\n scene: Scenegraph;\n}) {\n const { col, row, iconMark, order, oldSortCol, oldSortRow, oldIconMark, scene } = options;\n // 更新icon\n const icon = scene.table.internalProps.headerHelper.getSortIcon(order, scene.table, col, row);\n if (iconMark) {\n updateIcon(iconMark, icon, col, row, scene);\n }\n\n // 更新旧frozen icon\n if (!checkSameCell(col, row, oldSortCol, oldSortRow, scene.table)) {\n const oldIcon = scene.table.internalProps.headerHelper.getSortIcon('normal', scene.table, oldSortCol, oldSortRow);\n if (oldIconMark) {\n updateIcon(oldIconMark, oldIcon, oldSortCol, oldSortRow, scene);\n } else {\n resetSortIcon(oldSortCol, oldSortRow, oldIcon, scene);\n }\n }\n}\n\nexport function updateFrozenIcon(scene: Scenegraph) {\n // 依据新旧冻结列确定更新范围\n for (let col = 0; col < scene.table.colCount; col++) {\n for (let row = 0; row < scene.table.columnHeaderLevelCount; row++) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.attribute.funcType === 'frozen',\n // dealer\n (icon: Icon) => {\n const iconConfig = scene.table.internalProps.headerHelper.getFrozenIcon(col, row);\n dealWithIcon(iconConfig, icon);\n icon.name = iconConfig.name;\n },\n scene\n );\n }\n }\n}\n\nexport function updateHierarchyIcon(col: number, row: number, scene: Scenegraph) {\n let iconConfig: SvgIcon;\n if (scene.table.isHeader(col, row)) {\n iconConfig = scene.table.internalProps.headerHelper.getHierarchyIcon(col, row);\n } else {\n iconConfig = scene.table.internalProps.bodyHelper.getHierarchyIcon(col, row);\n }\n\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) =>\n icon.attribute.funcType === IconFuncTypeEnum.collapse || icon.attribute.funcType === IconFuncTypeEnum.expand,\n // dealer\n (icon: Icon) => {\n dealWithIcon(iconConfig, icon);\n icon.name = iconConfig?.name;\n },\n scene\n );\n}\n\nexport function updateCellGroupIcon(cellGroup: Group, filter: (icon: Icon) => boolean, dealer: (icon: Icon) => void) {\n if (!cellGroup || cellGroup.role === 'empty') {\n return;\n }\n cellGroup.forEachChildren((child: any) => {\n if (child.type === 'group') {\n updateCellGroupIcon(child, filter, dealer);\n } else if (filter(child)) {\n dealer(child);\n }\n });\n}\n\nexport function updateCellRangeIcon(\n col: number,\n row: number,\n filter: (icon: Icon) => boolean,\n dealer: (icon: Icon) => void,\n scene: Scenegraph\n) {\n const cellGroup = scene.getCell(col, row);\n if (\n cellGroup.role === 'cell' &&\n isValid(cellGroup.mergeStartCol) &&\n isValid(cellGroup.mergeStartRow) &&\n isValid(cellGroup.mergeEndCol) &&\n isValid(cellGroup.mergeEndRow)\n ) {\n const { colStart, colEnd, rowStart, rowEnd } = getCellMergeRange(cellGroup, scene);\n for (let col = colStart; col <= colEnd; col++) {\n for (let row = rowStart; row <= rowEnd; row++) {\n updateCellGroupIcon(scene.highPerformanceGetCell(col, row), filter, dealer);\n }\n }\n } else {\n updateCellGroupIcon(cellGroup, filter, dealer);\n }\n}\n\nexport function residentHoverIcon(col: number, row: number, scene: Scenegraph) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.attribute.funcType === IconFuncTypeEnum.dropDown,\n // dealer\n (icon: Icon) => {\n (icon as any).oldVisibleTime = icon.attribute.visibleTime;\n icon.setAttribute('visibleTime', 'always');\n icon.setAttribute('opacity', 1);\n },\n scene\n );\n}\n\nexport function resetResidentHoverIcon(col: number, row: number, scene: Scenegraph) {\n updateCellRangeIcon(\n col,\n row,\n // filter\n (icon: Icon) => icon.attribute.funcType === IconFuncTypeEnum.dropDown,\n // dealer\n (icon: Icon) => {\n (icon as any).oldVisibleTime && icon.setAttribute('visibleTime', (icon as any).oldVisibleTime);\n icon.setAttribute('opacity', icon.attribute.visibleTime === 'always' ? 1 : 0);\n },\n scene\n );\n}\n"]}
@@ -20,8 +20,8 @@ import { getOrApply } from "../../tools/helper";
20
20
 
21
21
  export function computeColsWidth(table, colStart, colEnd, update) {
22
22
  var _a, _b, _c, _d, _e, _f, _g, _h;
23
- table.internalProps.columnWidthConfig && table._parseColumnWidthConfig(table.internalProps.columnWidthConfig),
24
- table.isPivotTable() && table.internalProps.columnWidthConfigForRowHeader && table._parseColumnWidthConfigForRowHeader(table.internalProps.columnWidthConfigForRowHeader),
23
+ table.internalProps.columnWidthConfig && _parseColumnWidthConfig(table, table.internalProps.columnWidthConfig),
24
+ table.isPivotTable() && table.internalProps.columnWidthConfigForRowHeader && _parseColumnWidthConfigForPivotRowHeader(table, table.internalProps.columnWidthConfigForRowHeader),
25
25
  colStart = null != colStart ? colStart : 0, colEnd = null != colEnd ? colEnd : table.colCount - 1,
26
26
  0 === colStart && colEnd === table.colCount - 1 && table._clearColRangeWidthsMap();
27
27
  const layoutMap = table.internalProps.layoutMap;
@@ -327,4 +327,49 @@ export function getAdaptiveWidth(totalDrawWidth, startCol, endColPlus1, update,
327
327
  update ? newWidths[col] = table._adjustColWidth(col, colWidth) : fromScenegraph ? table.scenegraph.setColWidth(col, table._adjustColWidth(col, colWidth)) : table._setColWidth(col, table._adjustColWidth(col, colWidth), !1, !0);
328
328
  }
329
329
  }
330
+
331
+ function _parseColumnWidthConfig(table, columnWidthConfig) {
332
+ table.isPivotTable() ? _parseColumnWidthConfigForPivotTable(table, columnWidthConfig) : table.isListTable() && _parseColumnWidthConfigForListTable(table, columnWidthConfig);
333
+ }
334
+
335
+ function _parseColumnWidthConfigForListTable(table, columnWidthConfig) {
336
+ for (let i = 0; i < (null == columnWidthConfig ? void 0 : columnWidthConfig.length); i++) {
337
+ const item = columnWidthConfig[i], key = item.key, width = item.width, columnData = table.internalProps.layoutMap.getColumnByKey(key);
338
+ if (columnData.columnDefine) {
339
+ const {col: col} = columnData;
340
+ table.internalProps._widthResizedColMap.has(col) || (table._setColWidth(col, width),
341
+ table.internalProps._widthResizedColMap.add(col));
342
+ }
343
+ }
344
+ }
345
+
346
+ function _parseColumnWidthConfigForPivotTable(table, columnWidthConfig) {
347
+ for (let i = 0; i < (null == columnWidthConfig ? void 0 : columnWidthConfig.length); i++) {
348
+ const item = columnWidthConfig[i], dimensions = item.dimensions, width = item.width, cell = table.getCellAddressByHeaderPaths(dimensions);
349
+ if (cell && cell.col >= table.rowHeaderLevelCount) {
350
+ const cellPath = table.getCellHeaderPaths(cell.col, table.columnHeaderLevelCount);
351
+ if (cellPath.colHeaderPaths.length === dimensions.length) {
352
+ let match = !0;
353
+ for (let i = 0; i < dimensions.length; i++) {
354
+ const dimension = dimensions[i];
355
+ if (cellPath.colHeaderPaths.findIndex(((colPath, index) => colPath.indicatorKey === dimension.indicatorKey || colPath.dimensionKey === dimension.dimensionKey && colPath.value === dimension.value)) < 0) {
356
+ match = !1;
357
+ break;
358
+ }
359
+ }
360
+ match && !table.internalProps._widthResizedColMap.has(cell.col) && (table._setColWidth(cell.col, width),
361
+ table.internalProps._widthResizedColMap.add(cell.col));
362
+ }
363
+ } else cell && cell.col < table.rowHeaderLevelCount && (table.internalProps._widthResizedColMap.has(cell.col) || (table._setColWidth(cell.col, width),
364
+ table.internalProps._widthResizedColMap.add(cell.col)));
365
+ }
366
+ }
367
+
368
+ function _parseColumnWidthConfigForPivotRowHeader(table, columnWidthConfig) {
369
+ for (let i = 0; i < (null == columnWidthConfig ? void 0 : columnWidthConfig.length); i++) {
370
+ const item = columnWidthConfig[i], dimensions = item.dimensions, width = item.width, cell = table.getCellAddressByHeaderPaths(dimensions);
371
+ cell && cell.col < table.rowHeaderLevelCount && (table.internalProps._widthResizedColMap.has(cell.col) || (table._setColWidth(cell.col, width),
372
+ table.internalProps._widthResizedColMap.add(cell.col)));
373
+ }
374
+ }
330
375
  //# sourceMappingURL=compute-col-width.js.map