@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
  }
@@ -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"), update_select_border_1 = require("../scenegraph/select/update-select-border"), {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.4-alpha.4", this.id = `VTable${Date.now()}`,
48
+ if (super(), this.showFrozenIcon = !0, this.version = "0.22.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
  }
@@ -1142,7 +1150,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1142
1150
  return null === (_a = this.internalProps.dataSource) || void 0 === _a ? void 0 : _a.hasField(index, field);
1143
1151
  }
1144
1152
  _getCellStyle(col, row) {
1145
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1153
+ var _a, _b, _c, _d;
1146
1154
  const customCellStyle = this.customCellStylePlugin.getCustomCellStyle(col, row), {layoutMap: layoutMap} = this.internalProps;
1147
1155
  if (layoutMap.isHeader(col, row)) {
1148
1156
  let cacheKey;
@@ -1192,13 +1200,10 @@ class BaseTable extends EventTarget_1.EventTarget {
1192
1200
  }
1193
1201
  return this.headerStyleCache.set(cacheKey, cacheStyle), customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
1194
1202
  }
1195
- let bgColorFunc, cacheKey;
1196
- (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) => {
1197
- mappingRule.bgColor && this.internalProps.layoutMap.getIndicatorKey(col, row) === mappingRule.bgColor.indicatorKey && (bgColorFunc = mappingRule.bgColor.mapping);
1198
- })));
1203
+ let cacheKey;
1199
1204
  const cellType = this.getCellType(col, row);
1200
1205
  let cacheStyle;
1201
- 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,
1202
1207
  cacheStyle = layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.get(cacheKey) : this.bodyStyleCache.get(cacheKey),
1203
1208
  cacheStyle) return customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
1204
1209
  const column = layoutMap.getBody(col, row), styleClass = this.internalProps.bodyHelper.getStyleClass(this.getCellType(col, row)), style = null == column ? void 0 : column.style;
@@ -1209,10 +1214,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1209
1214
  value: this.getCellValue(col, row),
1210
1215
  dataValue: this.getCellOriginValue(col, row),
1211
1216
  cellHeaderPaths: this.getCellHeaderPaths(col, row)
1212
- }, styleClass, this.options.autoWrapText, this.theme), bgColorFunc && (cacheStyle = (0,
1213
- custom_cell_style_1.mergeStyle)(cacheStyle, {
1214
- bgColor: bgColorFunc
1215
- })), (0, vutils_1.isFunction)(style) || (layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.set(cacheKey, cacheStyle) : this.bodyStyleCache.set(cacheKey, cacheStyle)),
1217
+ }, styleClass, this.options.autoWrapText, this.theme), (0, vutils_1.isFunction)(style) || (layoutMap.isBottomFrozenRow(row) ? this.bodyBottomStyleCache.set(cacheKey, cacheStyle) : this.bodyStyleCache.set(cacheKey, cacheStyle)),
1216
1218
  customCellStyle ? (0, custom_cell_style_1.mergeStyle)(cacheStyle, customCellStyle) : cacheStyle;
1217
1219
  }
1218
1220
  clearCellStyleCache() {
@@ -1258,8 +1260,13 @@ class BaseTable extends EventTarget_1.EventTarget {
1258
1260
  return !1;
1259
1261
  }
1260
1262
  getCellIcons(col, row) {
1263
+ var _a, _b;
1261
1264
  let icons;
1262
- 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 {
1263
1270
  const cellValue = this.getCellValue(col, row), dataValue = this.getCellOriginValue(col, row), ctx = this.internalProps.context;
1264
1271
  icons = this.internalProps.bodyHelper.getIcons(col, row, cellValue, dataValue, ctx);
1265
1272
  }
@@ -1379,7 +1386,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1379
1386
  if (range) {
1380
1387
  const copyCellValue = getCopyCellValue(c, r, range);
1381
1388
  if ("undefined" != typeof Promise && copyCellValue instanceof Promise) ; else {
1382
- const strCellValue = (0, vutils_1.isValid)(copyCellValue) ? `${copyCellValue}` : "";
1389
+ const strCellValue = `${copyCellValue}`;
1383
1390
  /^\[object .*\]$/.exec(strCellValue) || (copyValue += strCellValue);
1384
1391
  }
1385
1392
  (c < range.end.col || c < maxCol) && (copyValue += "\t");
@@ -1488,21 +1495,13 @@ class BaseTable extends EventTarget_1.EventTarget {
1488
1495
  return this.scenegraph.stage.toCanvas().toDataURL();
1489
1496
  }
1490
1497
  exportCellImg(col, row) {
1491
- var _a, _b, _c, _d;
1492
1498
  const isInView = this.cellIsInVisualView(col, row), {scrollTop: scrollTop, scrollLeft: scrollLeft} = this;
1493
1499
  isInView || this.scrollToCell({
1494
1500
  col: col,
1495
1501
  row: row
1496
1502
  });
1497
- const cellRect = this.getCellRelativeRect(col, row);
1498
- (null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0 && (0,
1499
- update_select_border_1.hideCellSelectBorder)(this.scenegraph);
1500
- const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
1501
- this.stateManager.updateHoverPos(-1, -1);
1502
- const c = this.scenegraph.stage.toCanvas(!1, (new vutils_1.AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY));
1503
+ const cellRect = this.getCellRelativeRect(col, row), c = this.scenegraph.stage.toCanvas(!1, (new vutils_1.AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY));
1503
1504
  return isInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
1504
- (null === (_d = null === (_c = this.stateManager.select) || void 0 === _c ? void 0 : _c.ranges) || void 0 === _d ? void 0 : _d.length) > 0 && (0,
1505
- update_select_border_1.restoreCellSelectBorder)(this.scenegraph), this.stateManager.updateHoverPos(hoverCol, hoverRow),
1506
1505
  c.toDataURL();
1507
1506
  }
1508
1507
  exportCellRangeImg(cellRange) {
@@ -1569,12 +1568,24 @@ class BaseTable extends EventTarget_1.EventTarget {
1569
1568
  e.query ? activeChartInstance.on(key, e.query, e.callback) : activeChartInstance.on(key, e.callback);
1570
1569
  }));
1571
1570
  }
1571
+ changeRecordOrder(source, target) {}
1572
1572
  registerCustomCellStyle(customStyleId, customStyle) {
1573
1573
  this.customCellStylePlugin.registerCustomCellStyle(customStyleId, customStyle);
1574
1574
  }
1575
1575
  arrangeCustomCellStyle(cellPos, customStyleId) {
1576
1576
  this.customCellStylePlugin.arrangeCustomCellStyle(cellPos, customStyleId);
1577
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
+ }
1578
1589
  }
1579
1590
 
1580
1591
  exports.BaseTable = BaseTable;