vxe-table 3.19.39 → 3.20.0-beta.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 (109) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.esm.js +2 -1
  3. package/es/index.min.css +1 -1
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/table/module/custom/mixin.js +6 -4
  7. package/es/table/module/custom/panel.js +806 -799
  8. package/es/table/module/edit/mixin.js +43 -31
  9. package/es/table/module/export/export-panel.js +511 -458
  10. package/es/table/module/export/import-panel.js +224 -192
  11. package/es/table/module/keyboard/mixin.js +2 -2
  12. package/es/table/module/menu/panel.js +165 -161
  13. package/es/table/module/validator/mixin.js +255 -236
  14. package/es/table/src/body.js +2 -1
  15. package/es/table/src/cell.js +2 -2
  16. package/es/table/src/methods.js +33 -43
  17. package/es/table/src/table.js +13 -249
  18. package/es/table/src/util.js +242 -0
  19. package/es/table/style.css +23 -50
  20. package/es/table/style.min.css +1 -1
  21. package/es/ui/index.js +2 -2
  22. package/es/ui/src/dom.js +22 -0
  23. package/es/ui/src/log.js +1 -1
  24. package/es/vxe-table/style.css +23 -50
  25. package/es/vxe-table/style.min.css +1 -1
  26. package/lib/index.common.js +2 -1
  27. package/lib/index.css +1 -1
  28. package/lib/index.min.css +1 -1
  29. package/lib/index.umd.js +3640 -4790
  30. package/lib/index.umd.min.js +1 -1
  31. package/lib/style.css +1 -1
  32. package/lib/style.min.css +1 -1
  33. package/lib/table/module/custom/mixin.js +6 -4
  34. package/lib/table/module/custom/mixin.min.js +1 -1
  35. package/lib/table/module/custom/panel.js +693 -685
  36. package/lib/table/module/custom/panel.min.js +1 -1
  37. package/lib/table/module/edit/mixin.js +47 -31
  38. package/lib/table/module/edit/mixin.min.js +1 -1
  39. package/lib/table/module/export/export-panel.js +450 -384
  40. package/lib/table/module/export/export-panel.min.js +1 -1
  41. package/lib/table/module/export/import-panel.js +200 -159
  42. package/lib/table/module/export/import-panel.min.js +1 -1
  43. package/lib/table/module/keyboard/mixin.js +2 -2
  44. package/lib/table/module/keyboard/mixin.min.js +1 -1
  45. package/lib/table/module/menu/panel.js +119 -114
  46. package/lib/table/module/menu/panel.min.js +1 -1
  47. package/lib/table/module/validator/mixin.js +271 -259
  48. package/lib/table/module/validator/mixin.min.js +1 -1
  49. package/lib/table/src/body.js +2 -1
  50. package/lib/table/src/body.min.js +1 -1
  51. package/lib/table/src/cell.js +2 -2
  52. package/lib/table/src/cell.min.js +1 -1
  53. package/lib/table/src/methods.js +33 -45
  54. package/lib/table/src/methods.min.js +1 -1
  55. package/lib/table/src/table.js +12 -248
  56. package/lib/table/src/table.min.js +1 -1
  57. package/lib/table/src/util.js +243 -0
  58. package/lib/table/src/util.min.js +1 -1
  59. package/lib/table/style/style.css +23 -50
  60. package/lib/table/style/style.min.css +1 -1
  61. package/lib/ui/index.js +2 -2
  62. package/lib/ui/index.min.js +1 -1
  63. package/lib/ui/src/dom.js +22 -0
  64. package/lib/ui/src/dom.min.js +1 -1
  65. package/lib/ui/src/log.js +1 -1
  66. package/lib/ui/src/log.min.js +1 -1
  67. package/lib/v-x-e-table/index.js +2 -1
  68. package/lib/v-x-e-table/index.min.js +1 -1
  69. package/lib/vxe-colgroup/index.js +2 -1
  70. package/lib/vxe-colgroup/index.min.js +1 -1
  71. package/lib/vxe-column/index.js +2 -1
  72. package/lib/vxe-column/index.min.js +1 -1
  73. package/lib/vxe-grid/index.js +2 -1
  74. package/lib/vxe-grid/index.min.js +1 -1
  75. package/lib/vxe-table/index.js +2 -1
  76. package/lib/vxe-table/index.min.js +1 -1
  77. package/lib/vxe-table/style/style.css +23 -50
  78. package/lib/vxe-table/style/style.min.css +1 -1
  79. package/lib/vxe-toolbar/index.js +2 -1
  80. package/lib/vxe-toolbar/index.min.js +1 -1
  81. package/lib/vxe-ui/index.js +2 -1
  82. package/lib/vxe-ui/index.min.js +1 -1
  83. package/lib/vxe-v-x-e-table/index.js +2 -1
  84. package/lib/vxe-v-x-e-table/index.min.js +1 -1
  85. package/package.json +1 -1
  86. package/packages/table/module/custom/mixin.ts +7 -4
  87. package/packages/table/module/custom/panel.ts +846 -839
  88. package/packages/table/module/edit/mixin.ts +55 -35
  89. package/packages/table/module/export/export-panel.ts +545 -469
  90. package/packages/table/module/export/import-panel.ts +245 -202
  91. package/packages/table/module/filter/panel.ts +4 -18
  92. package/packages/table/module/keyboard/mixin.ts +2 -2
  93. package/packages/table/module/menu/panel.ts +171 -163
  94. package/packages/table/module/validator/mixin.ts +279 -240
  95. package/packages/table/src/body.ts +2 -1
  96. package/packages/table/src/cell.ts +2 -2
  97. package/packages/table/src/methods.ts +43 -45
  98. package/packages/table/src/table.ts +14 -260
  99. package/packages/table/src/util.ts +254 -0
  100. package/packages/ui/index.ts +1 -1
  101. package/packages/ui/src/dom.ts +22 -0
  102. package/styles/components/table.scss +5 -2
  103. package/styles/theme/base.scss +2 -1
  104. /package/es/{iconfont.1767145426781.ttf → iconfont.1767492234857.ttf} +0 -0
  105. /package/es/{iconfont.1767145426781.woff → iconfont.1767492234857.woff} +0 -0
  106. /package/es/{iconfont.1767145426781.woff2 → iconfont.1767492234857.woff2} +0 -0
  107. /package/lib/{iconfont.1767145426781.ttf → iconfont.1767492234857.ttf} +0 -0
  108. /package/lib/{iconfont.1767145426781.woff → iconfont.1767492234857.woff} +0 -0
  109. /package/lib/{iconfont.1767145426781.woff2 → iconfont.1767492234857.woff2} +0 -0
