@visactor/vtable 0.21.4-alpha.4 → 0.22.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 (209) 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 +44 -33
  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 +113 -41
  25. package/cjs/data/DataSource.js.map +1 -1
  26. package/cjs/event/event.js.map +1 -1
  27. package/cjs/event/listener/table-group.js +2 -1
  28. package/cjs/event/listener/table-group.js.map +1 -1
  29. package/cjs/event/media-click.js +1 -2
  30. package/cjs/event/media-click.js.map +1 -1
  31. package/cjs/event/scroll.js +1 -0
  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/custom.js +1 -1
  51. package/cjs/scenegraph/component/custom.js.map +1 -1
  52. package/cjs/scenegraph/component/menu.js.map +1 -1
  53. package/cjs/scenegraph/group-creater/cell-helper.d.ts +0 -1
  54. package/cjs/scenegraph/group-creater/cell-helper.js +28 -18
  55. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  56. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  57. package/cjs/scenegraph/group-creater/column-helper.js +3 -4
  58. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  59. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +9 -2
  60. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  61. package/cjs/scenegraph/group-creater/progress/proxy.js +1 -1
  62. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  63. package/cjs/scenegraph/layout/compute-col-width.js +2 -2
  64. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  65. package/cjs/scenegraph/layout/compute-row-height.js +2 -2
  66. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  67. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  68. package/cjs/scenegraph/layout/update-row.js +8 -2
  69. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  70. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  71. package/cjs/scenegraph/scenegraph.d.ts +1 -1
  72. package/cjs/scenegraph/scenegraph.js +4 -3
  73. package/cjs/scenegraph/scenegraph.js.map +1 -1
  74. package/cjs/scenegraph/select/update-select-border.d.ts +1 -3
  75. package/cjs/scenegraph/select/update-select-border.js +4 -21
  76. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  77. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  78. package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  79. package/cjs/state/cell-move/adjust-header.js +3 -4
  80. package/cjs/state/cell-move/adjust-header.js.map +1 -1
  81. package/cjs/state/cell-move/index.js +15 -10
  82. package/cjs/state/cell-move/index.js.map +1 -1
  83. package/cjs/state/hover/is-cell-hover.js.map +1 -1
  84. package/cjs/state/resize/update-resize-column.js.map +1 -1
  85. package/cjs/state/select/update-position.js +33 -6
  86. package/cjs/state/select/update-position.js.map +1 -1
  87. package/cjs/state/state.js +2 -1
  88. package/cjs/state/state.js.map +1 -1
  89. package/cjs/themes/component.js +1 -1
  90. package/cjs/ts-types/base-table.d.ts +15 -6
  91. package/cjs/ts-types/base-table.js.map +1 -1
  92. package/cjs/ts-types/icon.d.ts +4 -2
  93. package/cjs/ts-types/icon.js +3 -2
  94. package/cjs/ts-types/icon.js.map +1 -1
  95. package/cjs/ts-types/list-table/layout-map/api.d.ts +17 -3
  96. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  97. package/cjs/ts-types/new-data-set.d.ts +1 -2
  98. package/cjs/ts-types/new-data-set.js.map +1 -1
  99. package/cjs/ts-types/pivot-table/title.d.ts +5 -5
  100. package/cjs/ts-types/pivot-table/title.js.map +1 -1
  101. package/cjs/ts-types/table-engine.d.ts +30 -3
  102. package/cjs/ts-types/table-engine.js.map +1 -1
  103. package/cjs/vrender.js.map +1 -1
  104. package/dist/vtable.js +1042 -296
  105. package/dist/vtable.min.js +2 -2
  106. package/es/ListTable.d.ts +2 -4
  107. package/es/ListTable.js +37 -28
  108. package/es/ListTable.js.map +1 -1
  109. package/es/PivotChart.d.ts +1 -0
  110. package/es/PivotChart.js +1 -0
  111. package/es/PivotChart.js.map +1 -1
  112. package/es/PivotTable.d.ts +1 -0
  113. package/es/PivotTable.js +13 -4
  114. package/es/PivotTable.js.map +1 -1
  115. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  116. package/es/core/BaseTable.d.ts +14 -9
  117. package/es/core/BaseTable.js +46 -34
  118. package/es/core/BaseTable.js.map +1 -1
  119. package/es/core/row-series-number-helper.d.ts +8 -0
  120. package/es/core/row-series-number-helper.js +14 -0
  121. package/es/core/row-series-number-helper.js.map +1 -0
  122. package/es/core/style.js +2 -1
  123. package/es/core/tableHelper.js +1 -1
  124. package/es/core/tableHelper.js.map +1 -1
  125. package/es/data/CachedDataSource.d.ts +2 -2
  126. package/es/data/CachedDataSource.js +5 -5
  127. package/es/data/CachedDataSource.js.map +1 -1
  128. package/es/data/DataSource.d.ts +6 -2
  129. package/es/data/DataSource.js +113 -41
  130. package/es/data/DataSource.js.map +1 -1
  131. package/es/event/event.js.map +1 -1
  132. package/es/event/listener/table-group.js +3 -2
  133. package/es/event/listener/table-group.js.map +1 -1
  134. package/es/event/media-click.js +1 -2
  135. package/es/event/media-click.js.map +1 -1
  136. package/es/event/scroll.js +2 -1
  137. package/es/header-helper/header-helper.js.map +1 -1
  138. package/es/icons.js +14 -0
  139. package/es/icons.js.map +1 -1
  140. package/es/index.d.ts +1 -1
  141. package/es/index.js +1 -1
  142. package/es/index.js.map +1 -1
  143. package/es/layout/layout-helper.d.ts +1 -0
  144. package/es/layout/layout-helper.js +10 -0
  145. package/es/layout/layout-helper.js.map +1 -1
  146. package/es/layout/pivot-header-layout.d.ts +16 -5
  147. package/es/layout/pivot-header-layout.js +102 -46
  148. package/es/layout/pivot-header-layout.js.map +1 -1
  149. package/es/layout/simple-header-layout.d.ts +17 -4
  150. package/es/layout/simple-header-layout.js +170 -61
  151. package/es/layout/simple-header-layout.js.map +1 -1
  152. package/es/plugins/themes.js +1 -2
  153. package/es/scenegraph/component/cell-mover.js +1 -1
  154. package/es/scenegraph/component/cell-mover.js.map +1 -1
  155. package/es/scenegraph/component/custom.js +1 -1
  156. package/es/scenegraph/component/custom.js.map +1 -1
  157. package/es/scenegraph/component/menu.js.map +1 -1
  158. package/es/scenegraph/group-creater/cell-helper.d.ts +0 -1
  159. package/es/scenegraph/group-creater/cell-helper.js +26 -14
  160. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  161. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  162. package/es/scenegraph/group-creater/column-helper.js +5 -6
  163. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  164. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +6 -2
  165. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  166. package/es/scenegraph/group-creater/progress/proxy.js +1 -1
  167. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  168. package/es/scenegraph/layout/compute-col-width.js +3 -3
  169. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  170. package/es/scenegraph/layout/compute-row-height.js +3 -3
  171. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  172. package/es/scenegraph/layout/update-height.js.map +1 -1
  173. package/es/scenegraph/layout/update-row.js +7 -2
  174. package/es/scenegraph/layout/update-row.js.map +1 -1
  175. package/es/scenegraph/layout/update-width.js.map +1 -1
  176. package/es/scenegraph/scenegraph.d.ts +1 -1
  177. package/es/scenegraph/scenegraph.js +4 -3
  178. package/es/scenegraph/scenegraph.js.map +1 -1
  179. package/es/scenegraph/select/update-select-border.d.ts +1 -3
  180. package/es/scenegraph/select/update-select-border.js +2 -18
  181. package/es/scenegraph/select/update-select-border.js.map +1 -1
  182. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  183. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  184. package/es/state/cell-move/adjust-header.js +3 -4
  185. package/es/state/cell-move/adjust-header.js.map +1 -1
  186. package/es/state/cell-move/index.js +14 -10
  187. package/es/state/cell-move/index.js.map +1 -1
  188. package/es/state/hover/is-cell-hover.js.map +1 -1
  189. package/es/state/resize/update-resize-column.js.map +1 -1
  190. package/es/state/select/update-position.js +33 -6
  191. package/es/state/select/update-position.js.map +1 -1
  192. package/es/state/state.js +2 -1
  193. package/es/state/state.js.map +1 -1
  194. package/es/themes/component.js +1 -1
  195. package/es/ts-types/base-table.d.ts +15 -6
  196. package/es/ts-types/base-table.js.map +1 -1
  197. package/es/ts-types/icon.d.ts +4 -2
  198. package/es/ts-types/icon.js +3 -2
  199. package/es/ts-types/icon.js.map +1 -1
  200. package/es/ts-types/list-table/layout-map/api.d.ts +17 -3
  201. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  202. package/es/ts-types/new-data-set.d.ts +1 -2
  203. package/es/ts-types/new-data-set.js.map +1 -1
  204. package/es/ts-types/pivot-table/title.d.ts +5 -5
  205. package/es/ts-types/pivot-table/title.js.map +1 -1
  206. package/es/ts-types/table-engine.d.ts +30 -3
  207. package/es/ts-types/table-engine.js.map +1 -1
  208. package/es/vrender.js.map +1 -1
  209. 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.4-alpha.4", this.id = `VTable${Date.now()}`,
