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.
- package/README.md +1 -1
- package/lib/button/src/button.js +19 -9
- package/lib/button/src/button.min.js +1 -1
- package/lib/checkbox/src/checkbox.js +2 -2
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/edit/src/mixin.js +26 -18
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/export/src/export-panel.js +2 -2
- package/lib/export/src/export-panel.min.js +1 -1
- package/lib/export/src/import-panel.js +2 -2
- package/lib/export/src/import-panel.min.js +1 -1
- package/lib/export/src/mixin.js +26 -24
- package/lib/export/src/mixin.min.js +1 -1
- package/lib/filter/src/mixin.js +4 -4
- package/lib/filter/src/mixin.min.js +1 -1
- package/lib/filter/src/panel.js +2 -2
- package/lib/filter/src/panel.min.js +1 -1
- package/lib/footer/src/footer.js +7 -4
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form-gather.js +2 -2
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +3 -3
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +17 -11
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +5 -5
- package/lib/form/src/render.min.js +1 -1
- package/lib/form/src/util.js +2 -2
- package/lib/form/src/util.min.js +1 -1
- package/lib/grid/src/grid.js +44 -34
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/header/src/header.js +10 -8
- package/lib/header/src/header.min.js +1 -1
- package/lib/index.umd.js +1963 -1083
- package/lib/index.umd.min.js +1 -2
- package/lib/input/src/input.js +30 -18
- package/lib/input/src/input.min.js +1 -1
- package/lib/keyboard/src/mixin.js +12 -8
- package/lib/keyboard/src/mixin.min.js +1 -1
- package/lib/list/src/list.js +7 -5
- package/lib/list/src/list.min.js +1 -1
- package/lib/menu/src/mixin.js +24 -14
- package/lib/menu/src/mixin.min.js +1 -1
- package/lib/menu/src/panel.js +3 -3
- package/lib/menu/src/panel.min.js +1 -1
- package/lib/modal/src/modal.js +24 -12
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +16 -12
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/radio/src/button.js +2 -2
- package/lib/radio/src/button.min.js +1 -1
- package/lib/radio/src/radio.js +2 -2
- package/lib/radio/src/radio.min.js +1 -1
- package/lib/select/src/select.js +26 -16
- package/lib/select/src/select.min.js +1 -1
- package/lib/switch/src/switch.js +4 -4
- package/lib/switch/src/switch.min.js +1 -1
- package/lib/table/src/body.js +34 -33
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +19 -11
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +3 -3
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +201 -0
- package/lib/table/src/columnInfo.min.js +1 -0
- package/lib/table/src/methods.js +85 -85
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +80 -62
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +38 -3
- package/lib/table/src/util.min.js +1 -1
- package/lib/textarea/src/textarea.js +2 -2
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +16 -10
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/tools/{src/dom.js → dom.js} +0 -0
- package/lib/tools/{src/dom.min.js → dom.min.js} +0 -0
- package/lib/tools/{src/event.js → event.js} +3 -6
- package/lib/tools/event.min.js +1 -0
- package/lib/tools/log.js +29 -0
- package/lib/tools/log.min.js +1 -0
- package/lib/tools/{src/resize.js → resize.js} +1 -1
- package/lib/tools/resize.min.js +1 -0
- package/lib/tools/utils.js +155 -0
- package/lib/tools/utils.min.js +1 -0
- package/lib/tooltip/src/tooltip.js +8 -6
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/v-x-e-table/index.js +7 -4
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +3 -1
- package/lib/v-x-e-table/src/interceptor.js +4 -4
- package/lib/v-x-e-table/src/interceptor.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +18 -10
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/v-x-e-table/src/store.js +3 -3
- package/lib/v-x-e-table/src/store.min.js +1 -1
- package/lib/validator/src/mixin.js +4 -4
- package/lib/validator/src/mixin.min.js +1 -1
- package/package.json +1 -1
- package/packages/button/src/button.js +4 -2
- package/packages/checkbox/src/checkbox.js +2 -2
- package/packages/edit/src/mixin.js +7 -6
- package/packages/export/src/export-panel.js +1 -1
- package/packages/export/src/import-panel.js +1 -1
- package/packages/export/src/mixin.js +20 -19
- package/packages/filter/src/mixin.js +3 -3
- package/packages/filter/src/panel.js +1 -1
- package/packages/footer/src/footer.js +4 -2
- package/packages/form/src/form-gather.js +2 -2
- package/packages/form/src/form-item.js +2 -2
- package/packages/form/src/form.js +7 -7
- package/packages/form/src/render.js +4 -4
- package/packages/form/src/util.js +2 -2
- package/packages/grid/src/grid.js +22 -20
- package/packages/header/src/header.js +3 -2
- package/packages/input/src/input.js +6 -3
- package/packages/keyboard/src/mixin.js +1 -2
- package/packages/list/src/list.js +3 -2
- package/packages/menu/src/mixin.js +5 -3
- package/packages/menu/src/panel.js +3 -3
- package/packages/modal/src/modal.js +7 -4
- package/packages/pulldown/src/pulldown.js +3 -1
- package/packages/radio/src/button.js +2 -2
- package/packages/radio/src/radio.js +2 -2
- package/packages/select/src/select.js +5 -3
- package/packages/switch/src/switch.js +4 -4
- package/packages/table/src/body.js +23 -22
- package/packages/table/src/cell.js +5 -4
- package/packages/table/src/column.js +1 -1
- package/packages/table/src/columnInfo.js +148 -0
- package/packages/table/src/methods.js +50 -50
- package/packages/table/src/table.js +56 -41
- package/packages/table/src/util.js +19 -1
- package/packages/textarea/src/textarea.js +2 -2
- package/packages/toolbar/src/toolbar.js +7 -4
- package/packages/tools/{src/dom.js → dom.js} +0 -0
- package/packages/tools/{src/event.js → event.js} +1 -3
- package/packages/tools/log.js +16 -0
- package/packages/tools/{src/resize.js → resize.js} +1 -1
- package/packages/tools/utils.js +108 -0
- package/packages/tooltip/src/tooltip.js +2 -1
- package/packages/v-x-e-table/index.js +4 -2
- package/packages/v-x-e-table/src/conf.js +3 -1
- package/packages/v-x-e-table/src/interceptor.js +3 -3
- package/packages/v-x-e-table/src/renderer.js +4 -3
- package/packages/v-x-e-table/src/store.js +2 -2
- package/packages/validator/src/mixin.js +3 -3
- package/types/v-x-e-table/index.d.ts +8 -0
- package/lib/tools/index.js +0 -76
- package/lib/tools/index.min.js +0 -1
- package/lib/tools/src/event.min.js +0 -1
- package/lib/tools/src/resize.min.js +0 -1
- package/lib/tools/src/utils.js +0 -365
- package/lib/tools/src/utils.min.js +0 -1
- package/packages/tools/index.js +0 -14
- 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 {
|
|
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 =
|
|
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
|
-
|
|
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 (
|
|
754
|
-
|
|
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
|
-
|
|
772
|
+
warnLog('vxe.error.reqProp', ['keep-source'])
|
|
758
773
|
}
|
|
759
|
-
if (treeConfig && treeOpts.line && (!this.rowKey || !showOverflow)) {
|
|
760
|
-
|
|
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
|
-
|
|
778
|
+
warnLog('vxe.error.reqProp', ['footer-method'])
|
|
764
779
|
}
|
|
765
780
|
if (treeConfig && this.stripe) {
|
|
766
|
-
|
|
781
|
+
warnLog('vxe.error.noTree', ['stripe'])
|
|
767
782
|
}
|
|
768
783
|
if (this.tooltipOpts.enabled) {
|
|
769
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
799
|
+
errLog('vxe.error.reqProp', ['id'])
|
|
785
800
|
}
|
|
786
801
|
if (this.treeConfig && this.checkboxOpts.range) {
|
|
787
|
-
|
|
802
|
+
errLog('vxe.error.noTree', ['checkbox-config.range'])
|
|
788
803
|
}
|
|
789
804
|
if (this.rowOpts.height && !this.showOverflow) {
|
|
790
|
-
|
|
805
|
+
warnLog('vxe.error.notProp', ['table.show-overflow'])
|
|
791
806
|
}
|
|
792
807
|
if (!this.handleUpdateCellAreas) {
|
|
793
808
|
if (this.clipConfig) {
|
|
794
|
-
|
|
809
|
+
warnLog('vxe.error.notProp', ['clip-config'])
|
|
795
810
|
}
|
|
796
811
|
if (this.fnrConfig) {
|
|
797
|
-
|
|
812
|
+
warnLog('vxe.error.notProp', ['fnr-config'])
|
|
798
813
|
}
|
|
799
814
|
if (this.mouseOpts.area) {
|
|
800
|
-
|
|
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
|
-
|
|
820
|
+
warnLog('vxe.error.errConflicts', ['mouse-config.area', 'mouse-config.selected'])
|
|
806
821
|
}
|
|
807
822
|
if (this.mouseOpts.area && this.checkboxOpts.range) {
|
|
808
|
-
|
|
823
|
+
warnLog('vxe.error.errConflicts', ['mouse-config.area', 'checkbox-config.range'])
|
|
809
824
|
}
|
|
810
825
|
if (this.treeConfig && this.mouseOpts.area) {
|
|
811
|
-
|
|
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
|
-
|
|
834
|
+
warnLog('vxe.error.delProp', ['context-menu', 'menu-config'])
|
|
820
835
|
if (!XEUtils.isObject(this.contextMenu)) {
|
|
821
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
868
|
+
errLog('vxe.error.reqModule', ['Edit'])
|
|
854
869
|
}
|
|
855
870
|
if (this.editRules && !this._validate) {
|
|
856
|
-
|
|
871
|
+
errLog('vxe.error.reqModule', ['Validator'])
|
|
857
872
|
}
|
|
858
873
|
if ((this.checkboxOpts.range || this.keyboardConfig || this.mouseConfig) && !this.triggerCellMousedownEvent) {
|
|
859
|
-
|
|
874
|
+
errLog('vxe.error.reqModule', ['Keyboard'])
|
|
860
875
|
}
|
|
861
876
|
if ((this.printConfig || this.importConfig || this.exportConfig) && !this._exportData) {
|
|
862
|
-
|
|
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
|
-
|
|
916
|
+
warnLog('vxe.error.reqProp', ['menu-config'])
|
|
902
917
|
}
|
|
903
918
|
if (!this.tooltipConfig && ($listeners['cell-mouseenter'] || $listeners['cell-mouseleave'])) {
|
|
904
|
-
|
|
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 {
|
|
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 {
|
|
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 =
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 '
|
|
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')
|
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
4
|
-
import
|
|
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
|
|
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
|
*/
|