vxe-pc-ui 3.13.29 → 3.14.1

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 (41) hide show
  1. package/es/dynamics/index.js +7 -6
  2. package/es/icon/style.css +1 -1
  3. package/es/image/src/image.js +27 -10
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/ui/index.js +1 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/dynamics/index.js +11 -10
  9. package/lib/dynamics/index.min.js +1 -1
  10. package/lib/icon/style/style.css +1 -1
  11. package/lib/icon/style/style.min.css +1 -1
  12. package/lib/image/src/image.js +30 -9
  13. package/lib/image/src/image.min.js +1 -1
  14. package/lib/index.umd.js +61 -29
  15. package/lib/index.umd.min.js +1 -1
  16. package/lib/style.css +1 -1
  17. package/lib/style.min.css +1 -1
  18. package/lib/ui/index.js +1 -1
  19. package/lib/ui/index.min.js +1 -1
  20. package/lib/ui/src/log.js +1 -1
  21. package/lib/ui/src/log.min.js +1 -1
  22. package/package.json +3 -3
  23. package/packages/dynamics/index.ts +8 -6
  24. package/packages/image/src/image.ts +27 -10
  25. package/types/components/grid.d.ts +8 -0
  26. package/types/components/image.d.ts +8 -0
  27. package/types/components/table-module/edit.d.ts +9 -8
  28. package/types/components/table-plugins/extend-cell-area.d.ts +29 -1
  29. package/types/components/table.d.ts +277 -35
  30. /package/es/icon/{iconfont.1777358461706.ttf → iconfont.1778035416984.ttf} +0 -0
  31. /package/es/icon/{iconfont.1777358461706.woff → iconfont.1778035416984.woff} +0 -0
  32. /package/es/icon/{iconfont.1777358461706.woff2 → iconfont.1778035416984.woff2} +0 -0
  33. /package/es/{iconfont.1777358461706.ttf → iconfont.1778035416984.ttf} +0 -0
  34. /package/es/{iconfont.1777358461706.woff → iconfont.1778035416984.woff} +0 -0
  35. /package/es/{iconfont.1777358461706.woff2 → iconfont.1778035416984.woff2} +0 -0
  36. /package/lib/icon/style/{iconfont.1777358461706.ttf → iconfont.1778035416984.ttf} +0 -0
  37. /package/lib/icon/style/{iconfont.1777358461706.woff → iconfont.1778035416984.woff} +0 -0
  38. /package/lib/icon/style/{iconfont.1777358461706.woff2 → iconfont.1778035416984.woff2} +0 -0
  39. /package/lib/{iconfont.1777358461706.ttf → iconfont.1778035416984.ttf} +0 -0
  40. /package/lib/{iconfont.1777358461706.woff → iconfont.1778035416984.woff} +0 -0
  41. /package/lib/{iconfont.1777358461706.woff2 → iconfont.1778035416984.woff2} +0 -0
