vxe-table 3.4.15 → 3.5.0-beta.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 (156) hide show
  1. package/README.md +1 -1
  2. package/lib/button/src/button.js +19 -9
  3. package/lib/button/src/button.min.js +1 -1
  4. package/lib/checkbox/src/checkbox.js +2 -2
  5. package/lib/checkbox/src/checkbox.min.js +1 -1
  6. package/lib/edit/src/mixin.js +26 -18
  7. package/lib/edit/src/mixin.min.js +1 -1
  8. package/lib/export/src/export-panel.js +2 -2
  9. package/lib/export/src/export-panel.min.js +1 -1
  10. package/lib/export/src/import-panel.js +2 -2
  11. package/lib/export/src/import-panel.min.js +1 -1
  12. package/lib/export/src/mixin.js +26 -24
  13. package/lib/export/src/mixin.min.js +1 -1
  14. package/lib/filter/src/mixin.js +4 -4
  15. package/lib/filter/src/mixin.min.js +1 -1
  16. package/lib/filter/src/panel.js +2 -2
  17. package/lib/filter/src/panel.min.js +1 -1
  18. package/lib/footer/src/footer.js +7 -4
  19. package/lib/footer/src/footer.min.js +1 -1
  20. package/lib/form/src/form-gather.js +2 -2
  21. package/lib/form/src/form-gather.min.js +1 -1
  22. package/lib/form/src/form-item.js +3 -3
  23. package/lib/form/src/form-item.min.js +1 -1
  24. package/lib/form/src/form.js +17 -11
  25. package/lib/form/src/form.min.js +1 -1
  26. package/lib/form/src/render.js +5 -5
  27. package/lib/form/src/render.min.js +1 -1
  28. package/lib/form/src/util.js +2 -2
  29. package/lib/form/src/util.min.js +1 -1
  30. package/lib/grid/src/grid.js +44 -34
  31. package/lib/grid/src/grid.min.js +1 -1
  32. package/lib/header/src/header.js +10 -8
  33. package/lib/header/src/header.min.js +1 -1
  34. package/lib/index.umd.js +1963 -1083
  35. package/lib/index.umd.min.js +1 -2
  36. package/lib/input/src/input.js +30 -18
  37. package/lib/input/src/input.min.js +1 -1
  38. package/lib/keyboard/src/mixin.js +12 -8
  39. package/lib/keyboard/src/mixin.min.js +1 -1
  40. package/lib/list/src/list.js +7 -5
  41. package/lib/list/src/list.min.js +1 -1
  42. package/lib/menu/src/mixin.js +24 -14
  43. package/lib/menu/src/mixin.min.js +1 -1
  44. package/lib/menu/src/panel.js +3 -3
  45. package/lib/menu/src/panel.min.js +1 -1
  46. package/lib/modal/src/modal.js +24 -12
  47. package/lib/modal/src/modal.min.js +1 -1
  48. package/lib/pulldown/src/pulldown.js +16 -12
  49. package/lib/pulldown/src/pulldown.min.js +1 -1
  50. package/lib/radio/src/button.js +2 -2
  51. package/lib/radio/src/button.min.js +1 -1
  52. package/lib/radio/src/radio.js +2 -2
  53. package/lib/radio/src/radio.min.js +1 -1
  54. package/lib/select/src/select.js +26 -16
  55. package/lib/select/src/select.min.js +1 -1
  56. package/lib/switch/src/switch.js +4 -4
  57. package/lib/switch/src/switch.min.js +1 -1
  58. package/lib/table/src/body.js +34 -33
  59. package/lib/table/src/body.min.js +1 -1
  60. package/lib/table/src/cell.js +19 -11
  61. package/lib/table/src/cell.min.js +1 -1
  62. package/lib/table/src/column.js +3 -3
  63. package/lib/table/src/column.min.js +1 -1
  64. package/lib/table/src/columnInfo.js +201 -0
  65. package/lib/table/src/columnInfo.min.js +1 -0
  66. package/lib/table/src/methods.js +85 -85
  67. package/lib/table/src/methods.min.js +1 -1
  68. package/lib/table/src/table.js +80 -62
  69. package/lib/table/src/table.min.js +1 -1
  70. package/lib/table/src/util.js +38 -3
  71. package/lib/table/src/util.min.js +1 -1
  72. package/lib/textarea/src/textarea.js +2 -2
  73. package/lib/textarea/src/textarea.min.js +1 -1
  74. package/lib/toolbar/src/toolbar.js +16 -10
  75. package/lib/toolbar/src/toolbar.min.js +1 -1
  76. package/lib/tools/{src/dom.js → dom.js} +0 -0
  77. package/lib/tools/{src/dom.min.js → dom.min.js} +0 -0
  78. package/lib/tools/{src/event.js → event.js} +3 -6
  79. package/lib/tools/event.min.js +1 -0
  80. package/lib/tools/log.js +29 -0
  81. package/lib/tools/log.min.js +1 -0
  82. package/lib/tools/{src/resize.js → resize.js} +1 -1
  83. package/lib/tools/resize.min.js +1 -0
  84. package/lib/tools/utils.js +155 -0
  85. package/lib/tools/utils.min.js +1 -0
  86. package/lib/tooltip/src/tooltip.js +8 -6
  87. package/lib/tooltip/src/tooltip.min.js +1 -1
  88. package/lib/v-x-e-table/index.js +7 -4
  89. package/lib/v-x-e-table/index.min.js +1 -1
  90. package/lib/v-x-e-table/src/conf.js +3 -1
  91. package/lib/v-x-e-table/src/interceptor.js +4 -4
  92. package/lib/v-x-e-table/src/interceptor.min.js +1 -1
  93. package/lib/v-x-e-table/src/renderer.js +18 -10
  94. package/lib/v-x-e-table/src/renderer.min.js +1 -1
  95. package/lib/v-x-e-table/src/store.js +3 -3
  96. package/lib/v-x-e-table/src/store.min.js +1 -1
  97. package/lib/validator/src/mixin.js +4 -4
  98. package/lib/validator/src/mixin.min.js +1 -1
  99. package/package.json +1 -1
  100. package/packages/button/src/button.js +4 -2
  101. package/packages/checkbox/src/checkbox.js +2 -2
  102. package/packages/edit/src/mixin.js +7 -6
  103. package/packages/export/src/export-panel.js +1 -1
  104. package/packages/export/src/import-panel.js +1 -1
  105. package/packages/export/src/mixin.js +20 -19
  106. package/packages/filter/src/mixin.js +3 -3
  107. package/packages/filter/src/panel.js +1 -1
  108. package/packages/footer/src/footer.js +4 -2
  109. package/packages/form/src/form-gather.js +2 -2
  110. package/packages/form/src/form-item.js +2 -2
  111. package/packages/form/src/form.js +7 -7
  112. package/packages/form/src/render.js +4 -4
  113. package/packages/form/src/util.js +2 -2
  114. package/packages/grid/src/grid.js +22 -20
  115. package/packages/header/src/header.js +3 -2
  116. package/packages/input/src/input.js +6 -3
  117. package/packages/keyboard/src/mixin.js +1 -2
  118. package/packages/list/src/list.js +3 -2
  119. package/packages/menu/src/mixin.js +5 -3
  120. package/packages/menu/src/panel.js +3 -3
  121. package/packages/modal/src/modal.js +7 -4
  122. package/packages/pulldown/src/pulldown.js +3 -1
  123. package/packages/radio/src/button.js +2 -2
  124. package/packages/radio/src/radio.js +2 -2
  125. package/packages/select/src/select.js +5 -3
  126. package/packages/switch/src/switch.js +4 -4
  127. package/packages/table/src/body.js +23 -22
  128. package/packages/table/src/cell.js +5 -4
  129. package/packages/table/src/column.js +1 -1
  130. package/packages/table/src/columnInfo.js +148 -0
  131. package/packages/table/src/methods.js +50 -50
  132. package/packages/table/src/table.js +56 -41
  133. package/packages/table/src/util.js +19 -1
  134. package/packages/textarea/src/textarea.js +2 -2
  135. package/packages/toolbar/src/toolbar.js +7 -4
  136. package/packages/tools/{src/dom.js → dom.js} +0 -0
  137. package/packages/tools/{src/event.js → event.js} +1 -3
  138. package/packages/tools/log.js +16 -0
  139. package/packages/tools/{src/resize.js → resize.js} +1 -1
  140. package/packages/tools/utils.js +108 -0
  141. package/packages/tooltip/src/tooltip.js +2 -1
  142. package/packages/v-x-e-table/index.js +4 -2
  143. package/packages/v-x-e-table/src/conf.js +3 -1
  144. package/packages/v-x-e-table/src/interceptor.js +3 -3
  145. package/packages/v-x-e-table/src/renderer.js +4 -3
  146. package/packages/v-x-e-table/src/store.js +2 -2
  147. package/packages/validator/src/mixin.js +3 -3
  148. package/types/v-x-e-table/index.d.ts +8 -0
  149. package/lib/tools/index.js +0 -76
  150. package/lib/tools/index.min.js +0 -1
  151. package/lib/tools/src/event.min.js +0 -1
  152. package/lib/tools/src/resize.min.js +0 -1
  153. package/lib/tools/src/utils.js +0 -365
  154. package/lib/tools/src/utils.min.js +0 -1
  155. package/packages/tools/index.js +0 -14
  156. package/packages/tools/src/utils.js +0 -272
