@visactor/vtable 0.21.3-alpha.2 → 0.22.0-alpha.0

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 (217) hide show
  1. package/cjs/ListTable.d.ts +2 -4
  2. package/cjs/ListTable.js +37 -28
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +1 -0
  5. package/cjs/PivotChart.js +1 -0
  6. package/cjs/PivotChart.js.map +1 -1
  7. package/cjs/PivotTable.d.ts +1 -0
  8. package/cjs/PivotTable.js +13 -4
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/components/menu/dom/MenuHandler.js.map +1 -1
  11. package/cjs/core/BaseTable.d.ts +14 -9
  12. package/cjs/core/BaseTable.js +40 -23
  13. package/cjs/core/BaseTable.js.map +1 -1
  14. package/cjs/core/row-series-number-helper.d.ts +8 -0
  15. package/cjs/core/row-series-number-helper.js +45 -0
  16. package/cjs/core/row-series-number-helper.js.map +1 -0
  17. package/cjs/core/style.js +2 -1
  18. package/cjs/core/tableHelper.js +1 -1
  19. package/cjs/core/tableHelper.js.map +1 -1
  20. package/cjs/data/CachedDataSource.d.ts +2 -2
  21. package/cjs/data/CachedDataSource.js +5 -5
  22. package/cjs/data/CachedDataSource.js.map +1 -1
  23. package/cjs/data/DataSource.d.ts +6 -2
  24. package/cjs/data/DataSource.js +112 -36
  25. package/cjs/data/DataSource.js.map +1 -1
  26. package/cjs/dataset/dataset.js +1 -0
  27. package/cjs/event/event.js.map +1 -1
  28. package/cjs/event/listener/table-group.js +2 -1
  29. package/cjs/event/listener/table-group.js.map +1 -1
  30. package/cjs/event/media-click.js +1 -2
  31. package/cjs/event/media-click.js.map +1 -1
  32. package/cjs/header-helper/header-helper.js.map +1 -1
  33. package/cjs/icons.js +14 -0
  34. package/cjs/icons.js.map +1 -1
  35. package/cjs/index.d.ts +1 -1
  36. package/cjs/index.js +1 -1
  37. package/cjs/index.js.map +1 -1
  38. package/cjs/layout/layout-helper.d.ts +1 -0
  39. package/cjs/layout/layout-helper.js +12 -2
  40. package/cjs/layout/layout-helper.js.map +1 -1
  41. package/cjs/layout/pivot-header-layout.d.ts +16 -5
  42. package/cjs/layout/pivot-header-layout.js +102 -46
  43. package/cjs/layout/pivot-header-layout.js.map +1 -1
  44. package/cjs/layout/simple-header-layout.d.ts +17 -4
  45. package/cjs/layout/simple-header-layout.js +170 -61
  46. package/cjs/layout/simple-header-layout.js.map +1 -1
  47. package/cjs/plugins/themes.js +1 -2
  48. package/cjs/scenegraph/component/cell-mover.js +1 -1
  49. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  50. package/cjs/scenegraph/component/menu.js.map +1 -1
  51. package/cjs/scenegraph/group-creater/cell-helper.js +2 -2
  52. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  53. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +3 -2
  54. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  55. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  56. package/cjs/scenegraph/group-creater/column-helper.js +1 -1
  57. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  58. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +9 -2
  59. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  60. package/cjs/scenegraph/group-creater/progress/proxy.js +3 -4
  61. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  62. package/cjs/scenegraph/icon/icon-update.js +3 -2
  63. package/cjs/scenegraph/icon/icon-update.js.map +1 -1
  64. package/cjs/scenegraph/layout/compute-col-width.js +2 -2
  65. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  66. package/cjs/scenegraph/layout/compute-row-height.js +2 -2
  67. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  68. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  69. package/cjs/scenegraph/layout/update-row.js +8 -2
  70. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  71. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  72. package/cjs/scenegraph/scenegraph.d.ts +1 -1
  73. package/cjs/scenegraph/scenegraph.js +4 -3
  74. package/cjs/scenegraph/scenegraph.js.map +1 -1
  75. package/cjs/scenegraph/select/update-select-border.d.ts +1 -3
  76. package/cjs/scenegraph/select/update-select-border.js +4 -21
  77. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  78. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  79. package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  80. package/cjs/state/cell-move/adjust-header.js +3 -4
  81. package/cjs/state/cell-move/adjust-header.js.map +1 -1
  82. package/cjs/state/cell-move/index.js +15 -10
  83. package/cjs/state/cell-move/index.js.map +1 -1
  84. package/cjs/state/hover/is-cell-hover.js.map +1 -1
  85. package/cjs/state/hover/update-cell.js +3 -2
  86. package/cjs/state/hover/update-cell.js.map +1 -1
  87. package/cjs/state/resize/update-resize-column.js.map +1 -1
  88. package/cjs/state/select/update-position.js +33 -6
  89. package/cjs/state/select/update-position.js.map +1 -1
  90. package/cjs/state/state.js +3 -2
  91. package/cjs/state/state.js.map +1 -1
  92. package/cjs/themes/component.js +1 -1
  93. package/cjs/themes/theme.js +1 -1
  94. package/cjs/tools/merge-range.js +6 -0
  95. package/cjs/tools/merge-range.js.map +1 -1
  96. package/cjs/ts-types/base-table.d.ts +15 -6
  97. package/cjs/ts-types/base-table.js.map +1 -1
  98. package/cjs/ts-types/icon.d.ts +4 -2
  99. package/cjs/ts-types/icon.js +3 -2
  100. package/cjs/ts-types/icon.js.map +1 -1
  101. package/cjs/ts-types/list-table/layout-map/api.d.ts +17 -3
  102. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  103. package/cjs/ts-types/pivot-table/title.d.ts +5 -5
  104. package/cjs/ts-types/pivot-table/title.js.map +1 -1
  105. package/cjs/ts-types/table-engine.d.ts +30 -3
  106. package/cjs/ts-types/table-engine.js.map +1 -1
  107. package/cjs/vrender.js.map +1 -1
  108. package/dist/vtable.js +1008 -265
  109. package/dist/vtable.min.js +2 -2
  110. package/es/ListTable.d.ts +2 -4
  111. package/es/ListTable.js +37 -28
  112. package/es/ListTable.js.map +1 -1
  113. package/es/PivotChart.d.ts +1 -0
  114. package/es/PivotChart.js +1 -0
  115. package/es/PivotChart.js.map +1 -1
  116. package/es/PivotTable.d.ts +1 -0
  117. package/es/PivotTable.js +13 -4
  118. package/es/PivotTable.js.map +1 -1
  119. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  120. package/es/core/BaseTable.d.ts +14 -9
  121. package/es/core/BaseTable.js +42 -25
  122. package/es/core/BaseTable.js.map +1 -1
  123. package/es/core/row-series-number-helper.d.ts +8 -0
  124. package/es/core/row-series-number-helper.js +14 -0
  125. package/es/core/row-series-number-helper.js.map +1 -0
  126. package/es/core/style.js +2 -1
  127. package/es/core/tableHelper.js +1 -1
  128. package/es/core/tableHelper.js.map +1 -1
  129. package/es/data/CachedDataSource.d.ts +2 -2
  130. package/es/data/CachedDataSource.js +5 -5
  131. package/es/data/CachedDataSource.js.map +1 -1
  132. package/es/data/DataSource.d.ts +6 -2
  133. package/es/data/DataSource.js +112 -36
  134. package/es/data/DataSource.js.map +1 -1
  135. package/es/dataset/dataset.js +2 -1
  136. package/es/event/event.js.map +1 -1
  137. package/es/event/listener/table-group.js +3 -2
  138. package/es/event/listener/table-group.js.map +1 -1
  139. package/es/event/media-click.js +1 -2
  140. package/es/event/media-click.js.map +1 -1
  141. package/es/header-helper/header-helper.js.map +1 -1
  142. package/es/icons.js +14 -0
  143. package/es/icons.js.map +1 -1
  144. package/es/index.d.ts +1 -1
  145. package/es/index.js +1 -1
  146. package/es/index.js.map +1 -1
  147. package/es/layout/layout-helper.d.ts +1 -0
  148. package/es/layout/layout-helper.js +10 -0
  149. package/es/layout/layout-helper.js.map +1 -1
  150. package/es/layout/pivot-header-layout.d.ts +16 -5
  151. package/es/layout/pivot-header-layout.js +102 -46
  152. package/es/layout/pivot-header-layout.js.map +1 -1
  153. package/es/layout/simple-header-layout.d.ts +17 -4
  154. package/es/layout/simple-header-layout.js +170 -61
  155. package/es/layout/simple-header-layout.js.map +1 -1
  156. package/es/plugins/themes.js +1 -2
  157. package/es/scenegraph/component/cell-mover.js +1 -1
  158. package/es/scenegraph/component/cell-mover.js.map +1 -1
  159. package/es/scenegraph/component/menu.js.map +1 -1
  160. package/es/scenegraph/group-creater/cell-helper.js +2 -2
  161. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  162. package/es/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  163. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  164. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  165. package/es/scenegraph/group-creater/column-helper.js +1 -1
  166. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  167. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +6 -2
  168. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  169. package/es/scenegraph/group-creater/progress/proxy.js +3 -4
  170. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  171. package/es/scenegraph/icon/icon-update.js +1 -1
  172. package/es/scenegraph/icon/icon-update.js.map +1 -1
  173. package/es/scenegraph/layout/compute-col-width.js +3 -3
  174. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  175. package/es/scenegraph/layout/compute-row-height.js +3 -3
  176. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  177. package/es/scenegraph/layout/update-height.js.map +1 -1
  178. package/es/scenegraph/layout/update-row.js +7 -2
  179. package/es/scenegraph/layout/update-row.js.map +1 -1
  180. package/es/scenegraph/layout/update-width.js.map +1 -1
  181. package/es/scenegraph/scenegraph.d.ts +1 -1
  182. package/es/scenegraph/scenegraph.js +4 -3
  183. package/es/scenegraph/scenegraph.js.map +1 -1
  184. package/es/scenegraph/select/update-select-border.d.ts +1 -3
  185. package/es/scenegraph/select/update-select-border.js +2 -18
  186. package/es/scenegraph/select/update-select-border.js.map +1 -1
  187. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  188. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  189. package/es/state/cell-move/adjust-header.js +3 -4
  190. package/es/state/cell-move/adjust-header.js.map +1 -1
  191. package/es/state/cell-move/index.js +14 -10
  192. package/es/state/cell-move/index.js.map +1 -1
  193. package/es/state/hover/is-cell-hover.js.map +1 -1
  194. package/es/state/hover/update-cell.js +1 -1
  195. package/es/state/hover/update-cell.js.map +1 -1
  196. package/es/state/resize/update-resize-column.js.map +1 -1
  197. package/es/state/select/update-position.js +33 -6
  198. package/es/state/select/update-position.js.map +1 -1
  199. package/es/state/state.js +3 -2
  200. package/es/state/state.js.map +1 -1
  201. package/es/themes/component.js +1 -1
  202. package/es/themes/theme.js +1 -1
  203. package/es/tools/merge-range.js +6 -0
  204. package/es/tools/merge-range.js.map +1 -1
  205. package/es/ts-types/base-table.d.ts +15 -6
  206. package/es/ts-types/base-table.js.map +1 -1
  207. package/es/ts-types/icon.d.ts +4 -2
  208. package/es/ts-types/icon.js +3 -2
  209. package/es/ts-types/icon.js.map +1 -1
  210. package/es/ts-types/list-table/layout-map/api.d.ts +17 -3
  211. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  212. package/es/ts-types/pivot-table/title.d.ts +5 -5
  213. package/es/ts-types/pivot-table/title.js.map +1 -1
  214. package/es/ts-types/table-engine.d.ts +30 -3
  215. package/es/ts-types/table-engine.js.map +1 -1
  216. package/es/vrender.js.map +1 -1
  217. package/package.json +5 -5
