vxe-pc-ui 4.13.28 → 4.14.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 (32) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/style.css +1 -1
  3. package/es/style.min.css +1 -1
  4. package/es/ui/index.js +1 -1
  5. package/es/ui/src/log.js +1 -1
  6. package/lib/icon/style/style.css +1 -1
  7. package/lib/icon/style/style.min.css +1 -1
  8. package/lib/index.umd.js +27 -11
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/style.css +1 -1
  11. package/lib/style.min.css +1 -1
  12. package/lib/ui/index.js +1 -1
  13. package/lib/ui/index.min.js +1 -1
  14. package/lib/ui/src/log.js +1 -1
  15. package/lib/ui/src/log.min.js +1 -1
  16. package/package.json +3 -3
  17. package/types/components/grid.d.ts +8 -0
  18. package/types/components/table-module/edit.d.ts +9 -8
  19. package/types/components/table-plugins/extend-cell-area.d.ts +29 -1
  20. package/types/components/table.d.ts +271 -36
  21. /package/es/icon/{iconfont.1777004414359.ttf → iconfont.1777795854166.ttf} +0 -0
  22. /package/es/icon/{iconfont.1777004414359.woff → iconfont.1777795854166.woff} +0 -0
  23. /package/es/icon/{iconfont.1777004414359.woff2 → iconfont.1777795854166.woff2} +0 -0
  24. /package/es/{iconfont.1777004414359.ttf → iconfont.1777795854166.ttf} +0 -0
  25. /package/es/{iconfont.1777004414359.woff → iconfont.1777795854166.woff} +0 -0
  26. /package/es/{iconfont.1777004414359.woff2 → iconfont.1777795854166.woff2} +0 -0
  27. /package/lib/icon/style/{iconfont.1777004414359.ttf → iconfont.1777795854166.ttf} +0 -0
  28. /package/lib/icon/style/{iconfont.1777004414359.woff → iconfont.1777795854166.woff} +0 -0
  29. /package/lib/icon/style/{iconfont.1777004414359.woff2 → iconfont.1777795854166.woff2} +0 -0
  30. /package/lib/{iconfont.1777004414359.ttf → iconfont.1777795854166.ttf} +0 -0
  31. /package/lib/{iconfont.1777004414359.woff → iconfont.1777795854166.woff} +0 -0
  32. /package/lib/{iconfont.1777004414359.woff2 → iconfont.1777795854166.woff2} +0 -0
