@visactor/vtable 0.21.3-alpha.1 → 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 (215) 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 +39 -14
  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/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 +101 -45
  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 -1
  76. package/cjs/scenegraph/select/update-select-border.js +2 -2
  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 +2 -1
  91. package/cjs/state/state.js.map +1 -1
  92. package/cjs/themes/component.js +1 -1
  93. package/cjs/tools/merge-range.js +6 -0
  94. package/cjs/tools/merge-range.js.map +1 -1
  95. package/cjs/ts-types/base-table.d.ts +15 -6
  96. package/cjs/ts-types/base-table.js.map +1 -1
  97. package/cjs/ts-types/icon.d.ts +4 -2
  98. package/cjs/ts-types/icon.js +3 -2
  99. package/cjs/ts-types/icon.js.map +1 -1
  100. package/cjs/ts-types/list-table/layout-map/api.d.ts +17 -3
  101. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  102. package/cjs/ts-types/pivot-table/title.d.ts +5 -5
  103. package/cjs/ts-types/pivot-table/title.js.map +1 -1
  104. package/cjs/ts-types/table-engine.d.ts +30 -3
  105. package/cjs/ts-types/table-engine.js.map +1 -1
  106. package/cjs/vrender.js.map +1 -1
  107. package/dist/vtable.js +1007 -239
  108. package/dist/vtable.min.js +2 -2
  109. package/es/ListTable.d.ts +2 -4
  110. package/es/ListTable.js +37 -28
  111. package/es/ListTable.js.map +1 -1
  112. package/es/PivotChart.d.ts +1 -0
  113. package/es/PivotChart.js +1 -0
  114. package/es/PivotChart.js.map +1 -1
  115. package/es/PivotTable.d.ts +1 -0
  116. package/es/PivotTable.js +13 -4
  117. package/es/PivotTable.js.map +1 -1
  118. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  119. package/es/core/BaseTable.d.ts +14 -9
  120. package/es/core/BaseTable.js +40 -15
  121. package/es/core/BaseTable.js.map +1 -1
  122. package/es/core/row-series-number-helper.d.ts +8 -0
  123. package/es/core/row-series-number-helper.js +14 -0
  124. package/es/core/row-series-number-helper.js.map +1 -0
  125. package/es/core/style.js +2 -1
  126. package/es/core/tableHelper.js +1 -1
  127. package/es/core/tableHelper.js.map +1 -1
  128. package/es/data/CachedDataSource.d.ts +2 -2
  129. package/es/data/CachedDataSource.js +5 -5
  130. package/es/data/CachedDataSource.js.map +1 -1
  131. package/es/data/DataSource.d.ts +6 -2
  132. package/es/data/DataSource.js +112 -36
  133. package/es/data/DataSource.js.map +1 -1
  134. package/es/event/event.js.map +1 -1
  135. package/es/event/listener/table-group.js +3 -2
  136. package/es/event/listener/table-group.js.map +1 -1
  137. package/es/event/media-click.js +1 -2
  138. package/es/event/media-click.js.map +1 -1
  139. package/es/event/scroll.js +2 -1
  140. package/es/header-helper/header-helper.js.map +1 -1
  141. package/es/icons.js +14 -0
  142. package/es/icons.js.map +1 -1
  143. package/es/index.d.ts +1 -1
  144. package/es/index.js +1 -1
  145. package/es/index.js.map +1 -1
  146. package/es/layout/layout-helper.d.ts +1 -0
  147. package/es/layout/layout-helper.js +10 -0
  148. package/es/layout/layout-helper.js.map +1 -1
  149. package/es/layout/pivot-header-layout.d.ts +16 -5
  150. package/es/layout/pivot-header-layout.js +101 -45
  151. package/es/layout/pivot-header-layout.js.map +1 -1
  152. package/es/layout/simple-header-layout.d.ts +17 -4
  153. package/es/layout/simple-header-layout.js +170 -61
  154. package/es/layout/simple-header-layout.js.map +1 -1
  155. package/es/plugins/themes.js +1 -2
  156. package/es/scenegraph/component/cell-mover.js +1 -1
  157. package/es/scenegraph/component/cell-mover.js.map +1 -1
  158. package/es/scenegraph/component/menu.js.map +1 -1
  159. package/es/scenegraph/group-creater/cell-helper.js +2 -2
  160. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  161. package/es/scenegraph/group-creater/cell-type/image-cell.js +1 -1
  162. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  163. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  164. package/es/scenegraph/group-creater/column-helper.js +1 -1
  165. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  166. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +6 -2
  167. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  168. package/es/scenegraph/group-creater/progress/proxy.js +3 -4
  169. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  170. package/es/scenegraph/icon/icon-update.js +1 -1
  171. package/es/scenegraph/icon/icon-update.js.map +1 -1
  172. package/es/scenegraph/layout/compute-col-width.js +3 -3
  173. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  174. package/es/scenegraph/layout/compute-row-height.js +3 -3
  175. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  176. package/es/scenegraph/layout/update-height.js.map +1 -1
  177. package/es/scenegraph/layout/update-row.js +7 -2
  178. package/es/scenegraph/layout/update-row.js.map +1 -1
  179. package/es/scenegraph/layout/update-width.js.map +1 -1
  180. package/es/scenegraph/scenegraph.d.ts +1 -1
  181. package/es/scenegraph/scenegraph.js +4 -3
  182. package/es/scenegraph/scenegraph.js.map +1 -1
  183. package/es/scenegraph/select/update-select-border.d.ts +1 -1
  184. package/es/scenegraph/select/update-select-border.js +2 -2
  185. package/es/scenegraph/select/update-select-border.js.map +1 -1
  186. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  187. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  188. package/es/state/cell-move/adjust-header.js +3 -4
  189. package/es/state/cell-move/adjust-header.js.map +1 -1
  190. package/es/state/cell-move/index.js +14 -10
  191. package/es/state/cell-move/index.js.map +1 -1
  192. package/es/state/hover/is-cell-hover.js.map +1 -1
  193. package/es/state/hover/update-cell.js +1 -1
  194. package/es/state/hover/update-cell.js.map +1 -1
  195. package/es/state/resize/update-resize-column.js.map +1 -1
  196. package/es/state/select/update-position.js +33 -6
  197. package/es/state/select/update-position.js.map +1 -1
  198. package/es/state/state.js +2 -1
  199. package/es/state/state.js.map +1 -1
  200. package/es/themes/component.js +1 -1
  201. package/es/tools/merge-range.js +6 -0
  202. package/es/tools/merge-range.js.map +1 -1
  203. package/es/ts-types/base-table.d.ts +15 -6
  204. package/es/ts-types/base-table.js.map +1 -1
  205. package/es/ts-types/icon.d.ts +4 -2
  206. package/es/ts-types/icon.js +3 -2
  207. package/es/ts-types/icon.js.map +1 -1
  208. package/es/ts-types/list-table/layout-map/api.d.ts +17 -3
  209. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  210. package/es/ts-types/pivot-table/title.d.ts +5 -5
  211. package/es/ts-types/pivot-table/title.js.map +1 -1
  212. package/es/ts-types/table-engine.d.ts +30 -3
  213. package/es/ts-types/table-engine.js.map +1 -1
  214. package/es/vrender.js.map +1 -1
  215. package/package.json +3 -3