@@ -1,5 +1,5 @@
1
1
  import { type CellAddress, type CellRange, type TableEventHandlersEventArgumentMap, type TableEventHandlersReturnMap, type TableKeyboardOptions, type DropDownMenuHighlightInfo, type MenuListItem, type WidthModeDef, type ICustomRender, type ICellHeaderPaths, type HeaderData, type FullExtendStyle, type FieldDef, type ColumnTypeOption, type SortState, type IPagination, type ICustomLayout, type CellInfo, type CellStyle, type DropDownMenuOptions, type FieldData, type MaybePromiseOrUndefined, type MousePointerCellEvent, type DropDownMenuEventInfo, type HierarchyState, type FieldKeyDef, type CellLocation, type LayoutObjectId, type HeightModeDef, type ITableThemeDefine } from '../ts-types';
2
- import type { AnyFunction, CellAddressWithBound, ColumnIconOption, ColumnStyleOption, TableEventOptions } from '../ts-types';
2
+ import type { AnyFunction, CellAddressWithBound, ColumnIconOption, ColumnSeriesNumber, IRowSeriesNumber, ColumnStyleOption, TableEventOptions } from '../ts-types';
3
3
  import { TABLE_EVENT_TYPE } from './TABLE_EVENT_TYPE';
4
4
  import { EventTarget } from '../event/EventTarget';