@@ -1898,6 +1898,8 @@ export namespace VxeTablePropTypes {
1898
1898
  export interface KeyboardConfig<D = any> {
1899
1899
  /**
1900
1900
  * 是否启用全选
1901
+ * Window/Linux对应按键: Ctrl+A
1902
+ * MacOS对应按键: Command+A
1901
1903
  */
1902
1904
  isAll?: boolean
1903
1905
  /**
@@ -1938,16 +1940,25 @@ export namespace VxeTablePropTypes {
1938
1940
  isMerge?: boolean
1939
1941
  /**
1940
1942
  * 用于 mouse-config.area,开启复制/剪贴/粘贴功能
1943
+ * Window/Linux对应按键: Ctrl+X, Ctrl+C, Ctrl+V
1944
+ * MacOS对应按键: Command+C Command+C, Command+V
1941
1945
  */
1942
1946
  isClip?: boolean
1943
1947
  /**
1944
1948
  * 如果功能被支持,用于 mouse-config.area,开启查找和替换功能
1949
+ * Window/Linux对应按键: Ctrl+F, Ctrl+H
1950
+ * MacOS对应按键: Command+F, Command+H
1945
1951
  */
1946
1952
  isFNR?: boolean
1947
1953
  /**
1948
- * 是否开启撤回键回退到一次状态
1954
+ * 是否开启撤销/重做功能
1955
+ * Window/Linux对应按键: Ctrl+Z
1956
+ * MacOS对应按键: Command+Z
1957
+ * 重做功能
1958
+ * Window/Linux对应按键: Ctrl+Y, Ctrl+Shift+Y
1959
+ * MacOS对应按键: Command+Shift+Y
1949
1960
  */
1950
- isUndo?: boolean
1961
+ isUndoRedo?: boolean
1951
1962
  /**
1952
1963
  * 用于 mouse-config.area & column.type=checkbox|radio,开启空格键切换复选框或单选框状态功能
1953
1964
  */
@@ -2576,25 +2587,13 @@ export namespace VxeTablePropTypes {
2576
2587
  }
2577
2588
 
2578
2589
  /**
2579
- * 可撤销配置项
2590
+ * 撤销/重做历史配置项
2580
2591
  */
2581
- export interface UndoHistoryConfig {
2592
+ export interface UndoRedoHistoryConfig {
2582
2593
  /**
2583
- * 撤销的最大次数
2594
+ * 撤销栈的最大步数,最多保留多少步‌撤销操作 ‌‌
2584
2595
  */
2585
- maxSize?: number
2586
- /**
2587
- * 加载数据可撤销
2588
- */
2589
- isUpdateData?: boolean
2590
- /**
2591
- * 加载列可撤销
2592
- */
2593
- isUpdateColumn?: boolean
2594
- /**
2595
- * 编辑行数据可撤销
2596
- */
2597
- isEditRow?: boolean
2596
+ stackSize?: number
2598
2597
  }
2599
2598
 
2600
2599
  export type ZIndex = number
@@ -3569,9 +3568,9 @@ export interface VxeTableProps<D = any> {
3569
3568
  */
3570
3569
  editRules?: VxeTablePropTypes.EditRules<D>
3571
3570
  /**
3572
- * 可撤销配置项
3571
+ * 撤销/重做历史配置项
3573
3572
  */
3574
- undoHistoryConfig?: VxeTablePropTypes.UndoHistoryConfig
3573
+ undoRedoHistoryConfig?: VxeTablePropTypes.UndoRedoHistoryConfig
3575
3574
  /**
3576
3575
  * 空数据时显示的内容
3577
3576
  */
@@ -3611,6 +3610,8 @@ export interface VxeTableProps<D = any> {
3611
3610
  */
3612
3611
  params?: VxeTablePropTypes.Params
3613
3612
 
3613
+ zIndex?: VxeTablePropTypes.ZIndex
3614
+
3614
3615
  /**
3615
3616
  * 已废弃,不建议使用,被 column-config.resizable 替换
3616
3617
  * @deprecated
@@ -3801,7 +3802,7 @@ export interface TablePrivateComputed<D = any> {
3801
3802
  computeRowGroupFields: string[] | null | undefined
3802
3803
  computeRowGroupColumns: VxeTableDefines.ColumnInfo<D>[]
3803
3804
  computeAggFuncColumns: VxeTableDefines.ColumnInfo<D>[]
3804
- computeUndoHistoryOpts: VxeTablePropTypes.UndoHistoryConfig
3805
+ computeUndoRedoHistoryOpts: VxeTablePropTypes.UndoRedoHistoryConfig
3805
3806
 
3806
3807
  computeTableBorder: 'default' | 'full' | 'outer' | 'inner' | 'none'
3807
3808
 
@@ -3922,34 +3923,34 @@ export interface TableReactData<D = any> {
3922
3923
  // 存放可编辑相关信息
3923
3924
  editStore: {
3924
3925
  indexs: {
3925
- columns: any[]
3926
- },
3926
+ columns: VxeTableDefines.ColumnInfo[]
3927
+ }
3927
3928
  titles: {
3928
- columns: any[]
3929
+ columns: VxeTableDefines.ColumnInfo[]
3929
3930
  }
3930
3931
  // 选中源
3931
3932
  selected: {
3932
3933
  row: D | null
3933
- column: any
3934
+ column: VxeTableDefines.ColumnInfo | null
3934
3935
  [key: string]: any
3935
3936
  }
3936
3937
  // 已复制源
3937
3938
  copyed: {
3938
3939
  cut: boolean
3939
3940
  rows: D[]
3940
- columns: any[]
3941
+ columns: VxeTableDefines.ColumnInfo[]
3941
3942
  [key: string]: any
3942
3943
  }
3943
3944
  // 激活
3944
3945
  actived: {
3945
3946
  row: D | null
3946
- column: any
3947
+ column: VxeTableDefines.ColumnInfo | null
3947
3948
  [key: string]: any
3948
3949
  }
3949
3950
  // 当前被强制聚焦单元格,只会在鼠标点击后算聚焦
3950
3951
  focused: {
3951
3952
  row: D | null
3952
- column: any
3953
+ column: VxeTableDefines.ColumnInfo | null
3953
3954
  [key: string]: any
3954
3955
  }
3955
3956
  }
@@ -3972,10 +3973,10 @@ export interface TableReactData<D = any> {
3972
3973
  }
3973
3974
  validErrorMaps: {
3974
3975
  [key: string]: {
3975
- row: D | null
3976
- column: any
3976
+ row: D
3977
+ column: VxeTableDefines.ColumnInfo
3977
3978
  rule: any
3978
- content: any
3979
+ content: string
3979
3980
  }
3980
3981
  }
3981
3982
  // 导入相关信息
@@ -4232,6 +4233,11 @@ export interface TableInternalData<D = any> {
4232
4233
  // 表尾高度
4233
4234
  tFooterHeight: number
4234
4235
 
4236
+ stackHistoryStore: {
4237
+ undoStacks: VxeTableDefines.HistoryStackObj<D>[]
4238
+ redoStacks: VxeTableDefines.HistoryStackObj<D>[]
4239
+ }
4240
+
4235
4241
  teleportToWrapperElem: HTMLElement | null
4236
4242
  popupToWrapperElem: HTMLElement | null
4237
4243
  customPopupToElem: HTMLElement | null
@@ -4365,17 +4371,17 @@ export interface TableMethods<DT = any> {
4365
4371
  * 根据 column 获取相对于 columns 中的索引
4366
4372
  * @param column 列对象
4367
4373
  */
4368
- getColumnIndex(column: VxeTableDefines.ColumnInfo<any>): number
4374
+ getColumnIndex(column: VxeTableDefines.ColumnInfo<any> | null): number
4369
4375
  /**
4370
4376
  * 根据 column 获取相对于当前表格列中的索引
4371
4377
  * @param column 列对象
4372
4378
  */
4373
- getVTColumnIndex(column: VxeTableDefines.ColumnInfo<any>): number
4379
+ getVTColumnIndex(column: VxeTableDefines.ColumnInfo<any> | null): number
4374
4380
  /**
4375
4381
  * 根据 column 获取渲染中的虚拟索引
4376
4382
  * @param column 列对象
4377
4383
  */
4378
- getVMColumnIndex(column: VxeTableDefines.ColumnInfo<any>): number
4384
+ getVMColumnIndex(column: VxeTableDefines.ColumnInfo<any> | null): number
4379
4385
  /**
4380
4386
  * 创建 data 对象
4381
4387
  * 对于某些特殊场景可能会用到,会自动对数据的字段名进行检测,如果不存在就自动定义
@@ -4409,7 +4415,7 @@ export interface TableMethods<DT = any> {
4409
4415
  /**
4410
4416
  * 获取单元格 td 元素
4411
4417
  */
4412
- getCellElement(row: any, fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any> | null): HTMLTableDataCellElement | null
4418
+ getCellElement(row: any, fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any> | null): HTMLTableCellElement | null
4413
4419
  /**
4414
4420
  * 获取单元格显示值
4415
4421
  */
@@ -5205,6 +5211,14 @@ export interface TableMethods<DT = any> {
5205
5211
  * 用于 mouse-config.area,更新已选区域的单元格样式
5206
5212
  */
5207
5213
  updateCellAreas(): Promise<void>
5214
+ /**
5215
+ * 撤销
5216
+ */
5217
+ undo(): Promise<{status: boolean}>
5218
+ /**
5219
+ * 重做
5220
+ */
5221
+ redo(): Promise<{status: boolean}>
5208
5222
  /**
5209
5223
  * 已废弃,请使用 connectToolbar
5210
5224
  * @deprecated
@@ -5232,194 +5246,242 @@ export interface VxeTableMethods<D = any> extends TableMethods<D> { }
5232
5246
 
5233
5247
  export interface TablePrivateMethods<D = any> {
5234
5248
  /**
5249
+ * 内部方法
5235
5250
  * @deprecated
5251
+ * @private
5236
5252
  */
5237
5253
  getSetupOptions(): Required<VxeGlobalConfig>
5238
5254
  /**
5255
+ * 内部方法
5239
5256
  * @private
5240
5257
  */
5241
5258
  updateAfterDataIndex(): void
5242
5259
  /**
5260
+ * 内部方法
5243
5261
  * @private
5244
5262
  */
5245
5263
  callSlot<T>(slotFunc: NormalizedScopedSlot | ((params: T) => VxeComponentSlotType | VxeComponentSlotType[]) | string | null, params: T, h: CreateElement): VxeComponentSlotType[]
5246
5264
 
5247
5265
  /**
5266
+ * 内部方法
5248
5267
  * @private
5249
5268
  */
5250
5269
  getParentElem(): Element | null
5251
5270
  /**
5271
+ * 内部方法
5252
5272
  * @private
5253
5273
  */
5254
5274
  getParentHeight(): number
5255
5275
  /**
5276
+ * 内部方法
5256
5277
  * @private
5257
5278
  */
5258
5279
  getExcludeHeight(): number
5259
5280
  /**
5281
+ * 内部方法
5260
5282
  * @private
5261
5283
  */
5262
5284
  defineField(records: any[]): any[]
5263
5285
  /**
5286
+ * 内部方法
5264
5287
  * @private
5265
5288
  */
5266
5289
  handleTableData(force?: boolean): Promise<any>
5267
5290
  /**
5291
+ * 内部方法
5268
5292
  * @private
5269
5293
  */
5270
5294
  cacheRowMap(isReset: boolean): void
5271
5295
  /**
5296
+ * 内部方法
5272
5297
  * @private
5273
5298
  */
5274
5299
  cacheSourceMap(fullData: any[]): void
5275
5300
  /**
5301
+ * 内部方法
5276
5302
  * @private
5277
5303
  */
5278
5304
  saveCustomStore(type: VxeTableDefines.CustomEventType): Promise<any>
5279
5305
  /**
5306
+ * 内部方法
5280
5307
  * @private
5281
5308
  */
5282
5309
  analyColumnWidth(): void
5283
5310
  /**
5311
+ * 内部方法
5284
5312
  * @private
5285
5313
  */
5286
5314
  updateCheckboxStatus(): void
5287
5315
  /**
5316
+ * 内部方法
5288
5317
  * @private
5289
5318
  */
5290
5319
  updateAllCheckboxStatus(): void
5291
5320
  /**
5321
+ * 内部方法
5292
5322
  * @private
5293
5323
  */
5294
5324
  checkSelectionStatus(): void
5295
5325
  /**
5326
+ * 内部方法
5296
5327
  * @private
5297
5328
  */
5298
5329
  handleBatchSelectRows(rows: any[], value: any, isForce?: boolean): void
5299
5330
  /**
5331
+ * 内部方法
5300
5332
  * @private
5301
5333
  */
5302
5334
  handleColResizeMousedownEvent(evnt: MouseEvent, fixedType: 'left' | 'right' | '', params: (VxeTableDefines.CellRenderHeaderParams | VxeTableDefines.CellRenderBodyParams | VxeTableDefines.CellRenderFooterParams)): void
5303
5335
  /**
5336
+ * 内部方法
5304
5337
  * @private
5305
5338
  */
5306
5339
  handleColResizeDblclickEvent(evnt: MouseEvent, params: (VxeTableDefines.CellRenderHeaderParams | VxeTableDefines.CellRenderBodyParams | VxeTableDefines.CellRenderFooterParams)): void
5307
5340
  /**
5341
+ * 内部方法
5308
5342
  * @private
5309
5343
  */
5310
5344
  handleRowResizeMousedownEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams): void
5311
5345
  /**
5346
+ * 内部方法
5312
5347
  * @private
5313
5348
  */
5314
5349
  handleRowResizeDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams): void
5315
5350
  /**
5351
+ * 内部方法
5316
5352
  * @private
5317
5353
  */
5318
5354
  handleUpdateBodyMerge(): void
5319
5355
  /**
5356
+ * 内部方法
5320
5357
  * @private
5321
5358
  */
5322
5359
  handleUpdateHeaderMerge(): void
5323
5360
  /**
5361
+ * 内部方法
5324
5362
  * @private
5325
5363
  */
5326
5364
  handleUpdateFooterMerge(): void
5327
5365
  /**
5366
+ * 内部方法
5328
5367
  * @private
5329
5368
  */
5330
5369
  handleAggregateSummaryData(): void
5331
5370
  /**
5371
+ * 内部方法
5332
5372
  * use handleBatchSelectRows
5333
5373
  * @deprecated
5334
5374
  */
5335
5375
  handleSelectRow(params: any, value: any, isForce?: boolean): void
5336
5376
  /**
5377
+ * 内部方法
5337
5378
  * @private
5338
5379
  */
5339
5380
  handleCustom(): Promise<void>
5340
5381
  /**
5382
+ * 内部方法
5341
5383
  * @private
5342
5384
  */
5343
5385
  handleUpdateDataQueue(): void
5344
5386
  /**
5387
+ * 内部方法
5345
5388
  * @private
5346
5389
  */
5347
5390
  handleRefreshColumnQueue(): void
5348
5391
  /**
5392
+ * 内部方法
5349
5393
  * @private
5350
5394
  */
5351
5395
  handleFilterOptions(column: VxeTableDefines.ColumnInfo): void
5352
5396
  /**
5397
+ * 内部方法
5353
5398
  * @private
5354
5399
  */
5355
5400
  preventEvent(evnt: any, type: any, args?: any, next?: any, end?: any): any
5356
5401
  /**
5402
+ * 内部方法
5357
5403
  * @private
5358
5404
  */
5359
5405
  triggerHeaderTitleEvent(evnt: MouseEvent, iconParams: VxeColumnPropTypes.TitlePrefix | VxeColumnPropTypes.TitleSuffix, params: VxeTableDefines.CellRenderHeaderParams<any>): void
5360
5406
  /**
5407
+ * 内部方法
5361
5408
  * @private
5362
5409
  */
5363
5410
  triggerHeaderTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams<any>): void
5364
5411
  /**
5412
+ * 内部方法
5365
5413
  * @private
5366
5414
  */
5367
5415
  triggerBodyTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams<any>): void
5368
5416
  /**
5417
+ * 内部方法
5369
5418
  * @private
5370
5419
  */
5371
5420
  triggerFooterTooltipEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderFooterParams<any>): void
5372
5421
  /**
5422
+ * 内部方法
5373
5423
  * @private
5374
5424
  */
5375
5425
  handleTargetLeaveEvent(evnt: MouseEvent): void
5376
5426
  /**
5427
+ * 内部方法
5377
5428
  * @private
5378
5429
  */
5379
5430
  triggerHeaderCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams<any>): void