@@ -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
  }
@@ -33,7 +33,7 @@ Object.defineProperty(exports, "__esModule", {
33
33
  value: !0
34
34
  }), exports.BaseTable = void 0;
35
35
 
36
- const columnStyleContents = __importStar(require("../body-helper/style")), headerStyleContents = __importStar(require("../header-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), TooltipHandler_1 = require("../components/tooltip/TooltipHandler"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), MenuHandler_1 = require("../components/menu/dom/MenuHandler"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), create_legend_1 = require("../components/legend/create-legend"), vdataset_1 = require("@visactor/vdataset"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), get_axis_config_1 = require("../layout/chart-helper/get-axis-config"), row_height_map_1 = require("../layout/row-height-map"), custom_cell_style_1 = require("../plugins/custom-cell-style"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
36
+ const columnStyleContents = __importStar(require("../body-helper/style")), headerStyleContents = __importStar(require("../header-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), TooltipHandler_1 = require("../components/tooltip/TooltipHandler"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), MenuHandler_1 = require("../components/menu/dom/MenuHandler"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), create_legend_1 = require("../components/legend/create-legend"), vdataset_1 = require("@visactor/vdataset"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), get_axis_config_1 = require("../layout/chart-helper/get-axis-config"), row_height_map_1 = require("../layout/row-height-map"), row_series_number_helper_1 = require("./row-series-number-helper"), custom_cell_style_1 = require("../plugins/custom-cell-style"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
37
37
 
38
38
  (0, style_1.importStyle)();
39
39
 
@@ -45,10 +45,10 @@ class BaseTable extends EventTarget_1.EventTarget {
45
45
  }
46
46
  constructor(container, options = {}) {
47
47
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
48
- if (super(), this.showFrozenIcon = !0, this.version = "0.21.3-alpha.1", this.id = `VTable${Date.now()}`,
48
+ if (super(), this.showFrozenIcon = !0, this.version = "0.22.0-alpha.0", this.id = `VTable${Date.now()}`,
49
49
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200),
50
50
  !container && "node" !== options.mode) throw new Error("vtable's container is undefined");
51
- 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 = pixel_ratio_1.defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
51
+ 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 = pixel_ratio_1.defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
52
52
  this.container = container, this.options = options, this.options.container = container,
53
53
  this._widthMode = widthMode, this._heightMode = heightMode, this._autoFillWidth = autoFillWidth,
54
54
  this._autoFillHeight = autoFillHeight, this.customRender = customRender, this.padding = {
@@ -72,8 +72,9 @@ class BaseTable extends EventTarget_1.EventTarget {
72
72
  internalProps.defaultRowHeight = defaultRowHeight, internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
73
73
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
74
74
  internalProps.keyboardOptions = keyboardOptions, internalProps.eventOptions = eventOptions,
75
- internalProps.columnResizeMode = columnResizeMode, internalProps.dragHeaderMode = dragHeaderMode,
76
- internalProps.renderChartAsync = renderChartAsync, (0, chart_render_helper_1.setBatchRenderChartCount)(renderChartAsyncBatchCount),
75
+ internalProps.rowSeriesNumber = rowSeriesNumber, internalProps.columnResizeMode = columnResizeMode,
76
+ internalProps.dragHeaderMode = dragHeaderMode, internalProps.renderChartAsync = renderChartAsync,
77
+ (0, chart_render_helper_1.setBatchRenderChartCount)(renderChartAsyncBatchCount),
77
78
  internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
78
79
  internalProps._rowHeightsMap = new row_height_map_1.NumberRangeMap(this), internalProps._rowRangeHeightsMap = new Map,
79
80
  internalProps._colRangeWidthsMap = new Map, internalProps._widthResizedColMap = new Set,
@@ -89,8 +90,8 @@ class BaseTable extends EventTarget_1.EventTarget {
89
90
  container.appendChild(internalProps.element), this._updateSize()) : this._updateSize(),
90
91
  this.options = options, internalProps.theme = themes_1.default.of(null !== (_b = options.theme) && void 0 !== _b ? _b : themes_1.default.DEFAULT),
91
92
  internalProps.theme.isPivot = this.isPivotTable(), internalProps.bodyHelper = new body_helper_1.BodyHelper(this),
92
- internalProps.headerHelper = new header_helper_1.HeaderHelper(this), internalProps.autoWrapText = options.autoWrapText,
93
- internalProps.allowFrozenColCount = null !== (_c = options.allowFrozenColCount) && void 0 !== _c ? _c : 0,
93
+ internalProps.headerHelper = new header_helper_1.HeaderHelper(this), internalProps.rowSeriesNumberHelper = new row_series_number_helper_1.RowSeriesNumberHelper(this),
94
+ internalProps.autoWrapText = options.autoWrapText, internalProps.allowFrozenColCount = null !== (_c = options.allowFrozenColCount) && void 0 !== _c ? _c : 0,
94
95
  internalProps.limitMaxAutoWidth = null !== (_d = options.limitMaxAutoWidth) && void 0 !== _d ? _d : 450,
95
96
  internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
96
97
  this._vDataSet = new vdataset_1.DataSet, this.scenegraph = new scenegraph_1.Scenegraph(this),
@@ -695,7 +696,7 @@ class BaseTable extends EventTarget_1.EventTarget {
695
696
  updateOption(options) {
696
697
  var _a, _b, _c, _d, _e;
697
698
  this.options = options;
698
- 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;
699
+ 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;
699
700
  pixelRatio && pixelRatio !== this.internalProps.pixelRatio && (this.internalProps.pixelRatio = pixelRatio),
700
701
  padding && ("number" == typeof padding ? (this.padding.top = padding, this.padding.left = padding,
701
702
  this.padding.bottom = padding, this.padding.right = padding) : (padding.top && (this.padding.top = padding.top),
@@ -711,8 +712,9 @@ class BaseTable extends EventTarget_1.EventTarget {
711
712
  internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
712
713
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
713
714
  internalProps.keyboardOptions = keyboardOptions, internalProps.eventOptions = eventOptions,
714
- internalProps.columnResizeMode = columnResizeMode, internalProps.dragHeaderMode = dragHeaderMode,
715
- internalProps.renderChartAsync = renderChartAsync, (0, chart_render_helper_1.setBatchRenderChartCount)(renderChartAsyncBatchCount),
715
+ internalProps.rowSeriesNumber = rowSeriesNumber, internalProps.columnResizeMode = columnResizeMode,
716
+ internalProps.dragHeaderMode = dragHeaderMode, internalProps.renderChartAsync = renderChartAsync,
717
+ (0, chart_render_helper_1.setBatchRenderChartCount)(renderChartAsyncBatchCount),
716
718
  internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
717
719
  internalProps.cellTextOverflows = {}, internalProps._rowHeightsMap = new row_height_map_1.NumberRangeMap(this),
718
720
  internalProps._rowRangeHeightsMap = new Map, internalProps._colRangeWidthsMap = new Map,
@@ -966,10 +968,10 @@ class BaseTable extends EventTarget_1.EventTarget {
966
968
  }
967
969
  getCellType(col, row) {
968
970
  let cellType;
969
- return cellType = this.isHeader(col, row) ? this.internalProps.layoutMap.getHeader(col, row).headerType : this.internalProps.layoutMap.getBody(col, row).cellType,
971
+ 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,
970
972
  (0, get_prop_1.getProp)("cellType", {
971
973
  cellType: cellType
972
- }, col, row, this);
974
+ }, col, row, this));
973
975
  }
974
976
  getHeaderField(col, row) {
975
977
  return this.internalProps.layoutMap.getHeaderField(col, row);
@@ -1073,6 +1075,12 @@ class BaseTable extends EventTarget_1.EventTarget {
1073
1075
  _dropDownMenuIsHighlight(colNow, rowNow, index) {
1074
1076
  return this.stateManager.dropDownMenuIsHighlight(colNow, rowNow, index);
1075
1077
  }
1078
+ isSeriesNumberInBody(col, row) {
1079
+ return this.internalProps.layoutMap && this.internalProps.layoutMap.isSeriesNumberInBody(col, row);
1080
+ }
1081
+ isSeriesNumberInHeader(col, row) {
1082
+ return this.internalProps.layoutMap && this.internalProps.layoutMap.isSeriesNumberInHeader(col, row);
1083
+ }
1076
1084
  isHeader(col, row) {
1077
1085
  return this.internalProps.layoutMap && this.internalProps.layoutMap.isHeader(col, row);
1078
1086
  }
@@ -1195,7 +1203,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1195
1203
  let cacheKey;
1196
1204
  const cellType = this.getCellType(col, row);
1197
1205
  let cacheStyle;
1198
- if (cacheKey = this.isListTable() && !this.transpose || this.isPivotTable() && this.internalProps.layoutMap.indicatorsAsCol ? col + cellType : row + cellType,
1206
+ if (cacheKey = this.isSeriesNumberInBody(col, row) ? `${col}-series-` + cellType : this.isListTable() && !this.transpose || this.isPivotTable() && this.internalProps.layoutMap.indicatorsAsCol ? col + cellType : row + cellType,
1199
1207
  cacheStyle = layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.get(cacheKey) : this.bodyStyleCache.get(cacheKey),
1200
1208
  cacheStyle) return customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
1201
1209
  const column = layoutMap.getBody(col, row), styleClass = this.internalProps.bodyHelper.getStyleClass(this.getCellType(col, row)), style = null == column ? void 0 : column.style;
@@ -1252,8 +1260,13 @@ class BaseTable extends EventTarget_1.EventTarget {
1252
1260
  return !1;
1253
1261
  }
1254
1262
  getCellIcons(col, row) {
1263
+ var _a, _b;
1255
1264
  let icons;
1256
- if (this.isHeader(col, row)) icons = this.internalProps.headerHelper.getIcons(col, row); else {
1265
+ if (this.isHeader(col, row)) icons = this.internalProps.headerHelper.getIcons(col, row); else if (this.internalProps.layoutMap.isSeriesNumber(col, row)) {
1266
+ (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));
1267
+ 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);
1268
+ (null == icons ? void 0 : icons.length) > 0 ? icons = icons.concat() : (null == cellIcon ? void 0 : cellIcon.length) > 0 && (icons = cellIcon);
1269
+ } else {
1257
1270
  const cellValue = this.getCellValue(col, row), dataValue = this.getCellOriginValue(col, row), ctx = this.internalProps.context;
1258
1271
  icons = this.internalProps.bodyHelper.getIcons(col, row, cellValue, dataValue, ctx);
1259
1272
  }
@@ -1555,12 +1568,24 @@ class BaseTable extends EventTarget_1.EventTarget {
1555
1568
  e.query ? activeChartInstance.on(key, e.query, e.callback) : activeChartInstance.on(key, e.callback);
1556
1569
  }));
1557
1570
  }
1571
+ changeRecordOrder(source, target) {}
1558
1572
  registerCustomCellStyle(customStyleId, customStyle) {
1559
1573
  this.customCellStylePlugin.registerCustomCellStyle(customStyleId, customStyle);
1560
1574
  }
1561
1575
  arrangeCustomCellStyle(cellPos, customStyleId) {
1562
1576
  this.customCellStylePlugin.arrangeCustomCellStyle(cellPos, customStyleId);
1563
1577
  }
1578
+ isSeriesNumber(col, row) {
1579
+ return this.internalProps.layoutMap.isSeriesNumber(col, row);
1580
+ }
1581
+ isHasSeriesNumber() {
1582
+ var _a;
1583
+ return (null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.leftRowSeriesNumberColumnCount) > 0;
1584
+ }
1585
+ get leftRowSeriesNumberCount() {
1586
+ var _a, _b;
1587
+ return null !== (_b = null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.leftRowSeriesNumberColumnCount) && void 0 !== _b ? _b : 0;
1588
+ }
1564
1589
  }
1565
1590
 
1566
1591
  exports.BaseTable = BaseTable;