@@ -3,8 +3,11 @@ import GlobalConfig from '../../v-x-e-table/src/conf'
3
3
  import VXETable from '../../v-x-e-table'
4
4
  import VxeTableBody from './body'
5
5
  import vSize from '../../mixins/size'
6
- import { UtilTools, GlobalEvent, createResizeEvent, isEnableConf } from '../../tools'
6
+ import { isEnableConf, getFuncText } from '../../tools/utils'
7
+ import { createResizeEvent } from '../../tools/resize'
8
+ import { GlobalEvent } from '../../tools/event'
7
9
  import methods from './methods'
10
+ import { warnLog, errLog } from '../../tools/log'
8
11
 
9
12
  /**
10
13
  * 渲染浮固定列
@@ -67,7 +70,7 @@ function renderEmptyContenet (h, _vm) {
67
70
  if (renderEmpty) {
68
71
  emptyContent = renderEmpty.call(_vm, h, emptyOpts, params)
69
72
  } else {
70
- emptyContent = UtilTools.getFuncText(_vm.emptyText) || GlobalConfig.i18n('vxe.table.emptyText')
73
+ emptyContent = getFuncText(_vm.emptyText) || GlobalConfig.i18n('vxe.table.emptyText')
71
74
  }
72
75
  }
73
76
  return emptyContent
@@ -92,7 +95,7 @@ export default {
92
95
  height: [Number, String],
93
96
  // 表格的最大高度
94
97
  maxHeight: [Number, String],
95
- // 所有列是否允许拖动列宽调整大小
98
+ // (即将废弃)所有列是否允许拖动列宽调整大小
96
99
  resizable: { type: Boolean, default: () => GlobalConfig.table.resizable },
97
100
  // 是否带有斑马纹
98
101
  stripe: { type: Boolean, default: () => GlobalConfig.table.stripe },
@@ -168,9 +171,11 @@ export default {
168
171
  showFooterOverflow: { type: [Boolean, String], default: () => GlobalConfig.table.showFooterOverflow },
169
172
 
170
173
  /** 高级属性 */