@@ -1923,6 +1923,8 @@ export namespace VxeTablePropTypes {
1923
1923
  export interface KeyboardConfig<D = any> {
1924
1924
  /**
1925
1925
  * 是否启用全选
1926
+ * Window/Linux对应按键: Ctrl+A
1927
+ * MacOS对应按键: Command+A
1926
1928
  */
1927
1929
  isAll?: boolean
1928
1930
  /**
@@ -1963,16 +1965,25 @@ export namespace VxeTablePropTypes {
1963
1965
  isMerge?: boolean
1964
1966
  /**
1965
1967
  * 用于 mouse-config.area,开启复制/剪贴/粘贴功能
1968
+ * Window/Linux对应按键: Ctrl+X, Ctrl+C, Ctrl+V
1969
+ * MacOS对应按键: Command+C Command+C, Command+V
1966
1970
  */
1967
1971
  isClip?: boolean
1968
1972
  /**
1969
1973
  * 如果功能被支持,用于 mouse-config.area,开启查找和替换功能
1974
+ * Window/Linux对应按键: Ctrl+F, Ctrl+H
1975
+ * MacOS对应按键: Command+F, Command+H
1970
1976
  */
1971
1977
  isFNR?: boolean
1972
1978
  /**
1973
- * 是否开启撤回键回退到一次状态
1979
+ * 是否开启撤销功能
1980
+ * Window/Linux对应按键: Ctrl+Z
1981
+ * MacOS对应按键: Command+Z
1982
+ * 恢复/重做功能
1983
+ * Window/Linux对应按键: Ctrl+Y, Ctrl+Shift+Y
1984
+ * MacOS对应按键: Command+Shift+Y
1974
1985
  */
1975
- isUndo?: boolean
1986
+ isUndoRedo?: boolean
1976
1987
  /**
1977
1988
  * 用于 mouse-config.area & column.type=checkbox|radio,开启空格键切换复选框或单选框状态功能
1978
1989
  */
@@ -2588,25 +2599,13 @@ export namespace VxeTablePropTypes {
2588
2599
  }
2589
2600
 
2590
2601
  /**
2591
- * 可撤销配置项
2602
+ * 撤销/恢复历史配置项
2592
2603
  */
2593
- export interface UndoHistoryConfig {
2604
+ export interface UndoRedoHistoryConfig {
2594
2605
  /**
2595
- * 撤销的最大次数
2606
+ * 撤销栈的最大步数,最多保留多少步‌撤销操作 ‌‌
2596
2607
  */
2597
- maxSize?: number
2598
- /**
2599
- * 加载数据可撤销
2600
- */
2601
- isUpdateData?: boolean
2602
- /**
2603
- * 加载列可撤销
2604
- */
2605
- isUpdateColumn?: boolean
2606
- /**
2607
- * 编辑行数据可撤销
2608
- */
2609
- isEditRow?: boolean
2608
+ stackSize?: number
2610
2609
  }
2611
2610
 
2612
2611
  export type ZIndex = number
@@ -3587,9 +3586,9 @@ export interface VxeTableProps<D = any> {
3587
3586
  */
3588
3587
  editRules?: VxeTablePropTypes.EditRules<D>
3589
3588
  /**
3590
- * 可撤销配置项
3589
+ * 撤销/恢复历史配置项
3591
3590
  */
3592
- undoHistoryConfig?: VxeTablePropTypes.UndoHistoryConfig
3591
+ undoRedoHistoryConfig?: VxeTablePropTypes.UndoRedoHistoryConfig
3593
3592
  /**
3594
3593
  * 空数据时显示的内容
3595
3594
  */
@@ -3629,6 +3628,8 @@ export interface VxeTableProps<D = any> {
3629
3628
  */
3630
3629
  params?: VxeTablePropTypes.Params
3631
3630
 
3631
+ zIndex?: VxeTablePropTypes.ZIndex
3632
+
3632
3633
  /**
3633
3634
  * 已废弃,不建议使用,被 column-config.resizable 替换
3634
3635
  * @deprecated
@@ -3774,7 +3775,7 @@ export interface TablePrivateComputed<D = any> {
3774
3775
  computeRowGroupFields: ComputedRef<string[] | null | undefined>
3775
3776
  computeRowGroupColumns: ComputedRef<VxeTableDefines.ColumnInfo<D>[]>
3776
3777
  computeAggFuncColumns: ComputedRef<VxeTableDefines.ColumnInfo<D>[]>
3777
- computeUndoHistoryOpts: ComputedRef<VxeTablePropTypes.UndoHistoryConfig>
3778
+ computeUndoRedoHistoryOpts: ComputedRef<VxeTablePropTypes.UndoRedoHistoryConfig>
3778
3779
 
3779
3780
  /**
3780
3781
  * @deprecated
@@ -3893,42 +3894,42 @@ export interface TableReactData<D = any> {
3893
3894
  // 存放可编辑相关信息
3894
3895
  editStore: {
3895
3896
  indexs: {
3896
- columns: any[]
3897
+ columns: VxeTableDefines.ColumnInfo[]
3897
3898
  }
3898
3899
  titles: {
3899
- columns: any[]
3900
+ columns: VxeTableDefines.ColumnInfo[]
3900
3901
  }
3901
3902
  // 选中源
3902
3903
  selected: {
3903
3904
  row: D | null
3904
- column: any
3905
+ column: VxeTableDefines.ColumnInfo | null
3905
3906
  [key: string]: any
3906
3907
  }
3907
3908
  // 已复制源
3908
3909
  copyed: {
3909
3910
  cut: boolean
3910
3911
  rows: D[]
3911
- columns: any[]
3912
+ columns: VxeTableDefines.ColumnInfo[]
3912
3913
  [key: string]: any
3913
3914
  }
3914
3915
  // 激活
3915
3916
  actived: {
3916
3917
  row: D | null
3917
- column: any
3918
+ column: VxeTableDefines.ColumnInfo | null
3918
3919
  [key: string]: any
3919
3920
  }
3920
3921
  // 当前被强制聚焦单元格,只会在鼠标点击后算聚焦
3921
3922
  focused: {
3922
3923
  row: D | null
3923
- column: any
3924
+ column: VxeTableDefines.ColumnInfo | null
3924
3925
  [key: string]: any
3925
3926
  }
3926
3927
  }
3927
3928
  // 存放 tooltip 相关信息
3928
3929
  tooltipStore: {
3929
3930
  row: D | null
3930
- column: any
3931
- content: any
3931
+ column: VxeTableDefines.ColumnInfo | null
3932
+ content: string
3932
3933
  visible: boolean,
3933
3934
  type: null | 'header' | 'body' | 'footer'
3934
3935
  currOpts: {
@@ -3943,10 +3944,10 @@ export interface TableReactData<D = any> {
3943
3944
  }
3944
3945
  validErrorMaps: {
3945
3946
  [key: string]: {
3946
- row: D | null
3947
- column: any
3947
+ row: D
3948
+ column: VxeTableDefines.ColumnInfo
3948
3949
  rule: any
3949
- content: any
3950
+ content: string
3950
3951
  }
3951
3952
  }
3952
3953
  // 导入相关信息
@@ -4203,6 +4204,11 @@ export interface TableInternalData<D = any> {
4203
4204
  // 表尾高度
4204
4205
  tFooterHeight: number
4205
4206
 
4207
+ stackHistoryStore: {
4208
+ undoStacks: VxeTableDefines.HistoryStackObj<D>[]
4209
+ redoStacks: VxeTableDefines.HistoryStackObj<D>[]
4210
+ }
4211
+
4206
4212
  teleportToWrapperElem: HTMLElement | null
4207
4213
  popupToWrapperElem: HTMLElement | null
4208
4214
  customPopupToElem: HTMLElement | null
@@ -4335,17 +4341,17 @@ export interface TableMethods<DT = any> {
4335
4341
  * 根据 column 获取相对于 columns 中的索引
4336
4342
  * @param column 列对象
4337
4343
  */
4338
- getColumnIndex(column: VxeTableDefines.ColumnInfo<any>): number
4344
+ getColumnIndex(column: VxeTableDefines.ColumnInfo<any> | null): number
4339
4345
  /**
4340
4346
  * 根据 column 获取相对于当前表格列中的索引
4341
4347
  * @param column 列对象
4342
4348
  */
4343
- getVTColumnIndex(column: VxeTableDefines.ColumnInfo<any>): number
4349
+ getVTColumnIndex(column: VxeTableDefines.ColumnInfo<any> | null): number
4344
4350
  /**
4345
4351
  * 根据 column 获取渲染中的虚拟索引
4346
4352
  * @param column 列对象
4347
4353
  */
4348
- getVMColumnIndex(column: VxeTableDefines.ColumnInfo<any>): number
4354
+ getVMColumnIndex(column: VxeTableDefines.ColumnInfo<any> | null): number
4349
4355
  /**
4350
4356
  * 创建 data 对象
4351
4357
  * 对于某些特殊场景可能会用到,会自动对数据的字段名进行检测,如果不存在就自动定义
@@ -4379,7 +4385,7 @@ export interface TableMethods<DT = any> {
4379
4385
  /**
4380
4386
  * 获取单元格 td 元素
4381
4387
  */
4382
- getCellElement(row: any, fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any> | null): HTMLTableDataCellElement | null
4388
+ getCellElement(row: any, fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any> | null): HTMLTableCellElement | null
4383
4389
  /**
4384
4390
  * 获取单元格显示值
4385
4391
  */
@@ -5180,6 +5186,14 @@ export interface TableMethods<DT = any> {
5180
5186
  * 用于 mouse-config.area,更新已选区域的单元格样式
5181
5187
  */
5182
5188
  updateCellAreas(): Promise<void>
5189
+ /**
5190
+ * 撤销
5191
+ */
5192
+ undo(): Promise<{status: boolean}>
5193
+ /**
5194
+ * 重做
5195
+ */
5196
+ redo(): Promise<{status: boolean}>
5183
5197
  /**
5184
5198
  * 已废弃,请使用 connectToolbar
5185
5199
  * @deprecated
@@ -5207,23 +5221,28 @@ export interface VxeTableMethods<D = any> extends TableMethods<D> { }
5207
5221
 
5208
5222
  export interface TablePrivateMethods<D = any> {
5209
5223
  /**
5224
+ * 内部方法
5210
5225
  * @deprecated
5211
5226
  */
5212
5227
  getSetupOptions(): Required<VxeGlobalConfig>
5213
5228
  /**
5229
+ * 内部方法
5214
5230
  * @private
5215
5231
  */
5216
5232
  updateAfterDataIndex(): void
5217
5233
  /**
5234
+ * 内部方法
5218
5235
  * @private
5219
5236
  */
5220
5237
  callSlot<T>(slotFunc: ((params: T) => VxeComponentSlotType | VxeComponentSlotType[]) | string | null, params: T): VxeComponentSlotType[]
5221
5238
 
5222
5239
  /**
5240
+ * 内部方法
5223
5241
  * @private
5224
5242
  */
5225
5243
  getParentElem(): Element | null
5226
5244
  /**
5245
+ * 内部方法
5227
5246
  * @private
5228
5247
  */
5229
5248
  getParentHeight(): number
@@ -5232,169 +5251,210 @@ export interface TablePrivateMethods<D = any> {
5232
5251
  */
5233
5252
  getExcludeHeight(): number
5234
5253
  /**
5254
+ * 内部方法
5235
5255
  * @private
5236
5256
  */
5237
5257
  defineField(records: any[]): any[]
5238
5258
  /**
5259
+ * 内部方法
5239
5260
  * @private
5240
5261
  */
5241
5262
  handleTableData(force?: boolean): Promise<any>
5242
5263
  /**
5264
+ * 内部方法
5243
5265
  * @private
5244
5266
  */
5245
5267
  cacheRowMap(isReset: boolean): void
5246
5268
  /**
5269
+ * 内部方法
5247
5270
  * @private
5248
5271
  */
5249
5272
  cacheSourceMap(fullData: any[]): void
5250
5273
  /**
5274
+ * 内部方法
5251
5275
  * @private
5252
5276
  */
5253
5277
  saveCustomStore(type: VxeTableDefines.CustomEventType): Promise<any>
5254
5278
  /**
5279
+ * 内部方法
5255
5280
  * @private
5256
5281
  */
5257
5282
  analyColumnWidth(): void
5258
5283
  /**
5284
+ * 内部方法
5259
5285
  * @private
5260
5286
  */
5261
5287
  updateCheckboxStatus(): void
5262
5288
  /**
5289
+ * 内部方法
5263
5290
  * @private
5264
5291
  */
5265
5292
  updateAllCheckboxStatus(): void
5266
5293
  /**
5294
+ * 内部方法
5267
5295
  * @private
5268
5296
  */
5269
5297
  checkSelectionStatus(): void
5270
5298
  /**
5299
+ * 内部方法
5271
5300
  * @private
5272
5301
  */
5273
5302
  handleBatchSelectRows(rows: any[], value: any, isForce?: boolean): void
5274
5303
  /**
5304
+ * 内部方法
5275
5305
  * @private
5276
5306
  */
5277
5307
  handleColResizeMousedownEvent(evnt: MouseEvent, fixedType: 'left' | 'right' | '', params: (VxeTableDefines.CellRenderHeaderParams | VxeTableDefines.CellRenderBodyParams | VxeTableDefines.CellRenderFooterParams)): void
5278
5308
  /**
5309
+ * 内部方法
5279
5310
  * @private
5280
5311
  */
5281
5312
  handleColResizeDblclickEvent(evnt: MouseEvent, params: (VxeTableDefines.CellRenderHeaderParams | VxeTableDefines.CellRenderBodyParams | VxeTableDefines.CellRenderFooterParams)): void
5282
5313
  /**
5314
+ * 内部方法
5283
5315
  * @private
5284
5316
  */
5285
5317
  handleRowResizeMousedownEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams): void
5286
5318
  /**
5319
+ * 内部方法
5287
5320
  * @private
5288
5321
  */
5289
5322
  handleRowResizeDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams): void
5290
5323
  /**
5324
+ * 内部方法
5291
5325
  * @private
5292
5326
  */
5293
5327
  handleUpdateBodyMerge(): void
5294
5328
  /**
5329
+ * 内部方法
5295
5330
  * @private
5296
5331
  */
5297
5332
  handleUpdateHeaderMerge(): void
5298
5333
  /**
5334
+ * 内部方法
5299
5335
  * @private
5300
5336
  */
5301
5337
  handleUpdateFooterMerge(): void
5302
5338
  /**
5339
+ * 内部方法
5303
5340
  * @private
5304
5341
  */
5305
5342
  handleAggregateSummaryData(): void
5306
5343
  /**
5344
+ * 内部方法
5307
5345
  * use handleBatchSelectRows
5308
5346
  * @deprecated
5309
5347
  */
5310
5348
  handleSelectRow(params: any, value: any, isForce?: boolean): void
5311
5349
  /**
5350
+ * 内部方法
5312
5351
  * @private
5313
5352
  */
5314
5353
  handleCustom(): Promise<void>
5315
5354
  /**
5355
+ * 内部方法
5316
5356
  * @private
5317
5357
  */
5318
5358
  handleUpdateDataQueue(): void
5319
5359
  /**
5360
+ * 内部方法
5320
5361
  * @private
5321
5362
  */
5322
5363
  handleRefreshColumnQueue(): void
5323
5364
  /**
5365
+ * 内部方法
5324
5366
  * @private
5325
5367
  */
5326
5368
  handleFilterOptions(column: VxeTableDefines.ColumnInfo): void
5327
5369
  /**
5370
+ * 内部方法
5328
5371
  * @private
5329
5372
  */
5330
5373
  preventEvent(evnt: any, type: any, args?: any, next?: any, end?: any): any
5331
5374
  /**
5375
+ * 内部方法
5332
5376
  * @private
5333
5377
  */
5334
5378
  triggerHeaderTitleEvent(evnt: MouseEvent, iconParams: VxeColumnPropTypes.TitlePrefix | VxeColumnPropTypes.TitleSuffix, params: VxeTableDefines.CellRenderHeaderParams<any>): void
5335
5379
  /**
5380
+ * 内部方法
5336
5381
  * @private
5337
5382
  */
5338
5383
  triggerHeaderTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams<any>): void
5339
5384
  /**
5385
+ * 内部方法
5340
5386
  * @private
5341
5387
  */
5342
5388
  triggerBodyTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams<any>): void
5343
5389
  /**
5390
+ * 内部方法
5344
5391
  * @private
5345
5392
  */
5346
5393
  triggerFooterTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderFooterParams<any>): void
5347
5394
  /**
5395
+ * 内部方法
5348
5396
  * @private
5349
5397
  */
5350
5398
  handleTargetLeaveEvent(evnt: MouseEvent): void
5351
5399
  /**
5400
+ * 内部方法
5352
5401
  * @private
5353
5402
  */
5354
5403
  triggerHeaderCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams<any>): void
5355
5404
  /**
5405
+ * 内部方法
5356
5406
  * @private
5357
5407
  */
5358
5408
  triggerHeaderCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams<any>): void
