@visactor/vtable 1.26.7 → 1.26.8

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 (183) hide show
  1. package/cjs/ListTable.d.ts +1 -1
  2. package/cjs/ListTable.js +21 -13
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.js +16 -16
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/PivotTable.d.ts +1 -1
  7. package/cjs/PivotTable.js +65 -63
  8. package/cjs/PivotTable.js.map +1 -1
  9. package/cjs/body-helper/body-helper.js +2 -1
  10. package/cjs/components/index.js +1 -2
  11. package/cjs/core/BaseTable.js +2 -2
  12. package/cjs/core/BaseTable.js.map +1 -1
  13. package/cjs/core/record-helper.d.ts +1 -1
  14. package/cjs/core/record-helper.js +60 -12
  15. package/cjs/core/record-helper.js.map +1 -1
  16. package/cjs/core/tableHelper.js +2 -1
  17. package/cjs/data/DataSource.d.ts +3 -1
  18. package/cjs/data/DataSource.js +71 -23
  19. package/cjs/data/DataSource.js.map +1 -1
  20. package/cjs/dataset/dataset.d.ts +9 -1
  21. package/cjs/dataset/dataset.js +344 -187
  22. package/cjs/dataset/dataset.js.map +1 -1
  23. package/cjs/event/event.d.ts +94 -8
  24. package/cjs/event/event.js +698 -191
  25. package/cjs/event/event.js.map +1 -1
  26. package/cjs/event/helper.js +1 -1
  27. package/cjs/event/media-click.js +4 -1
  28. package/cjs/event/media-click.js.map +1 -1
  29. package/cjs/event/scroll.js +1 -1
  30. package/cjs/event/sparkline-event.js +1 -2
  31. package/cjs/event/util.js +2 -2
  32. package/cjs/event/util.js.map +1 -1
  33. package/cjs/index.d.ts +1 -1
  34. package/cjs/index.js +1 -1
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/layout/pivot-header-layout.js +33 -17
  37. package/cjs/layout/pivot-header-layout.js.map +1 -1
  38. package/cjs/plugins/custom-cell-style.js +1 -1
  39. package/cjs/plugins/index.js +2 -1
  40. package/cjs/plugins/interface.js +1 -1
  41. package/cjs/plugins/invert-highlight.js +1 -1
  42. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  43. package/cjs/plugins/plugin-manager.js +1 -1
  44. package/cjs/scenegraph/group-creater/cell-helper.js +27 -10
  45. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  46. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  47. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +14 -10
  48. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  49. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +17 -4
  50. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  51. package/cjs/scenegraph/layout/compute-col-width.js +6 -1
  52. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  53. package/cjs/scenegraph/layout/compute-row-height.js +11 -3
  54. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  55. package/cjs/scenegraph/layout/update-height.d.ts +4 -3
  56. package/cjs/scenegraph/layout/update-height.js +43 -29
  57. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  58. package/cjs/scenegraph/layout/update-width.d.ts +2 -1
  59. package/cjs/scenegraph/layout/update-width.js +49 -37
  60. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  61. package/cjs/scenegraph/scenegraph.d.ts +2 -2
  62. package/cjs/scenegraph/scenegraph.js +6 -5
  63. package/cjs/scenegraph/scenegraph.js.map +1 -1
  64. package/cjs/scenegraph/utils/corner-custom-merge.d.ts +10 -0
  65. package/cjs/scenegraph/utils/corner-custom-merge.js +68 -0
  66. package/cjs/scenegraph/utils/corner-custom-merge.js.map +1 -0
  67. package/cjs/state/resize/update-resize-column.js +25 -13
  68. package/cjs/state/resize/update-resize-column.js.map +1 -1
  69. package/cjs/state/resize/update-resize-row.js +24 -12
  70. package/cjs/state/resize/update-resize-row.js.map +1 -1
  71. package/cjs/themes.d.ts +4 -2
  72. package/cjs/themes.js +12 -4
  73. package/cjs/themes.js.map +1 -1
  74. package/cjs/tools/get-data-path/create-dataset.js +4 -4
  75. package/cjs/tools/get-data-path/create-dataset.js.map +1 -1
  76. package/cjs/tools/get-data-path/index.js +4 -4
  77. package/cjs/tools/get-data-path/index.js.map +1 -1
  78. package/cjs/tools/style.d.ts +3 -1
  79. package/cjs/tools/style.js +2 -2
  80. package/cjs/tools/style.js.map +1 -1
  81. package/cjs/ts-types/common.d.ts +1 -0
  82. package/cjs/ts-types/common.js.map +1 -1
  83. package/cjs/ts-types/dataset/aggregation.d.ts +1 -0
  84. package/cjs/ts-types/dataset/aggregation.js +21 -3
  85. package/cjs/ts-types/dataset/aggregation.js.map +1 -1
  86. package/cjs/ts-types/new-data-set.d.ts +1 -0
  87. package/cjs/ts-types/new-data-set.js.map +1 -1
  88. package/cjs/ts-types/table-engine.d.ts +3 -2
  89. package/cjs/ts-types/table-engine.js.map +1 -1
  90. package/cjs/vrender.js.map +1 -1
  91. package/dist/vtable.js +2224 -779
  92. package/dist/vtable.min.js +1 -1
  93. package/es/ListTable.d.ts +1 -1
  94. package/es/ListTable.js +21 -15
  95. package/es/ListTable.js.map +1 -1
  96. package/es/PivotChart.js +16 -16
  97. package/es/PivotChart.js.map +1 -1
  98. package/es/PivotTable.d.ts +1 -1
  99. package/es/PivotTable.js +65 -63
  100. package/es/PivotTable.js.map +1 -1
  101. package/es/body-helper/body-helper.js +2 -1
  102. package/es/components/index.js +1 -2
  103. package/es/core/BaseTable.js +2 -2
  104. package/es/core/BaseTable.js.map +1 -1
  105. package/es/core/record-helper.d.ts +1 -1
  106. package/es/core/record-helper.js +60 -12
  107. package/es/core/record-helper.js.map +1 -1
  108. package/es/core/tableHelper.js +2 -1
  109. package/es/data/DataSource.d.ts +3 -1
  110. package/es/data/DataSource.js +70 -23
  111. package/es/data/DataSource.js.map +1 -1
  112. package/es/dataset/dataset.d.ts +9 -1
  113. package/es/dataset/dataset.js +341 -187
  114. package/es/dataset/dataset.js.map +1 -1
  115. package/es/event/event.d.ts +94 -8
  116. package/es/event/event.js +696 -191
  117. package/es/event/event.js.map +1 -1
  118. package/es/event/helper.js +1 -1
  119. package/es/event/media-click.js +4 -1
  120. package/es/event/media-click.js.map +1 -1
  121. package/es/event/scroll.js +1 -1
  122. package/es/event/sparkline-event.js +1 -2
  123. package/es/event/util.js +2 -2
  124. package/es/event/util.js.map +1 -1
  125. package/es/index.d.ts +1 -1
  126. package/es/index.js +1 -1
  127. package/es/index.js.map +1 -1
  128. package/es/layout/pivot-header-layout.js +29 -17
  129. package/es/layout/pivot-header-layout.js.map +1 -1
  130. package/es/plugins/custom-cell-style.js +1 -1
  131. package/es/plugins/index.js +2 -1
  132. package/es/plugins/interface.js +1 -1
  133. package/es/plugins/invert-highlight.js +1 -1
  134. package/es/plugins/list-tree-stick-cell.js +1 -1
  135. package/es/plugins/plugin-manager.js +1 -1
  136. package/es/scenegraph/group-creater/cell-helper.js +23 -9
  137. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  138. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  139. package/es/scenegraph/group-creater/cell-type/text-cell.js +13 -8
  140. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  141. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +17 -5
  142. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  143. package/es/scenegraph/layout/compute-col-width.js +6 -1
  144. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  145. package/es/scenegraph/layout/compute-row-height.js +11 -3
  146. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  147. package/es/scenegraph/layout/update-height.d.ts +4 -3
  148. package/es/scenegraph/layout/update-height.js +40 -26
  149. package/es/scenegraph/layout/update-height.js.map +1 -1
  150. package/es/scenegraph/layout/update-width.d.ts +2 -1
  151. package/es/scenegraph/layout/update-width.js +46 -34
  152. package/es/scenegraph/layout/update-width.js.map +1 -1
  153. package/es/scenegraph/scenegraph.d.ts +2 -2
  154. package/es/scenegraph/scenegraph.js +7 -5
  155. package/es/scenegraph/scenegraph.js.map +1 -1
  156. package/es/scenegraph/utils/corner-custom-merge.d.ts +10 -0
  157. package/es/scenegraph/utils/corner-custom-merge.js +59 -0
  158. package/es/scenegraph/utils/corner-custom-merge.js.map +1 -0
  159. package/es/state/resize/update-resize-column.js +19 -10
  160. package/es/state/resize/update-resize-column.js.map +1 -1
  161. package/es/state/resize/update-resize-row.js +19 -9
  162. package/es/state/resize/update-resize-row.js.map +1 -1
  163. package/es/themes.d.ts +4 -2
  164. package/es/themes.js +11 -3
  165. package/es/themes.js.map +1 -1
  166. package/es/tools/get-data-path/create-dataset.js +4 -4
  167. package/es/tools/get-data-path/create-dataset.js.map +1 -1
  168. package/es/tools/get-data-path/index.js +4 -4
  169. package/es/tools/get-data-path/index.js.map +1 -1
  170. package/es/tools/style.d.ts +3 -1
  171. package/es/tools/style.js +2 -2
  172. package/es/tools/style.js.map +1 -1
  173. package/es/ts-types/common.d.ts +1 -0
  174. package/es/ts-types/common.js.map +1 -1
  175. package/es/ts-types/dataset/aggregation.d.ts +1 -0
  176. package/es/ts-types/dataset/aggregation.js +21 -3
  177. package/es/ts-types/dataset/aggregation.js.map +1 -1
  178. package/es/ts-types/new-data-set.d.ts +1 -0
  179. package/es/ts-types/new-data-set.js.map +1 -1
  180. package/es/ts-types/table-engine.d.ts +3 -2
  181. package/es/ts-types/table-engine.js.map +1 -1
  182. package/es/vrender.js.map +1 -1
  183. package/package.json +9 -9