5
5
  import { NumberMap } from '../tools/NumberMap';
@@ -10,7 +10,7 @@ import { StateManager } from '../state/state';
10
10
  import { EventManager } from '../event/event';
11
11
  import type { CachedDataSource, DataSource } from '../data';
12
12
  import { type ITextSize } from '@visactor/vutils';
13
- import type { ColumnData, ColumnDefine, ColumnsDefine, IndicatorData } from '../ts-types/list-table/layout-map/api';
13
+ import type { ColumnData, ColumnDefine, ColumnsDefine, IndicatorData, SeriesNumberColumnData } from '../ts-types/list-table/layout-map/api';
14
14
  import type { TooltipOptions } from '../ts-types/tooltip';
15
15
  import type { BaseTableAPI, BaseTableConstructorOptions, IBaseTableProtected } from '../ts-types/base-table';
16
16
  import { DataSet } from '@visactor/vdataset';
@@ -244,8 +244,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
244
244
  abstract isPivotChart(): boolean;
245
245
  protected abstract _getSortFuncFromHeaderOption(columns: ColumnsDefine | undefined, field: FieldDef, fieldKey?: FieldKeyDef): ((v1: any, v2: any, order: string) => 0 | 1 | -1) | undefined;
246
246
  abstract setRecords(records: Array<any>, option?: {
247
- restoreHierarchyState: boolean;
248
- sort?: SortState | SortState[];
247
+ sortState?: SortState | SortState[];
249
248
  }): void;