5359
5409
  /**
5410
+ * 内部方法
5360
5411
  * @private
5361
5412
  */
5362
5413
  triggerCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams<any>): void
5363
5414
  /**
5415
+ * 内部方法
5364
5416
  * @private
5365
5417
  */
5366
5418
  triggerCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams<any>): void
5367
5419
  /**
5420
+ * 内部方法
5368
5421
  * @private
5369
5422
  */
5370
5423
  triggerFooterCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderFooterParams<any>): void
5371
5424
  /**
5425
+ * 内部方法
5372
5426
  * @private
5373
5427
  */
5374
5428
  triggerFooterCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderFooterParams<any>): void
5375
5429
  /**
5430
+ * 内部方法
5376
5431
  * @private
5377
5432
  */
5378
5433
  handleToggleCheckRowEvent(evnt: Event | null, params: { row: any }): void
5379
5434
  /**
5435
+ * 内部方法
5380
5436
  * @private
5381
5437
  */
5382
5438
  triggerCheckRowEvent(evnt: Event, params: { row: any }, value: boolean): void
5383
5439
  /**
5440
+ * 内部方法
5384
5441
  * @private
5385
5442
  */
5386
5443
  triggerCheckAllEvent(evnt: MouseEvent | null, value: boolean): void
5387
5444
  /**
5445
+ * 内部方法
5388
5446
  * @private
5389
5447
  */