83
+ if (super(), this.showFrozenIcon = !0, this.version = "0.22.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
  }
@@ -1172,7 +1178,7 @@ export class BaseTable extends EventTarget {
1172
1178
  return null === (_a = this.internalProps.dataSource) || void 0 === _a ? void 0 : _a.hasField(index, field);
1173
1179
  }
1174
1180
  _getCellStyle(col, row) {
1175
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1181
+ var _a, _b, _c, _d;
1176
1182
  const customCellStyle = this.customCellStylePlugin.getCustomCellStyle(col, row), {layoutMap: layoutMap} = this.internalProps;
1177
1183
  if (layoutMap.isHeader(col, row)) {
1178
1184
  let cacheKey;
@@ -1222,13 +1228,10 @@ export class BaseTable extends EventTarget {
1222
1228
  }
1223
1229
  return this.headerStyleCache.set(cacheKey, cacheStyle), customCellStyle ? mergeStyle(cacheStyle, customCellStyle) : cacheStyle;
1224
1230
  }
1225
- let bgColorFunc, cacheKey;
1226
- (null === (_f = null === (_e = this.internalProps) || void 0 === _e ? void 0 : _e.dataConfig) || void 0 === _f ? void 0 : _f.mappingRules) && !this.isHeader(col, row) && (null === (_j = null === (_h = null === (_g = this.internalProps) || void 0 === _g ? void 0 : _g.dataConfig) || void 0 === _h ? void 0 : _h.mappingRules) || void 0 === _j || _j.forEach(((mappingRule, i) => {
1227
- mappingRule.bgColor && this.internalProps.layoutMap.getIndicatorKey(col, row) === mappingRule.bgColor.indicatorKey && (bgColorFunc = mappingRule.bgColor.mapping);
1228
- })));
1231
+ let cacheKey;
1229
1232
  const cellType = this.getCellType(col, row);
1230
1233
  let cacheStyle;
1231
- 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,
1232
1235
  cacheStyle = layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.get(cacheKey) : this.bodyStyleCache.get(cacheKey),
1233
1236
  cacheStyle) return customCellStyle ? mergeStyle(cacheStyle, customCellStyle) : cacheStyle;
