@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
@@ -15,39 +15,11 @@ const vrender_1 = require("@visactor/vrender"), vutils_1 = require("@visactor/vu
15
15
  (0, vrender_components_1.loadPoptip)(), vrender_1.container.load(contributions_1.default),
16
16
  vrender_1.container.load(text_measure_1.default);
17
17
 
18
- const poptipStyle = {
19
- visible: !0,
20
- position: "auto",
21
- padding: 8,
22
- titleStyle: {
23
- fontSize: 12,
24
- fontWeight: "bold",
25
- fill: "#4E5969"
26
- },
27
- contentStyle: {
28
- fontSize: 12,
29
- fill: "#4E5969"
30
- },
31
- panel: {
32
- visible: !0,
33
- fill: "#fff",
34
- stroke: "#ffffff",
35
- lineWidth: 0,
36
- cornerRadius: 3,
37
- shadowBlur: 12,
38
- shadowOffsetX: 0,
39
- shadowOffsetY: 4,
40
- shadowColor: "rgba(0, 0, 0, 0.1)",
41
- size: 0,
42
- space: 12
43
- }
44
- };
45
-
46
18
  class Scenegraph {
47
19
  constructor(table) {
48
20
  let width, height;
49
21
  this.table = table, this.hasFrozen = !1, this.clear = !0, this.mergeMap = new Map,
50
- (0, vrender_components_1.setPoptipTheme)(poptipStyle), "node" === env_1.Env.mode ? (vrender_1.vglobal.setEnv("node", table.options.modeParams),
22
+ (0, vrender_components_1.setPoptipTheme)(this.table.theme.textPopTipStyle), "node" === env_1.Env.mode ? (vrender_1.vglobal.setEnv("node", table.options.modeParams),
51
23
  width = table.canvasWidth, height = table.canvasHeight) : (vrender_1.vglobal.setEnv("browser"),
52
24
  width = table.canvas.width, height = table.canvas.height), this.stage = (0, vrender_1.createStage)({
53
25
  canvas: table.canvas,
@@ -57,7 +29,6 @@ class Scenegraph {
57
29
  background: table.theme.underlayBackgroundColor,
58
30
  dpr: table.internalProps.pixelRatio,
59
31
  enableLayout: !0,
60
- pluginList: table.isPivotChart() ? [ "poptipForText" ] : void 0,
61
32
  afterRender: () => {
62
33
  this.table.fireListeners("after_render", null);
63
34
  }
@@ -111,7 +82,9 @@ class Scenegraph {
111
82
  }
112
83
  clearCells() {
113
84
  var _a;
114
- this.clear = !0, this.hasFrozen = !1, this.mergeMap.clear(), this.colHeaderGroup.clear(),
85
+ (this.table.isPivotChart() || this.table.hasCustomRenderOrLayout()) && this.stage.pluginService.findPluginsByName("poptipForText").forEach((plugin => {
86
+ plugin.deactivate(this.stage.pluginService);
87
+ })), this.clear = !0, this.hasFrozen = !1, this.mergeMap.clear(), this.colHeaderGroup.clear(),
115
88
  this.rowHeaderGroup.clear(), this.cornerHeaderGroup.clear(), this.bodyGroup.clear(),
116
89
  this.bottomFrozenGroup.clear(), this.rightFrozenGroup.clear(), this.rightTopCornerGroup.clear(),
117
90
  this.rightBottomCornerGroup.clear(), this.leftBottomCornerGroup.clear(), this.colHeaderGroup.setAttributes({
@@ -178,7 +151,9 @@ class Scenegraph {
178
151
  this.selectedRangeComponents = new Map, this.selectingRangeComponents = new Map;
179
152
  }
180
153
  createSceneGraph() {
181
- this.clear = !1, this.frozenColCount = this.table.frozenColCount, this.frozenRowCount = this.table.columnHeaderLevelCount,
154
+ (this.table.isPivotChart() || this.table.hasCustomRenderOrLayout()) && this.stage.pluginService.autoEnablePlugins.getContributions().forEach((p => {
155
+ "poptipForText" === p.name && this.stage.pluginService.register(p);
156
+ })), this.clear = !1, this.frozenColCount = this.table.frozenColCount, this.frozenRowCount = this.table.columnHeaderLevelCount,
182
157
  this.proxy = new proxy_1.SceneProxy(this.table), (0, frame_border_1.createFrameBorder)(this.tableGroup, this.table.theme.frameStyle, this.tableGroup.role, void 0, !0),
183
158
  this.table.isPivotChart() && ((0, corner_cell_1.createCornerCell)(this.rightTopCornerGroup, this.table.theme.cornerRightTopCellStyle || this.table.theme.cornerHeaderStyle || {}),
184
159
  (0, corner_cell_1.createCornerCell)(this.leftBottomCornerGroup, this.table.theme.cornerLeftBottomCellStyle || this.table.theme.cornerHeaderStyle || {}),
@@ -204,7 +179,7 @@ class Scenegraph {
204
179
  }
205
180
  getColGroup(col, isCornerOrColHeader = !1) {
206
181
  let element;
207
- 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),
182
+ 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),
208
183
  element || void 0;
209
184
  }
210
185
  getColGroupInBottom(col) {
@@ -266,6 +241,12 @@ class Scenegraph {
266
241
  setIconNormalStyle(icon, col, row) {
267
242
  (0, icon_update_1.setIconNormalStyle)(icon, col, row, this);
268
243
  }
244
+ residentHoverIcon(col, row) {
245
+ (0, icon_update_1.residentHoverIcon)(col, row, this);
246
+ }
247
+ resetResidentHoverIcon(col, row) {
248
+ (0, icon_update_1.resetResidentHoverIcon)(col, row, this);
249
+ }
269
250
  deactivateChart(col, row) {
270
251
  var _a, _b;
271
252
  if (-1 === col || -1 === row) return;
@@ -418,10 +399,10 @@ class Scenegraph {
418
399
  }
419
400
  updateContainerHeight(row, detaY) {
420
401
  row < this.table.frozenRowCount ? (this.colHeaderGroup.setDeltaHeight(detaY), this.cornerHeaderGroup.setDeltaHeight(detaY),
421
- this.rowHeaderGroup.setDeltaY(detaY), this.bodyGroup.setDeltaY(detaY)) : row >= this.table.rowCount - this.table.bottomFrozenRowCount ? (this.leftBottomCornerGroup.setDeltaHeight(detaY),
402
+ this.rowHeaderGroup.setDeltaY(detaY), this.bodyGroup.setDeltaY(detaY), this.rightFrozenGroup.setDeltaY(detaY)) : row >= this.table.rowCount - this.table.bottomFrozenRowCount ? (this.leftBottomCornerGroup.setDeltaHeight(detaY),
422
403
  this.bottomFrozenGroup.setDeltaHeight(detaY), this.rightBottomCornerGroup.setDeltaHeight(detaY)) : (this.rowHeaderGroup.setDeltaHeight(detaY),
423
- this.bodyGroup.setDeltaHeight(detaY)), this.updateTableSize(), this.component.updateScrollBar(),
424
- this.updateNextFrame();
404
+ this.bodyGroup.setDeltaHeight(detaY), this.rightFrozenGroup.setDeltaHeight(detaY)),
405
+ this.updateTableSize(), this.component.updateScrollBar(), this.updateNextFrame();
425
406
  }
426
407
  setColWidth(col, width) {
427
408
  const oldWidth = this.table.getColWidth(col);
@@ -655,12 +636,17 @@ class Scenegraph {
655
636
  getCellOverflowText(col, row) {
656
637
  var _a, _b;
657
638
  const text = this.getCell(col, row).getChildByName("text", !0);
658
- if (text) {
639
+ if (text && "text" === text.type) {
659
640
  const textAttributeStr = (0, vutils_1.isArray)(text.attribute.text) ? text.attribute.text.join("") : text.attribute.text;
660
641
  let cacheStr = "";
661
642
  if ((0, vutils_1.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 => {
662
643
  cacheStr += line.str;
663
644
  })), cacheStr !== textAttributeStr) return textAttributeStr;
645
+ } else if (text && "richtext" === text.type) {
646
+ const richtext = text;
647
+ if (richtext.attribute.ellipsis && richtext._frameCache && richtext.attribute.height < richtext._frameCache.actualHeight) {
648
+ return richtext.attribute.textConfig.find((item => item.text)).text;
649
+ }
664
650
  }
665
651
  return null;
666
652
  }