5390
5448
  triggerRadioRowEvent(evnt: Event, params: { row: any }): void
5391
5449
  /**
5450
+ * 内部方法
5392
5451
  * @private
5393
5452
  */
5394
5453
  triggerCurrentColumnEvent(evnt: Event, params: {
5395
5454
  column: VxeTableDefines.ColumnInfo<any>
5396
5455
  }): void
5397
5456
  /**
5457
+ * 内部方法
5398
5458
  * @private
5399
5459
  */
5400
5460
  triggerCurrentRowEvent(evnt: Event, params: {
@@ -5404,74 +5464,92 @@ export interface TablePrivateMethods<D = any> {
5404
5464
  $rowIndex: number
5405
5465
  }): void
5406
5466
  /**
5467
+ * 内部方法
5407
5468
  * @private
5408
5469
  */
5409
5470
  triggerRowExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams<any>): void
5410
5471
  /**
5472
+ * 内部方法
5411
5473
  * @private
5412
5474
  */
5413
5475
  triggerRowGroupExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams<any>): void
5414
5476
  /**
5477
+ * 内部方法
5415
5478
  * @private
5416
5479
  */
5417
5480
  triggerTreeExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams<any>): void
5418
5481
  /**
5482
+ * 内部方法
5419
5483
  * @private
5420
5484
  */