5380
5431
  /**
5432
+ * 内部方法
5381
5433
  * @private
5382
5434
  */
5383
5435
  triggerHeaderCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderHeaderParams<any>): void
5384
5436
  /**
5437
+ * 内部方法
5385
5438
  * @private
5386
5439
  */
5387
5440
  triggerCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams<any>): void
5388
5441
  /**
5442
+ * 内部方法
5389
5443
  * @private
5390
5444
  */
5391
5445
  triggerCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderBodyParams<any>): void
5392
5446
  /**
5447
+ * 内部方法
5393
5448
  * @private
5394
5449
  */
5395
5450
  triggerFooterCellClickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderFooterParams<any>): void
5396
5451
  /**
5452
+ * 内部方法
5397
5453
  * @private
5398
5454
  */
5399
5455
  triggerFooterCellDblclickEvent(evnt: MouseEvent, params: VxeTableDefines.CellRenderFooterParams<any>): void
5400
5456
  /**
5457
+ * 内部方法
5401
5458
  * @private
5402
5459
  */
5403
5460
  handleToggleCheckRowEvent(evnt: Event | null, params: { row: any }): void
5404
5461
  /**
5462
+ * 内部方法
5405
5463
  * @private
5406
5464
  */
5407
5465
  triggerCheckRowEvent(evnt: Event, params: { row: any }, value: boolean): void
