@visactor/vtable 1.21.1-alpha.0 → 1.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 (75) hide show
  1. package/cjs/ListTable.d.ts +3 -2
  2. package/cjs/ListTable.js +54 -14
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotTable.d.ts +1 -1
  5. package/cjs/PivotTable.js +1 -1
  6. package/cjs/PivotTable.js.map +1 -1
  7. package/cjs/core/BaseTable.js +1 -1
  8. package/cjs/core/BaseTable.js.map +1 -1
  9. package/cjs/core/TABLE_EVENT_TYPE.d.ts +7 -0
  10. package/cjs/core/TABLE_EVENT_TYPE.js +8 -1
  11. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  12. package/cjs/core/record-helper.d.ts +2 -2
  13. package/cjs/core/record-helper.js +141 -129
  14. package/cjs/core/record-helper.js.map +1 -1
  15. package/cjs/core/tableHelper.js +6 -1
  16. package/cjs/core/tableHelper.js.map +1 -1
  17. package/cjs/data/CachedDataSource.js +2 -2
  18. package/cjs/data/CachedDataSource.js.map +1 -1
  19. package/cjs/event/listener/table-group.js +2 -1
  20. package/cjs/event/listener/table-group.js.map +1 -1
  21. package/cjs/index.d.ts +1 -1
  22. package/cjs/index.js +1 -1
  23. package/cjs/index.js.map +1 -1
  24. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +8 -2
  25. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  26. package/cjs/scenegraph/group-creater/progress/proxy.js +1 -1
  27. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  28. package/cjs/scenegraph/scenegraph.js +1 -1
  29. package/cjs/scenegraph/scenegraph.js.map +1 -1
  30. package/cjs/scenegraph/select/update-select-border.js +6 -1
  31. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  32. package/cjs/scenegraph/utils/text-icon-layout.js +17 -3
  33. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  34. package/cjs/ts-types/events.d.ts +51 -2
  35. package/cjs/ts-types/events.js.map +1 -1
  36. package/cjs/vrender.js.map +1 -1
  37. package/dist/vtable.js +354 -210
  38. package/dist/vtable.min.js +2 -2
  39. package/es/ListTable.d.ts +3 -2
  40. package/es/ListTable.js +54 -14
  41. package/es/ListTable.js.map +1 -1
  42. package/es/PivotTable.d.ts +1 -1
  43. package/es/PivotTable.js +1 -1
  44. package/es/PivotTable.js.map +1 -1
  45. package/es/core/BaseTable.js +1 -1
  46. package/es/core/BaseTable.js.map +1 -1
  47. package/es/core/TABLE_EVENT_TYPE.d.ts +7 -0
  48. package/es/core/TABLE_EVENT_TYPE.js +8 -1
  49. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  50. package/es/core/record-helper.d.ts +2 -2
  51. package/es/core/record-helper.js +141 -129
  52. package/es/core/record-helper.js.map +1 -1
  53. package/es/core/tableHelper.js +7 -2
  54. package/es/core/tableHelper.js.map +1 -1
  55. package/es/data/CachedDataSource.js +2 -2
  56. package/es/data/CachedDataSource.js.map +1 -1
  57. package/es/event/listener/table-group.js +2 -1
  58. package/es/event/listener/table-group.js.map +1 -1
  59. package/es/index.d.ts +1 -1
  60. package/es/index.js +1 -1
  61. package/es/index.js.map +1 -1
  62. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +8 -2
  63. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  64. package/es/scenegraph/group-creater/progress/proxy.js +1 -1
  65. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  66. package/es/scenegraph/scenegraph.js +1 -1
  67. package/es/scenegraph/scenegraph.js.map +1 -1
  68. package/es/scenegraph/select/update-select-border.js +7 -0
  69. package/es/scenegraph/select/update-select-border.js.map +1 -1
  70. package/es/scenegraph/utils/text-icon-layout.js +18 -2
  71. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  72. package/es/ts-types/events.d.ts +51 -2
  73. package/es/ts-types/events.js.map +1 -1
  74. package/es/vrender.js.map +1 -1
  75. package/package.json +5 -5
@@ -22,8 +22,8 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
22
22
  clearColWidthCache?: boolean;
23
23
  }): void;
24
24
  private _recreateSceneForStateChange;
25
- addColumn(column: ColumnDefine, colIndex?: number, isMaintainArrayData?: boolean): void;
26
- deleteColumn(colIndex: number): void;
25
+ addColumns(toAddColumns: ColumnDefine[], colIndex?: number, isMaintainArrayData?: boolean): void;
26
+ deleteColumns(deleteColIndexs: number[], isMaintainArrayData?: boolean): void;
27
27
  get columns(): ColumnsDefine;
28
28
  get header(): ColumnsDefine;
29
29
  set header(header: ColumnsDefine);