@@ -42,4 +42,4 @@ function fireMoveColEventListeners(table, endMoveColSuccess, e) {
42
42
  }
43
43
 
44
44
  exports.fireMoveColEventListeners = fireMoveColEventListeners;
45
- //# sourceMappingURL=helper.js.map
45
+ //# sourceMappingURL=helper.js.map
@@ -157,6 +157,7 @@ function bindMediaClick(table) {
157
157
  } else if ("image" === cellType) {
158
158
  const {clickToPreview: clickToPreview} = columnDefine;
159
159
  if (!1 === clickToPreview) return;
160
+ if (!cellValue) return;
160
161
  const previewManager = getMediaPreviewManager(table), overlay = document.createElement("div");
161
162
  overlay.style.width = "100%", overlay.style.height = "100%", overlay.style.position = "fixed",
162
163
  overlay.style.top = "0", overlay.style.left = "0", overlay.style.backgroundColor = "rgba(30, 30, 30, 0.4)",
@@ -174,6 +175,7 @@ function bindMediaClick(table) {
174
175
  } else if ("audio" === cellType || "video" === cellType && (0, media_1.isAudioUrl)(cellValue)) {
175
176
  const {clickToPreview: clickToPreview} = columnDefine;
176
177
  if (!1 === clickToPreview) return;
178
+ if (!cellValue) return;
177
179
  const previewManager = getMediaPreviewManager(table), overlay = document.createElement("div");
178
180
  overlay.style.width = "100%", overlay.style.height = "100%", overlay.style.position = "fixed",
179
181
  overlay.style.top = "0", overlay.style.left = "0", overlay.style.backgroundColor = "rgba(30, 30, 30, 0.4)",
@@ -188,6 +190,7 @@ function bindMediaClick(table) {
188
190
  } else if ("video" === cellType) {
189
191
  const {clickToPreview: clickToPreview} = columnDefine;
190
192
  if (!1 === clickToPreview) return;
193
+ if (!cellValue) return;
191
194
  const previewManager = getMediaPreviewManager(table), overlay = document.createElement("div");
192
195
  overlay.style.width = "100%", overlay.style.height = "100%", overlay.style.position = "fixed",
193
196
  overlay.style.top = "0", overlay.style.left = "0", overlay.style.backgroundColor = "rgba(30, 30, 30, 0.4)",
@@ -214,4 +217,4 @@ function bindMediaClick(table) {
214
217
  }
215
218
 
216
219
  exports.bindMediaClick = bindMediaClick;
217
- //# sourceMappingURL=media-click.js.map
220
+ //# sourceMappingURL=media-click.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/media-click.ts"],"names":[],"mappings":"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","file":"media-click.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport { Env } from '../tools/env';\nimport { regUrl } from '../tools/global';\nimport type { LinkColumnDefine, MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport type { IAudioColumnBodyDefine, IImageColumnBodyDefine } from '../ts-types/list-table/define/image-define';\nimport { getOrApply } from '../tools/helper';\nimport { isAudioUrl } from '../tools/media';\n\nconst MEDIA_PREVIEW_MANAGER_KEY = '__vtable_media_preview_manager__';\n\ninterface MediaPreviewManager {\n closePreview: (() => void) | null;\n registered: boolean;\n close: () => void;\n open: (closePreview: () => void) => void;\n release: () => void;\n ensureRegistered: () => void;\n}\n\nfunction formatAudioTime(time: number) {\n if (!Number.isFinite(time) || time < 0) {\n return '0:00';\n }\n const minutes = Math.floor(time / 60);\n const seconds = Math.floor(time % 60);\n return `${minutes}:${seconds.toString().padStart(2, '0')}`;\n}\n\nfunction updateAudioProgressStyle(progress: HTMLInputElement, value: number) {\n progress.style.background = `linear-gradient(\n to right,\n #2563EB 0%,\n #2563EB ${value}%,\n #D1D5DB ${value}%,\n #D1D5DB 100%\n )`;\n}\n\nfunction ensureAudioPreviewStyle() {\n const styleId = 'vtable-audio-preview-style';\n if (document.getElementById(styleId)) {\n return;\n }\n const style = document.createElement('style');\n style.id = styleId;\n style.textContent = `\n .vtable-audio-preview-progress {\n -webkit-appearance: none;\n appearance: none;\n }\n .vtable-audio-preview-progress::-webkit-slider-runnable-track {\n height: 4px;\n border-radius: 999px;\n background: transparent;\n }\n .vtable-audio-preview-progress::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n margin-top: -4px;\n border-radius: 50%;\n border: 0;\n background: #2563EB;\n }\n .vtable-audio-preview-progress::-moz-range-track {\n height: 4px;\n border-radius: 999px;\n background: transparent;\n }\n .vtable-audio-preview-progress::-moz-range-thumb {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n border: 0;\n background: #2563EB;\n }\n `;\n document.head.appendChild(style);\n}\n\nfunction createAudioPreview(cellValue: string) {\n ensureAudioPreviewStyle();\n\n const audio = document.createElement('audio');\n audio.src = cellValue;\n audio.preload = 'auto';\n let released = false;\n\n const wrapper = document.createElement('div');\n wrapper.style.width = '80%';\n wrapper.style.maxWidth = '640px';\n wrapper.style.height = '54px';\n wrapper.style.boxSizing = 'border-box';\n wrapper.style.padding = '0 16px';\n wrapper.style.borderRadius = '27px';\n wrapper.style.background = '#F8FAFC';\n wrapper.style.display = 'flex';\n wrapper.style.alignItems = 'center';\n wrapper.style.gap = '10px';\n wrapper.style.boxShadow = '0 8px 24px rgba(15, 23, 42, 0.16)';\n\n const playButton = document.createElement('button');\n playButton.type = 'button';\n playButton.textContent = '▶';\n playButton.style.width = '34px';\n playButton.style.height = '34px';\n playButton.style.border = '1px solid #CBD5E1';\n playButton.style.borderRadius = '8px';\n playButton.style.background = '#EFF6FF';\n playButton.style.color = '#0F172A';\n playButton.style.cursor = 'pointer';\n playButton.style.flex = '0 0 auto';\n playButton.style.fontSize = '14px';\n\n const timeLabel = document.createElement('span');\n timeLabel.textContent = '0:00 / 0:00';\n timeLabel.style.color = '#0F172A';\n timeLabel.style.font = '14px sans-serif';\n timeLabel.style.whiteSpace = 'nowrap';\n\n const progress = document.createElement('input');\n progress.className = 'vtable-audio-preview-progress';\n progress.type = 'range';\n progress.min = '0';\n progress.max = '100';\n progress.value = '0';\n progress.step = '0.1';\n progress.style.flex = '1 1 auto';\n progress.style.height = '4px';\n progress.style.borderRadius = '999px';\n progress.style.outline = 'none';\n progress.style.cursor = 'pointer';\n progress.style.accentColor = '#2563EB';\n updateAudioProgressStyle(progress, 0);\n\n const updateProgress = () => {\n const duration = Number.isFinite(audio.duration) ? audio.duration : 0;\n const currentTime = audio.currentTime || 0;\n const value = duration > 0 ? Math.min(100, (currentTime / duration) * 100) : 0;\n progress.disabled = duration <= 0;\n progress.style.cursor = duration > 0 ? 'pointer' : 'default';\n progress.value = `${value}`;\n timeLabel.textContent = `${formatAudioTime(currentTime)} / ${formatAudioTime(duration)}`;\n updateAudioProgressStyle(progress, value);\n };\n\n playButton.addEventListener('click', e => {\n e.stopPropagation();\n if (audio.paused) {\n const playPromise = audio.play();\n if (playPromise) {\n playPromise.catch(error => {\n if (released || error?.name === 'AbortError') {\n return;\n }\n playButton.textContent = '▶';\n });\n }\n } else {\n audio.pause();\n }\n });\n\n progress.addEventListener('click', e => {\n e.stopPropagation();\n });\n\n progress.addEventListener('input', () => {\n const duration = Number.isFinite(audio.duration) ? audio.duration : 0;\n const value = Number(progress.value);\n if (duration > 0 && Number.isFinite(value)) {\n audio.currentTime = (duration * value) / 100;\n }\n updateProgress();\n });\n\n audio.addEventListener('loadedmetadata', updateProgress);\n audio.addEventListener('durationchange', updateProgress);\n audio.addEventListener('timeupdate', updateProgress);\n audio.addEventListener('play', () => {\n playButton.textContent = '❚❚';\n });\n audio.addEventListener('pause', () => {\n playButton.textContent = '▶';\n });\n audio.addEventListener('ended', () => {\n audio.currentTime = 0;\n playButton.textContent = '▶';\n updateProgress();\n });\n\n wrapper.appendChild(playButton);\n wrapper.appendChild(timeLabel);\n wrapper.appendChild(progress);\n wrapper.appendChild(audio);\n\n return {\n element: wrapper,\n destroy: () => {\n released = true;\n audio.pause();\n audio.removeAttribute('src');\n audio.load();\n }\n };\n}\n\nfunction createMediaPreviewManager(table: BaseTableAPI): MediaPreviewManager {\n const manager: MediaPreviewManager = {\n closePreview: null,\n registered: false,\n close() {\n const closePreview = manager.closePreview;\n manager.closePreview = null;\n closePreview?.();\n },\n open(closePreview: () => void) {\n manager.close();\n manager.closePreview = closePreview;\n },\n release() {\n manager.close();\n manager.registered = false;\n },\n ensureRegistered() {\n if (manager.registered) {\n return;\n }\n table.addReleaseObj(manager);\n manager.registered = true;\n }\n };\n return manager;\n}\n\nfunction getMediaPreviewManager(table: BaseTableAPI): MediaPreviewManager {\n const tableWithManager = table as any;\n if (!tableWithManager[MEDIA_PREVIEW_MANAGER_KEY]) {\n tableWithManager[MEDIA_PREVIEW_MANAGER_KEY] = createMediaPreviewManager(table);\n }\n const manager = tableWithManager[MEDIA_PREVIEW_MANAGER_KEY] as MediaPreviewManager;\n manager.ensureRegistered();\n return manager;\n}\n\nexport function bindMediaClick(table: BaseTableAPI): void {\n if (Env.mode === 'browser') {\n // table.hasMedia = false;\n getMediaPreviewManager(table);\n\n table.on(TABLE_EVENT_TYPE.CLICK_CELL, (e: MousePointerCellEvent) => {\n //如果目前是在某个icon上,如收起展开按钮 则不进行其他点击逻辑\n const { col, row } = e;\n\n if (e.target.type === 'image' && (e.target as any).role && (e.target as any).role.startsWith('icon')) {\n // click icon\n return;\n }\n\n const cellType = table.getCellType(col, row);\n const columnDefine = table.isHeader(col, row)\n ? table.getHeaderDefine(col, row)\n : table.getBodyColumnDefine(col, row);\n const cellValue = table.getCellValue(col, row);\n const cellOriginValue = table.getCellOriginValue(col, row);\n if (cellType === 'link') {\n let linkJump: boolean | undefined = getOrApply((columnDefine as LinkColumnDefine).linkJump, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkJump = linkJump !== false;\n if (!linkJump) {\n return;\n }\n\n // 点击链接,打开相应页面\n const templateLink = (columnDefine as LinkColumnDefine).templateLink;\n let linkDetect = getOrApply((columnDefine as LinkColumnDefine).linkDetect, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkDetect = linkDetect !== false;\n let url;\n if (templateLink) {\n // 如果有模板链接,使用模板\n const rowData = table.getCellOriginRecord(col, row);\n if (rowData && rowData.vtableMerge) {\n // group title\n return;\n }\n const data = Object.assign(\n {\n __value: cellValue,\n __dataValue: cellOriginValue,\n value: cellValue,\n dataValue: cellOriginValue\n },\n rowData\n );\n if (isFunction(templateLink)) {\n url = templateLink(data, col, row, table);\n } else {\n const re = /\\{\\s*(\\S+?)\\s*\\}/g;\n url = templateLink.replace(re, (matchs: string, key: string) => {\n matchs;\n return (data as any)[key];\n });\n }\n } else if (!linkDetect) {\n url = cellValue;\n } else if (regUrl.test(cellValue)) {\n // 没有模板链接,使用单元格内的字符串\n url = cellValue;\n } else {\n return;\n }\n\n if (!url) {\n return;\n }\n\n const linkTarget = (columnDefine as LinkColumnDefine).linkTarget;\n const linkWindowFeatures = (columnDefine as LinkColumnDefine).linkWindowFeatures;\n window.open(url, linkTarget, linkWindowFeatures);\n } else if (cellType === 'image') {\n // 点击图片,打开放大图片\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n const previewManager = getMediaPreviewManager(table);\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n const closeOverlay = () => {\n if (overlay.parentNode) {\n document.body.removeChild(overlay);\n }\n };\n previewManager.open(closeOverlay);\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n previewManager.close();\n }\n });\n // overlay.addEventListener('pointermove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // overlay.addEventListener('mousemove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // 创建图片\n const image = new Image();\n image.src = cellValue;\n image.style.maxWidth = '80%';\n image.style.maxHeight = '80%';\n image.style.backgroundColor = '#FFF';\n overlay.appendChild(image);\n\n document.body.appendChild(overlay);\n } else if (cellType === 'audio' || (cellType === 'video' && isAudioUrl(cellValue))) {\n // 点击音频,弹出播放窗口\n const { clickToPreview } = columnDefine as IAudioColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n const previewManager = getMediaPreviewManager(table);\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n const audioPreview = createAudioPreview(cellValue);\n const closeOverlay = () => {\n audioPreview.destroy();\n if (overlay.parentNode) {\n document.body.removeChild(overlay);\n }\n };\n previewManager.open(closeOverlay);\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n previewManager.close();\n }\n });\n\n // 创建音频\n overlay.appendChild(audioPreview.element);\n\n document.body.appendChild(overlay);\n } else if (cellType === 'video') {\n // 点击视频,弹出播放窗口\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n const previewManager = getMediaPreviewManager(table);\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n const video = document.createElement('video');\n video.src = cellValue;\n video.style.maxWidth = '80%';\n video.style.maxHeight = '80%';\n video.setAttribute('preload', 'auto');\n video.setAttribute('controls', 'true');\n\n const closeOverlay = () => {\n try {\n video.pause();\n } catch (err) {\n // ignore media cleanup errors\n }\n video.removeAttribute('src');\n try {\n video.load();\n } catch (err) {\n // ignore media cleanup errors\n }\n if (overlay.parentNode) {\n document.body.removeChild(overlay);\n }\n };\n previewManager.open(closeOverlay);\n\n overlay.appendChild(video);\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n previewManager.close();\n }\n });\n\n document.body.appendChild(overlay);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/event/media-click.ts"],"names":[],"mappings":"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","file":"media-click.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport { Env } from '../tools/env';\nimport { regUrl } from '../tools/global';\nimport type { LinkColumnDefine, MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport type { IAudioColumnBodyDefine, IImageColumnBodyDefine } from '../ts-types/list-table/define/image-define';\nimport { getOrApply } from '../tools/helper';\nimport { isAudioUrl } from '../tools/media';\n\nconst MEDIA_PREVIEW_MANAGER_KEY = '__vtable_media_preview_manager__';\n\ninterface MediaPreviewManager {\n closePreview: (() => void) | null;\n registered: boolean;\n close: () => void;\n open: (closePreview: () => void) => void;\n release: () => void;\n ensureRegistered: () => void;\n}\n\nfunction formatAudioTime(time: number) {\n if (!Number.isFinite(time) || time < 0) {\n return '0:00';\n }\n const minutes = Math.floor(time / 60);\n const seconds = Math.floor(time % 60);\n return `${minutes}:${seconds.toString().padStart(2, '0')}`;\n}\n\nfunction updateAudioProgressStyle(progress: HTMLInputElement, value: number) {\n progress.style.background = `linear-gradient(\n to right,\n #2563EB 0%,\n #2563EB ${value}%,\n #D1D5DB ${value}%,\n #D1D5DB 100%\n )`;\n}\n\nfunction ensureAudioPreviewStyle() {\n const styleId = 'vtable-audio-preview-style';\n if (document.getElementById(styleId)) {\n return;\n }\n const style = document.createElement('style');\n style.id = styleId;\n style.textContent = `\n .vtable-audio-preview-progress {\n -webkit-appearance: none;\n appearance: none;\n }\n .vtable-audio-preview-progress::-webkit-slider-runnable-track {\n height: 4px;\n border-radius: 999px;\n background: transparent;\n }\n .vtable-audio-preview-progress::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n margin-top: -4px;\n border-radius: 50%;\n border: 0;\n background: #2563EB;\n }\n .vtable-audio-preview-progress::-moz-range-track {\n height: 4px;\n border-radius: 999px;\n background: transparent;\n }\n .vtable-audio-preview-progress::-moz-range-thumb {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n border: 0;\n background: #2563EB;\n }\n `;\n document.head.appendChild(style);\n}\n\nfunction createAudioPreview(cellValue: string) {\n ensureAudioPreviewStyle();\n\n const audio = document.createElement('audio');\n audio.src = cellValue;\n audio.preload = 'auto';\n let released = false;\n\n const wrapper = document.createElement('div');\n wrapper.style.width = '80%';\n wrapper.style.maxWidth = '640px';\n wrapper.style.height = '54px';\n wrapper.style.boxSizing = 'border-box';\n wrapper.style.padding = '0 16px';\n wrapper.style.borderRadius = '27px';\n wrapper.style.background = '#F8FAFC';\n wrapper.style.display = 'flex';\n wrapper.style.alignItems = 'center';\n wrapper.style.gap = '10px';\n wrapper.style.boxShadow = '0 8px 24px rgba(15, 23, 42, 0.16)';\n\n const playButton = document.createElement('button');\n playButton.type = 'button';\n playButton.textContent = '▶';\n playButton.style.width = '34px';\n playButton.style.height = '34px';\n playButton.style.border = '1px solid #CBD5E1';\n playButton.style.borderRadius = '8px';\n playButton.style.background = '#EFF6FF';\n playButton.style.color = '#0F172A';\n playButton.style.cursor = 'pointer';\n playButton.style.flex = '0 0 auto';\n playButton.style.fontSize = '14px';\n\n const timeLabel = document.createElement('span');\n timeLabel.textContent = '0:00 / 0:00';\n timeLabel.style.color = '#0F172A';\n timeLabel.style.font = '14px sans-serif';\n timeLabel.style.whiteSpace = 'nowrap';\n\n const progress = document.createElement('input');\n progress.className = 'vtable-audio-preview-progress';\n progress.type = 'range';\n progress.min = '0';\n progress.max = '100';\n progress.value = '0';\n progress.step = '0.1';\n progress.style.flex = '1 1 auto';\n progress.style.height = '4px';\n progress.style.borderRadius = '999px';\n progress.style.outline = 'none';\n progress.style.cursor = 'pointer';\n progress.style.accentColor = '#2563EB';\n updateAudioProgressStyle(progress, 0);\n\n const updateProgress = () => {\n const duration = Number.isFinite(audio.duration) ? audio.duration : 0;\n const currentTime = audio.currentTime || 0;\n const value = duration > 0 ? Math.min(100, (currentTime / duration) * 100) : 0;\n progress.disabled = duration <= 0;\n progress.style.cursor = duration > 0 ? 'pointer' : 'default';\n progress.value = `${value}`;\n timeLabel.textContent = `${formatAudioTime(currentTime)} / ${formatAudioTime(duration)}`;\n updateAudioProgressStyle(progress, value);\n };\n\n playButton.addEventListener('click', e => {\n e.stopPropagation();\n if (audio.paused) {\n const playPromise = audio.play();\n if (playPromise) {\n playPromise.catch(error => {\n if (released || error?.name === 'AbortError') {\n return;\n }\n playButton.textContent = '▶';\n });\n }\n } else {\n audio.pause();\n }\n });\n\n progress.addEventListener('click', e => {\n e.stopPropagation();\n });\n\n progress.addEventListener('input', () => {\n const duration = Number.isFinite(audio.duration) ? audio.duration : 0;\n const value = Number(progress.value);\n if (duration > 0 && Number.isFinite(value)) {\n audio.currentTime = (duration * value) / 100;\n }\n updateProgress();\n });\n\n audio.addEventListener('loadedmetadata', updateProgress);\n audio.addEventListener('durationchange', updateProgress);\n audio.addEventListener('timeupdate', updateProgress);\n audio.addEventListener('play', () => {\n playButton.textContent = '❚❚';\n });\n audio.addEventListener('pause', () => {\n playButton.textContent = '▶';\n });\n audio.addEventListener('ended', () => {\n audio.currentTime = 0;\n playButton.textContent = '▶';\n updateProgress();\n });\n\n wrapper.appendChild(playButton);\n wrapper.appendChild(timeLabel);\n wrapper.appendChild(progress);\n wrapper.appendChild(audio);\n\n return {\n element: wrapper,\n destroy: () => {\n released = true;\n audio.pause();\n audio.removeAttribute('src');\n audio.load();\n }\n };\n}\n\nfunction createMediaPreviewManager(table: BaseTableAPI): MediaPreviewManager {\n const manager: MediaPreviewManager = {\n closePreview: null,\n registered: false,\n close() {\n const closePreview = manager.closePreview;\n manager.closePreview = null;\n closePreview?.();\n },\n open(closePreview: () => void) {\n manager.close();\n manager.closePreview = closePreview;\n },\n release() {\n manager.close();\n manager.registered = false;\n },\n ensureRegistered() {\n if (manager.registered) {\n return;\n }\n table.addReleaseObj(manager);\n manager.registered = true;\n }\n };\n return manager;\n}\n\nfunction getMediaPreviewManager(table: BaseTableAPI): MediaPreviewManager {\n const tableWithManager = table as any;\n if (!tableWithManager[MEDIA_PREVIEW_MANAGER_KEY]) {\n tableWithManager[MEDIA_PREVIEW_MANAGER_KEY] = createMediaPreviewManager(table);\n }\n const manager = tableWithManager[MEDIA_PREVIEW_MANAGER_KEY] as MediaPreviewManager;\n manager.ensureRegistered();\n return manager;\n}\n\nexport function bindMediaClick(table: BaseTableAPI): void {\n if (Env.mode === 'browser') {\n // table.hasMedia = false;\n getMediaPreviewManager(table);\n\n table.on(TABLE_EVENT_TYPE.CLICK_CELL, (e: MousePointerCellEvent) => {\n //如果目前是在某个icon上,如收起展开按钮 则不进行其他点击逻辑\n const { col, row } = e;\n\n if (e.target.type === 'image' && (e.target as any).role && (e.target as any).role.startsWith('icon')) {\n // click icon\n return;\n }\n\n const cellType = table.getCellType(col, row);\n const columnDefine = table.isHeader(col, row)\n ? table.getHeaderDefine(col, row)\n : table.getBodyColumnDefine(col, row);\n const cellValue = table.getCellValue(col, row);\n const cellOriginValue = table.getCellOriginValue(col, row);\n if (cellType === 'link') {\n let linkJump: boolean | undefined = getOrApply((columnDefine as LinkColumnDefine).linkJump, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkJump = linkJump !== false;\n if (!linkJump) {\n return;\n }\n\n // 点击链接,打开相应页面\n const templateLink = (columnDefine as LinkColumnDefine).templateLink;\n let linkDetect = getOrApply((columnDefine as LinkColumnDefine).linkDetect, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkDetect = linkDetect !== false;\n let url;\n if (templateLink) {\n // 如果有模板链接,使用模板\n const rowData = table.getCellOriginRecord(col, row);\n if (rowData && rowData.vtableMerge) {\n // group title\n return;\n }\n const data = Object.assign(\n {\n __value: cellValue,\n __dataValue: cellOriginValue,\n value: cellValue,\n dataValue: cellOriginValue\n },\n rowData\n );\n if (isFunction(templateLink)) {\n url = templateLink(data, col, row, table);\n } else {\n const re = /\\{\\s*(\\S+?)\\s*\\}/g;\n url = templateLink.replace(re, (matchs: string, key: string) => {\n matchs;\n return (data as any)[key];\n });\n }\n } else if (!linkDetect) {\n url = cellValue;\n } else if (regUrl.test(cellValue)) {\n // 没有模板链接,使用单元格内的字符串\n url = cellValue;\n } else {\n return;\n }\n\n if (!url) {\n return;\n }\n\n const linkTarget = (columnDefine as LinkColumnDefine).linkTarget;\n const linkWindowFeatures = (columnDefine as LinkColumnDefine).linkWindowFeatures;\n window.open(url, linkTarget, linkWindowFeatures);\n } else if (cellType === 'image') {\n // 点击图片,打开放大图片\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n if (!cellValue) {\n return;\n }\n const previewManager = getMediaPreviewManager(table);\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n const closeOverlay = () => {\n if (overlay.parentNode) {\n document.body.removeChild(overlay);\n }\n };\n previewManager.open(closeOverlay);\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n previewManager.close();\n }\n });\n // overlay.addEventListener('pointermove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // overlay.addEventListener('mousemove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // 创建图片\n const image = new Image();\n image.src = cellValue;\n image.style.maxWidth = '80%';\n image.style.maxHeight = '80%';\n image.style.backgroundColor = '#FFF';\n overlay.appendChild(image);\n\n document.body.appendChild(overlay);\n } else if (cellType === 'audio' || (cellType === 'video' && isAudioUrl(cellValue))) {\n // 点击音频,弹出播放窗口\n const { clickToPreview } = columnDefine as IAudioColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n if (!cellValue) {\n return;\n }\n const previewManager = getMediaPreviewManager(table);\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n const audioPreview = createAudioPreview(cellValue);\n const closeOverlay = () => {\n audioPreview.destroy();\n if (overlay.parentNode) {\n document.body.removeChild(overlay);\n }\n };\n previewManager.open(closeOverlay);\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n previewManager.close();\n }\n });\n\n // 创建音频\n overlay.appendChild(audioPreview.element);\n\n document.body.appendChild(overlay);\n } else if (cellType === 'video') {\n // 点击视频,弹出播放窗口\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n if (!cellValue) {\n return;\n }\n const previewManager = getMediaPreviewManager(table);\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'fixed';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n const video = document.createElement('video');\n video.src = cellValue;\n video.style.maxWidth = '80%';\n video.style.maxHeight = '80%';\n video.setAttribute('preload', 'auto');\n video.setAttribute('controls', 'true');\n\n const closeOverlay = () => {\n try {\n video.pause();\n } catch (err) {\n // ignore media cleanup errors\n }\n video.removeAttribute('src');\n try {\n video.load();\n } catch (err) {\n // ignore media cleanup errors\n }\n if (overlay.parentNode) {\n document.body.removeChild(overlay);\n }\n };\n previewManager.open(closeOverlay);\n\n overlay.appendChild(video);\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n previewManager.close();\n }\n });\n\n document.body.appendChild(overlay);\n }\n });\n }\n}\n"]}
@@ -122,4 +122,4 @@ class InertiaScroll {
122
122
  }
123
123
 
124
124
  exports.InertiaScroll = InertiaScroll;
125
- //# sourceMappingURL=scroll.js.map
125
+ //# sourceMappingURL=scroll.js.map
@@ -23,5 +23,4 @@ function bindSparklineHoverEvent(table) {
23
23
  })));