5408
5466
  /**
5467
+ * 内部方法
5409
5468
  * @private
5410
5469
  */
5411
5470
  triggerCheckAllEvent(evnt: MouseEvent | null, value: boolean): void
5412
5471
  /**
5472
+ * 内部方法
5413
5473
  * @private
5414
5474
  */
5415
5475
  triggerRadioRowEvent(evnt: Event, params: { row: any }): void
5416
5476
  /**
5477
+ * 内部方法
5417
5478
  * @private
5418
5479
  */
5419
5480
  triggerCurrentColumnEvent(evnt: Event, params: {
5420
5481
  column: VxeTableDefines.ColumnInfo<any>
5421
5482
  }): void
5422
5483
  /**
5484
+ * 内部方法
5423
5485
  * @private
5424
5486
  */
5425
5487
  triggerCurrentRowEvent(evnt: Event, params: {
@@ -5429,78 +5491,97 @@ export interface TablePrivateMethods<D = any> {
5429
5491
  $rowIndex: number
5430
5492
  }): void
5431
5493
  /**
5494
+ * 内部方法
5432
5495
  * @private
5433
5496
  */
5434
5497
  triggerRowExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams<any>): void
5435
5498
  /**
5499
+ * 内部方法
5436
5500
  * @private
5437
5501
  */