5421
5485
  handleColumnSortEvent(evnt: Event, column: VxeTableDefines.ColumnInfo): void
5422
5486
  /**
5487
+ * 内部方法
5423
5488
  * @private
5424
5489
  */
5425
5490
  triggerSortEvent(evnt: Event, column: VxeTableDefines.ColumnInfo<any>, order: VxeTablePropTypes.SortOrder): void
5426
5491
  /**
5492
+ * 内部方法
5427
5493
  * @private
5428
5494
  */
5429
5495
  triggerHeaderCellMousedownEvent(evnt: any, params: any): void
5430
5496
  /**
5497
+ * 内部方法
5431
5498
  * @private
5432
5499
  */
5433
5500
  triggerCellMousedownEvent(evnt: MouseEvent, params: any): void
5434
5501
  /**
5502
+ * 内部方法
5435
5503
  * @private
5436
5504
  */
5437
5505
  triggerCellMouseupEvent(evnt: MouseEvent): void
5438
5506
  /**
5507
+ * 内部方法
5439
5508
  * @private
5440
5509
  */
5441
5510
  handleRowDragSwapEvent (evnt: DragEvent | null, isSyncRow: boolean | undefined, dragRow: any, prevDragRow: any, prevDragPos: '' | 'top' | 'bottom' | 'left' | 'right' | undefined, prevDragToChild: boolean | undefined): Promise<{ status: boolean }>