24
24
  }
25
25
 
26
- exports.bindSparklineHoverEvent = bindSparklineHoverEvent;
27
- //# sourceMappingURL=sparkline-event.js.map
26
+ exports.bindSparklineHoverEvent = bindSparklineHoverEvent;
package/cjs/event/util.js CHANGED
@@ -70,7 +70,7 @@ function setDataToHTML(data) {
70
70
  return rows.forEach((function(rowCells, rowIndex) {
71
71
  const cells = rowCells.split("\t"), rowValues = [];
72
72
  0 === rowIndex && result.push("<tbody>"), cells.forEach((function(cell, cellIndex) {
73
- const parsedCellData = cell ? cell.toString().replace(/&/g, "&amp;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\n/g, "<br>").replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g, "<br>\r\n").replace(/\x20{2,}/gi, (substring => `<span style="mso-spacerun: yes">${"&nbsp;".repeat(substring.length - 1)} </span>`)).replace(/\t/gi, "&#9;") : " ";
73
+ const parsedCellData = cell ? cell.toString().replace(/&/g, "&amp;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\n/g, "<br>").replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g, "<br>\r\n").replace(/\x20{2,}/gi, (substring => `<span style="mso-spacerun: yes">${"&nbsp;".repeat(substring.length - 1)} </span>`)).replace(/\t/gi, "&#9;") : "";
74
74
  rowValues.push(`<td>${parsedCellData}</td>`);
75
75
  })), result.push("<tr>", ...rowValues, "</tr>"), rowIndex === rows.length - 1 && result.push("</tbody>");
76
76
  })), result.push("</table>"), [ META_HEAD, result.join("") ].join("");
@@ -79,4 +79,4 @@ function setDataToHTML(data) {
79
79
  exports.getCellEventArgsSet = getCellEventArgsSet, exports.getCellEventArgsSetWithTable = getCellEventArgsSetWithTable,
80
80
  exports.getTargetCell = getTargetCell, exports.regIndexReg = /radio-\d+-\d+-(\d+)/,
81
81
  exports.setDataToHTML = setDataToHTML;
82
- //# sourceMappingURL=util.js.map
82
+ //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/util.ts"],"names":[],"mappings":";;;AAGA,6CAA2C;AAkB3C,SAAgB,mBAAmB,CAAC,CAAwB;IAC1D,MAAM,UAAU,GAAe;QAC7B,WAAW,EAAE;YAGX,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACf,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;SAChB;KAMF,CAAC;IACF,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,UAAU,EAAE;QACd,UAAU,CAAC,SAAS,GAAG;YACrB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,KAAK,EAAE,CAAC;YACR,UAAU;YACV,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC;YACvC,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC;KACH;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AA1BD,kDA0BC;AAED,SAAgB,4BAA4B,CAAC,CAAwB,EAAE,KAAmB;;IACxF,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;QAC3B,OAAO,YAAY,CAAC;KACrB;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAA,MAAA,KAAK,CAAC,mBAAmB,qDAAI,MAAK,CAAC,EAAE;QAC1E,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACpC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,KAAK,CAAC,iBAAiB,IAAI,QAAQ,GAAG,KAAK,CAAC,kBAAkB,EAAE;QAC7G,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;IAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;IAC7C,MAAM,kBAAkB,GACtB,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEzG,IAAI,kBAAkB,IAAI,QAAQ,IAAI,mBAAmB,EAAE;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE;YACtC,OAAO,YAAY,CAAC;SACrB;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,YAAY,CAAC,SAAS,GAAG;YACvB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,CAAC;YACR,UAAU;YACV,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC;YACvC,MAAM,EAAE,UAAqC;SAC9C,CAAC;KACH;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAtCD,oEAsCC;AAED,SAAgB,aAAa,CAAC,MAAW;IACvC,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;QAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;YAC1B,OAAO,MAAM,CAAC;SACf;QACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;KACxB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AARD,sCAQC;AAED,SAAS,gBAAgB,CAAC,SAAgB;IACxC,IACE,IAAA,gBAAO,EAAC,SAAS,CAAC,aAAa,CAAC;QAChC,IAAA,gBAAO,EAAC,SAAS,CAAC,aAAa,CAAC;QAChC,IAAA,gBAAO,EAAC,SAAS,CAAC,WAAW,CAAC;QAC9B,IAAA,gBAAO,EAAC,SAAS,CAAC,WAAW,CAAC,EAC9B;QACA,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,aAAa;YACjC,MAAM,EAAE,SAAS,CAAC,WAAW;YAC7B,QAAQ,EAAE,SAAS,CAAC,aAAa;YACjC,MAAM,EAAE,SAAS,CAAC,WAAW;SAC9B,CAAC;KACH;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAEY,QAAA,WAAW,GAAG,qBAAqB,CAAC;AAEjD,SAAgB,aAAa,CAAC,IAAY;IACxC,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,MAAM,SAAS,GAAG;QAChB,0CAA0C;QAG1C,uFAAuF;KACxF,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,UAAU,QAAa,EAAE,QAAgB;QACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,QAAQ,KAAK,CAAC,EAAE;YAClB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;QACD,KAAK,CAAC,OAAO,CAAC,UAAU,IAAY,EAAE,SAAiB;YAErD,MAAM,cAAc,GAAG,CAAC,IAAI;gBAC1B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,IAAI;qBACD,QAAQ,EAAE;qBACV,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;qBACtB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;qBACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;qBACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;qBACrB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;qBACtB,OAAO,CAAC,mCAAmC,EAAE,UAAU,CAAC;qBACxD,OAAO,CAAC,YAAY,EAAE,CAAC,SAAyB,EAAE,EAAE;oBAEnD,OAAO,mCAAmC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC;gBAC5F,CAAC,CAAC;qBACD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAE/B,SAAS,CAAC,IAAI,CAAC,OAAO,cAAc,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC;AA3CD,sCA2CC","file":"util.js","sourcesContent":["import type { FederatedPointerEvent, IEventTarget } from './../vrender';\nimport type { Group } from '../scenegraph/graphic/group';\nimport type { MergeCellInfo } from '../ts-types';\nimport { isValid } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../ts-types/base-table';\n\nexport interface SceneEvent {\n abstractPos: {\n x: number;\n y: number;\n };\n eventArgs?: {\n col: number;\n row: number;\n event: FederatedPointerEvent;\n targetCell: Group;\n mergeInfo?: MergeCellInfo;\n target: IEventTarget;\n };\n}\n\nexport function getCellEventArgsSet(e: FederatedPointerEvent): SceneEvent {\n const tableEvent: SceneEvent = {\n abstractPos: {\n // x: e.x,\n // y: e.y,\n x: e.viewport.x,\n y: e.viewport.y\n }\n // eventArgs: {\n // col: (e.target as any).col,\n // row: (e.target as any).row,\n // event: e,\n // },\n };\n const targetCell = getTargetCell(e.target);\n if (targetCell) {\n tableEvent.eventArgs = {\n col: targetCell.col,\n row: targetCell.row,\n event: e,\n targetCell,\n mergeInfo: getMergeCellInfo(targetCell),\n target: e.target\n };\n }\n return tableEvent;\n}\n\nexport function getCellEventArgsSetWithTable(e: FederatedPointerEvent, table: BaseTableAPI): SceneEvent {\n const eventArgsSet = getCellEventArgsSet(e);\n if (!eventArgsSet.eventArgs) {\n return eventArgsSet;\n }\n if (!table.options.scrollFrozenCols || table.getFrozenColsOffset?.() === 0) {\n return eventArgsSet;\n }\n\n const xInTable = e.x - table.tableX;\n const yInTable = e.y - table.tableY;\n if (xInTable < 0 || yInTable < 0 || xInTable > table.tableNoFrameWidth || yInTable > table.tableNoFrameHeight) {\n return eventArgsSet;\n }\n\n const frozenViewportWidth = table.getFrozenColsWidth();\n const pickedCol = eventArgsSet.eventArgs.col;\n const pickedRow = eventArgsSet.eventArgs.row;\n const isPickedLeftFrozen =\n pickedCol >= 0 && pickedCol < table.frozenColCount && !table.isRightFrozenColumn(pickedCol, pickedRow);\n\n if (isPickedLeftFrozen && xInTable >= frozenViewportWidth) {\n const cell = table.getCellAtRelativePosition(e.x, e.y);\n if (cell.col === -1 || cell.row === -1) {\n return eventArgsSet;\n }\n const targetCell = table.scenegraph.getCell(cell.col, cell.row);\n eventArgsSet.eventArgs = {\n col: cell.col,\n row: cell.row,\n event: e,\n targetCell,\n mergeInfo: getMergeCellInfo(targetCell),\n target: targetCell as unknown as IEventTarget\n };\n }\n\n return eventArgsSet;\n}\n\nexport function getTargetCell(target: any) {\n while (target && target.parent) {\n if (target.role === 'cell') {\n return target;\n }\n target = target.parent;\n }\n return null;\n}\n\nfunction getMergeCellInfo(cellGroup: Group): MergeCellInfo | undefined {\n if (\n isValid(cellGroup.mergeStartCol) &&\n isValid(cellGroup.mergeStartRow) &&\n isValid(cellGroup.mergeEndCol) &&\n isValid(cellGroup.mergeEndRow)\n ) {\n return {\n colStart: cellGroup.mergeStartCol,\n colEnd: cellGroup.mergeEndCol,\n rowStart: cellGroup.mergeStartRow,\n rowEnd: cellGroup.mergeEndRow\n };\n }\n return undefined;\n}\n\nexport const regIndexReg = /radio-\\d+-\\d+-(\\d+)/;\n\nexport function setDataToHTML(data: string) {\n const result = ['<table>'];\n const META_HEAD = [\n '<meta name=\"author\" content=\"Visactor\"/>', // 后面可用于vtable之间的快速复制粘贴\n //white-space:normal,连续的空白字符会被合并为一个空格,并且文本会根据容器的宽度自动换行显示\n //mso-data-placement:same-cell,excel专用, 在同一个单元格中显示所有数据,而不是默认情况下将数据分散到多个单元格中显示\n '<style type=\"text/css\">td{white-space:normal}br{mso-data-placement:same-cell}</style>'\n ].join('');\n const rows = data.split('\\r\\n'); // 将数据拆分为行\n rows.forEach(function (rowCells: any, rowIndex: number) {\n const cells = rowCells.split('\\t'); // 将行数据拆分为单元格\n const rowValues: string[] = [];\n if (rowIndex === 0) {\n result.push('<tbody>');\n }\n cells.forEach(function (cell: string, cellIndex: number) {\n // 单元格数据处理\n const parsedCellData = !cell\n ? ' '\n : cell\n .toString()\n .replace(/&/g, '&amp;') // replace & with &amp; to prevent XSS attacks\n .replace(/'/g, '&#39;') // replace ' with &#39; to prevent XSS attacks\n .replace(/</g, '&lt;') // replace < with &lt; to prevent XSS attacks\n .replace(/>/g, '&gt;') // replace > with &gt; to prevent XSS attacks\n .replace(/\\n/g, '<br>') // replace \\n with <br> to prevent XSS attacks\n .replace(/(<br(\\s*|\\/)>(\\r\\n|\\n)?|\\r\\n|\\n)/g, '<br>\\r\\n') // replace <br> with <br>\\r\\n to prevent XSS attacks\n .replace(/\\x20{2,}/gi, (substring: string | any[]) => {\n // excel连续空格序列化\n return `<span style=\"mso-spacerun: yes\">${'&nbsp;'.repeat(substring.length - 1)} </span>`;\n }) // replace 2 or more spaces with &nbsp; to prevent XSS attacks\n .replace(/\\t/gi, '&#9;'); // replace \\t with &#9; to prevent XSS attacks\n\n rowValues.push(`<td>${parsedCellData}</td>`);\n });\n result.push('<tr>', ...rowValues, '</tr>');\n\n if (rowIndex === rows.length - 1) {\n result.push('</tbody>');\n }\n });\n result.push('</table>');\n return [META_HEAD, result.join('')].join('');\n}\n"]}
1
+ {"version":3,"sources":["../src/event/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { FederatedPointerEvent, IEventTarget } from './../vrender';\nimport type { Group } from '../scenegraph/graphic/group';\nimport type { MergeCellInfo } from '../ts-types';\nimport { isValid } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../ts-types/base-table';\n\nexport interface SceneEvent {\n abstractPos: {\n x: number;\n y: number;\n };\n eventArgs?: {\n col: number;\n row: number;\n event: FederatedPointerEvent;\n targetCell: Group;\n mergeInfo?: MergeCellInfo;\n target: IEventTarget;\n };\n}\n\nexport function getCellEventArgsSet(e: FederatedPointerEvent): SceneEvent {\n const tableEvent: SceneEvent = {\n abstractPos: {\n // x: e.x,\n // y: e.y,\n x: e.viewport.x,\n y: e.viewport.y\n }\n // eventArgs: {\n // col: (e.target as any).col,\n // row: (e.target as any).row,\n // event: e,\n // },\n };\n const targetCell = getTargetCell(e.target);\n if (targetCell) {\n tableEvent.eventArgs = {\n col: targetCell.col,\n row: targetCell.row,\n event: e,\n targetCell,\n mergeInfo: getMergeCellInfo(targetCell),\n target: e.target\n };\n }\n return tableEvent;\n}\n\nexport function getCellEventArgsSetWithTable(e: FederatedPointerEvent, table: BaseTableAPI): SceneEvent {\n const eventArgsSet = getCellEventArgsSet(e);\n if (!eventArgsSet.eventArgs) {\n return eventArgsSet;\n }\n if (!table.options.scrollFrozenCols || table.getFrozenColsOffset?.() === 0) {\n return eventArgsSet;\n }\n\n const xInTable = e.x - table.tableX;\n const yInTable = e.y - table.tableY;\n if (xInTable < 0 || yInTable < 0 || xInTable > table.tableNoFrameWidth || yInTable > table.tableNoFrameHeight) {\n return eventArgsSet;\n }\n\n const frozenViewportWidth = table.getFrozenColsWidth();\n const pickedCol = eventArgsSet.eventArgs.col;\n const pickedRow = eventArgsSet.eventArgs.row;\n const isPickedLeftFrozen =\n pickedCol >= 0 && pickedCol < table.frozenColCount && !table.isRightFrozenColumn(pickedCol, pickedRow);\n\n if (isPickedLeftFrozen && xInTable >= frozenViewportWidth) {\n const cell = table.getCellAtRelativePosition(e.x, e.y);\n if (cell.col === -1 || cell.row === -1) {\n return eventArgsSet;\n }\n const targetCell = table.scenegraph.getCell(cell.col, cell.row);\n eventArgsSet.eventArgs = {\n col: cell.col,\n row: cell.row,\n event: e,\n targetCell,\n mergeInfo: getMergeCellInfo(targetCell),\n target: targetCell as unknown as IEventTarget\n };\n }\n\n return eventArgsSet;\n}\n\nexport function getTargetCell(target: any) {\n while (target && target.parent) {\n if (target.role === 'cell') {\n return target;\n }\n target = target.parent;\n }\n return null;\n}\n\nfunction getMergeCellInfo(cellGroup: Group): MergeCellInfo | undefined {\n if (\n isValid(cellGroup.mergeStartCol) &&\n isValid(cellGroup.mergeStartRow) &&\n isValid(cellGroup.mergeEndCol) &&\n isValid(cellGroup.mergeEndRow)\n ) {\n return {\n colStart: cellGroup.mergeStartCol,\n colEnd: cellGroup.mergeEndCol,\n rowStart: cellGroup.mergeStartRow,\n rowEnd: cellGroup.mergeEndRow\n };\n }\n return undefined;\n}\n\nexport const regIndexReg = /radio-\\d+-\\d+-(\\d+)/;\n\nexport function setDataToHTML(data: string) {\n const result = ['<table>'];\n const META_HEAD = [\n '<meta name=\"author\" content=\"Visactor\"/>', // 后面可用于vtable之间的快速复制粘贴\n //white-space:normal,连续的空白字符会被合并为一个空格,并且文本会根据容器的宽度自动换行显示\n //mso-data-placement:same-cell,excel专用, 在同一个单元格中显示所有数据,而不是默认情况下将数据分散到多个单元格中显示\n '<style type=\"text/css\">td{white-space:normal}br{mso-data-placement:same-cell}</style>'\n ].join('');\n const rows = data.split('\\r\\n'); // 将数据拆分为行\n rows.forEach(function (rowCells: any, rowIndex: number) {\n const cells = rowCells.split('\\t'); // 将行数据拆分为单元格\n const rowValues: string[] = [];\n if (rowIndex === 0) {\n result.push('<tbody>');\n }\n cells.forEach(function (cell: string, cellIndex: number) {\n // 单元格数据处理\n const parsedCellData = !cell\n ? ''\n : cell\n .toString()\n .replace(/&/g, '&amp;') // replace & with &amp; to prevent XSS attacks\n .replace(/'/g, '&#39;') // replace ' with &#39; to prevent XSS attacks\n .replace(/</g, '&lt;') // replace < with &lt; to prevent XSS attacks\n .replace(/>/g, '&gt;') // replace > with &gt; to prevent XSS attacks\n .replace(/\\n/g, '<br>') // replace \\n with <br> to prevent XSS attacks\n .replace(/(<br(\\s*|\\/)>(\\r\\n|\\n)?|\\r\\n|\\n)/g, '<br>\\r\\n') // replace <br> with <br>\\r\\n to prevent XSS attacks\n .replace(/\\x20{2,}/gi, (substring: string | any[]) => {\n // excel连续空格序列化\n return `<span style=\"mso-spacerun: yes\">${'&nbsp;'.repeat(substring.length - 1)} </span>`;\n }) // replace 2 or more spaces with &nbsp; to prevent XSS attacks\n .replace(/\\t/gi, '&#9;'); // replace \\t with &#9; to prevent XSS attacks\n\n rowValues.push(`<td>${parsedCellData}</td>`);\n });\n result.push('<tr>', ...rowValues, '</tr>');\n\n if (rowIndex === rows.length - 1) {\n result.push('</tbody>');\n }\n });\n result.push('</table>');\n return [META_HEAD, result.join('')].join('');\n}\n"]}
package/cjs/index.d.ts CHANGED
@@ -24,7 +24,7 @@ export { toBoxArray } from './tools/helper';
24
24
  export { Icon } from './scenegraph/graphic/icon';
25
25
  export { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';
26
26
  export { matrixAllocate, transformPointForCanvas, mapToCanvasPointForCanvas, registerGlobalEventTransformer, registerWindowEventTransformer, vglobal, Group, graphicUtil } from './vrender';
27
- export declare const version = "1.26.7";
27
+ export declare const version = "1.26.8";
28
28
  export { TYPES, core, ListTable, ListTableSimple, BaseTableAPI, ListTableConstructorOptions, PivotTable, PivotTableSimple, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, AudioColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, textMeasure, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, setCustomAlphabetCharSet, restoreMeasureText, pluginsDefinition };
29
29
  declare function getIcons(): {
30
30
  [key: string]: TYPES.ColumnIconOption;
package/cjs/index.js CHANGED
@@ -249,7 +249,7 @@ Object.defineProperty(exports, "matrixAllocate", {
249
249
  get: function() {
250
250
  return vrender_2.graphicUtil;
251
251
  }
252
- }), exports.version = "1.26.7", exports.getIcons = getIcons, exports.clearGlobal = clearGlobal,
252
+ }), exports.version = "1.26.8", exports.getIcons = getIcons, exports.clearGlobal = clearGlobal,
253
253
  TYPES.AggregationType, __exportStar(require("./components"), exports), __exportStar(require("./scenegraph/group-creater/cell-type"), exports);
254
254
 
255
255
  var TABLE_EVENT_TYPE_1 = require("./core/TABLE_EVENT_TYPE");
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA+C;AAC/C,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AA6ElC,sBAAK;AA5EP,6CAA+B;AA6E7B,oBAAI;AA5EN,6CAA+B;AAyG7B,oBAAI;AAxGN,+CAAiC;AACjC,qDAAuC;AA4GrC,4BAAQ;AA3GV,iDAAmC;AAqGjC,wBAAM;AApGR,yEAA2D;AA8GzD,wCAAc;AA7GhB,6DAA+C;AAmH7C,8CAAiB;AA5FnB,mDAA4D;AAiD1D,0FAjDuB,4BAAS,OAiDvB;AAhDX,yDAAqD;AAiDnD,gGAjDO,kCAAe,OAiDP;AA/CjB,qDAA+D;AAkD7D,2FAlDwB,8BAAU,OAkDxB;AAjDZ,2DAAuD;AAkDrD,iGAlDO,oCAAgB,OAkDP;AAjDlB,6CAA0C;AAoDxC,2FApDO,uBAAU,OAoDP;AAlDZ,8DAAgD;AAgF9C,oCAAY;AA9Ed,wEAAoE;AA+ElE,2FA/EO,wBAAU,OA+EP;AA9EZ,gGAAqF;AA+EnF,4FA/EO,iCAAW,OA+EP;AA9Eb,kEAA4G;AAgF1G,mGAhFO,iCAAkB,OAgFP;AADlB,yGA/E2B,uCAAwB,OA+E3B;AAfxB,4FAhEqD,0BAAW,OAgErD;AA1Db,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAC7B,qCAA6C;AAApC,qGAAA,aAAa,OAAA;AACtB,yCAA4C;AAAnC,oGAAA,UAAU,OAAA;AACnB,kDAAiD;AAAxC,4FAAA,IAAI,OAAA;AACb,wDAA6F;AAApF,+GAAA,qBAAqB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAErD,qCASmB;AARjB,yGAAA,cAAc,OAAA;AACd,kHAAA,uBAAuB,OAAA;AACvB,oHAAA,yBAAyB,OAAA;AACzB,yHAAA,8BAA8B,OAAA;AAC9B,yHAAA,8BAA8B,OAAA;AAC9B,kGAAA,OAAO,OAAA;AACP,gGAAA,KAAK,OAAA;AACL,sGAAA,WAAW,OAAA;AAMA,QAAA,OAAO,GAAG,QAAQ,CAAC;AA0DhC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AArBC,4BAAQ;AAuBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AA1BC,kCAAW;AA2Bb,KAAK,CAAC,eAAe,CAAC;AAEtB,+CAA6B;AAC7B,uEAAqD;AAErD,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AACzB,wFAA+G;AAAtG,gIAAA,sBAAsB,OAAA;AAAE,gIAAA,sBAAsB,OAAA;AAEvD,mDAAkD;AAAzC,0GAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { 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 pluginsDefinition from './plugins';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n AudioColumnDefine,\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';\nexport { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';\n// 为插件等场景提供必要的 vrender 能力:只导出用到的符号,避免与 render/jsx 的导出成员发生命名冲突。\nexport {\n matrixAllocate,\n transformPointForCanvas,\n mapToCanvasPointForCanvas,\n registerGlobalEventTransformer,\n registerWindowEventTransformer,\n vglobal,\n Group,\n graphicUtil\n} from './vrender';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.26.7\";\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 AudioColumnDefine,\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 setCustomAlphabetCharSet,\n restoreMeasureText,\n pluginsDefinition\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,uCAA+C;AAC/C,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AA6ElC,sBAAK;AA5EP,6CAA+B;AA6E7B,oBAAI;AA5EN,6CAA+B;AAyG7B,oBAAI;AAxGN,+CAAiC;AACjC,qDAAuC;AA4GrC,4BAAQ;AA3GV,iDAAmC;AAqGjC,wBAAM;AApGR,yEAA2D;AA8GzD,wCAAc;AA7GhB,6DAA+C;AAmH7C,8CAAiB;AA5FnB,mDAA4D;AAiD1D,0FAjDuB,4BAAS,OAiDvB;AAhDX,yDAAqD;AAiDnD,gGAjDO,kCAAe,OAiDP;AA/CjB,qDAA+D;AAkD7D,2FAlDwB,8BAAU,OAkDxB;AAjDZ,2DAAuD;AAkDrD,iGAlDO,oCAAgB,OAkDP;AAjDlB,6CAA0C;AAoDxC,2FApDO,uBAAU,OAoDP;AAlDZ,8DAAgD;AAgF9C,oCAAY;AA9Ed,wEAAoE;AA+ElE,2FA/EO,wBAAU,OA+EP;AA9EZ,gGAAqF;AA+EnF,4FA/EO,iCAAW,OA+EP;AA9Eb,kEAA4G;AAgF1G,mGAhFO,iCAAkB,OAgFP;AADlB,yGA/E2B,uCAAwB,OA+E3B;AAfxB,4FAhEqD,0BAAW,OAgErD;AA1Db,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAC7B,qCAA6C;AAApC,qGAAA,aAAa,OAAA;AACtB,yCAA4C;AAAnC,oGAAA,UAAU,OAAA;AACnB,kDAAiD;AAAxC,4FAAA,IAAI,OAAA;AACb,wDAA6F;AAApF,+GAAA,qBAAqB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAErD,qCASmB;AARjB,yGAAA,cAAc,OAAA;AACd,kHAAA,uBAAuB,OAAA;AACvB,oHAAA,yBAAyB,OAAA;AACzB,yHAAA,8BAA8B,OAAA;AAC9B,yHAAA,8BAA8B,OAAA;AAC9B,kGAAA,OAAO,OAAA;AACP,gGAAA,KAAK,OAAA;AACL,sGAAA,WAAW,OAAA;AAMA,QAAA,OAAO,GAAG,QAAQ,CAAC;AA0DhC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AArBC,4BAAQ;AAuBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AA1BC,kCAAW;AA2Bb,KAAK,CAAC,eAAe,CAAC;AAEtB,+CAA6B;AAC7B,uEAAqD;AAErD,4DAA2D;AAAlD,oHAAA,gBAAgB,OAAA;AACzB,wFAA+G;AAAtG,gIAAA,sBAAsB,OAAA;AAAE,gIAAA,sBAAsB,OAAA;AAEvD,mDAAkD;AAAzC,0GAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { 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 pluginsDefinition from './plugins';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n AudioColumnDefine,\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';\nexport { CUSTOM_MERGE_PRE_NAME, CUSTOM_CONTAINER_NAME } from './scenegraph/component/custom';\n// 为插件等场景提供必要的 vrender 能力:只导出用到的符号,避免与 render/jsx 的导出成员发生命名冲突。\nexport {\n matrixAllocate,\n transformPointForCanvas,\n mapToCanvasPointForCanvas,\n registerGlobalEventTransformer,\n registerWindowEventTransformer,\n vglobal,\n Group,\n graphicUtil\n} from './vrender';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.26.8\";\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 AudioColumnDefine,\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 setCustomAlphabetCharSet,\n restoreMeasureText,\n pluginsDefinition\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"]}
@@ -26,12 +26,15 @@ class PivotHeaderLayoutMap {
26
26
  this.leftRowSeriesNumberColumnCount = 0, this.rightRowSeriesNumberColumnCount = 0,
27
27
  this._useGetBodyCache = !1, this._getBodyCache = new Map, this._useHeaderPathCache = !1,
28
28
  this._colHeaderPathCache = new Map, this._rowHeaderPathCache = new Map, this.matchDimensionPath = (paths, treeNodes, needLowestLevel, checkAxisNode = !1, pathIndex = 0) => {
29
+ var _a, _b;
29
30
  if (pathIndex >= paths.length) return;
30
31
  const currentPath = paths[pathIndex];
31
32
  for (let j = 0; j < treeNodes.length; j++) {
32
33
  const dimension = treeNodes[j];
33
- if (!(0, vutils_1.isValid)(currentPath.indicatorKey) && dimension.dimensionKey === currentPath.dimensionKey && dimension.value === currentPath.value || (0,
34
+ if (!(0, vutils_1.isValid)(currentPath.indicatorKey) && dimension.dimensionKey === currentPath.dimensionKey && ((0,
35
+ vutils_1.isValid)(currentPath.dataValue) ? (null !== (_a = dimension.dataValue) && void 0 !== _a ? _a : dimension.value) === currentPath.dataValue : dimension.value === currentPath.value) || (0,
34
36
  vutils_1.isValid)(currentPath.indicatorKey) && dimension.indicatorKey === currentPath.indicatorKey && ((0,
37
+ vutils_1.isValid)(currentPath.dataValue) && (null !== (_b = dimension.dataValue) && void 0 !== _b ? _b : dimension.value) === currentPath.dataValue || (0,
35
38
  vutils_1.isValid)(dimension.value) && (0, vutils_1.isValid)(currentPath.value) && currentPath.value === dimension.value || !(0,
36
39
  vutils_1.isValid)(dimension.value) || !(0, vutils_1.isValid)(currentPath.value))) {
37
40
  const children = dimension.children;
@@ -1046,16 +1049,16 @@ class PivotHeaderLayoutMap {
1046
1049
  const colHeaderPath = {};
1047
1050
  colHeaderPath.dimensionKey = colHeader.dimensionKey, colHeaderPath.indicatorKey = colHeader.indicatorKey,
1048
1051
  colHeaderPath.value = null !== (_a = colHeader.value) && void 0 !== _a ? _a : colHeader.indicatorKey ? null !== (_c = null === (_b = this.getIndicatorInfoByIndicatorKey(colHeader.indicatorKey)) || void 0 === _b ? void 0 : _b.title) && void 0 !== _c ? _c : "" : colHeader.value,
1049
- colHeaderPath.virtual = colHeader.virtual, colHeaderPath.role = colHeader.role,
1050
- headerPaths.colHeaderPaths.push(colHeaderPath);
1052
+ colHeaderPath.dataValue = colHeader.dataValue, colHeaderPath.virtual = colHeader.virtual,
1053
+ colHeaderPath.role = colHeader.role, headerPaths.colHeaderPaths.push(colHeaderPath);
1051
1054
  })), null === (_b = headerPathsWidthNode.rowHeaderPaths) || void 0 === _b || _b.forEach((rowHeader => {
1052
1055
  var _a, _b, _c;
1053
1056
  if ("axis" !== rowHeader.dimensionKey) {
1054
1057
  const rowHeaderPath = {};
1055
1058
  rowHeaderPath.dimensionKey = rowHeader.dimensionKey, rowHeaderPath.indicatorKey = rowHeader.indicatorKey,
1056
1059
  rowHeaderPath.value = null !== (_a = rowHeader.value) && void 0 !== _a ? _a : rowHeader.indicatorKey ? null !== (_c = null === (_b = this.getIndicatorInfoByIndicatorKey(rowHeader.indicatorKey)) || void 0 === _b ? void 0 : _b.title) && void 0 !== _c ? _c : "" : rowHeader.value,
1057
- rowHeaderPath.virtual = rowHeader.virtual, rowHeaderPath.role = rowHeader.role,
1058
- headerPaths.rowHeaderPaths.push(rowHeaderPath);
1060
+ rowHeaderPath.dataValue = rowHeader.dataValue, rowHeaderPath.virtual = rowHeader.virtual,
1061
+ rowHeaderPath.role = rowHeader.role, headerPaths.rowHeaderPaths.push(rowHeaderPath);
1059
1062
  }
1060
1063
  })), headerPaths;
1061
1064
  }
@@ -1488,18 +1491,23 @@ class PivotHeaderLayoutMap {
1488
1491
  null !== (_f = null == rowHeaderPaths ? void 0 : rowHeaderPaths.length) && void 0 !== _f && _f && rowHeaderPaths.length >= this._getRowHeaderTreeExpandedMaxLevelCount() && (needLowestLevel_rowPaths = !0),
1489
1492
  colHeaderPaths && (colDimensionFinded = this.matchDimensionPath(colHeaderPaths, this.columnTree, needLowestLevel_colPaths)),
1490
1493
  (null == rowHeaderPaths ? void 0 : rowHeaderPaths.length) >= 1) if ("tree" === this.rowHierarchyType) {
1491
- const rowDimension = rowHeaderPaths[rowHeaderPaths.length - 1], cellIDs = this.headerObjects.filter((hd => ((null == hd ? void 0 : hd.field) === rowDimension.dimensionKey || (null == hd ? void 0 : hd.field) === rowDimension.indicatorKey) && (null == hd ? void 0 : hd.title) === rowDimension.value)).map((hd => hd.id)), findedCellIdPath = this._rowHeaderCellIds.filter((rowHdCellIDs => cellIDs.indexOf(rowHdCellIDs[rowHdCellIDs.length - 1]) >= 0)).find((pathIds => {
1492
- const fullCellIds = this.findFullCellIds(pathIds);
1493
- return fullCellIds.length === rowHeaderPaths.length && fullCellIds.every((id => {
1494
- const curHd = this._headerObjectMap[id];
1495
- return rowHeaderPaths.find((rowDimensionPath => rowDimensionPath.dimensionKey === curHd.field && rowDimensionPath.value === curHd.title));
1496
- }));
1494
+ const rowDimension = rowHeaderPaths[rowHeaderPaths.length - 1], cellIDs = this.headerObjects.filter((hd => {
1495
+ var _a, _b, _c;
1496
+ return ((null == hd ? void 0 : hd.field) === rowDimension.dimensionKey || (null == hd ? void 0 : hd.field) === rowDimension.indicatorKey) && ((0,
1497
+ vutils_1.isValid)(rowDimension.dataValue) ? (null !== (_c = null !== (_a = hd.dataValue) && void 0 !== _a ? _a : null === (_b = hd.define) || void 0 === _b ? void 0 : _b.dataValue) && void 0 !== _c ? _c : hd.title) === rowDimension.dataValue : (null == hd ? void 0 : hd.title) === rowDimension.value);
1498
+ })).map((hd => hd.id)), findedCellIdPath = this._rowHeaderCellIds.filter((rowHdCellIDs => cellIDs.indexOf(rowHdCellIDs[rowHdCellIDs.length - 1]) >= 0)).find((pathIds => {
1499
+ const fullCellIds = this.findFullCellIds(pathIds), matchHeaderPath = (curHd, rowDimensionPath) => {
1500
+ var _a, _b, _c;
1501
+ return rowDimensionPath.dimensionKey === curHd.field && ((0, vutils_1.isValid)(rowDimensionPath.dataValue) ? (null !== (_c = null !== (_a = curHd.dataValue) && void 0 !== _a ? _a : null === (_b = curHd.define) || void 0 === _b ? void 0 : _b.dataValue) && void 0 !== _c ? _c : curHd.title) === rowDimensionPath.dataValue : rowDimensionPath.value === curHd.title);
1502
+ };
1503
+ return fullCellIds.length === rowHeaderPaths.length && (rowHeaderPaths.some((rowDimensionPath => (0,
1504
+ vutils_1.isValid)(rowDimensionPath.dataValue))) ? fullCellIds.every(((id, index) => matchHeaderPath(this._headerObjectMap[id], rowHeaderPaths[index]))) : fullCellIds.every((id => rowHeaderPaths.some((rowDimensionPath => matchHeaderPath(this._headerObjectMap[id], rowDimensionPath))))));
1497
1505
  }));
1498
- row = this._rowHeaderCellIds.indexOf(findedCellIdPath) + this.columnHeaderLevelCount;
1506
+ findedCellIdPath && (row = this._rowHeaderCellIds.indexOf(findedCellIdPath) + this.columnHeaderLevelCount);
1499
1507
  } else rowDimensionFinded = this.matchDimensionPath(rowHeaderPaths, this.rowTree, needLowestLevel_rowPaths, !0);
1500
1508
  if (forceBody || !needLowestLevel_colPaths || !needLowestLevel_rowPaths || (rowDimensionFinded || (0,
1501
1509
  vutils_1.isValid)(row)) && colDimensionFinded) {
1502
- if (rowDimensionFinded || forceBody) {
1510
+ if (rowDimensionFinded || forceBody && !(0, vutils_1.isValid)(row)) {
1503
1511
  row = this.columnHeaderLevelCount;
1504
1512
  const {startInTotal: startInTotal, afterSpanLevel: afterSpanLevel} = null !== (_g = rowDimensionFinded) && void 0 !== _g ? _g : defaultDimension;
1505
1513
  if (row += null != startInTotal ? startInTotal : 0, "grid" === this.rowHierarchyType) {
@@ -1789,7 +1797,10 @@ class PivotHeaderLayoutMap {
1789
1797
  let collectedValues, height;
1790
1798
  isHeatmap && path[path.length - 1].indicatorKey && path.pop();
1791
1799
  for (const key in this.dataset.collectValuesBy) if ("yField" === this.dataset.collectValuesBy[key].type && !this.dataset.collectValuesBy[key].range) {
1792
- collectedValues = null === (_a = this.dataset.collectedValues[key]) || void 0 === _a ? void 0 : _a[path.map((pathObj => pathObj.value)).join(this.dataset.stringJoinChar)];
1800
+ collectedValues = null === (_a = this.dataset.collectedValues[key]) || void 0 === _a ? void 0 : _a[path.map((pathObj => {
1801
+ var _a;
1802
+ return null !== (_a = pathObj.dataValue) && void 0 !== _a ? _a : pathObj.value;
1803
+ })).join(this.dataset.stringJoinChar)];
1793
1804
  break;
1794
1805
  }
1795
1806
  if (this._chartItemBandSize) height = scaleWholeRangeSize(null !== (_b = null == collectedValues ? void 0 : collectedValues.length) && void 0 !== _b ? _b : 0, this._chartItemBandSize, this._chartPaddingInner, this._chartPaddingOuter); else {
@@ -1804,7 +1815,10 @@ class PivotHeaderLayoutMap {
1804
1815
  const path = this.getCellHeaderPaths(col, this.columnHeaderLevelCount).colHeaderPaths;
1805
1816
  let collectedValues, width;
1806
1817
  for (const key in this.dataset.collectValuesBy) if ("xField" === this.dataset.collectValuesBy[key].type && !this.dataset.collectValuesBy[key].range) {
1807
- collectedValues = null === (_a = this.dataset.collectedValues[key]) || void 0 === _a ? void 0 : _a[path.map((pathObj => pathObj.value)).join(this.dataset.stringJoinChar)];
1818
+ collectedValues = null === (_a = this.dataset.collectedValues[key]) || void 0 === _a ? void 0 : _a[path.map((pathObj => {
1819
+ var _a;
1820
+ return null !== (_a = pathObj.dataValue) && void 0 !== _a ? _a : pathObj.value;
1821
+ })).join(this.dataset.stringJoinChar)];
1808
1822
  break;
1809
1823
  }
1810
1824
  if (this._chartItemBandSize) width = scaleWholeRangeSize(null !== (_b = null == collectedValues ? void 0 : collectedValues.length) && void 0 !== _b ? _b : 0, this._chartItemBandSize, this._chartPaddingInner, this._chartPaddingOuter); else {
@@ -1834,13 +1848,15 @@ class PivotHeaderLayoutMap {
1834
1848
  getColKeysPath(col, row) {
1835
1849
  const path = this.getCellHeaderPaths(col, row), colKey = [];
1836
1850
  return path.colHeaderPaths.length && path.colHeaderPaths.forEach((path => {
1837
- path.dimensionKey && colKey.push(path.value);
1851
+ var _a;
1852
+ path.dimensionKey && colKey.push(null !== (_a = path.dataValue) && void 0 !== _a ? _a : path.value);
1838
1853
  })), null == colKey ? void 0 : colKey.join(this.dataset.stringJoinChar);
1839
1854
  }
1840
1855
  getRowKeysPath(col, row) {
1841
1856
  const path = this.getCellHeaderPaths(col, row), rowKey = [];
1842
1857
  return path.rowHeaderPaths.length && path.rowHeaderPaths.forEach((path => {
1843
- path.dimensionKey && rowKey.push(path.value);
1858
+ var _a;
1859
+ path.dimensionKey && rowKey.push(null !== (_a = path.dataValue) && void 0 !== _a ? _a : path.value);
1844
1860
  })), null == rowKey ? void 0 : rowKey.join(this.dataset.stringJoinChar);
1845
1861
  }
1846
1862
  getIndicatorInfo(indicatorKey, indicatorValue = "") {