5438
5502
  triggerRowGroupExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams<any>): void
5439
5503
  /**
5504
+ * 内部方法
5440
5505
  * @private
5441
5506
  */
5442
5507
  triggerTreeExpandEvent(evnt: Event, params: VxeTableDefines.CellRenderBodyParams<any>): void
5443
5508
  /**
5509
+ * 内部方法
5444
5510
  * @private
5445
5511
  */
5446
5512
  handleColumnSortEvent(evnt: Event, column: VxeTableDefines.ColumnInfo): void
5447
5513
  /**
5514
+ * 内部方法
5448
5515
  * @private
5449
5516
  */
5450
5517
  triggerSortEvent(evnt: Event, column: VxeTableDefines.ColumnInfo<any>, order: VxeTablePropTypes.SortOrder): void
5451
5518
  /**
5519
+ * 内部方法
5452
5520
  * @private
5453
5521
  */
5454
5522
  triggerHeaderCellMousedownEvent(evnt: any, params: any): void
5455
5523
  /**
5524
+ * 内部方法
5456
5525
  * @private
5457
5526
  */
5458
5527
  triggerCellMousedownEvent(evnt: MouseEvent, params: any): void
5459
5528
  /**
5529
+ * 内部方法
5460
5530
  * @private
5461
5531
  */