5442
5511
  /**
5512
+ * 内部方法
5443
5513
  * @private
5444
5514
  */
5445
5515
  handleRowDragDragstartEvent (evnt: DragEvent): void
5446
5516
  /**
5517
+ * 内部方法
5447
5518
  * @private
5448
5519
  */
5449
5520
  handleRowDragDragendEvent(evnt: DragEvent): void
5450
5521
  /**
5522
+ * 内部方法
5451
5523
  * @private
5452
5524
  */
5453
5525
  handleRowDragDragoverEvent(evnt: DragEvent): void
5454
5526
  /**
5527
+ * 内部方法
5455
5528
  * @private
5456
5529
  */
5457
5530
  handleCrossTableRowDragInsertEvent(evnt: DragEvent): void
5458
5531
  /**
5532
+ * 内部方法
5459
5533
  * @private
5460
5534
  */
5461
5535
  handleCrossTableRowDragCancelEvent(evnt: DragEvent): void
5462
5536
  /**
5537
+ * 内部方法
5463
5538
  * @private
5464
5539
  */
5465
5540
  handleCrossTableRowDragFinishEvent(evnt: DragEvent): void
5466
5541
  /**
5542
+ * 内部方法
5467
5543
  * @private
5468
5544
  */
5469
5545
  handleCrossTableRowDragoverEmptyEvent(evnt: DragEvent): void
5470
5546
  /**
5547
+ * 内部方法
5471
5548
  * @private
5472
5549
  */
5473
5550
  hideCrossTableRowDropClearStatus(): void
5474
5551
  /**
5552
+ * 内部方法
5475
5553
  * @private
5476
5554
  */