250
249
  abstract refreshHeader(): void;
251
250
  abstract refreshRowColCount(): void;
@@ -285,16 +284,16 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
285
284
  set theme(theme: TableTheme);
286
285
  updateTheme(theme: ITableThemeDefine): void;
287
286
  getBodyField(col: number, row: number): FieldDef | undefined;
288
- getBodyColumnDefine(col: number, row: number): ColumnDefine;
287
+ getBodyColumnDefine(col: number, row: number): ColumnDefine | IRowSeriesNumber | ColumnSeriesNumber;
289
288
  getBodyColumnType(col: number, row: number): ColumnTypeOption;
290
289
  getCellType(col: number, row: number): ColumnTypeOption;
291
290
  getHeaderField(col: number, row: number): FieldDef;
292
- getHeaderDefine(col: number, row: number): ColumnDefine;
291
+ getHeaderDefine(col: number, row: number): ColumnDefine | IRowSeriesNumber | ColumnSeriesNumber;
293
292
  getCellLocation(col: number, row: number): CellLocation;
294
293
  getCellHeaderPaths(col: number, row: number): ICellHeaderPaths;
295
- getHeadersDefine(col: number, row: number): ColumnDefine[];
296
- _getHeaderLayoutMap(col: number, row: number): HeaderData;
297
- _getBodyLayoutMap(col: number, row: number): ColumnData | IndicatorData;
294
+ getHeadersDefine(col: number, row: number): (ColumnDefine | IRowSeriesNumber | ColumnSeriesNumber)[];
295
+ _getHeaderLayoutMap(col: number, row: number): HeaderData | SeriesNumberColumnData;
296
+ _getBodyLayoutMap(col: number, row: number): ColumnData | IndicatorData | SeriesNumberColumnData;
298
297
  getContext(): CanvasRenderingContext2D;