5462
5532
  triggerCellMousedownEvent(evnt: any, params: any): void
5463
5533
  /**
5534
+ * 内部方法
5464
5535
  * @private
5465
5536
  */
5466
5537
  triggerCellMouseupEvent(evnt: MouseEvent): void
5467
5538
  /**
5539
+ * 内部方法
5468
5540
  * @private
5469
5541
  */
5470
5542
  handleRowDragSwapEvent (evnt: DragEvent | null, isSyncRow: boolean | undefined, dragRow: any, prevDragRow: any, prevDragPos: '' | 'top' | 'bottom' | 'left' | 'right' | undefined, prevDragToChild: boolean | undefined): Promise<{ status: boolean }>
5471
5543
  /**
5544
+ * 内部方法
5472
5545
  * @private
5473
5546
  */
5474
5547
  handleRowDragDragstartEvent (evnt: DragEvent): void
5475
5548
  /**
5549
+ * 内部方法
5476
5550
  * @private
5477
5551
  */
5478
5552
  handleRowDragDragendEvent(evnt: DragEvent): void
5479
5553
  /**
5554
+ * 内部方法
5480
5555
  * @private
5481
5556
  */
5482
5557
  handleRowDragDragoverEvent(evnt: DragEvent,): void
5483
5558
  /**
5559
+ * 内部方法
5484
5560
  * @private
5485
5561
  */
5486
5562
  handleCrossTableRowDragInsertEvent(evnt: DragEvent): void
5487
5563
  /**
5564
+ * 内部方法
5488
5565
  * @private
5489
5566
  */
5490
5567
  handleCrossTableRowDragCancelEvent(evnt: DragEvent): void
5491
5568
  /**
5569
+ * 内部方法
5492
5570
  * @private
5493
5571
  */
5494
5572
  handleCrossTableRowDragFinishEvent(evnt: DragEvent): void
5495
5573
  /**
5574
+ * 内部方法
5496
5575
  * @private
5497
5576
  */
5498
5577
  handleCrossTableRowDragoverEmptyEvent(evnt: DragEvent): void
5499
5578
  /**
5579
+ * 内部方法
5500
5580
  * @private
5501
5581
  */
5502
5582
  hideCrossTableRowDropClearStatus(): void
5503
5583
  /**
5584
+ * 内部方法
5504
5585
  * @private
5505
5586
  */
5506
5587
  handleCellDragMousedownEvent (evnt: MouseEvent, params: {
@@ -5508,40 +5589,49 @@ export interface TablePrivateMethods<D = any> {
5508
5589
  column: VxeTableDefines.ColumnInfo
5509
5590
  }): void
5510
5591
  /**
5592
+ * 内部方法
5511
5593
  * @private
5512
5594
  */
5513
5595
  handleCellDragMouseupEvent (evnt: MouseEvent): void
5514
5596
  /**
5597
+ * 内部方法
5515
5598
  * @private
5516
5599
  */
5517
5600
  handleHeaderCellDragDragstartEvent (evnt: DragEvent): void
5518
5601
  /**
5602
+ * 内部方法
5519
5603
  * @private
5520
5604
  */
5521
5605
  handleColDragSwapColumn(): void
5522
5606
  /**
5607
+ * 内部方法
5523
5608
  * @private
5524
5609
  */
5525
5610
  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 }>
5526
5611
  /**
5612
+ * 内部方法
5527
5613
  * @private
5528
5614
  */
5529
5615
  handleHeaderCellDragDragendEvent(evnt: DragEvent): void
5530
5616
  /**
5617
+ * 内部方法
5531
5618
  * @private
5532
5619
  */
5533
5620
  handleHeaderCellDragDragoverEvent(evnt: DragEvent): void
5534
5621
  /**
5622
+ * 内部方法
5535
5623
  * @private
5536
5624
  */
5537
5625
  handleHeaderCellDragMousedownEvent (evnt: MouseEvent, params: {
5538
5626
  column: VxeTableDefines.ColumnInfo
5539
5627
  }): void
5540
5628
  /**
5629
+ * 内部方法
5541
5630
  * @private
5542
5631
  */
5543
5632
  handleHeaderCellDragMouseupEvent (evnt: MouseEvent): void
5544
5633
  /**
5634
+ * 内部方法
5545
5635
  * @private
5546
5636
  */