@@ -596,24 +596,24 @@ export default {
596
596
  // 从数据源中移除
597
597
  if (tableFullData === rows) {
598
598
  rows = delList = tableFullData.slice(0)
599
- this.tableFullData = []
600
- this.afterFullData = []
601
- this.clearMergeCells()
599
+ internalData.tableFullData = []
600
+ internalData.afterFullData = []
601
+ $xeTable.clearMergeCells()
602
602
  } else {
603
603
  // 如果为虚拟树
604
604
  if (treeConfig && transform) {
605
605
  rows.forEach((row) => {
606
- const rowid = getRowid(this, row)
607
- const matchMapObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid(this, item), { children: mapChildrenField })
606
+ const rowid = getRowid($xeTable, row)
607
+ const matchMapObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid($xeTable, item), { children: mapChildrenField })
608
608
  if (matchMapObj) {
609
609
  const rItems = matchMapObj.items.splice(matchMapObj.index, 1)
610
610
  delList.push(rItems[0])
611
611
  }
612
- const matchObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid(this, item), { children: childrenField })
612
+ const matchObj = XEUtils.findTree(tableFullTreeData, item => rowid === getRowid($xeTable, item), { children: childrenField })
613
613
  if (matchObj) {
614
614
  matchObj.items.splice(matchObj.index, 1)
615
615
  }
616
- const afIndex = this.findRowIndexOf(afterFullData, row)
616
+ const afIndex = $xeTable.findRowIndexOf(afterFullData, row)
617
617
  if (afIndex > -1) {
618
618
  afterFullData.splice(afIndex, 1)
619
619
  }
@@ -622,16 +622,16 @@ export default {
622
622
  // 如果分组
623
623
  warnLog(getI18n('vxe.error.noGroup', ['remove']))
624
624
  } else {
625
- rows.forEach((row: any) => {
626
- const tfIndex = this.findRowIndexOf(tableFullData, row)
625
+ rows.forEach((row) => {
626
+ const tfIndex = $xeTable.findRowIndexOf(tableFullData, row)
627
627
  if (tfIndex > -1) {
628
628
  const rItems = tableFullData.splice(tfIndex, 1)
629
629
  delList.push(rItems[0])
630
630
  }
631
- const afIndex = this.findRowIndexOf(afterFullData, row)
631
+ const afIndex = $xeTable.findRowIndexOf(afterFullData, row)
632
632
  if (afIndex > -1) {
633
633
  // 刷新单元格合并
634
- mergeBodyList.forEach((mergeItem: any) => {
634
+ mergeBodyList.forEach((mergeItem) => {
635
635
  const { row: mergeRowIndex, rowspan: mergeRowspan } = mergeItem
636
636
  if (mergeRowIndex > afIndex) {
637
637
  mergeItem.row = mergeRowIndex - 1
@@ -672,9 +672,9 @@ export default {
672
672
  if (reactData.scrollYLoad) {
673
673
  $xeTable.updateScrollYSpace()
674
674
  }
675
- return this.$nextTick().then(() => {
676
- this.updateCellAreas()
677
- return this.recalculate(true)
675
+ return $xeTable.$nextTick().then(() => {
676
+ $xeTable.updateCellAreas()
677
+ return $xeTable.recalculate(true)
678
678
  }).then(() => {
679
679
  return { row: delList.length ? delList[delList.length - 1] : null, rows: delList }
680
680
  })
@@ -683,8 +683,10 @@ export default {
683
683
  * 删除复选框选中的数据
684
684
  */
685
685
  _removeCheckboxRow () {
686
- return this.remove(this.getCheckboxRecords()).then((params: any) => {
687
- this.clearCheckboxRow()
686
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
687
+
688
+ return $xeTable.remove($xeTable.getCheckboxRecords()).then((params: any) => {
689
+ $xeTable.clearCheckboxRow()
688
690
  return params
689
691
  })
690
692
  },
@@ -692,9 +694,11 @@ export default {
692
694
  * 删除单选框选中的数据
693
695
  */
694
696
  _removeRadioRow () {
695
- const radioRecord = this.getRadioRecord()
696
- return this.remove(radioRecord || []).then((params: any) => {
697
- this.clearRadioRow()
697
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
698
+
699
+ const radioRecord = $xeTable.getRadioRecord()
700
+ return $xeTable.remove(radioRecord || []).then((params: any) => {
701
+ $xeTable.clearRadioRow()
698
702
  return params
699
703
  })
700
704
  },
@@ -702,9 +706,11 @@ export default {
702
706
  * 删除当前行选中的数据
703
707
  */
704
708
  _removeCurrentRow () {
705
- const currentRecord = this.getCurrentRecord()
706
- return this.remove(currentRecord || []).then((params: any) => {
707
- this.clearCurrentRow()
709
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
710
+
711
+ const currentRecord = $xeTable.getCurrentRecord()
712
+ return $xeTable.remove(currentRecord || []).then((params: any) => {
713
+ $xeTable.clearCurrentRow()
708
714
  return params
709
715
  })
710
716
  },
@@ -712,15 +718,17 @@ export default {
712
718
  * 获取表格数据集,包含新增、删除、修改
713
719
  */
714
720
  _getRecordset () {
715
- const removeRecords = this.getRemoveRecords()
716
- const pendingRecords = this.getPendingRecords()
721
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
722
+
723
+ const removeRecords = $xeTable.getRemoveRecords()
724
+ const pendingRecords = $xeTable.getPendingRecords()
717
725
  const delRecords = removeRecords.concat(pendingRecords)
718
726
  // 如果已经被删除,则无需放到更新数组
719
- const updateRecords = this.getUpdateRecords().filter((row: any) => {
720
- return !delRecords.some((item: any) => this.eqRow(item, row))
727
+ const updateRecords = $xeTable.getUpdateRecords().filter((row: any) => {
728
+ return !delRecords.some((item) => $xeTable.eqRow(item, row))
721
729
  })
722
730
  return {
723
- insertRecords: this.getInsertRecords(),
731
+ insertRecords: $xeTable.getInsertRecords(),
724
732
  removeRecords,
725
733
  updateRecords,
726
734
  pendingRecords
@@ -790,7 +798,9 @@ export default {
790
798
  * @deprecated
791
799
  */
792
800
  handleActived (params: any, evnt: any) {
793
- return this.handleEdit(params, evnt)
801
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
802
+
803
+ return $xeTable.handleEdit(params, evnt)
794
804
  },
795
805
  _getColumnModel (row: any, column: VxeTableDefines.ColumnInfo) {
796
806
  getEditColumnModel(row, column)
@@ -799,14 +809,16 @@ export default {
799
809
  setEditColumnModel(row, column)
800
810
  },
801
811
  _syncActivedCell () {
802
- const $xeTable = this
812
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
803
813
 
804
814
  syncActivedCell($xeTable)
805
815
  },
806
816
  _clearActived (row: any) {
817
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
818
+
807
819
  warnLog('vxe.error.delFunc', ['clearActived', 'clearEdit'])
808
820
  // 即将废弃
809
- return this.clearEdit(row)
821
+ return $xeTable.clearEdit(row)
810
822
  },
811
823
  /**
812
824
  * 清除激活的编辑
@@ -820,7 +832,7 @@ export default {
820
832
  * 取消编辑
821
833
  */
822
834
  handleClearEdit (evnt: Event | null, targetRow?: any) {
823
- const $xeTable = this
835
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
824
836
 
825
837
  return handleClearEdit($xeTable, evnt, targetRow)
826
838
  },
@@ -957,8 +969,10 @@ export default {
957
969
  */
958
970
  _setEditRow (row: any, fieldOrColumn: any) {
959
971
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
972
+ const internalData = $xeTable as unknown as TableInternalData
960
973
 
961
- let column = XEUtils.find(this.visibleColumn, column => isEnableConf(column.editRender))
974
+ const { visibleColumn } = internalData
975
+ let column: any = XEUtils.find(visibleColumn, column => isEnableConf(column.editRender))
962
976
  let isPos = false
963
977
  if (fieldOrColumn) {
964
978
  isPos = true
@@ -969,9 +983,11 @@ export default {
969
983
  return handleEditCell($xeTable, row, column, isPos)
970
984
  },
971
985
  _setActiveCell (row: any, fieldOrColumn: any) {
986
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
987
+
972
988
  warnLog('vxe.error.delFunc', ['setActiveCell', 'setEditCell'])
973
989
  // 即将废弃
974
- return this.setEditCell(row, fieldOrColumn)
990
+ return $xeTable.setEditCell(row, fieldOrColumn)
975
991
  },
976
992
  /**
977
993
  * 激活单元格编辑
@@ -1035,7 +1051,7 @@ export default {
1035
1051
  selected.row = row
1036
1052
  selected.column = column
1037
1053
  if (isMouseSelected) {
1038
- this.addCellSelectedClass()
1054
+ $xeTable.addCellSelectedClass()
1039
1055
  }
1040
1056
  $xeTable.focus()
1041
1057
  if (evnt) {
@@ -1079,7 +1095,11 @@ export default {
1079
1095
  return $xeTable.$nextTick()
1080
1096
  },
1081
1097
  reColTitleSdCls () {
1082
- const headerElem = this.elemStore['main-header-list']
1098
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
1099
+ const internalData = $xeTable as unknown as TableInternalData
1100
+
1101
+ const { elemStore } = internalData
1102
+ const headerElem = elemStore['main-header-list']
1083
1103
  if (headerElem) {
1084
1104
  XEUtils.arrayEach(headerElem.querySelectorAll('.col--title-selected'), elem => removeClass(elem, 'col--title-selected'))
1085
1105
  }