@@ -69,6 +69,7 @@ export declare class ListTable extends BaseTable implements ListTableAPI {
69
69
  _getSortFuncFromHeaderOption(columns: ColumnsDefine | undefined, field: FieldDef, fieldKey?: FieldKeyDef): SortState['orderFn'] | undefined;
70
70
  updateSortState(sortState: SortState[] | SortState | null, executeSort?: boolean): void;
71
71
  updateFilterRules(filterRules: FilterRules): void;
72
+ getFilteredRecords(): any[];
72
73
  getCheckboxState(field?: string | number): any[];
73
74
  getCellCheckboxState(col: number, row: number): boolean | "indeterminate";
74
75
  getRadioState(field?: string | number): number | boolean | Record<string | number, number | boolean | Record<number, number>>;
package/cjs/ListTable.js CHANGED
@@ -114,21 +114,35 @@ class ListTable extends core_1.BaseTable {
114
114
  this.scenegraph.createSceneGraph(), this.stateManager.updateHoverPos(oldHoverState.col, oldHoverState.row),
115
115
  this.renderAsync(), this.eventManager.updateEventBinder();
116
116
  }
117
- addColumn(column, colIndex, isMaintainArrayData = !0) {
117
+ addColumns(toAddColumns, colIndex, isMaintainArrayData = !0) {
118
118
  const columns = this.options.columns;
119
- if (void 0 === colIndex) columns.push(column); else {
120
- if (isMaintainArrayData) for (let i = 0; i < columns.length; i++) "number" == typeof columns[i].field && columns[i].field >= colIndex && (columns[i].field = columns[i].field + 1);
121
- columns.splice(colIndex, 0, column);
122
- }
123
- if (isMaintainArrayData) for (let i = 0; i < this.records.length; i++) {
124
- const record = this.records[i];
125
- Array.isArray(record) && record.splice(colIndex, 0, void 0);
119
+ if (void 0 === colIndex ? (colIndex = columns.length, columns.push(...toAddColumns)) : columns.splice(colIndex, 0, ...toAddColumns),
120
+ isMaintainArrayData) {
121
+ for (let i = 0; i < columns.length; i++) columns[i].field = i;
122
+ for (let i = 0; i < this.records.length; i++) {
123
+ const record = this.records[i];
124
+ Array.isArray(record) && record.splice(colIndex, 0, ...Array(toAddColumns.length).fill(void 0));
125
+ }
126
126
  }
127
- this.updateColumns(columns);
127
+ this.updateColumns(columns), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.ADD_COLUMN, {
128
+ columnIndex: colIndex,
129
+ columnCount: toAddColumns.length,
130
+ columns: columns
131
+ });
128
132
  }
129
- deleteColumn(colIndex) {
133
+ deleteColumns(deleteColIndexs, isMaintainArrayData = !0) {
130
134
  const columns = this.options.columns;
131
- columns.splice(colIndex, 1), this.updateColumns(columns);
135
+ deleteColIndexs.sort(((a, b) => b - a));
136
+ for (let i = 0; i < deleteColIndexs.length; i++) if (columns.splice(deleteColIndexs[i], 1),
137
+ isMaintainArrayData) for (let j = 0; j < this.records.length; j++) {
138
+ const record = this.records[j];
139
+ Array.isArray(record) && record.splice(deleteColIndexs[i], 1);
140
+ }
141
+ if (isMaintainArrayData) for (let i = 0; i < columns.length; i++) columns[i].field = i;
142
+ this.updateColumns(columns), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DELETE_COLUMN, {
143
+ deleteColIndexs: deleteColIndexs,
144
+ columns: columns
145
+ });
132
146
  }
133
147
  get columns() {
134
148
  return this.internalProps.layoutMap.columnTree.getCopiedTree();
@@ -531,6 +545,9 @@ class ListTable extends core_1.BaseTable {
531
545
  this.refreshRowColCount(), this.stateManager.initCheckedState(this.records), this.scenegraph.createSceneGraph(),
532
546
  this.resize();
533
547
  }
548
+ getFilteredRecords() {
549
+ return this.dataSource.records;
550
+ }
534
551
  getCheckboxState(field) {
535
552
  if (this.stateManager.checkedState.size < this.rowCount - this.columnHeaderLevelCount && this.stateManager.initLeftRecordsCheckState(this.records),
536
553
  (0, vutils_1.isValid)(field)) {
@@ -672,18 +689,41 @@ class ListTable extends core_1.BaseTable {
672
689
  }
673
690
  addRecord(record, recordIndex) {
674
691
  var _a;
675
- (0, record_helper_1.listTableAddRecord)(record, recordIndex, this), null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible();
692
+ const success = (0, record_helper_1.listTableAddRecord)(record, recordIndex, this);
693
+ null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible(),
694
+ success && this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.ADD_RECORD, {
695
+ records: [ record ],
696
+ recordIndex: recordIndex,
697
+ recordCount: 1
698
+ });
676
699
  }
677
700
  addRecords(records, recordIndex) {
678
701
  var _a;
679
- (0, record_helper_1.listTableAddRecords)(records, recordIndex, this), null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible();
702
+ const success = (0, record_helper_1.listTableAddRecords)(records, recordIndex, this);
703
+ null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible(),
704
+ success && this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.ADD_RECORD, {
705
+ records: records,
706
+ recordIndex: recordIndex,
707
+ recordCount: records.length
708
+ });
680
709
  }
681
710
  deleteRecords(recordIndexs) {
682
711
  var _a;
683
712
  (0, record_helper_1.listTableDeleteRecords)(recordIndexs, this), null === (_a = this.internalProps.emptyTip) || void 0 === _a || _a.resetVisible();
713
+ const rowIndexs = [];
714
+ for (let i = 0; i < recordIndexs.length; i++) rowIndexs.push(this.getBodyRowIndexByRecordIndex(recordIndexs[i]) + this.columnHeaderLevelCount);
715
+ this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DELETE_RECORD, {
716
+ recordIndexs: recordIndexs,
717
+ rowIndexs: rowIndexs,
718
+ deletedCount: (Array.isArray(recordIndexs[0]), recordIndexs.length)
719
+ });
684
720
  }
685
721
  updateRecords(records, recordIndexs) {
686
- (0, record_helper_1.listTableUpdateRecords)(records, recordIndexs, this);
722
+ (0, record_helper_1.listTableUpdateRecords)(records, recordIndexs, this), this.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.UPDATE_RECORD, {
723
+ records: records,
724
+ recordIndexs: recordIndexs,
725
+ updateCount: records.length
726
+ });
687
727
  }
688
728
  _hasCustomRenderOrLayout() {
689
729
  var _a, _b, _c, _d;