5547
5637
  handleScrollEvent(evnt: Event, isRollY: boolean, isRollX: boolean, scrollTop: number, scrollLeft: number, params: {
@@ -5549,41 +5639,155 @@ export interface TablePrivateMethods<D = any> {
5549
5639
  fixed: VxeColumnPropTypes.Fixed
5550
5640
  }): void
5551
5641
  /**
5642
+ * 内部方法
5552
5643
  * @private
5553
5644
  */
5554
5645
  handleCellRuleUpdateStatus(type: 'change' | 'blur', cellParams: {
5555
5646
  row: any
5556
5647
  column: VxeTableDefines.ColumnInfo<any>
5557
5648
  }, cellValue?: any): Promise<any>
5649
+ /**
5650
+ * 内部方法
5651
+ * @private
5652
+ */
5653
+ handlePushStack(): void
5654
+ /**
5655
+ * 内部方法
5656
+ * @private
5657
+ */
5658
+ handleUndoStackEvent(evnt: KeyboardEvent | null): Promise<{status: boolean}>
5659
+ /**
5660
+ * 内部方法
5661
+ * @private
5662
+ */
5663
+ handleRedoStackEvent(evnt: KeyboardEvent | null): Promise<{status: boolean}>
5664
+ /**
5665
+ * 内部方法
5666
+ * @private
5667
+ */
5668
+ handleClearStack(): void
5669
+ /**
5670
+ * 内部方法
5671
+ * @private
5672
+ */
5558
5673
  triggerScrollXEvent(evnt: Event): void
5674
+ /**
5675
+ * 内部方法
5676
+ * @private
5677
+ */
5559
5678
  triggerScrollYEvent(evnt: Event): void
5679
+ /**
5680
+ * 内部方法
5681
+ * @private
5682
+ */
5560
5683
  triggerHeaderScrollEvent(evnt: Event, fixedType: 'right' | 'left' | ''): void
5684
+ /**
5685
+ * 内部方法
5686
+ * @private
5687
+ */
5561
5688
  triggerBodyScrollEvent(evnt: Event, fixedType: 'right' | 'left' | ''): void
5689
+ /**
5690
+ * 内部方法
5691
+ * @private
5692
+ */
5562
5693
  triggerFooterScrollEvent(evnt: Event, fixedType: 'right' | 'left' | ''): void
5694
+ /**
5695
+ * 内部方法
5696
+ * @private
5697
+ */
5563
5698
  triggerBodyWheelEvent(evnt: WheelEvent): void
5699
+ /**
5700
+ * 内部方法
5701
+ * @private
5702
+ */
5564
5703
  triggerVirtualScrollXEvent(evnt: Event): void
5704
+ /**
5705
+ * 内部方法
5706
+ * @private
5707
+ */
5565
5708
  triggerVirtualScrollYEvent(evnt: Event): void
5709
+ /**
5710
+ * 内部方法
5711
+ * @private
5712
+ */
5566
5713
  scrollToTreeRow(row: any): Promise<any>
5714
+ /**
5715
+ * 内部方法
5716
+ * @private
5717
+ */
5567
5718
  updateScrollYStatus(fullData?: any[]): boolean
5719
+ /**
5720
+ * 内部方法
5721
+ * @private
5722
+ */
5568
5723
  updateScrollXSpace(): void
5724
+ /**
5725
+ * 内部方法
5726
+ * @private
5727
+ */
5569
5728
  updateScrollYSpace(): void
5729
+ /**
5730
+ * 内部方法
5731
+ * @private
5732
+ */
5570
5733
  updateScrollXData(): Promise<any>
5734
+ /**
5735
+ * 内部方法
5736
+ * @private
5737
+ */
5571
5738
  updateScrollYData(): Promise<any>
5739
+ /**
5740
+ * 内部方法
5741
+ * @private
5742
+ */
5572
5743
  checkScrolling(): void
5744
+ /**
5745
+ * 内部方法
5746
+ * @private
5747
+ */
5573
5748
  updateZindex(): void
5749
+ /**
5750
+ * 内部方法
5751
+ * @private
5752
+ */
5574
5753
  handleUpdateAggData(): Promise<any>
5754
+ /**
5755
+ * 内部方法
5756
+ * @private
5757
+ */
5575
5758
  handleCheckedCheckboxRow(rows: any, value: boolean, isForce?: boolean): Promise<any>
5759
+ /**
5760
+ * 内部方法
5761
+ * @private
5762
+ */
5576
5763
  triggerHoverEvent(evnt: any, params: any): void
5764
+ /**
5765
+ * 内部方法
5766
+ * @private
5767
+ */
5577
5768
  setHoverRow(row: any): void
5769
+ /**
5770
+ * 内部方法
5771
+ * @private
5772
+ */
5578
5773
  clearHoverRow(): void
5579
5774
  /**
5580
5775
  * 已废弃,被 getCellElement 替换
5581
5776
  * @deprecated
5582
5777
  */
5583
5778
  getCell(row: any, column: VxeTableDefines.ColumnInfo<any>): HTMLTableCellElement | null
5779
+ /**
5780
+ * 内部方法
5781
+ * @private
5782
+ */
5584
5783
  findRowIndexOf(list: any[], row: any): number
5784
+ /**
5785
+ * 内部方法
5786
+ * @private
5787
+ */
5585
5788
  eqRow(row1: any, row2: any): boolean
5586
5789
  /**
5790
+ * 内部方法
5587
5791
  * @private
5588
5792
  */
5589
5793
  handleConnectGanttView($ganttView: VxeGanttViewConstructor | VxeGanttViewInstance): Promise<void>
@@ -5602,6 +5806,8 @@ export type VxeTableEmits = [
5602
5806
  'paste',
5603
5807
  'copy',
5604
5808
  'cut',
5809
+ 'undo',
5810
+ 'redo',
5605
5811
  'context-menu',
5606
5812
 
5607
5813
  'columns-change',
@@ -5754,6 +5960,33 @@ export namespace VxeTableDefines {
5754
5960
  maxHeight: number | string | null
5755
5961
  }
5756
5962
 
5963
+ export interface HistoryStackObj<D = any> {
5964
+ selectActiveArea?: {
5965
+ areaIndex: number
5966
+ rowid: string
5967
+ colid: string
5968
+ } | null
5969
+ selectCellAreas?: {
5970
+ type: VxeTableExtendCellAreaDefines.CELL_AREA_TYPE
5971
+ rowIds: string[]
5972
+ colIds: string[]
5973
+ }[]
5974
+ selectActiveInfo?: {
5975
+ rowid: string
5976
+ colid: string
5977
+ }
5978
+ editActiveInfo?: {
5979
+ rowid: string
5980
+ colid: string
5981
+ }
5982
+ scrollInfo: {
5983
+ top: number
5984
+ left: number
5985
+ }
5986
+ visibleData: D[]
5987
+ visibleColumn: VxeTableDefines.ColumnInfo<D>[]
5988
+ }
5989
+
5757
5990
  export type AggFuncType = 'sum' | 'count' | 'avg' | 'min' | 'max' | 'first' | 'last'
5758
5991
 
5759
5992
  export type InjectGanttType<D = any> = (VxeGanttConstructor<D> & VxeGanttPrivateMethods<D>)
@@ -6293,6 +6526,9 @@ export namespace VxeTableDefines {
6293
6526
  export interface CutParams { }
6294
6527
  export interface CutEventParams<D = any> extends TableEventParams<D>, CutParams { }
6295
6528
 
6529
+ export interface UndoEventParams<D = any> {}
6530
+ export interface RedoEventParams<D = any> {}
6531
+
6296
6532
  export interface ContextMenuEventParams<D = any> extends TableEventParams<D> {}
6297
6533
 
6298
6534
  export interface ColumnsChangeEventParams<D = any> extends TableEventParams<D> {
@@ -6898,6 +7134,8 @@ export interface VxeTableEventProps<D = any> {
6898
7134
  onPaste?: VxeTableEvents.Paste<D>
6899
7135
  onCopy?: VxeTableEvents.Copy<D>
6900
7136
  onCut?: VxeTableEvents.Cut<D>
7137
+ onUndo?: VxeTableEvents.Undo<D>
7138
+ onRedo?: VxeTableEvents.Redo<D>
6901
7139
  onContextMenu?: VxeTableEvents.ContextMenu<D>
6902
7140
  onColumnsChange?: VxeTableEvents.ColumnsChange<D>
6903
7141
  onDataChange?: VxeTableEvents.DataChange<D>
@@ -6981,6 +7219,8 @@ export interface VxeTableListeners<D = any> {
6981
7219
  paste?: VxeTableEvents.Paste<D>
6982
7220
  copy?: VxeTableEvents.Copy<D>
6983
7221
  cut?: VxeTableEvents.Cut<D>
7222
+ undo?: VxeTableEvents.Undo<D>
7223
+ redo?: VxeTableEvents.Redo<D>
6984
7224
  contextMenu?: VxeTableEvents.ContextMenu<D>
6985
7225
  columnsChange?: VxeTableEvents.ColumnsChange<D>
6986
7226
  dataChange?: VxeTableEvents.DataChange<D>
@@ -7063,6 +7303,8 @@ export namespace VxeTableEvents {
7063
7303
  export type Paste<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.PasteEventParams<D>) => void
7064
7304
  export type Copy<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.CopyEventParams<D>) => void
7065
7305
  export type Cut<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.CutEventParams<D>) => void
7306
+ export type Undo<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.UndoEventParams<D>) => void
7307
+ export type Redo<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.RedoEventParams<D>) => void
7066
7308
  export type ContextMenu<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.ContextMenuEventParams<D>) => void
7067
7309
  export type ColumnsChange<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.ColumnsChangeEventParams<D>) => void
7068
7310
  export type DataChange<D = VxeTablePropTypes.Row> = (params: VxeTableDefines.DataChangeEventParams<D>) => void