299
298
  getRecordByCell(col: number, row: number): MaybePromiseOrUndefined;
300
299
  getRecordByRowCol(col: number, row: number): any;
@@ -308,6 +307,8 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
308
307
  getHeaderDescription(col: number, row: number): string | undefined;
309
308
  setDropDownMenuHighlight(cells: DropDownMenuHighlightInfo[]): void;
310
309
  _dropDownMenuIsHighlight(colNow: number, rowNow: number, index: number): boolean;
310
+ isSeriesNumberInBody(col: number, row: number): boolean;
311
+ isSeriesNumberInHeader(col: number, row: number): boolean;
311
312
  isHeader(col: number, row: number): boolean;
312
313
  isColumnHeader(col: number, row: number): boolean;
313
314
  isRowHeader(col: number, row: number): boolean;
@@ -368,10 +369,14 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
368
369
  onVChartEvent(type: string, query: any, callback: AnyFunction): void;
369
370
  offVChartEvent(type: string, callback?: AnyFunction): void;
370
371
  _bindChartEvent(activeChartInstance: any): void;
372
+ changeRecordOrder(source: number, target: number): void;
371
373
  registerCustomCellStyle(customStyleId: string, customStyle: ColumnStyleOption | undefined | null): void;
372
374
  arrangeCustomCellStyle(cellPos: {
373
375
  col?: number;
374
376
  row?: number;
375
377
  range?: CellRange;
376
378
  }, customStyleId: string): void;
379
+ isSeriesNumber(col: number, row: number): boolean;
380
+ isHasSeriesNumber(): boolean;
381
+ get leftRowSeriesNumberCount(): number;
377
382
  }
@@ -64,9 +64,9 @@ import { isLeftOrRightAxis, isTopOrBottomAxis } from "../layout/chart-helper/get
64
64
 
65
65
  import { NumberRangeMap } from "../layout/row-height-map";
66
66
 
67
- import { CustomCellStylePlugin, mergeStyle } from "../plugins/custom-cell-style";
67
+ import { RowSeriesNumberHelper } from "./row-series-number-helper";
68
68
 
69
- import { hideCellSelectBorder, restoreCellSelectBorder } from "../scenegraph/select/update-select-border";
69
+ import { CustomCellStylePlugin, mergeStyle } from "../plugins/custom-cell-style";
70
70
 
71
71
  const {toBoxArray: toBoxArray} = utilStyle, {isTouchEvent: isTouchEvent} = event, rangeReg = /^\$(\d+)\$(\d+)$/;
72
72
 
@@ -80,10 +80,10 @@ export class BaseTable extends EventTarget {
80
80
  }