1234
1237
  const column = layoutMap.getBody(col, row), styleClass = this.internalProps.bodyHelper.getStyleClass(this.getCellType(col, row)), style = null == column ? void 0 : column.style;
@@ -1239,9 +1242,7 @@ export class BaseTable extends EventTarget {
1239
1242
  value: this.getCellValue(col, row),
1240
1243
  dataValue: this.getCellOriginValue(col, row),
1241
1244
  cellHeaderPaths: this.getCellHeaderPaths(col, row)
1242
- }, styleClass, this.options.autoWrapText, this.theme), bgColorFunc && (cacheStyle = mergeStyle(cacheStyle, {
1243
- bgColor: bgColorFunc
1244
- })), isFunction(style) || (layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.set(cacheKey, cacheStyle) : this.bodyStyleCache.set(cacheKey, cacheStyle)),
1245
+ }, styleClass, this.options.autoWrapText, this.theme), isFunction(style) || (layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.set(cacheKey, cacheStyle) : this.bodyStyleCache.set(cacheKey, cacheStyle)),
1245
1246
  customCellStyle ? mergeStyle(cacheStyle, customCellStyle) : cacheStyle;
1246
1247
  }
1247
1248
  clearCellStyleCache() {
@@ -1287,8 +1288,13 @@ export class BaseTable extends EventTarget {
1287
1288
  return !1;
1288
1289
  }
1289
1290
  getCellIcons(col, row) {
1291
+ var _a, _b;
1290
1292
  let icons;
1291
- 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 {
1292
1298
  const cellValue = this.getCellValue(col, row), dataValue = this.getCellOriginValue(col, row), ctx = this.internalProps.context;
1293
1299
  icons = this.internalProps.bodyHelper.getIcons(col, row, cellValue, dataValue, ctx);
1294
1300
  }
@@ -1408,7 +1414,7 @@ export class BaseTable extends EventTarget {
1408
1414
  if (range) {
1409
1415
  const copyCellValue = getCopyCellValue(c, r, range);
1410
1416
  if ("undefined" != typeof Promise && copyCellValue instanceof Promise) ; else {
1411
- const strCellValue = isValid(copyCellValue) ? `${copyCellValue}` : "";
1417
+ const strCellValue = `${copyCellValue}`;
1412
1418
  /^\[object .*\]$/.exec(strCellValue) || (copyValue += strCellValue);
1413
1419
  }
1414
1420
  (c < range.end.col || c < maxCol) && (copyValue += "\t");
@@ -1517,20 +1523,14 @@ export class BaseTable extends EventTarget {
1517
1523
  return this.scenegraph.stage.toCanvas().toDataURL();
1518
1524
  }
1519
1525
  exportCellImg(col, row) {
1520
- var _a, _b, _c, _d;
1521
1526
  const isInView = this.cellIsInVisualView(col, row), {scrollTop: scrollTop, scrollLeft: scrollLeft} = this;
1522
1527
  isInView || this.scrollToCell({
1523
1528
  col: col,
1524
1529
  row: row
1525
1530
  });
1526
- const cellRect = this.getCellRelativeRect(col, row);
1527
- (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);
1528
- const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
1529
- this.stateManager.updateHoverPos(-1, -1);
1530
- 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));
1531
1532
  return isInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
1532
- (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),
1533
- this.stateManager.updateHoverPos(hoverCol, hoverRow), c.toDataURL();
1533
+ c.toDataURL();
1534
1534
  }
1535
1535
  exportCellRangeImg(cellRange) {
1536
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);
@@ -1596,11 +1596,23 @@ export class BaseTable extends EventTarget {
1596
1596
  e.query ? activeChartInstance.on(key, e.query, e.callback) : activeChartInstance.on(key, e.callback);
1597
1597
  }));
1598
1598
  }
1599
+ changeRecordOrder(source, target) {}
1599
1600
  registerCustomCellStyle(customStyleId, customStyle) {
1600
1601
  this.customCellStylePlugin.registerCustomCellStyle(customStyleId, customStyle);
1601
1602
  }
1602
1603
  arrangeCustomCellStyle(cellPos, customStyleId) {
1603
1604
  this.customCellStylePlugin.arrangeCustomCellStyle(cellPos, customStyleId);
1604
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
+ }
1605
1617
  }
1606
1618
  //# sourceMappingURL=BaseTable.js.map