171
- // 主键配置
174
+ // (即将废弃)columnKey 已废弃,被 column-config.useKey 替换
172
175
  columnKey: Boolean,
176
+ // (即将废弃)rowKey 已废弃,被 row-config.useKey 替换
173
177
  rowKey: Boolean,
178
+ // (即将废弃)rowId 已废弃,被 row-config.keyField 替换
174
179
  rowId: { type: String, default: () => GlobalConfig.table.rowId },
175
180
  zIndex: Number,
176
181
  emptyText: { type: String, default: () => GlobalConfig.table.emptyText },
@@ -237,6 +242,7 @@ export default {
237
242
  scrollY: Object,
238
243
  // (即将废弃)优化相关
239
244
  animat: { type: Boolean, default: () => GlobalConfig.table.animat },
245
+ // (可能会被废弃的参数,不要使用)
240
246
  delayHover: { type: Number, default: () => GlobalConfig.table.delayHover },
241
247
  // 额外的参数
242
248
  params: Object
@@ -654,7 +660,7 @@ export default {
654
660
  this.handleInitDefaults()
655
661
  }
656
662
  if ((this.scrollXLoad || this.scrollYLoad) && this.expandColumn) {
657
- UtilTools.warn('vxe.error.scrollErrProp', ['column.type=expand'])
663
+ warnLog('vxe.error.scrollErrProp', ['column.type=expand'])
658
664
  }
659
665
  this.recalculate()
660
666
  })
@@ -700,7 +706,7 @@ export default {
700
706
  }
701
707
  },
