@visactor/vtable 0.17.0 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/cjs/ListTable.d.ts +1 -0
  2. package/cjs/ListTable.js +12 -1
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +1 -0
  5. package/cjs/PivotChart.js +17 -0
  6. package/cjs/PivotChart.js.map +1 -1
  7. package/cjs/PivotTable.d.ts +1 -0
  8. package/cjs/PivotTable.js +17 -0
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/core/BaseTable.d.ts +1 -0
  11. package/cjs/core/BaseTable.js +24 -30
  12. package/cjs/core/BaseTable.js.map +1 -1
  13. package/cjs/core/tableHelper.d.ts +1 -1
  14. package/cjs/core/tableHelper.js +6 -5
  15. package/cjs/core/tableHelper.js.map +1 -1
  16. package/cjs/dataset/dataset.js +3 -8
  17. package/cjs/dataset/dataset.js.map +1 -1
  18. package/cjs/edit/edit-manager.js +0 -3
  19. package/cjs/edit/edit-manager.js.map +1 -1
  20. package/cjs/event/EventHandler.d.ts +1 -0
  21. package/cjs/event/EventHandler.js +1 -1
  22. package/cjs/event/EventHandler.js.map +1 -1
  23. package/cjs/event/event.d.ts +10 -0
  24. package/cjs/event/event.js +2 -1
  25. package/cjs/event/event.js.map +1 -1
  26. package/cjs/event/listener/container-dom.js +30 -4
  27. package/cjs/event/listener/container-dom.js.map +1 -1
  28. package/cjs/event/listener/scroll-bar.js +19 -5
  29. package/cjs/event/listener/scroll-bar.js.map +1 -1
  30. package/cjs/event/listener/table-group.js +33 -28
  31. package/cjs/event/listener/table-group.js.map +1 -1
  32. package/cjs/index.d.ts +1 -1
  33. package/cjs/index.js +1 -1
  34. package/cjs/index.js.map +1 -1
  35. package/cjs/layout/pivot-header-layout.js +10 -10
  36. package/cjs/layout/pivot-header-layout.js.map +1 -1
  37. package/cjs/layout/simple-header-layout.js +9 -9
  38. package/cjs/layout/simple-header-layout.js.map +1 -1
  39. package/cjs/scenegraph/component/cell-content.d.ts +2 -3
  40. package/cjs/scenegraph/component/cell-content.js +3 -3
  41. package/cjs/scenegraph/component/cell-content.js.map +1 -1
  42. package/cjs/scenegraph/component/custom.js +10 -10
  43. package/cjs/scenegraph/component/custom.js.map +1 -1
  44. package/cjs/scenegraph/component/table-component.js.map +1 -1
  45. package/cjs/scenegraph/graphic/text.d.ts +1 -1
  46. package/cjs/scenegraph/graphic/text.js +1 -1
  47. package/cjs/scenegraph/graphic/text.js.map +1 -1
  48. package/cjs/scenegraph/group-creater/cell-helper.js +2 -1
  49. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  50. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +3 -2
  51. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  52. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +1 -1
  53. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  54. package/cjs/scenegraph/icon/icon-update.d.ts +2 -0
  55. package/cjs/scenegraph/icon/icon-update.js +16 -2
  56. package/cjs/scenegraph/icon/icon-update.js.map +1 -1
  57. package/cjs/scenegraph/layout/compute-row-height.js +8 -3
  58. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  59. package/cjs/scenegraph/layout/update-col.js +6 -5
  60. package/cjs/scenegraph/layout/update-col.js.map +1 -1
  61. package/cjs/scenegraph/layout/update-row.js +6 -5
  62. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  63. package/cjs/scenegraph/scenegraph.d.ts +2 -0
  64. package/cjs/scenegraph/scenegraph.js +23 -37
  65. package/cjs/scenegraph/scenegraph.js.map +1 -1
  66. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  67. package/cjs/scenegraph/utils/text-icon-layout.js +13 -10
  68. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  69. package/cjs/scenegraph/utils/text-pos.js.map +1 -1
  70. package/cjs/state/select/update-position.js +65 -65
  71. package/cjs/state/select/update-position.js.map +1 -1
  72. package/cjs/state/spark-line/index.js +9 -5
  73. package/cjs/state/spark-line/index.js.map +1 -1
  74. package/cjs/state/state.js +2 -4
  75. package/cjs/state/state.js.map +1 -1
  76. package/cjs/themes/DARK.js +1 -1
  77. package/cjs/themes/DARK.js.map +1 -1
  78. package/cjs/themes/component.d.ts +27 -0
  79. package/cjs/themes/component.js +29 -2
  80. package/cjs/themes/component.js.map +1 -1
  81. package/cjs/themes/theme.d.ts +2 -0
  82. package/cjs/themes/theme.js +9 -1
  83. package/cjs/themes/theme.js.map +1 -1
  84. package/cjs/tools/NumberMap.d.ts +4 -0
  85. package/cjs/tools/NumberMap.js +16 -0
  86. package/cjs/tools/NumberMap.js.map +1 -1
  87. package/cjs/ts-types/base-table.d.ts +2 -0
  88. package/cjs/ts-types/base-table.js.map +1 -1
  89. package/cjs/ts-types/customElement.d.ts +1 -1
  90. package/cjs/ts-types/customElement.js.map +1 -1
  91. package/cjs/ts-types/table-engine.d.ts +3 -0
  92. package/cjs/ts-types/table-engine.js.map +1 -1
  93. package/cjs/ts-types/theme.d.ts +2 -0
  94. package/cjs/ts-types/theme.js.map +1 -1
  95. package/dist/vtable.js +21682 -22984
  96. package/dist/vtable.min.js +2 -2
  97. package/es/ListTable.d.ts +1 -0
  98. package/es/ListTable.js +11 -1
  99. package/es/ListTable.js.map +1 -1
  100. package/es/PivotChart.d.ts +1 -0
  101. package/es/PivotChart.js +17 -0
  102. package/es/PivotChart.js.map +1 -1
  103. package/es/PivotTable.d.ts +1 -0
  104. package/es/PivotTable.js +17 -0
  105. package/es/PivotTable.js.map +1 -1
  106. package/es/core/BaseTable.d.ts +1 -0
  107. package/es/core/BaseTable.js +26 -33
  108. package/es/core/BaseTable.js.map +1 -1
  109. package/es/core/tableHelper.d.ts +1 -1
  110. package/es/core/tableHelper.js +6 -5
  111. package/es/core/tableHelper.js.map +1 -1
  112. package/es/dataset/dataset.js +3 -8
  113. package/es/dataset/dataset.js.map +1 -1
  114. package/es/edit/edit-manager.js +0 -3
  115. package/es/edit/edit-manager.js.map +1 -1
  116. package/es/event/EventHandler.d.ts +1 -0
  117. package/es/event/EventHandler.js +1 -1
  118. package/es/event/EventHandler.js.map +1 -1
  119. package/es/event/event.d.ts +10 -0
  120. package/es/event/event.js +2 -1
  121. package/es/event/event.js.map +1 -1
  122. package/es/event/listener/container-dom.js +30 -4
  123. package/es/event/listener/container-dom.js.map +1 -1
  124. package/es/event/listener/scroll-bar.js +20 -4
  125. package/es/event/listener/scroll-bar.js.map +1 -1
  126. package/es/event/listener/table-group.js +33 -28
  127. package/es/event/listener/table-group.js.map +1 -1
  128. package/es/index.d.ts +1 -1
  129. package/es/index.js +1 -1
  130. package/es/index.js.map +1 -1
  131. package/es/layout/pivot-header-layout.js +10 -10
  132. package/es/layout/pivot-header-layout.js.map +1 -1
  133. package/es/layout/simple-header-layout.js +9 -9
  134. package/es/layout/simple-header-layout.js.map +1 -1
  135. package/es/scenegraph/component/cell-content.d.ts +2 -3
  136. package/es/scenegraph/component/cell-content.js +3 -5
  137. package/es/scenegraph/component/cell-content.js.map +1 -1
  138. package/es/scenegraph/component/custom.js +10 -12
  139. package/es/scenegraph/component/custom.js.map +1 -1
  140. package/es/scenegraph/component/table-component.js.map +1 -1
  141. package/es/scenegraph/graphic/text.d.ts +1 -1
  142. package/es/scenegraph/graphic/text.js +1 -1
  143. package/es/scenegraph/graphic/text.js.map +1 -1
  144. package/es/scenegraph/group-creater/cell-helper.js +2 -1
  145. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  146. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +3 -2
  147. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  148. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +2 -2
  149. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  150. package/es/scenegraph/icon/icon-update.d.ts +2 -0
  151. package/es/scenegraph/icon/icon-update.js +13 -0
  152. package/es/scenegraph/icon/icon-update.js.map +1 -1
  153. package/es/scenegraph/layout/compute-row-height.js +9 -6
  154. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  155. package/es/scenegraph/layout/update-col.js +6 -5
  156. package/es/scenegraph/layout/update-col.js.map +1 -1
  157. package/es/scenegraph/layout/update-row.js +6 -5
  158. package/es/scenegraph/layout/update-row.js.map +1 -1
  159. package/es/scenegraph/scenegraph.d.ts +2 -0
  160. package/es/scenegraph/scenegraph.js +24 -38
  161. package/es/scenegraph/scenegraph.js.map +1 -1
  162. package/es/scenegraph/stick-text/index.js.map +1 -1
  163. package/es/scenegraph/utils/text-icon-layout.js +13 -12
  164. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  165. package/es/scenegraph/utils/text-pos.js.map +1 -1
  166. package/es/state/select/update-position.js +65 -65
  167. package/es/state/select/update-position.js.map +1 -1
  168. package/es/state/spark-line/index.js +9 -5
  169. package/es/state/spark-line/index.js.map +1 -1
  170. package/es/state/state.js +2 -4
  171. package/es/state/state.js.map +1 -1
  172. package/es/themes/DARK.js +1 -1
  173. package/es/themes/DARK.js.map +1 -1
  174. package/es/themes/component.d.ts +27 -0
  175. package/es/themes/component.js +28 -0
  176. package/es/themes/component.js.map +1 -1
  177. package/es/themes/theme.d.ts +2 -0
  178. package/es/themes/theme.js +9 -2
  179. package/es/themes/theme.js.map +1 -1
  180. package/es/tools/NumberMap.d.ts +4 -0
  181. package/es/tools/NumberMap.js +16 -0
  182. package/es/tools/NumberMap.js.map +1 -1
  183. package/es/ts-types/base-table.d.ts +2 -0
  184. package/es/ts-types/base-table.js.map +1 -1
  185. package/es/ts-types/customElement.d.ts +1 -1
  186. package/es/ts-types/customElement.js.map +1 -1
  187. package/es/ts-types/table-engine.d.ts +3 -0
  188. package/es/ts-types/table-engine.js.map +1 -1
  189. package/es/ts-types/theme.d.ts +2 -0
  190. package/es/ts-types/theme.js.map +1 -1
  191. package/package.json +6 -6
  192. package/cjs/scenegraph/component/menu.d.ts +0 -41
  193. package/es/scenegraph/component/menu.d.ts +0 -41