81
81
  constructor(container, options = {}) {
82
82
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
83
- if (super(), this.showFrozenIcon = !0, this.version = "0.21.3-alpha.2", this.id = `VTable${Date.now()}`,
83
+ if (super(), this.showFrozenIcon = !0, this.version = "0.22.0-alpha.0", this.id = `VTable${Date.now()}`,
84
84
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200),
85
85
  !container && "node" !== options.mode) throw new Error("vtable's container is undefined");
86
- const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, keyboardOptions: keyboardOptions, eventOptions: eventOptions, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
86
+ const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
87
87
  this.container = container, this.options = options, this.options.container = container,
88
88
  this._widthMode = widthMode, this._heightMode = heightMode, this._autoFillWidth = autoFillWidth,
89
89
  this._autoFillHeight = autoFillHeight, this.customRender = customRender, this.padding = {
@@ -106,9 +106,9 @@ export class BaseTable extends EventTarget {
106
106
  internalProps.defaultRowHeight = defaultRowHeight, internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
107
107
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
108
108
  internalProps.keyboardOptions = keyboardOptions, internalProps.eventOptions = eventOptions,
109
- internalProps.columnResizeMode = columnResizeMode, internalProps.dragHeaderMode = dragHeaderMode,
110
- internalProps.renderChartAsync = renderChartAsync, setBatchRenderChartCount(renderChartAsyncBatchCount),
111
- internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
109
+ internalProps.rowSeriesNumber = rowSeriesNumber, internalProps.columnResizeMode = columnResizeMode,
110
+ internalProps.dragHeaderMode = dragHeaderMode, internalProps.renderChartAsync = renderChartAsync,
111
+ setBatchRenderChartCount(renderChartAsyncBatchCount), internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
112
112
  internalProps._rowHeightsMap = new NumberRangeMap(this), internalProps._rowRangeHeightsMap = new Map,
113
113
  internalProps._colRangeWidthsMap = new Map, internalProps._widthResizedColMap = new Set,
114
114
  this.colWidthsMap = new NumberMap, this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {},
@@ -123,8 +123,8 @@ export class BaseTable extends EventTarget {
123
123
  container.appendChild(internalProps.element), this._updateSize()) : this._updateSize(),
124
124
  this.options = options, internalProps.theme = themes.of(null !== (_b = options.theme) && void 0 !== _b ? _b : themes.DEFAULT),
125
125
  internalProps.theme.isPivot = this.isPivotTable(), internalProps.bodyHelper = new BodyHelper(this),
126
- internalProps.headerHelper = new HeaderHelper(this), internalProps.autoWrapText = options.autoWrapText,
127
- internalProps.allowFrozenColCount = null !== (_c = options.allowFrozenColCount) && void 0 !== _c ? _c : 0,
126
+ internalProps.headerHelper = new HeaderHelper(this), internalProps.rowSeriesNumberHelper = new RowSeriesNumberHelper(this),
127
+ internalProps.autoWrapText = options.autoWrapText, internalProps.allowFrozenColCount = null !== (_c = options.allowFrozenColCount) && void 0 !== _c ? _c : 0,
128
128
  internalProps.limitMaxAutoWidth = null !== (_d = options.limitMaxAutoWidth) && void 0 !== _d ? _d : 450,
129
129
  internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
130
130
  this._vDataSet = new DataSet, this.scenegraph = new Scenegraph(this), this.stateManager = new StateManager(this),
@@ -726,7 +726,7 @@ export class BaseTable extends EventTarget {
726
726
  updateOption(options) {
727
727
  var _a, _b, _c, _d, _e;
728
728
  this.options = options;
729
- const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, keyboardOptions: keyboardOptions, eventOptions: eventOptions, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, autoFillHeight: autoFillHeight, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
729
+ const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, autoFillHeight: autoFillHeight, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
730
730
  pixelRatio && pixelRatio !== this.internalProps.pixelRatio && (this.internalProps.pixelRatio = pixelRatio),
731
731
  padding && ("number" == typeof padding ? (this.padding.top = padding, this.padding.left = padding,
732
732
  this.padding.bottom = padding, this.padding.right = padding) : (padding.top && (this.padding.top = padding.top),
@@ -742,9 +742,9 @@ export class BaseTable extends EventTarget {
742
742
  internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
743
743
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
744
744
  internalProps.keyboardOptions = keyboardOptions, internalProps.eventOptions = eventOptions,
745
- internalProps.columnResizeMode = columnResizeMode, internalProps.dragHeaderMode = dragHeaderMode,
746
- internalProps.renderChartAsync = renderChartAsync, setBatchRenderChartCount(renderChartAsyncBatchCount),
747
- internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
745
+ internalProps.rowSeriesNumber = rowSeriesNumber, internalProps.columnResizeMode = columnResizeMode,
746
+ internalProps.dragHeaderMode = dragHeaderMode, internalProps.renderChartAsync = renderChartAsync,
747
+ setBatchRenderChartCount(renderChartAsyncBatchCount), internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
748
748
  internalProps.cellTextOverflows = {}, internalProps._rowHeightsMap = new NumberRangeMap(this),
749
749
  internalProps._rowRangeHeightsMap = new Map, internalProps._colRangeWidthsMap = new Map,
750
750
  internalProps._widthResizedColMap = new Set, this.colWidthsMap = new NumberMap,
@@ -996,10 +996,10 @@ export class BaseTable extends EventTarget {
996
996
  }
997
997
  getCellType(col, row) {
998
998
  let cellType;
999
- return cellType = this.isHeader(col, row) ? this.internalProps.layoutMap.getHeader(col, row).headerType : this.internalProps.layoutMap.getBody(col, row).cellType,
999
+ return this.isSeriesNumberInHeader(col, row) ? this.internalProps.layoutMap.getSeriesNumberHeader(col, row).cellType : (cellType = this.isHeader(col, row) ? this.internalProps.layoutMap.getHeader(col, row).headerType : this.internalProps.layoutMap.getBody(col, row).cellType,
1000
1000
  getProp("cellType", {
1001
1001
  cellType: cellType
1002
- }, col, row, this);
1002
+ }, col, row, this));
1003
1003
  }
1004
1004
  getHeaderField(col, row) {
1005
1005
  return this.internalProps.layoutMap.getHeaderField(col, row);
@@ -1103,6 +1103,12 @@ export class BaseTable extends EventTarget {
1103
1103
  _dropDownMenuIsHighlight(colNow, rowNow, index) {
1104
1104
  return this.stateManager.dropDownMenuIsHighlight(colNow, rowNow, index);
1105
1105
  }
1106
+ isSeriesNumberInBody(col, row) {
1107
+ return this.internalProps.layoutMap && this.internalProps.layoutMap.isSeriesNumberInBody(col, row);
1108
+ }
1109
+ isSeriesNumberInHeader(col, row) {
1110
+ return this.internalProps.layoutMap && this.internalProps.layoutMap.isSeriesNumberInHeader(col, row);
1111
+ }
1106
1112
  isHeader(col, row) {
1107
1113
  return this.internalProps.layoutMap && this.internalProps.layoutMap.isHeader(col, row);
1108
1114
  }
@@ -1225,7 +1231,7 @@ export class BaseTable extends EventTarget {
1225
1231
  let cacheKey;
1226
1232
  const cellType = this.getCellType(col, row);
1227
1233
  let cacheStyle;
1228
- if (cacheKey = this.isListTable() && !this.transpose || this.isPivotTable() && this.internalProps.layoutMap.indicatorsAsCol ? col + cellType : row + cellType,
1234
+ if (cacheKey = this.isSeriesNumberInBody(col, row) ? `${col}-series-` + cellType : this.isListTable() && !this.transpose || this.isPivotTable() && this.internalProps.layoutMap.indicatorsAsCol ? col + cellType : row + cellType,
1229
1235
  cacheStyle = layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.get(cacheKey) : this.bodyStyleCache.get(cacheKey),
1230
1236
  cacheStyle) return customCellStyle ? mergeStyle(cacheStyle, customCellStyle) : cacheStyle;
1231
1237
  const column = layoutMap.getBody(col, row), styleClass = this.internalProps.bodyHelper.getStyleClass(this.getCellType(col, row)), style = null == column ? void 0 : column.style;
@@ -1282,8 +1288,13 @@ export class BaseTable extends EventTarget {
1282
1288
  return !1;
1283
1289
  }
1284
1290
  getCellIcons(col, row) {
1291
+ var _a, _b;
1285
1292
  let icons;
1286
- if (this.isHeader(col, row)) icons = this.internalProps.headerHelper.getIcons(col, row); else {
1293
+ if (this.isHeader(col, row)) icons = this.internalProps.headerHelper.getIcons(col, row); else if (this.internalProps.layoutMap.isSeriesNumber(col, row)) {
1294
+ (null === (_b = null === (_a = this.internalProps.layoutMap.getSeriesNumberBody(col, row)) || void 0 === _a ? void 0 : _a.define) || void 0 === _b ? void 0 : _b.dragOrder) && (icons = this.internalProps.rowSeriesNumberHelper.getIcons(col, row));
1295
+ const cellValue = this.getCellValue(col, row), dataValue = this.getCellOriginValue(col, row), ctx = this.internalProps.context, cellIcon = this.internalProps.bodyHelper.getIcons(col, row, cellValue, dataValue, ctx);
1296
+ (null == icons ? void 0 : icons.length) > 0 ? icons = icons.concat() : (null == cellIcon ? void 0 : cellIcon.length) > 0 && (icons = cellIcon);
1297
+ } else {
1287
1298
  const cellValue = this.getCellValue(col, row), dataValue = this.getCellOriginValue(col, row), ctx = this.internalProps.context;
1288
1299
  icons = this.internalProps.bodyHelper.getIcons(col, row, cellValue, dataValue, ctx);
1289
1300
  }
@@ -1512,20 +1523,14 @@ export class BaseTable extends EventTarget {
1512
1523
  return this.scenegraph.stage.toCanvas().toDataURL();
1513
1524
  }
1514
1525
  exportCellImg(col, row) {
1515
- var _a, _b, _c, _d;
1516
1526
  const isInView = this.cellIsInVisualView(col, row), {scrollTop: scrollTop, scrollLeft: scrollLeft} = this;
1517
1527
  isInView || this.scrollToCell({
1518
1528
  col: col,
1519
1529
  row: row
1520
1530
  });
1521
- const cellRect = this.getCellRelativeRect(col, row);
1522
- (null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0 && hideCellSelectBorder(this.scenegraph);
1523
- const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
1524
- this.stateManager.updateHoverPos(-1, -1);
1525
- const c = this.scenegraph.stage.toCanvas(!1, (new AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY));
1531
+ const cellRect = this.getCellRelativeRect(col, row), c = this.scenegraph.stage.toCanvas(!1, (new AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY));
1526
1532
  return isInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
1527
- (null === (_d = null === (_c = this.stateManager.select) || void 0 === _c ? void 0 : _c.ranges) || void 0 === _d ? void 0 : _d.length) > 0 && restoreCellSelectBorder(this.scenegraph),
1528
- this.stateManager.updateHoverPos(hoverCol, hoverRow), c.toDataURL();
1533
+ c.toDataURL();
1529
1534
  }
1530
1535
  exportCellRangeImg(cellRange) {
1531
1536
  const {scrollTop: scrollTop, scrollLeft: scrollLeft} = this, minCol = Math.min(cellRange.start.col, cellRange.end.col), minRow = Math.min(cellRange.start.row, cellRange.end.row), maxCol = Math.max(cellRange.start.col, cellRange.end.col), maxRow = Math.max(cellRange.start.row, cellRange.end.row), isInView = this.cellIsInVisualView(minCol, minRow), isMaxCellInView = this.cellIsInVisualView(maxCol, maxRow);
@@ -1591,11 +1596,23 @@ export class BaseTable extends EventTarget {
1591
1596
  e.query ? activeChartInstance.on(key, e.query, e.callback) : activeChartInstance.on(key, e.callback);
1592
1597
  }));
1593
1598
  }
1599
+ changeRecordOrder(source, target) {}
1594
1600
  registerCustomCellStyle(customStyleId, customStyle) {
1595
1601
  this.customCellStylePlugin.registerCustomCellStyle(customStyleId, customStyle);
1596
1602
  }
1597
1603
  arrangeCustomCellStyle(cellPos, customStyleId) {
1598
1604
  this.customCellStylePlugin.arrangeCustomCellStyle(cellPos, customStyleId);
1599
1605
  }
1606
+ isSeriesNumber(col, row) {
1607
+ return this.internalProps.layoutMap.isSeriesNumber(col, row);
1608
+ }
1609
+ isHasSeriesNumber() {
1610
+ var _a;
1611
+ return (null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.leftRowSeriesNumberColumnCount) > 0;
1612
+ }
1613
+ get leftRowSeriesNumberCount() {
1614
+ var _a, _b;
1615
+ return null !== (_b = null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.leftRowSeriesNumberColumnCount) && void 0 !== _b ? _b : 0;
1616
+ }
1600
1617
  }
1601
1618
  //# sourceMappingURL=BaseTable.js.map