702
708
  created () {
703
- const { scrollXStore, sYOpts, scrollYStore, data, editOpts, treeOpts, treeConfig, showOverflow } = Object.assign(this, {
709
+ const { scrollXStore, sYOpts, scrollYStore, data, editOpts, treeOpts, treeConfig, showOverflow, rowOpts } = Object.assign(this, {
704
710
  tZindex: 0,
705
711
  elemStore: {},
706
712
  // 存放横向 X 虚拟滚动相关的信息
@@ -750,65 +756,74 @@ export default {
750
756
  })
751
757
 
752
758
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
753
- if (!this.rowId && (this.checkboxOpts.reserve || this.checkboxOpts.checkRowKeys || this.radioOpts.reserve || this.radioOpts.checkRowKey || this.expandOpts.expandRowKeys || this.treeOpts.expandRowKeys)) {
754
- UtilTools.warn('vxe.error.reqProp', ['row-id'])
759
+ // if (this.rowId) {
760
+ // warnLog('vxe.error.delProp', ['rowId', 'row-config.keyField'])
761
+ // }
762
+ // if (this.rowKey) {
763
+ // warnLog('vxe.error.delProp', ['rowId', 'row-config.useKey'])
764
+ // }
765
+ // if (this.columnKey) {
766
+ // warnLog('vxe.error.delProp', ['rowId', 'column-config.useKey'])
767
+ // }
768
+ if (!(this.rowId || rowOpts.keyField) && (this.checkboxOpts.reserve || this.checkboxOpts.checkRowKeys || this.radioOpts.reserve || this.radioOpts.checkRowKey || this.expandOpts.expandRowKeys || this.treeOpts.expandRowKeys)) {
769
+ warnLog('vxe.error.reqProp', ['row-config.keyField'])
755
770
  }
756
771
  if (this.editConfig && editOpts.showStatus && !this.keepSource) {
757
- UtilTools.warn('vxe.error.reqProp', ['keep-source'])
772
+ warnLog('vxe.error.reqProp', ['keep-source'])
758
773
  }
759
- if (treeConfig && treeOpts.line && (!this.rowKey || !showOverflow)) {
760
- UtilTools.warn('vxe.error.reqProp', ['row-key | show-overflow'])
774
+ if (treeConfig && treeOpts.line && (!this.rowKey || !rowOpts.useKey || !showOverflow)) {
775
+ warnLog('vxe.error.reqProp', ['row-config.useKey | show-overflow'])
761
776
  }
762
777
  if (this.showFooter && !this.footerMethod) {
763
- UtilTools.warn('vxe.error.reqProp', ['footer-method'])
778
+ warnLog('vxe.error.reqProp', ['footer-method'])
764
779
  }
765
780
  if (treeConfig && this.stripe) {
766
- UtilTools.warn('vxe.error.noTree', ['stripe'])
781
+ warnLog('vxe.error.noTree', ['stripe'])
767
782
  }
768
783
  if (this.tooltipOpts.enabled) {
769
- UtilTools.warn('vxe.error.delProp', ['tooltip-config.enabled', 'tooltip-config.showAll'])
784
+ warnLog('vxe.error.delProp', ['tooltip-config.enabled', 'tooltip-config.showAll'])
770
785
  }
771
786
  // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
772
787
  const { exportConfig, exportOpts, importConfig, importOpts } = this
773
788
  if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(VXETable.config.importTypes, importOpts.types)) {
774
- UtilTools.warn('vxe.error.errProp', [`export-config.types=${importOpts.types.join(',')}`, importOpts.types.filter(type => XEUtils.includes(VXETable.config.importTypes, type)).join(',') || VXETable.config.importTypes.join(',')])
789
+ warnLog('vxe.error.errProp', [`export-config.types=${importOpts.types.join(',')}`, importOpts.types.filter(type => XEUtils.includes(VXETable.config.importTypes, type)).join(',') || VXETable.config.importTypes.join(',')])
775
790
  }
776
791
  if (exportConfig && exportOpts.types && !exportOpts.exportMethod && !XEUtils.includeArrays(VXETable.config.exportTypes, exportOpts.types)) {
777
- UtilTools.warn('vxe.error.errProp', [`export-config.types=${exportOpts.types.join(',')}`, exportOpts.types.filter(type => XEUtils.includes(VXETable.config.exportTypes, type)).join(',') || VXETable.config.exportTypes.join(',')])
792
+ warnLog('vxe.error.errProp', [`export-config.types=${exportOpts.types.join(',')}`, exportOpts.types.filter(type => XEUtils.includes(VXETable.config.exportTypes, type)).join(',') || VXETable.config.exportTypes.join(',')])
778
793
  }
779
794
  }
780
795
 
781
796
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
782
797
  const customOpts = this.customOpts
783
798
  if (!this.id && this.customConfig && (customOpts.storage === true || (customOpts.storage && customOpts.storage.resizable) || (customOpts.storage && customOpts.storage.visible))) {
784
- UtilTools.error('vxe.error.reqProp', ['id'])
799
+ errLog('vxe.error.reqProp', ['id'])
785
800
  }
786
801
  if (this.treeConfig && this.checkboxOpts.range) {
787
- UtilTools.error('vxe.error.noTree', ['checkbox-config.range'])
802
+ errLog('vxe.error.noTree', ['checkbox-config.range'])
788
803
  }
789
804
  if (this.rowOpts.height && !this.showOverflow) {
790
- UtilTools.warn('vxe.error.notProp', ['table.show-overflow'])
805
+ warnLog('vxe.error.notProp', ['table.show-overflow'])
791
806
  }
792
807
  if (!this.handleUpdateCellAreas) {
793
808
  if (this.clipConfig) {
794
- UtilTools.warn('vxe.error.notProp', ['clip-config'])
809
+ warnLog('vxe.error.notProp', ['clip-config'])
795
810
  }
796
811
  if (this.fnrConfig) {
797
- UtilTools.warn('vxe.error.notProp', ['fnr-config'])
812
+ warnLog('vxe.error.notProp', ['fnr-config'])
798
813
  }
799
814
  if (this.mouseOpts.area) {
800
- UtilTools.error('vxe.error.notProp', ['mouse-config.area'])
815
+ errLog('vxe.error.notProp', ['mouse-config.area'])
801
816
  return
802
817
  }
803
818
  }
804
819
  if (this.mouseOpts.area && this.mouseOpts.selected) {
805
- UtilTools.warn('vxe.error.errConflicts', ['mouse-config.area', 'mouse-config.selected'])
820
+ warnLog('vxe.error.errConflicts', ['mouse-config.area', 'mouse-config.selected'])
806
821
  }
807
822
  if (this.mouseOpts.area && this.checkboxOpts.range) {
808
- UtilTools.warn('vxe.error.errConflicts', ['mouse-config.area', 'checkbox-config.range'])
823
+ warnLog('vxe.error.errConflicts', ['mouse-config.area', 'checkbox-config.range'])
809
824
  }
810
825
  if (this.treeConfig && this.mouseOpts.area) {
811
- UtilTools.error('vxe.error.noTree', ['mouse-config.area'])
826
+ errLog('vxe.error.noTree', ['mouse-config.area'])
812
827
  }
813
828
  }
814
829
 
@@ -816,50 +831,50 @@ export default {
816
831
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
817
832
  // 在 v3.0 中废弃 context-menu
818
833
  if (this.contextMenu) {
819
- UtilTools.warn('vxe.error.delProp', ['context-menu', 'menu-config'])
834
+ warnLog('vxe.error.delProp', ['context-menu', 'menu-config'])
820
835
  if (!XEUtils.isObject(this.contextMenu)) {
821
- UtilTools.warn('vxe.error.errProp', [`table.context-menu=${this.contextMenu}`, 'table.context-menu={}'])
836
+ warnLog('vxe.error.errProp', [`table.context-menu=${this.contextMenu}`, 'table.context-menu={}'])
822
837
  }
823
838
  }
824
839
  if (this.menuConfig && !XEUtils.isObject(this.menuConfig)) {
825
- UtilTools.warn('vxe.error.errProp', [`table.menu-config=${this.menuConfig}`, 'table.menu-config={}'])
840
+ warnLog('vxe.error.errProp', [`table.menu-config=${this.menuConfig}`, 'table.menu-config={}'])
826
841
  }
827
842
  if (this.exportConfig && !XEUtils.isObject(this.exportConfig)) {
828
- UtilTools.warn('vxe.error.errProp', [`table.export-config=${this.exportConfig}`, 'table.export-config={}'])
843
+ warnLog('vxe.error.errProp', [`table.export-config=${this.exportConfig}`, 'table.export-config={}'])
829
844
  }
830
845
  if (this.importConfig && !XEUtils.isObject(this.importConfig)) {
831
- UtilTools.warn('vxe.error.errProp', [`table.import-config=${this.importConfig}`, 'table.import-config={}'])
846
+ warnLog('vxe.error.errProp', [`table.import-config=${this.importConfig}`, 'table.import-config={}'])
832
847
  }
833
848
  if (this.printConfig && !XEUtils.isObject(this.printConfig)) {
834
- UtilTools.warn('vxe.error.errProp', [`table.print-config=${this.printConfig}`, 'table.print-config={}'])
849
+ warnLog('vxe.error.errProp', [`table.print-config=${this.printConfig}`, 'table.print-config={}'])
835
850
  }
836
851
  if (this.treeConfig && !XEUtils.isObject(this.treeConfig)) {
837
- UtilTools.warn('vxe.error.errProp', [`table.tree-config=${this.treeConfig}`, 'table.tree-config={}'])
852
+ warnLog('vxe.error.errProp', [`table.tree-config=${this.treeConfig}`, 'table.tree-config={}'])
838
853
  }
839
854
  if (this.customConfig && !XEUtils.isObject(this.customConfig)) {
840
- UtilTools.warn('vxe.error.errProp', [`table.custom-config=${this.customConfig}`, 'table.custom-config={}'])
855
+ warnLog('vxe.error.errProp', [`table.custom-config=${this.customConfig}`, 'table.custom-config={}'])
841
856
  }
842
857
  if (this.editConfig && !XEUtils.isObject(this.editConfig)) {
843
- UtilTools.warn('vxe.error.errProp', [`table.edit-config=${this.editConfig}`, 'table.edit-config={}'])
858
+ warnLog('vxe.error.errProp', [`table.edit-config=${this.editConfig}`, 'table.edit-config={}'])
844
859
  }
845
860
  if (this.emptyRender && !XEUtils.isObject(this.emptyRender)) {
846
- UtilTools.warn('vxe.error.errProp', [`table.empty-render=${this.emptyRender}`, 'table.empty-render={}'])
861
+ warnLog('vxe.error.errProp', [`table.empty-render=${this.emptyRender}`, 'table.empty-render={}'])
847
862
  }
848
863
  }
849
864
 
850
865
  // 检查是否有安装需要的模块
851
866
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
852
867
  if (this.editConfig && !this._insert) {
853
- UtilTools.error('vxe.error.reqModule', ['Edit'])
868
+ errLog('vxe.error.reqModule', ['Edit'])
854
869
  }
855
870
  if (this.editRules && !this._validate) {
856
- UtilTools.error('vxe.error.reqModule', ['Validator'])
871
+ errLog('vxe.error.reqModule', ['Validator'])
857
872
  }
858
873
  if ((this.checkboxOpts.range || this.keyboardConfig || this.mouseConfig) && !this.triggerCellMousedownEvent) {
859
- UtilTools.error('vxe.error.reqModule', ['Keyboard'])
874
+ errLog('vxe.error.reqModule', ['Keyboard'])
860
875
  }
861
876
  if ((this.printConfig || this.importConfig || this.exportConfig) && !this._exportData) {
862
- UtilTools.error('vxe.error.reqModule', ['Export'])
877
+ errLog('vxe.error.reqModule', ['Export'])
863
878
  }
864
879
  }
865
880
 
@@ -898,10 +913,10 @@ export default {
898
913
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
899
914
  const { $listeners } = this
900
915
  if (!this.menuConfig && ($listeners['menu-click'] || $listeners['cell-menu'] || $listeners['header-cell-menu'] || $listeners['footer-cell-menu'])) {
901
- UtilTools.warn('vxe.error.reqProp', ['menu-config'])
916
+ warnLog('vxe.error.reqProp', ['menu-config'])
902
917
  }
903
918
  if (!this.tooltipConfig && ($listeners['cell-mouseenter'] || $listeners['cell-mouseleave'])) {
904
- UtilTools.warn('vxe.error.reqProp', ['tooltip-config'])
919
+ warnLog('vxe.error.reqProp', ['tooltip-config'])
905
920
  }
906
921
  }
907
922
  if (this.autoResize) {
@@ -1,6 +1,7 @@
1
1
  import VXETable from '../../v-x-e-table'
2
2
  import XEUtils from 'xe-utils'
3
- import { DomTools } from '../../tools'
3
+ import { ColumnInfo } from './columnInfo'
4
+ import DomTools from '../../tools/dom'
4
5
 
5
6
  const lineOffsetSizes = {
6
7
  mini: 3,
@@ -67,6 +68,15 @@ function queryCellElement (cell, selector) {
67
68
  return cell.querySelector('.vxe-cell' + selector)
68
69
  }
69
70
 
71
+ export function toFilters (filters) {
72
+ if (filters && XEUtils.isArray(filters)) {
73
+ return filters.map(({ label, value, data, resetValue, checked }) => {
74
+ return { label, value, data, resetValue, checked: !!checked, _checked: !!checked }
75
+ })
76
+ }
77
+ return filters
78
+ }
79
+
70
80
  export function getColMinWidth (params) {
71
81
  const { $table, column, cell } = params
72
82
  const { showHeaderOverflow: allColumnHeaderOverflow, resizableOpts } = $table
@@ -187,3 +197,11 @@ export function clearTableAllStatus (_vm) {
187
197
  }
188
198
  return clearTableDefaultStatus(_vm)
189
199
  }
200
+
201
+ export function isColumnInfo (column) {
202
+ return column instanceof ColumnInfo
203
+ }
204
+
205
+ export function getColumnConfig ($xetable, _vm, options) {
206
+ return isColumnInfo(_vm) ? _vm : new ColumnInfo($xetable, _vm, options)
207
+ }
@@ -1,7 +1,7 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf'
3
3
  import vSize from '../../mixins/size'
4
- import { UtilTools } from '../../tools'
4
+ import { getFuncText } from '../../tools/utils'
5
5
 
6
6
  let autoTxtElem
7
7
 
@@ -84,7 +84,7 @@ export default {
84
84
  cols
85
85
  }
86
86
  if (placeholder) {
87
- attrs.placeholder = UtilTools.getFuncText(placeholder)
87
+ attrs.placeholder = getFuncText(placeholder)
88
88
  }
89
89
  return h('div', {
90
90
  class: ['vxe-textarea', className, {
@@ -2,7 +2,10 @@ import XEUtils from 'xe-utils'
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf'
3
3
  import VXETable from '../../v-x-e-table'
4
4
  import vSize from '../../mixins/size'
5
- import { UtilTools, DomTools, GlobalEvent } from '../../tools'
5
+ import UtilTools from '../../tools/utils'
6
+ import DomTools from '../../tools/dom'
7
+ import { GlobalEvent } from '../../tools/event'
8
+ import { warnLog, errLog } from '../../tools/log'
6
9
 
7
10
  const renderDropdowns = (h, _vm, item, isBtn) => {
8
11
  const { _e } = _vm
@@ -313,7 +316,7 @@ export default {
313
316
  this.$nextTick(() => {
314
317
  const $xetable = this.fintTable()
315
318
  if (refresh && !this.$xegrid && !refreshOpts.query) {
316
- UtilTools.warn('vxe.error.notFunc', ['query'])
319
+ warnLog('vxe.error.notFunc', ['query'])
317
320
  }
318
321
  if ($xetable) {
319
322
  $xetable.connect(this)
@@ -324,7 +327,7 @@ export default {
324
327
  const { buttonRender } = item
325
328
  const compConf = buttonRender ? VXETable.renderer.get(buttonRender.name) : null
326
329
  if (compConf && compConf.renderButton) {
327
- UtilTools.warn('vxe.error.delFunc', ['renderButton', 'renderToolbarButton'])
330
+ warnLog('vxe.error.delFunc', ['renderButton', 'renderToolbarButton'])
328
331
  }
329
332
  })
330
333
  }
@@ -434,7 +437,7 @@ export default {
434
437
  if (this.$xetable) {
435
438
  return true
436
439
  }
437
- UtilTools.error('vxe.error.barUnableLink')
440
+ errLog('vxe.error.barUnableLink')
438
441
  },
439
442
  showCustom () {
440
443
  this.customStore.visible = true
File without changes
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils'
2
- import { browse } from '../../tools/src/dom'
2
+ import { browse } from './dom'
3
3
 
4
4
  export const EVENT_KEYS = {
5
5
  F2: 'F2',
@@ -80,5 +80,3 @@ if (browse.isDoc) {
80
80
  window.addEventListener('resize', GlobalEvent.trigger, false)
81
81
  window.addEventListener(wheelName, XEUtils.throttle(GlobalEvent.trigger, 100, { leading: true, trailing: false }), false)
82
82
  }
83
-
84
- export default GlobalEvent
@@ -0,0 +1,16 @@
1
+ import GlobalConfig from '../v-x-e-table/src/conf'
2
+
3
+ export function getLog (message, params) {
4
+ return `[vxe-table v${process.env.VUE_APP_VXE_TABLE_VERSION}] ${GlobalConfig.i18n(message, params)}`
5
+ }
6
+
7
+ function outLog (type) {
8
+ return function (message, params) {
9
+ const msg = getLog(message, params)
10
+ console[type](msg)
11
+ return msg
12
+ }
13
+ }
14
+
15
+ export const warnLog = outLog('warn')
16
+ export const errLog = outLog('error')
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils'
2
- import GlobalConfig from '../../v-x-e-table/src/conf'
2
+ import GlobalConfig from '../v-x-e-table/src/conf'
3
3
 
4
4
  /**
5
5
  * 监听 resize 事件
@@ -0,0 +1,108 @@
1
+ import XEUtils from 'xe-utils'
2
+ import GlobalConfig from '../v-x-e-table/src/conf'
3
+ import { warnLog, errLog } from '../tools/log'
4
+
5
+ let zindexIndex = 0
6
+ let lastZindex = 1
7
+
8
+ export function isEnableConf (conf) {
9
+ return conf && conf.enabled !== false
10
+ }
11
+
12
+ /**
13
+ * 判断值为:'' | null | undefined 时都属于空值
14
+ */
15
+ export function eqEmptyValue (cellValue) {
16
+ return cellValue === '' || XEUtils.eqNull(cellValue)
17
+ }
18
+
19
+ export function getFuncText (content) {
20
+ return XEUtils.isFunction(content) ? content() : (GlobalConfig.translate ? GlobalConfig.translate(content) : content)
21
+ }
22
+
23
+ // 行主键 key
24
+ export function getRowkey ($xetable) {
25
+ return $xetable.rowOpts.keyField || $xetable.rowId || '_X_ID'
26
+ }
27
+
28
+ // 获取所有的列,排除分组
29
+ export function getColumnList (columns) {
30
+ const result = []
31
+ columns.forEach(column => {
32
+ result.push(...(column.children && column.children.length ? getColumnList(column.children) : [column]))
33
+ })
34
+ return result
35
+ }
36
+
37
+ export const UtilTools = {
38
+ nextZIndex () {
39
+ lastZindex = GlobalConfig.zIndex + zindexIndex++
40
+ return lastZindex
41
+ },
42
+ getLastZIndex () {
43
+ return lastZindex
44
+ },
45
+ getRowkey,
46
+ // 行主键 value
47
+ getRowid ($xetable, row) {
48
+ const rowid = XEUtils.get(row, getRowkey($xetable))
49
+ return XEUtils.eqNull(rowid) ? '' : encodeURIComponent(rowid)
50
+ },
51
+ getColumnList,
52
+ getClass (property, params) {
53
+ return property ? XEUtils.isFunction(property) ? property(params) : property : ''
54
+ },
55
+ formatText (value, placeholder) {
56
+ return '' + (value === '' || value === null || value === undefined ? (placeholder ? GlobalConfig.emptyCell : '') : value)
57
+ },
58
+ getCellValue (row, column) {
59
+ return XEUtils.get(row, column.property)
60
+ },
61
+ setCellValue (row, column, value) {
62
+ return XEUtils.set(row, column.property, value)
63
+ },
64
+ // 组装列配置
65
+ assemColumn (_vm) {
66
+ const { $el, $xetable, $xecolumn, columnConfig } = _vm
67
+ const groupConfig = $xecolumn ? $xecolumn.columnConfig : null
68
+ columnConfig.slots = _vm.$scopedSlots
69
+ if (groupConfig) {
70
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
71
+ if ($xecolumn.$options._componentTag === 'vxe-table-column') {
72
+ errLog('vxe.error.groupTag', [`<vxe-table-colgroup title=${$xecolumn.title} ...>`, `<vxe-table-column title=${$xecolumn.title} ...>`])
73
+ } else if ($xecolumn.$options._componentTag === 'vxe-column') {
74
+ warnLog('vxe.error.groupTag', [`<vxe-colgroup title=${$xecolumn.title} ...>`, `<vxe-column title=${$xecolumn.title} ...>`])
75
+ }
76
+ }
77
+ if (!groupConfig.children) {
78
+ groupConfig.children = []
79
+ }
80
+ groupConfig.children.splice([].indexOf.call($xecolumn.$el.children, $el), 0, columnConfig)
81
+ } else {
82
+ $xetable.staticColumns.splice([].indexOf.call($xetable.$refs.hideColumn.children, $el), 0, columnConfig)
83
+ }
84
+ },
85
+ // 销毁列
86
+ destroyColumn (_vm) {
87
+ const { $xetable, columnConfig } = _vm
88
+ const matchObj = XEUtils.findTree($xetable.staticColumns, column => column === columnConfig)
89
+ if (matchObj) {
90
+ matchObj.items.splice(matchObj.index, 1)
91
+ }
92
+ },
93
+ hasChildrenList (item) {
94
+ return item && item.children && item.children.length > 0
95
+ },
96
+ parseFile (file) {
97
+ const name = file.name
98
+ const tIndex = XEUtils.lastIndexOf(name, '.')
99
+ const type = name.substring(tIndex + 1, name.length)
100
+ const filename = name.substring(0, tIndex)
101
+ return { filename, type }
102
+ },
103
+ isNumVal (num) {
104
+ return !isNaN(parseFloat('' + num))
105
+ }
106
+ }
107
+
108
+ export default UtilTools
@@ -1,7 +1,8 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf'
3
3
  import vSize from '../../mixins/size'
4
- import { UtilTools, DomTools } from '../../tools'
4
+ import UtilTools from '../../tools/utils'
5
+ import DomTools from '../../tools/dom'
5
6
 
6
7
  function updateTipStyle (_vm) {
7
8
  const { $el: wrapperElem, tipTarget, tipStore } = _vm
@@ -6,7 +6,8 @@ import { commands } from './src/commands'
6
6
  import { menus } from './src/menus'
7
7
  import { formats } from './src/formats'
8
8
  import { setup } from './src/setup'
9
- import { UtilTools } from '../tools'
9
+ import { UtilTools } from '../tools/utils'
10
+ import { errLog } from '../tools/log'
10
11
 
11
12
  const installedPlugins = []
12
13
 
@@ -29,7 +30,7 @@ function reg (key) {
29
30
  // 检测安装顺序是否正确
30
31
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
31
32
  if (VXETable.Table) {
32
- UtilTools.error('vxe.error.useErr', [key])
33
+ errLog('vxe.error.useErr', [key])
33
34
  }
34
35
  }
35
36
  VXETable[`_${key}`] = 1
@@ -88,6 +89,7 @@ export const v = 'v3'
88
89
 
89
90
  export const VXETable = {
90
91
  v,
92
+ version: process.env.VUE_APP_VXE_TABLE_VERSION,
91
93
  reg,
92
94
  use,
93
95
  setup,
@@ -26,6 +26,9 @@ export default {
26
26
  // emptyRender: {
27
27
  // name: ''
28
28
  // },
29
+ // rowConfig: {
30
+ // keyField: '_X_ID' // 行数据的唯一主键字段名
31
+ // },
29
32
  radioConfig: {
30
33
  // trigger: 'default'
31
34
  strict: true
@@ -49,7 +52,6 @@ export default {
49
52
  // storage: false,
50
53
  // checkMethod () {}
51
54
  // },
52
- // rowId: '_X_ID', // 行数据的唯一主键字段名
53
55
  sortConfig: {
54
56
  // remote: false,
55
57
  // trigger: 'default',
@@ -1,5 +1,5 @@
1
- import { UtilTools } from '../../tools'
2
1
  import XEUtils from 'xe-utils'
2
+ import { warnLog } from '../../tools/log'
3
3
 
4
4
  function toType (type) {
5
5
  return XEUtils.toValueString(type).replace('_', '').toLowerCase()
@@ -22,7 +22,7 @@ export const interceptor = {
22
22
  // 检测类型
23
23
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
24
24
  if (eventTypes.indexOf(type) === -1) {
25
- UtilTools.warn('vxe.error.errProp', [`Interceptor.${type}`, eventTypes.join('|')])
25
+ warnLog('vxe.error.errProp', [`Interceptor.${type}`, eventTypes.join('|')])
26
26
  }
27
27
  }
28
28
 
@@ -35,7 +35,7 @@ export const interceptor = {
35
35
  // 检测重复
36
36
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
37
37
  if (eList.indexOf(callback) > -1) {
38
- UtilTools.warn('vxe.error.coverProp', ['Interceptor', type])
38
+ warnLog('vxe.error.coverProp', ['Interceptor', type])
39
39
  }
40
40
  }
41
41
 
@@ -1,6 +1,7 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf'
3
- import { UtilTools } from '../../tools'
3
+ import UtilTools, { getFuncText } from '../../tools/utils'
4
+ import { warnLog } from '../../tools/log'
4
5
 
5
6
  const defaultCompProps = { transfer: true }
6
7
 
@@ -92,7 +93,7 @@ function getCellLabelVNs (h, renderOpts, params, cellLabel) {
92
93
  }, placeholder && isEmptyValue(cellLabel) ? [
93
94
  h('span', {
94
95
  class: 'vxe-cell--placeholder'
95
- }, UtilTools.formatText(UtilTools.getFuncText(placeholder), 1))
96
+ }, UtilTools.formatText(getFuncText(placeholder), 1))
96
97
  ] : UtilTools.formatText(cellLabel, 1))
97
98
  ]
98
99
  }
@@ -672,7 +673,7 @@ export const renderer = {
672
673
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
673
674
  XEUtils.each(options, (val, key) => {
674
675
  if (!XEUtils.eqNull(renders[key]) && renders[key] !== val) {
675
- UtilTools.warn('vxe.error.coverProp', [`Renderer.${name}`, key])
676
+ warnLog('vxe.error.coverProp', [`Renderer.${name}`, key])
676
677
  }
677
678
  })
678
679
  }
@@ -1,5 +1,5 @@
1
- import { UtilTools } from '../../tools'
2
1
  import XEUtils from 'xe-utils'
2
+ import { warnLog } from '../../tools/log'
3
3
 
4
4
  /**
5
5
  * 创建数据仓库
@@ -22,7 +22,7 @@ class Store {
22
22
  // 检测是否覆盖
23
23
  if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
24
24
  if (!XEUtils.eqNull(this.store[name]) && this.store[name] !== render) {
25
- UtilTools.warn('vxe.error.coverProp', [this._name, name])
25
+ warnLog('vxe.error.coverProp', [this._name, name])
26
26
  }
27
27
  }
28
28
  this.store[name] = render
@@ -1,7 +1,7 @@
1
1
  import XEUtils from 'xe-utils'
2
2
  import GlobalConfig from '../../v-x-e-table/src/conf'
3
- import { UtilTools, DomTools } from '../../tools'
4
- import { eqEmptyValue } from '../../tools/src/utils'
3
+ import { eqEmptyValue, getFuncText } from '../../tools/utils'
4
+ import DomTools from '../../tools/dom'
5
5
 
6
6
  /**
7
7
  * 校验规则
@@ -26,7 +26,7 @@ class Rule {
26
26
  * 支持国际化翻译
27
27
  */
28
28
  get content () {
29
- return UtilTools.getFuncText(this.$options.content || this.$options.message)
29
+ return getFuncText(this.$options.content || this.$options.message)
30
30
  }
31
31
 
32
32
  get message () {
@@ -38,7 +38,15 @@ export type VXETableVersion = 'v1' | 'v2' | 'v3' | 'v4'
38
38
  export const v: VXETableVersion
39
39
 
40
40
  export interface VXETableCore {
41
+ /**
42
+ * 已被 version 替换
43
+ * @deprecated
44
+ */
41
45
  v: VXETableVersion;
46
+ /**
47
+ * 版本号
48
+ */
49
+ version: string;
42
50
  /**
43
51
  * 设置全局参数/获取所有参数
44
52
  */