@@ -58,7 +58,7 @@ import { loadPoptip, setPoptipTheme } from "@visactor/vrender-components";
58
58
 
59
59
  import textMeasureModule from "./utils/text-measure";
60
60
 
61
- import { getIconByXY, hideClickIcon, hideHoverIcon, setIconHoverStyle, setIconNormalStyle, showClickIcon, showHoverIcon, updateFrozenIcon, updateHierarchyIcon, updateSortIcon } from "./icon/icon-update";
61
+ import { getIconByXY, hideClickIcon, hideHoverIcon, resetResidentHoverIcon, residentHoverIcon, setIconHoverStyle, setIconNormalStyle, showClickIcon, showHoverIcon, updateFrozenIcon, updateHierarchyIcon, updateSortIcon } from "./icon/icon-update";
62
62
 
63
63
  import { Env } from "../tools/env";
64
64
 
@@ -68,39 +68,11 @@ import { updateCol } from "./layout/update-col";
68
68
 
69
69
  loadPoptip(), container.load(splitModule), container.load(textMeasureModule);
70
70
 
71
- const poptipStyle = {
72
- visible: !0,
73
- position: "auto",
74
- padding: 8,
75
- titleStyle: {
76
- fontSize: 12,
77
- fontWeight: "bold",
78
- fill: "#4E5969"
79
- },
80
- contentStyle: {
81
- fontSize: 12,
82
- fill: "#4E5969"
83
- },
84
- panel: {
85
- visible: !0,
86
- fill: "#fff",
87
- stroke: "#ffffff",
88
- lineWidth: 0,
89
- cornerRadius: 3,
90
- shadowBlur: 12,
91
- shadowOffsetX: 0,
92
- shadowOffsetY: 4,
93
- shadowColor: "rgba(0, 0, 0, 0.1)",
94
- size: 0,
95
- space: 12
96
- }
97
- };
98
-
99
71
  export class Scenegraph {
100
72
  constructor(table) {
101
73
  let width, height;
102
74
  this.table = table, this.hasFrozen = !1, this.clear = !0, this.mergeMap = new Map,
103
- setPoptipTheme(poptipStyle), "node" === Env.mode ? (vglobal.setEnv("node", table.options.modeParams),
75
+ setPoptipTheme(this.table.theme.textPopTipStyle), "node" === Env.mode ? (vglobal.setEnv("node", table.options.modeParams),
104
76
  width = table.canvasWidth, height = table.canvasHeight) : (vglobal.setEnv("browser"),
105
77
  width = table.canvas.width, height = table.canvas.height), this.stage = createStage({
106
78
  canvas: table.canvas,
@@ -110,7 +82,6 @@ export class Scenegraph {
110
82
  background: table.theme.underlayBackgroundColor,
111
83
  dpr: table.internalProps.pixelRatio,
112
84
  enableLayout: !0,
113
- pluginList: table.isPivotChart() ? [ "poptipForText" ] : void 0,
114
85
  afterRender: () => {
115
86
  this.table.fireListeners("after_render", null);
116
87
  }
@@ -164,7 +135,9 @@ export class Scenegraph {
164
135
  }
165
136
  clearCells() {
166
137
  var _a;
167
- this.clear = !0, this.hasFrozen = !1, this.mergeMap.clear(), this.colHeaderGroup.clear(),
138
+ (this.table.isPivotChart() || this.table.hasCustomRenderOrLayout()) && this.stage.pluginService.findPluginsByName("poptipForText").forEach((plugin => {
139
+ plugin.deactivate(this.stage.pluginService);
140
+ })), this.clear = !0, this.hasFrozen = !1, this.mergeMap.clear(), this.colHeaderGroup.clear(),
168
141
  this.rowHeaderGroup.clear(), this.cornerHeaderGroup.clear(), this.bodyGroup.clear(),
169
142
  this.bottomFrozenGroup.clear(), this.rightFrozenGroup.clear(), this.rightTopCornerGroup.clear(),
170
143
  this.rightBottomCornerGroup.clear(), this.leftBottomCornerGroup.clear(), this.colHeaderGroup.setAttributes({
@@ -231,7 +204,9 @@ export class Scenegraph {
231
204
  this.selectedRangeComponents = new Map, this.selectingRangeComponents = new Map;
232
205
  }
233
206
  createSceneGraph() {
234
- this.clear = !1, this.frozenColCount = this.table.frozenColCount, this.frozenRowCount = this.table.columnHeaderLevelCount,
207
+ (this.table.isPivotChart() || this.table.hasCustomRenderOrLayout()) && this.stage.pluginService.autoEnablePlugins.getContributions().forEach((p => {
208
+ "poptipForText" === p.name && this.stage.pluginService.register(p);
209
+ })), this.clear = !1, this.frozenColCount = this.table.frozenColCount, this.frozenRowCount = this.table.columnHeaderLevelCount,
235
210
  this.proxy = new SceneProxy(this.table), createFrameBorder(this.tableGroup, this.table.theme.frameStyle, this.tableGroup.role, void 0, !0),
236
211
  this.table.isPivotChart() && (createCornerCell(this.rightTopCornerGroup, this.table.theme.cornerRightTopCellStyle || this.table.theme.cornerHeaderStyle || {}),
237
212
  createCornerCell(this.leftBottomCornerGroup, this.table.theme.cornerLeftBottomCellStyle || this.table.theme.cornerHeaderStyle || {}),
@@ -257,7 +232,7 @@ export class Scenegraph {
257
232
  }
258
233
  getColGroup(col, isCornerOrColHeader = !1) {
259
234
  let element;
260
- return element = col < this.frozenColCount && isCornerOrColHeader ? this.cornerHeaderGroup.getColGroup(col) : col < this.frozenColCount ? this.rowHeaderGroup.getColGroup(col) : isCornerOrColHeader ? this.colHeaderGroup.getColGroup(col) : !isCornerOrColHeader && this.table.rightFrozenColCount > 0 && col > this.table.colCount - 1 - this.table.rightFrozenColCount ? this.rightFrozenGroup.getColGroup(col) : this.bodyGroup.getColGroup(col),
235
+ return element = col < this.frozenColCount && isCornerOrColHeader ? this.cornerHeaderGroup.getColGroup(col) : col < this.frozenColCount ? this.rowHeaderGroup.getColGroup(col) : isCornerOrColHeader && this.table.rightFrozenColCount > 0 && col > this.table.colCount - 1 - this.table.rightFrozenColCount ? this.rightTopCornerGroup.getColGroup(col) : !isCornerOrColHeader && this.table.rightFrozenColCount > 0 && col > this.table.colCount - 1 - this.table.rightFrozenColCount ? this.rightFrozenGroup.getColGroup(col) : isCornerOrColHeader ? this.colHeaderGroup.getColGroup(col) : this.bodyGroup.getColGroup(col),
261
236
  element || void 0;
262
237
  }
263
238
  getColGroupInBottom(col) {
@@ -318,6 +293,12 @@ export class Scenegraph {
318
293
  setIconNormalStyle(icon, col, row) {
319
294
  setIconNormalStyle(icon, col, row, this);
320
295
  }
296
+ residentHoverIcon(col, row) {
297
+ residentHoverIcon(col, row, this);
298
+ }
299
+ resetResidentHoverIcon(col, row) {
300
+ resetResidentHoverIcon(col, row, this);
301
+ }
321
302
  deactivateChart(col, row) {
322
303
  var _a, _b;
323
304
  if (-1 === col || -1 === row) return;
@@ -469,10 +450,10 @@ export class Scenegraph {
469
450
  }
470
451
  updateContainerHeight(row, detaY) {
471
452
  row < this.table.frozenRowCount ? (this.colHeaderGroup.setDeltaHeight(detaY), this.cornerHeaderGroup.setDeltaHeight(detaY),
472
- this.rowHeaderGroup.setDeltaY(detaY), this.bodyGroup.setDeltaY(detaY)) : row >= this.table.rowCount - this.table.bottomFrozenRowCount ? (this.leftBottomCornerGroup.setDeltaHeight(detaY),
453
+ this.rowHeaderGroup.setDeltaY(detaY), this.bodyGroup.setDeltaY(detaY), this.rightFrozenGroup.setDeltaY(detaY)) : row >= this.table.rowCount - this.table.bottomFrozenRowCount ? (this.leftBottomCornerGroup.setDeltaHeight(detaY),
473
454
  this.bottomFrozenGroup.setDeltaHeight(detaY), this.rightBottomCornerGroup.setDeltaHeight(detaY)) : (this.rowHeaderGroup.setDeltaHeight(detaY),
474
- this.bodyGroup.setDeltaHeight(detaY)), this.updateTableSize(), this.component.updateScrollBar(),
475
- this.updateNextFrame();
455
+ this.bodyGroup.setDeltaHeight(detaY), this.rightFrozenGroup.setDeltaHeight(detaY)),
456
+ this.updateTableSize(), this.component.updateScrollBar(), this.updateNextFrame();
476
457
  }
477
458
  setColWidth(col, width) {
478
459
  const oldWidth = this.table.getColWidth(col);
@@ -693,12 +674,17 @@ export class Scenegraph {
693
674
  getCellOverflowText(col, row) {
694
675
  var _a, _b;
695
676
  const text = this.getCell(col, row).getChildByName("text", !0);
696
- if (text) {
677
+ if (text && "text" === text.type) {
697
678
  const textAttributeStr = isArray(text.attribute.text) ? text.attribute.text.join("") : text.attribute.text;
698
679
  let cacheStr = "";
699
680
  if (isString(text.cache.clipedText) ? cacheStr = text.cache.clipedText : null === (_b = null === (_a = text.cache.layoutData) || void 0 === _a ? void 0 : _a.lines) || void 0 === _b || _b.forEach((line => {
700
681
  cacheStr += line.str;
701
682
  })), cacheStr !== textAttributeStr) return textAttributeStr;
683
+ } else if (text && "richtext" === text.type) {
684
+ const richtext = text;
685
+ if (richtext.attribute.ellipsis && richtext._frameCache && richtext.attribute.height < richtext._frameCache.actualHeight) {
686
+ return richtext.attribute.textConfig.find((item => item.text)).text;
687
+ }
702
688
  }
703
689
  return null;
704
690
  }