5477
5555
  handleCellDragMousedownEvent (evnt: MouseEvent, params: {
@@ -5479,40 +5557,49 @@ export interface TablePrivateMethods<D = any> {
5479
5557
  column: VxeTableDefines.ColumnInfo
5480
5558
  }): void
5481
5559
  /**
5560
+ * 内部方法
5482
5561
  * @private
5483
5562
  */
5484
5563
  handleCellDragMouseupEvent (evnt: MouseEvent): void
5485
5564
  /**
5565
+ * 内部方法
5486
5566
  * @private
5487
5567
  */
5488
5568
  handleHeaderCellDragDragstartEvent (evnt: DragEvent): void
5489
5569
  /**
5570
+ * 内部方法
5490
5571
  * @private
5491
5572
  */
5492
5573
  handleColDragSwapColumn(): void
5493
5574
  /**
5575
+ * 内部方法
5494
5576
  * @private
5495
5577
  */
5496
5578
  handleColDragSwapEvent (evnt: DragEvent | null, isSyncColumn: boolean | undefined, dragCol: VxeTableDefines.ColumnInfo | null | undefined, prevDragCol: VxeTableDefines.ColumnInfo | null | undefined, prevDragPos: '' | 'top' | 'bottom' | 'left' | 'right' | undefined, prevDragToChild: boolean | undefined): Promise<{ status: boolean }>
5497
5579
  /**
5580
+ * 内部方法
5498
5581
  * @private
5499
5582
  */
5500
5583
  handleHeaderCellDragDragendEvent(evnt: DragEvent): void
5501
5584
  /**
5585
+ * 内部方法
5502
5586
  * @private
5503
5587
  */
5504
5588
  handleHeaderCellDragDragoverEvent(evnt: DragEvent,): void
5505
5589
  /**
5590
+ * 内部方法
5506
5591
  * @private
5507
5592
  */
5508
5593
  handleHeaderCellDragMousedownEvent (evnt: MouseEvent, params: {
5509
5594
  column: VxeTableDefines.ColumnInfo
5510
5595
  }): void
5511
5596
  /**
5597
+ * 内部方法
5512
5598
  * @private
5513
5599
  */
5514
5600
  handleHeaderCellDragMouseupEvent (evnt: MouseEvent): void
5515
5601
  /**
5602
+ * 内部方法
5516
5603
  * @private
5517
5604
  */
5518
5605
  handleScrollEvent(evnt: Event, isRollY: boolean, isRollX: boolean, scrollTop: number, scrollLeft: number, params: {
@@ -5520,41 +5607,155 @@ export interface TablePrivateMethods<D = any> {
5520
5607
  fixed: VxeColumnPropTypes.Fixed
5521
5608
  }): void
5522
5609
  /**
5610
+ * 内部方法
5523
5611
  * @private
5524
5612
  */
5525
5613
  handleCellRuleUpdateStatus(type: 'change' | 'blur', cellParams: {
5526
5614
  row: any
5527
5615
  column: VxeTableDefines.ColumnInfo<any>
5528
5616
  }, cellValue?: any): Promise<any>
5617
+ /**
5618
+ * 内部方法
5619
+ * @private
5620
+ */
5621
+ handlePushStack(): void
5622
+ /**
5623
+ * 内部方法
5624
+ * @private
5625
+ */
5626
+ handleUndoStackEvent(evnt: KeyboardEvent | null): Promise<{status: boolean}>
5627
+ /**
5628
+ * 内部方法
5629
+ * @private
5630
+ */
5631
+ handleRedoStackEvent(evnt: KeyboardEvent | null): Promise<{status: boolean}>
5632
+ /**
5633
+ * 内部方法
5634
+ * @private
5635
+ */
5636
+ handleClearStack(): void
5637
+ /**
5638
+ * 内部方法
5639
+ * @private
5640
+ */
5529
5641
  triggerScrollXEvent(evnt: Event): void
5642
+ /**
5643
+ * 内部方法
5644
+ * @private
5645
+ */
5530
5646
  triggerScrollYEvent(evnt: Event): void
5647
+ /**
5648
+ * 内部方法
5649
+ * @private
5650
+ */
5531
5651
  triggerHeaderScrollEvent(evnt: Event, fixedType: 'right' | 'left' | ''): void
5652
+ /**
5653
+ * 内部方法
5654
+ * @private
5655
+ */
5532
5656
  triggerBodyScrollEvent(evnt: Event, fixedType: 'right' | 'left' | ''): void
5657
+ /**
5658
+ * 内部方法
5659
+ * @private
5660
+ */
5533
5661
  triggerFooterScrollEvent(evnt: Event, fixedType: 'right' | 'left' | ''): void
5662
+ /**
5663
+ * 内部方法
5664
+ * @private
5665
+ */
5534
5666
  triggerBodyWheelEvent(evnt: WheelEvent): void
5667
+ /**
5668
+ * 内部方法
5669
+ * @private
5670
+ */
5535
5671
  triggerVirtualScrollXEvent(evnt: Event): void
5672
+ /**
5673
+ * 内部方法
5674
+ * @private
5675
+ */
5536
5676
  triggerVirtualScrollYEvent(evnt: Event): void
5677
+ /**
5678
+ * 内部方法
5679
+ * @private
5680
+ */
5537
5681
  scrollToTreeRow(row: any): Promise<any>
5682
+ /**
5683
+ * 内部方法
5684
+ * @private
5685
+ */
5538
5686
  updateScrollYStatus(fullData?: any[]): boolean
5687
+ /**
5688
+ * 内部方法
5689
+ * @private
5690
+ */
5539
5691
  updateScrollXSpace(): void
5692
+ /**
5693
+ * 内部方法
5694
+ * @private
5695
+ */
5540
5696
  updateScrollYSpace(): void
5697
+ /**
5698
+ * 内部方法
5699
+ * @private
5700
+ */
5541
5701
  updateScrollXData(): Promise<any>
5702
+ /**
5703
+ * 内部方法
5704
+ * @private
5705
+ */
5542
5706
  updateScrollYData(): Promise<any>
5707
+ /**
5708
+ * 内部方法
5709
+ * @private
5710
+ */
5543
5711
  checkScrolling(): void
5712
+ /**
5713
+ * 内部方法
5714
+ * @private
5715
+ */
5544
5716
  updateZindex(): void
5717
+ /**
5718
+ * 内部方法
5719
+ * @private
5720
+ */
5545
5721
  handleUpdateAggData(): Promise<any>
5722
+ /**
5723
+ * 内部方法
5724
+ * @private
5725
+ */
5546
5726
  handleCheckedCheckboxRow(rows: any, value: boolean, isForce?: boolean): Promise<any>
5727
+ /**
5728
+ * 内部方法
5729
+ * @private
5730
+ */
5547
5731
  triggerHoverEvent(evnt: any, params: any): void
5732
+ /**
5733
+ * 内部方法
5734
+ * @private
5735
+ */
5548
5736
  setHoverRow(row: any): void
5737
+ /**
5738
+ * 内部方法
5739
+ * @private
5740
+ */
5549
5741
  clearHoverRow(): void
5550
5742
  /**
5551
5743
  * 已废弃,被 getCellElement 替换
5552
5744
  * @deprecated
5553
5745
  */
5554
5746
  getCell(row: any, column: VxeTableDefines.ColumnInfo<any>): HTMLTableCellElement | null
5747
+ /**
5748
+ * 内部方法
5749
+ * @private
5750
+ */
5555
5751
  findRowIndexOf(list: any[], row: any): number
5752
+ /**
5753
+ * 内部方法
5754
+ * @private
5755
+ */
5556
5756
  eqRow(row1: any, row2: any): boolean
5557
5757
  /**
5758
+ * 内部方法
5558
5759
  * @private
5559
5760
  */
5560
5761
  handleConnectGanttView($ganttView: VxeGanttViewConstructor | VxeGanttViewInstance): Promise<void>
@@ -5573,6 +5774,8 @@ export type VxeTableEmits = [
5573
5774
  'paste',
5574
5775
  'copy',
5575
5776
  'cut',
5777
+ 'undo',
5778
+ 'redo',
5576
5779
  'context-menu',
5577
5780
 
5578
5781
  'columns-change',
@@ -5725,6 +5928,29 @@ export namespace VxeTableDefines {
5725
5928
  maxHeight: number | string | null
5726
5929
  }
5727
5930
 
5931
+ export interface HistoryStackObj<D = any> {
5932
+ selectActiveArea?: {
5933
+ areaIndex: number
5934
+ rowid: string
5935
+ colid: string
5936
+ } | null
5937
+ selectCellAreas?: {
5938
+ type: VxeTableExtendCellAreaDefines.CELL_AREA_TYPE
5939
+ rowIds: string[]
5940
+ colIds: string[]
5941
+ }[]
5942
+ selectActiveInfo?: {
5943
+ rowid: string
5944
+ colid: string
5945
+ }
5946
+ editActiveInfo?: {
5947
+ rowid: string
5948
+ colid: string
5949
+ }
5950
+ visibleData: D[]
5951
+ visibleColumn: VxeTableDefines.ColumnInfo<D>[]
5952
+ }
5953
+
5728
5954
  export type AggFuncType = 'sum' | 'count' | 'avg' | 'min' | 'max' | 'first' | 'last'
5729
5955
 
5730
5956
  export type InjectGanttType<D = any> = (VxeGanttConstructor<D> & VxeGanttPrivateMethods<D>)
@@ -6268,6 +6494,9 @@ export namespace VxeTableDefines {
6268
6494
  export interface CutParams { }
6269
6495
  export interface CutEventParams<D = any> extends TableEventParams<D>, CutParams { }
6270
6496
 
6497
+ export interface UndoEventParams<D = any> {}
6498
+ export interface RedoEventParams<D = any> {}
6499
+
6271
6500
  export interface ContextMenuEventParams<D = any> extends TableEventParams<D> {}
6272
6501
 
6273
6502
  export interface ColumnsChangeEventParams<D = any> extends TableEventParams<D> {
@@ -6870,6 +7099,8 @@ export interface VxeTableEventProps<D = any> {
6870
7099
  onPaste?: VxeTableEvents.Paste<D>
6871
7100
  onCopy?: VxeTableEvents.Copy<D>
6872
7101
  onCut?: VxeTableEvents.Cut<D>
7102
+ onUndo?: VxeTableEvents.Undo<D>
7103
+ onRedo?: VxeTableEvents.Redo<D>
6873
7104
  onContextMenu?: VxeTableEvents.ContextMenu<D>
6874
7105
  onColumnsChange?: VxeTableEvents.ColumnsChange<D>
6875
7106
  onDataChange?: VxeTableEvents.DataChange<D>
@@ -6953,6 +7184,8 @@ export interface VxeTableListeners<D = any> {
6953
7184
  paste?: VxeTableEvents.Paste<D>
6954
7185
  copy?: VxeTableEvents.Copy<D>
6955
7186
  cut?: VxeTableEvents.Cut<D>
7187
+ undo?: VxeTableEvents.Undo<D>
7188
+ redo?: VxeTableEvents.Redo<D>
6956
7189
  contextMenu?: VxeTableEvents.ContextMenu<D>
6957
7190
  columnsChange?: VxeTableEvents.ColumnsChange<D>
6958
7191
  dataChange?: VxeTableEvents.DataChange<D>
@@ -7035,6 +7268,8 @@ export namespace VxeTableEvents {
7035
7268
  export type Paste<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.PasteEventParams<D>) => void
7036
7269
  export type Copy<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.CopyEventParams<D>) => void
7037
7270
  export type Cut<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.CutEventParams<D>) => void
7271
+ export type Undo<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.UndoEventParams<D>) => void
7272
+ export type Redo<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.RedoEventParams<D>) => void
7038
7273
  export type ContextMenu<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.ContextMenuEventParams<D>) => void
7039
7274
  export type ColumnsChange<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.ColumnsChangeEventParams<D>) => void
7040
7275
  export type DataChange<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.DataChangeEventParams<D>) => void