vxe-table 4.0.30 → 4.1.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.
- package/README.md +1 -0
- package/README.zh-TW.md +1 -0
- package/es/button/style.css +2 -2
- package/es/checkbox/style.css +1 -1
- package/es/edit/src/hook.js +2 -2
- package/es/export/src/hook.js +24 -0
- package/es/export/src/util.js +20 -8
- package/es/export/style.css +1 -1
- package/es/filter/src/hook.js +2 -2
- package/es/filter/style.css +2 -2
- package/es/footer/src/footer.js +4 -4
- package/es/form/src/form.js +13 -6
- package/es/form/src/render.js +4 -4
- package/es/grid/src/grid.js +48 -1
- package/es/header/src/header.js +7 -5
- package/es/header/style.css +3 -10
- package/es/input/style.css +4 -4
- package/es/menu/style.css +1 -1
- package/es/modal/style.css +1 -1
- package/es/pager/style.css +2 -2
- package/es/radio/style.css +1 -1
- package/es/select/src/select.js +5 -5
- package/es/select/style.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +18 -14
- package/es/table/src/emits.js +1 -0
- package/es/table/src/props.js +4 -1
- package/es/table/src/table.js +219 -89
- package/es/table/style.css +15 -12
- package/es/toolbar/style.css +1 -1
- package/es/v-x-e-table/src/conf.js +2 -1
- package/es/v-x-e-table/src/renderer.js +4 -4
- package/es/validator/src/hook.js +12 -5
- package/helper/vetur/attributes.json +16 -204
- package/helper/vetur/tags.json +3 -65
- package/lib/button/style/style.css +2 -2
- package/lib/button/style/style.min.css +1 -1
- package/lib/checkbox/style/style.css +1 -1
- package/lib/checkbox/style/style.min.css +1 -1
- package/lib/edit/src/hook.js +2 -2
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/src/hook.js +28 -0
- package/lib/export/src/hook.min.js +1 -1
- package/lib/export/src/util.js +21 -7
- package/lib/export/src/util.min.js +1 -1
- package/lib/export/style/style.css +1 -1
- package/lib/export/style/style.min.css +1 -1
- package/lib/filter/src/hook.js +8 -2
- package/lib/filter/src/hook.min.js +1 -1
- package/lib/filter/style/style.css +2 -2
- package/lib/filter/style/style.min.css +1 -1
- package/lib/footer/src/footer.js +4 -4
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form.js +23 -6
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +4 -4
- package/lib/form/src/render.min.js +1 -1
- package/lib/grid/src/grid.js +56 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/header/src/header.js +7 -5
- package/lib/header/src/header.min.js +1 -1
- package/lib/header/style/style.css +3 -10
- package/lib/header/style/style.min.css +1 -1
- package/lib/index.umd.js +561 -186
- package/lib/index.umd.min.js +1 -1
- package/lib/input/style/style.css +4 -4
- package/lib/input/style/style.min.css +1 -1
- package/lib/menu/style/style.css +1 -1
- package/lib/menu/style/style.min.css +1 -1
- package/lib/modal/style/style.css +1 -1
- package/lib/modal/style/style.min.css +1 -1
- package/lib/pager/style/style.css +2 -2
- package/lib/pager/style/style.min.css +1 -1
- package/lib/radio/style/style.css +1 -1
- package/lib/radio/style/style.min.css +1 -1
- package/lib/select/src/select.js +5 -5
- package/lib/select/style/style.css +1 -1
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +18 -14
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/props.js +4 -1
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +288 -120
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +15 -12
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/style/style.css +1 -1
- package/lib/toolbar/style/style.min.css +1 -1
- package/lib/v-x-e-table/src/conf.js +2 -1
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +4 -4
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/validator/src/hook.js +12 -5
- package/lib/validator/src/hook.min.js +1 -1
- package/package.json +4 -4
- package/packages/edit/src/hook.ts +2 -2
- package/packages/export/src/hook.ts +24 -0
- package/packages/export/src/util.ts +17 -5
- package/packages/filter/src/hook.ts +2 -2
- package/packages/footer/src/footer.ts +4 -4
- package/packages/form/src/form.ts +10 -6
- package/packages/form/src/render.ts +4 -4
- package/packages/grid/src/grid.ts +48 -1
- package/packages/header/src/header.ts +7 -5
- package/packages/select/src/select.ts +5 -5
- package/packages/table/src/body.ts +18 -14
- package/packages/table/src/emits.ts +1 -0
- package/packages/table/src/props.ts +4 -1
- package/packages/table/src/table.ts +222 -88
- package/packages/v-x-e-table/src/conf.ts +2 -1
- package/packages/v-x-e-table/src/renderer.ts +4 -4
- package/packages/validator/src/hook.ts +9 -5
- package/styles/header.scss +9 -12
- package/styles/table.scss +9 -3
- package/styles/variable.scss +2 -2
- package/types/column.d.ts +5 -1
- package/types/form-item.d.ts +5 -1
- package/types/form.d.ts +5 -1
- package/types/grid.d.ts +4 -0
- package/types/modal.d.ts +4 -5
- package/types/table.d.ts +53 -11
- package/types/validator.d.ts +5 -1
package/README.md
CHANGED
package/README.zh-TW.md
CHANGED
package/es/button/style.css
CHANGED
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
background-color: rgba(255, 255, 255, 0.35);
|
|
62
62
|
pointer-events: none; }
|
|
63
63
|
.vxe-button.is--disabled {
|
|
64
|
-
color: #
|
|
64
|
+
color: #BFBFBF; }
|
|
65
65
|
.vxe-button.is--disabled .vxe-button--icon.vxe-icon--zoomin {
|
|
66
|
-
border-color: #
|
|
66
|
+
border-color: #BFBFBF; }
|
|
67
67
|
.vxe-button.is--disabled:not(.is--loading) {
|
|
68
68
|
cursor: no-drop; }
|
|
69
69
|
.vxe-button.type--text {
|
package/es/checkbox/style.css
CHANGED
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
.vxe-checkbox.is--disabled > input + .vxe-checkbox--icon:before {
|
|
256
256
|
border-color: #c0c4cc; }
|
|
257
257
|
.vxe-checkbox.is--disabled > input + .vxe-checkbox--icon + .vxe-checkbox--label {
|
|
258
|
-
color: #
|
|
258
|
+
color: #BFBFBF; }
|
|
259
259
|
.vxe-checkbox.is--disabled > input:checked + .vxe-checkbox--icon {
|
|
260
260
|
border-color: #dcdfe6;
|
|
261
261
|
background-color: #f3f3f3; }
|
package/es/edit/src/hook.js
CHANGED
|
@@ -141,7 +141,7 @@ var editHook = {
|
|
|
141
141
|
(_a = editStore.insertList).unshift.apply(_a, newRecords);
|
|
142
142
|
reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
|
|
143
143
|
$xetable.updateFooter();
|
|
144
|
-
$xetable.
|
|
144
|
+
$xetable.cacheRowMap();
|
|
145
145
|
$xetable.handleTableData();
|
|
146
146
|
$xetable.updateAfterDataIndex();
|
|
147
147
|
$xetable.checkSelectionStatus();
|
|
@@ -237,7 +237,7 @@ var editHook = {
|
|
|
237
237
|
});
|
|
238
238
|
reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
|
|
239
239
|
$xetable.updateFooter();
|
|
240
|
-
$xetable.
|
|
240
|
+
$xetable.cacheRowMap();
|
|
241
241
|
$xetable.handleTableData();
|
|
242
242
|
$xetable.updateAfterDataIndex();
|
|
243
243
|
$xetable.checkSelectionStatus();
|
package/es/export/src/hook.js
CHANGED
|
@@ -688,6 +688,12 @@ var tableExportHook = {
|
|
|
688
688
|
}
|
|
689
689
|
saveLocalFile({ filename: filename, type: type, content: content }).then(function () {
|
|
690
690
|
if (opts.message !== false) {
|
|
691
|
+
// 检测弹窗模块
|
|
692
|
+
if (process.env.NODE_ENV === 'development') {
|
|
693
|
+
if (!VXETable.modal) {
|
|
694
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
695
|
+
}
|
|
696
|
+
}
|
|
691
697
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.table.expSuccess'), status: 'success' });
|
|
692
698
|
}
|
|
693
699
|
});
|
|
@@ -754,6 +760,12 @@ var tableExportHook = {
|
|
|
754
760
|
loadRest = $xetable.reloadData(data);
|
|
755
761
|
}
|
|
756
762
|
if (opts.message !== false) {
|
|
763
|
+
// 检测弹窗模块
|
|
764
|
+
if (process.env.NODE_ENV === 'development') {
|
|
765
|
+
if (!VXETable.modal) {
|
|
766
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
767
|
+
}
|
|
768
|
+
}
|
|
757
769
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.table.impSuccess', [rows.length]), status: 'success' });
|
|
758
770
|
}
|
|
759
771
|
return loadRest.then(function () {
|
|
@@ -764,6 +776,12 @@ var tableExportHook = {
|
|
|
764
776
|
});
|
|
765
777
|
}
|
|
766
778
|
else if (opts.message !== false) {
|
|
779
|
+
// 检测弹窗模块
|
|
780
|
+
if (process.env.NODE_ENV === 'development') {
|
|
781
|
+
if (!VXETable.modal) {
|
|
782
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
783
|
+
}
|
|
784
|
+
}
|
|
767
785
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.error.impFields'), status: 'error' });
|
|
768
786
|
if (_importReject) {
|
|
769
787
|
_importReject({ status: false });
|
|
@@ -776,6 +794,12 @@ var tableExportHook = {
|
|
|
776
794
|
// 检查类型,如果为自定义导出,则不需要校验类型
|
|
777
795
|
if (!importMethod && !XEUtils.includes(VXETable.config.importTypes, type)) {
|
|
778
796
|
if (opts.message !== false) {
|
|
797
|
+
// 检测弹窗模块
|
|
798
|
+
if (process.env.NODE_ENV === 'development') {
|
|
799
|
+
if (!VXETable.modal) {
|
|
800
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
801
|
+
}
|
|
802
|
+
}
|
|
779
803
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.error.notType', [type]), status: 'error' });
|
|
780
804
|
}
|
|
781
805
|
var params = { status: false };
|
package/es/export/src/util.js
CHANGED
|
@@ -2,7 +2,7 @@ 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 { browse } from '../../tools/dom';
|
|
5
|
-
import { getLog, parseFile } from '../../tools/utils';
|
|
5
|
+
import { getLog, parseFile, errLog } from '../../tools/utils';
|
|
6
6
|
// 导入
|
|
7
7
|
var fileForm;
|
|
8
8
|
var fileInput;
|
|
@@ -74,6 +74,12 @@ export var readLocalFile = function (options) {
|
|
|
74
74
|
}
|
|
75
75
|
else {
|
|
76
76
|
if (opts.message !== false) {
|
|
77
|
+
// 检测弹窗模块
|
|
78
|
+
if (process.env.NODE_ENV === 'development') {
|
|
79
|
+
if (!VXETable.modal) {
|
|
80
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
77
83
|
VXETable.modal.message({ content: GlobalConfig.i18n('vxe.error.notType', [errType]), status: 'error' });
|
|
78
84
|
}
|
|
79
85
|
var params = { status: false, files: files, file: file };
|
|
@@ -146,13 +152,19 @@ export var saveLocalFile = function (options) {
|
|
|
146
152
|
navigator.msSaveBlob(blob, name);
|
|
147
153
|
}
|
|
148
154
|
else {
|
|
149
|
-
var
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
155
|
+
var url_1 = URL.createObjectURL(blob);
|
|
156
|
+
var linkElem_1 = document.createElement('a');
|
|
157
|
+
linkElem_1.target = '_blank';
|
|
158
|
+
linkElem_1.download = name;
|
|
159
|
+
linkElem_1.href = url_1;
|
|
160
|
+
document.body.appendChild(linkElem_1);
|
|
161
|
+
linkElem_1.click();
|
|
162
|
+
requestAnimationFrame(function () {
|
|
163
|
+
if (linkElem_1.parentNode) {
|
|
164
|
+
linkElem_1.parentNode.removeChild(linkElem_1);
|
|
165
|
+
}
|
|
166
|
+
URL.revokeObjectURL(url_1);
|
|
167
|
+
});
|
|
156
168
|
}
|
|
157
169
|
return Promise.resolve();
|
|
158
170
|
}
|
package/es/export/style.css
CHANGED
package/es/filter/src/hook.js
CHANGED
|
@@ -91,7 +91,7 @@ var tableFilterHook = {
|
|
|
91
91
|
// 判断面板不能大于表格高度
|
|
92
92
|
var maxHeight = null;
|
|
93
93
|
if (filterHeight >= bodyElem.clientHeight) {
|
|
94
|
-
maxHeight = bodyElem.clientHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0);
|
|
94
|
+
maxHeight = Math.max(40, bodyElem.clientHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0));
|
|
95
95
|
}
|
|
96
96
|
if (column.fixed === 'left') {
|
|
97
97
|
left = targetElem_1.offsetLeft + targetElem_1.offsetParent.offsetLeft - centerWidth;
|
|
@@ -120,6 +120,7 @@ var tableFilterHook = {
|
|
|
120
120
|
filterStore.maxHeight = maxHeight;
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
|
+
$xetable.dispatchEvent('filter-visible', { column: column, property: column.property, filterList: $xetable.getCheckedFilters(), visible: filterStore.visible }, evnt);
|
|
123
124
|
},
|
|
124
125
|
handleClearFilter: function (column) {
|
|
125
126
|
if (column) {
|
|
@@ -158,7 +159,6 @@ var tableFilterHook = {
|
|
|
158
159
|
datas.push(item.data);
|
|
159
160
|
}
|
|
160
161
|
});
|
|
161
|
-
filterStore.visible = false;
|
|
162
162
|
var filterList = $xetable.getCheckedFilters();
|
|
163
163
|
// 如果是服务端筛选,则跳过本地筛选处理
|
|
164
164
|
if (!filterOpts.remote) {
|
package/es/filter/style.css
CHANGED
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
|
|
96
96
|
.is--disabled.vxe-table--filter-option {
|
|
97
97
|
cursor: not-allowed;
|
|
98
|
-
color: #
|
|
98
|
+
color: #BFBFBF; }
|
|
99
99
|
.is--disabled.vxe-table--filter-option .vxe-checkbox--icon:before {
|
|
100
100
|
border-color: #dcdfe6;
|
|
101
101
|
background-color: #f3f3f3; }
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
.vxe-table--filter-wrapper .vxe-table--filter-footer button:hover {
|
|
184
184
|
color: #409eff; }
|
|
185
185
|
.vxe-table--filter-wrapper .vxe-table--filter-footer button.is--disabled {
|
|
186
|
-
color: #
|
|
186
|
+
color: #BFBFBF;
|
|
187
187
|
cursor: not-allowed; }
|
|
188
188
|
|
|
189
189
|
.vxe-table--filter-option .vxe-checkbox--icon {
|
package/es/footer/src/footer.js
CHANGED
|
@@ -92,11 +92,11 @@ export default defineComponent({
|
|
|
92
92
|
var fixedType = props.fixedType, fixedColumn = props.fixedColumn, tableColumn = props.tableColumn, footerTableData = props.footerTableData;
|
|
93
93
|
var footerRowClassName = tableProps.footerRowClassName, footerCellClassName = tableProps.footerCellClassName, footerRowStyle = tableProps.footerRowStyle, footerCellStyle = tableProps.footerCellStyle, allFooterAlign = tableProps.footerAlign, footerSpanMethod = tableProps.footerSpanMethod, allAlign = tableProps.align, columnKey = tableProps.columnKey, allColumnFooterOverflow = tableProps.showFooterOverflow;
|
|
94
94
|
var visibleColumn = tableInternalData.visibleColumn;
|
|
95
|
-
var
|
|
95
|
+
var scrollYLoad = tableReactData.scrollYLoad, overflowX = tableReactData.overflowX, scrollbarWidth = tableReactData.scrollbarWidth, currentColumn = tableReactData.currentColumn, mergeFooterList = tableReactData.mergeFooterList;
|
|
96
96
|
var tooltipOpts = computeTooltipOpts.value;
|
|
97
97
|
// 如果是使用优化模式
|
|
98
98
|
if (fixedType) {
|
|
99
|
-
if (
|
|
99
|
+
if (scrollYLoad || allColumnFooterOverflow) {
|
|
100
100
|
if (!mergeFooterList.length || !footerSpanMethod) {
|
|
101
101
|
tableColumn = fixedColumn;
|
|
102
102
|
}
|
|
@@ -169,8 +169,8 @@ export default defineComponent({
|
|
|
169
169
|
var _columnIndex = $xetable.getVTColumnIndex(column);
|
|
170
170
|
var itemIndex = _columnIndex;
|
|
171
171
|
var params = { $table: $xetable, _rowIndex: _rowIndex, $rowIndex: $rowIndex, column: column, columnIndex: columnIndex, $columnIndex: $columnIndex, _columnIndex: _columnIndex, itemIndex: itemIndex, items: list, fixed: fixedType, type: renderType, data: footerTableData };
|
|
172
|
-
//
|
|
173
|
-
if (
|
|
172
|
+
// 纵向虚拟滚动不支持动态行高
|
|
173
|
+
if (scrollYLoad && !hasEllipsis) {
|
|
174
174
|
showEllipsis = hasEllipsis = true;
|
|
175
175
|
}
|
|
176
176
|
if (showTitle || showTooltip || showAllTip) {
|
package/es/form/src/form.js
CHANGED
|
@@ -32,9 +32,16 @@ var Rule = /** @class */ (function () {
|
|
|
32
32
|
maxWidth: rule.maxWidth
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
+
Object.defineProperty(Rule.prototype, "content", {
|
|
36
|
+
get: function () {
|
|
37
|
+
return getFuncText(this.$options.content || this.$options.message);
|
|
38
|
+
},
|
|
39
|
+
enumerable: false,
|
|
40
|
+
configurable: true
|
|
41
|
+
});
|
|
35
42
|
Object.defineProperty(Rule.prototype, "message", {
|
|
36
43
|
get: function () {
|
|
37
|
-
return
|
|
44
|
+
return this.content;
|
|
38
45
|
},
|
|
39
46
|
enumerable: false,
|
|
40
47
|
configurable: true
|
|
@@ -76,10 +83,10 @@ export default defineComponent({
|
|
|
76
83
|
loading: Boolean,
|
|
77
84
|
data: Object,
|
|
78
85
|
size: { type: String, default: function () { return GlobalConfig.form.size || GlobalConfig.size; } },
|
|
79
|
-
span: [String, Number],
|
|
86
|
+
span: { type: [String, Number], default: function () { return GlobalConfig.form.span; } },
|
|
80
87
|
align: { type: String, default: function () { return GlobalConfig.form.align; } },
|
|
81
88
|
titleAlign: { type: String, default: function () { return GlobalConfig.form.titleAlign; } },
|
|
82
|
-
titleWidth: [String, Number],
|
|
89
|
+
titleWidth: { type: [String, Number], default: function () { return GlobalConfig.form.titleWidth; } },
|
|
83
90
|
titleColon: { type: Boolean, default: function () { return GlobalConfig.form.titleColon; } },
|
|
84
91
|
titleAsterisk: { type: Boolean, default: function () { return GlobalConfig.form.titleAsterisk; } },
|
|
85
92
|
titleOverflow: { type: [Boolean, String], default: null },
|
|
@@ -311,12 +318,12 @@ export default defineComponent({
|
|
|
311
318
|
});
|
|
312
319
|
if (customValid) {
|
|
313
320
|
if (XEUtils.isError(customValid)) {
|
|
314
|
-
errorRules.push(new Rule({ type: 'custom', trigger: trigger,
|
|
321
|
+
errorRules.push(new Rule({ type: 'custom', trigger: trigger, content: customValid.message, rule: new Rule(rule) }));
|
|
315
322
|
}
|
|
316
323
|
else if (customValid.catch) {
|
|
317
324
|
// 如果为异步校验(注:异步校验是并发无序的)
|
|
318
325
|
syncVailds.push(customValid.catch(function (e) {
|
|
319
|
-
errorRules.push(new Rule({ type: 'custom', trigger: trigger,
|
|
326
|
+
errorRules.push(new Rule({ type: 'custom', trigger: trigger, content: e ? e.message : (rule.content || rule.message), rule: new Rule(rule) }));
|
|
320
327
|
}));
|
|
321
328
|
}
|
|
322
329
|
}
|
|
@@ -558,7 +565,7 @@ export default defineComponent({
|
|
|
558
565
|
style: errRule.maxWidth ? {
|
|
559
566
|
width: errRule.maxWidth + "px"
|
|
560
567
|
} : null
|
|
561
|
-
}, errRule.
|
|
568
|
+
}, errRule.content));
|
|
562
569
|
}
|
|
563
570
|
var ons = showTooltip ? {
|
|
564
571
|
onMouseenter: function (evnt) {
|
package/es/form/src/render.js
CHANGED
|
@@ -29,9 +29,9 @@ export function renderTitle($xeform, item) {
|
|
|
29
29
|
var contVNs = [];
|
|
30
30
|
var titVNs = [];
|
|
31
31
|
if (titlePrefix) {
|
|
32
|
-
titVNs.push(titlePrefix.message
|
|
32
|
+
titVNs.push((titlePrefix.content || titlePrefix.message)
|
|
33
33
|
? h(resolveComponent('vxe-tooltip'), {
|
|
34
|
-
content: getFuncText(titlePrefix.message),
|
|
34
|
+
content: getFuncText(titlePrefix.content || titlePrefix.message),
|
|
35
35
|
enterable: titlePrefix.enterable,
|
|
36
36
|
theme: titlePrefix.theme
|
|
37
37
|
}, {
|
|
@@ -47,9 +47,9 @@ export function renderTitle($xeform, item) {
|
|
|
47
47
|
}, titVNs));
|
|
48
48
|
var fixVNs = [];
|
|
49
49
|
if (titleSuffix) {
|
|
50
|
-
fixVNs.push(titleSuffix.message
|
|
50
|
+
fixVNs.push((titleSuffix.content || titleSuffix.message)
|
|
51
51
|
? h(resolveComponent('vxe-tooltip'), {
|
|
52
|
-
content: getFuncText(titleSuffix.message),
|
|
52
|
+
content: getFuncText(titleSuffix.content || titleSuffix.message),
|
|
53
53
|
enterable: titleSuffix.enterable,
|
|
54
54
|
theme: titleSuffix.theme
|
|
55
55
|
}, {
|
package/es/grid/src/grid.js
CHANGED
|
@@ -25,7 +25,7 @@ import tableComponentEmits from '../../table/src/emits';
|
|
|
25
25
|
import { useSize } from '../../hooks/size';
|
|
26
26
|
import { GlobalEvent, hasEventKey, EVENT_KEYS } from '../../tools/event';
|
|
27
27
|
var tableComponentPropKeys = Object.keys(tableComponentProps);
|
|
28
|
-
var tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'createData', 'createRow', 'revertData', 'clearData', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getData', 'getCheckboxRecords', 'getRowById', 'getRowid', 'getTableData', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'isCheckedByCheckboxRow', 'isIndeterminateByCheckboxRow', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'setRadioRow', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'sort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadExpandContent', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'focus', 'blur', 'connect'];
|
|
28
|
+
var tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'createData', 'createRow', 'revertData', 'clearData', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getData', 'getCheckboxRecords', 'getRowById', 'getRowid', 'getTableData', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'isCheckedByCheckboxRow', 'isIndeterminateByCheckboxRow', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'setRadioRow', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'sort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'lazyExpandContent', 'reloadExpandContent', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'lazyTreeChildren', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'focus', 'blur', 'connect'];
|
|
29
29
|
var gridComponentEmits = __spreadArray(__spreadArray([], tableComponentEmits), [
|
|
30
30
|
'page-change',
|
|
31
31
|
'form-submit',
|
|
@@ -244,6 +244,12 @@ export default defineComponent({
|
|
|
244
244
|
}
|
|
245
245
|
else {
|
|
246
246
|
if (isMsg) {
|
|
247
|
+
// 检测弹窗模块
|
|
248
|
+
if (process.env.NODE_ENV === 'development') {
|
|
249
|
+
if (!VXETable.modal) {
|
|
250
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
247
253
|
VXETable.modal.message({ id: code, content: GlobalConfig.i18n('vxe.grid.selectOneRecord'), status: 'warning' });
|
|
248
254
|
}
|
|
249
255
|
}
|
|
@@ -269,6 +275,12 @@ export default defineComponent({
|
|
|
269
275
|
});
|
|
270
276
|
}
|
|
271
277
|
else {
|
|
278
|
+
// 检测弹窗模块
|
|
279
|
+
if (process.env.NODE_ENV === 'development') {
|
|
280
|
+
if (!VXETable.modal) {
|
|
281
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
272
284
|
VXETable.modal.message({ id: "msg_" + code, content: GlobalConfig.i18n('vxe.grid.selectOneRecord'), status: 'warning' });
|
|
273
285
|
}
|
|
274
286
|
}
|
|
@@ -761,6 +773,12 @@ export default defineComponent({
|
|
|
761
773
|
reactData.tableLoading = false;
|
|
762
774
|
reactData.pendingRecords = reactData.pendingRecords.filter(function (row) { return $xetable.findRowIndexOf(removeRecords_1, row) === -1; });
|
|
763
775
|
if (isMsg) {
|
|
776
|
+
// 检测弹窗模块
|
|
777
|
+
if (process.env.NODE_ENV === 'development') {
|
|
778
|
+
if (!VXETable.modal) {
|
|
779
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
780
|
+
}
|
|
781
|
+
}
|
|
764
782
|
VXETable.modal.message({ content: getRespMsg(rest, 'vxe.grid.delSuccess'), status: 'success' });
|
|
765
783
|
}
|
|
766
784
|
if (afterDelete) {
|
|
@@ -773,6 +791,11 @@ export default defineComponent({
|
|
|
773
791
|
.catch(function (rest) {
|
|
774
792
|
reactData.tableLoading = false;
|
|
775
793
|
if (isMsg) {
|
|
794
|
+
if (process.env.NODE_ENV === 'development') {
|
|
795
|
+
if (!VXETable.modal.message) {
|
|
796
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
797
|
+
}
|
|
798
|
+
}
|
|
776
799
|
VXETable.modal.message({ id: code, content: getRespMsg(rest, 'vxe.grid.operError'), status: 'error' });
|
|
777
800
|
}
|
|
778
801
|
});
|
|
@@ -780,6 +803,12 @@ export default defineComponent({
|
|
|
780
803
|
}
|
|
781
804
|
else {
|
|
782
805
|
if (isMsg) {
|
|
806
|
+
// 检测弹窗模块
|
|
807
|
+
if (process.env.NODE_ENV === 'development') {
|
|
808
|
+
if (!VXETable.modal) {
|
|
809
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
783
812
|
VXETable.modal.message({ id: code, content: GlobalConfig.i18n('vxe.grid.selectOneRecord'), status: 'warning' });
|
|
784
813
|
}
|
|
785
814
|
}
|
|
@@ -814,6 +843,12 @@ export default defineComponent({
|
|
|
814
843
|
reactData.tableLoading = false;
|
|
815
844
|
reactData.pendingRecords = [];
|
|
816
845
|
if (isMsg) {
|
|
846
|
+
// 检测弹窗模块
|
|
847
|
+
if (process.env.NODE_ENV === 'development') {
|
|
848
|
+
if (!VXETable.modal) {
|
|
849
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
850
|
+
}
|
|
851
|
+
}
|
|
817
852
|
VXETable.modal.message({ content: getRespMsg(rest, 'vxe.grid.saveSuccess'), status: 'success' });
|
|
818
853
|
}
|
|
819
854
|
if (afterSave) {
|
|
@@ -826,12 +861,24 @@ export default defineComponent({
|
|
|
826
861
|
.catch(function (rest) {
|
|
827
862
|
reactData.tableLoading = false;
|
|
828
863
|
if (isMsg) {
|
|
864
|
+
// 检测弹窗模块
|
|
865
|
+
if (process.env.NODE_ENV === 'development') {
|
|
866
|
+
if (!VXETable.modal) {
|
|
867
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
868
|
+
}
|
|
869
|
+
}
|
|
829
870
|
VXETable.modal.message({ id: code, content: getRespMsg(rest, 'vxe.grid.operError'), status: 'error' });
|
|
830
871
|
}
|
|
831
872
|
});
|
|
832
873
|
}
|
|
833
874
|
else {
|
|
834
875
|
if (isMsg) {
|
|
876
|
+
// 检测弹窗模块
|
|
877
|
+
if (process.env.NODE_ENV === 'development') {
|
|
878
|
+
if (!VXETable.modal) {
|
|
879
|
+
errLog('vxe.error.reqModule', ['Modal']);
|
|
880
|
+
}
|
|
881
|
+
}
|
|
835
882
|
VXETable.modal.message({ id: code, content: GlobalConfig.i18n('vxe.grid.dataUnchanged'), status: 'info' });
|
|
836
883
|
}
|
|
837
884
|
}
|
package/es/header/src/header.js
CHANGED
|
@@ -28,6 +28,7 @@ export default defineComponent({
|
|
|
28
28
|
var $xetable = inject('$xetable', {});
|
|
29
29
|
var xID = $xetable.xID, tableProps = $xetable.props, tableReactData = $xetable.reactData, tableInternalData = $xetable.internalData;
|
|
30
30
|
var _a = $xetable.getRefMaps(), tableRefElem = _a.refElem, refTableBody = _a.refTableBody, refLeftContainer = _a.refLeftContainer, refRightContainer = _a.refRightContainer, refCellResizeBar = _a.refCellResizeBar;
|
|
31
|
+
var computeColumnOpts = $xetable.getComputeMaps().computeColumnOpts;
|
|
31
32
|
var headerColumn = ref([]);
|
|
32
33
|
var refElem = ref();
|
|
33
34
|
var refHeaderTable = ref();
|
|
@@ -145,12 +146,13 @@ export default defineComponent({
|
|
|
145
146
|
var renderVN = function () {
|
|
146
147
|
var fixedType = props.fixedType, fixedColumn = props.fixedColumn, tableColumn = props.tableColumn;
|
|
147
148
|
var resizable = tableProps.resizable, border = tableProps.border, columnKey = tableProps.columnKey, headerRowClassName = tableProps.headerRowClassName, headerCellClassName = tableProps.headerCellClassName, headerRowStyle = tableProps.headerRowStyle, headerCellStyle = tableProps.headerCellStyle, allColumnHeaderOverflow = tableProps.showHeaderOverflow, allHeaderAlign = tableProps.headerAlign, allAlign = tableProps.align, mouseConfig = tableProps.mouseConfig;
|
|
148
|
-
var isGroup = tableReactData.isGroup, currentColumn = tableReactData.currentColumn,
|
|
149
|
+
var isGroup = tableReactData.isGroup, currentColumn = tableReactData.currentColumn, scrollYLoad = tableReactData.scrollYLoad, overflowX = tableReactData.overflowX, scrollbarWidth = tableReactData.scrollbarWidth;
|
|
150
|
+
var columnOpts = computeColumnOpts.value;
|
|
149
151
|
var headerGroups = headerColumn.value;
|
|
150
152
|
// 如果是使用优化模式
|
|
151
153
|
if (!isGroup) {
|
|
152
154
|
if (fixedType) {
|
|
153
|
-
if (
|
|
155
|
+
if (scrollYLoad || allColumnHeaderOverflow) {
|
|
154
156
|
tableColumn = fixedColumn;
|
|
155
157
|
}
|
|
156
158
|
}
|
|
@@ -216,8 +218,8 @@ export default defineComponent({
|
|
|
216
218
|
onClick: function (evnt) { return $xetable.triggerHeaderCellClickEvent(evnt, params); },
|
|
217
219
|
onDblclick: function (evnt) { return $xetable.triggerHeaderCellDblclickEvent(evnt, params); }
|
|
218
220
|
};
|
|
219
|
-
//
|
|
220
|
-
if (
|
|
221
|
+
// 纵向虚拟滚动不支持动态行高
|
|
222
|
+
if (scrollYLoad && !hasEllipsis) {
|
|
221
223
|
showEllipsis = hasEllipsis = true;
|
|
222
224
|
}
|
|
223
225
|
// 按下事件处理
|
|
@@ -248,7 +250,7 @@ export default defineComponent({
|
|
|
248
250
|
/**
|
|
249
251
|
* 列宽拖动
|
|
250
252
|
*/
|
|
251
|
-
!fixedHiddenColumn && !isColGroup && (XEUtils.isBoolean(column.resizable) ? column.resizable : resizable) ? h('div', {
|
|
253
|
+
!fixedHiddenColumn && !isColGroup && (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || resizable)) ? h('div', {
|
|
252
254
|
class: ['vxe-resizable', {
|
|
253
255
|
'is--line': !border || border === 'none'
|
|
254
256
|
}],
|
package/es/header/style.css
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
border-bottom: 1px solid #e8eaec; }
|
|
37
37
|
.vxe-table .vxe-cell--sort {
|
|
38
38
|
width: 1.5em;
|
|
39
|
-
height: 1.
|
|
39
|
+
height: 1.35em;
|
|
40
40
|
vertical-align: middle;
|
|
41
41
|
text-align: center;
|
|
42
42
|
display: inline-block;
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
.vxe-table .vxe-sort--desc-btn.sort--active {
|
|
57
57
|
color: #409eff; }
|
|
58
58
|
.vxe-table .vxe-sort--asc-btn {
|
|
59
|
-
top: -0.
|
|
59
|
+
top: -0.15em; }
|
|
60
60
|
.vxe-table .vxe-sort--desc-btn {
|
|
61
|
-
bottom: -0.
|
|
61
|
+
bottom: -0.15em; }
|
|
62
62
|
|
|
63
63
|
.vxe-header--column {
|
|
64
64
|
position: relative;
|
|
@@ -91,11 +91,6 @@
|
|
|
91
91
|
position: absolute;
|
|
92
92
|
left: 0;
|
|
93
93
|
top: 0.2em; }
|
|
94
|
-
.vxe-header--column .vxe-cell--required-icon,
|
|
95
|
-
.vxe-header--column .vxe-cell--edit-icon,
|
|
96
|
-
.vxe-header--column .vxe-cell-help-icon,
|
|
97
|
-
.vxe-header--column .vxe-cell--title {
|
|
98
|
-
vertical-align: middle; }
|
|
99
94
|
.vxe-header--column .vxe-cell--required-icon {
|
|
100
95
|
margin-right: 0.1em; }
|
|
101
96
|
.vxe-header--column .vxe-cell--edit-icon,
|
|
@@ -103,8 +98,6 @@
|
|
|
103
98
|
margin-right: 0.2em; }
|
|
104
99
|
.vxe-header--column .vxe-cell-help-icon {
|
|
105
100
|
cursor: help; }
|
|
106
|
-
.vxe-header--column .vxe-cell--title {
|
|
107
|
-
line-height: 1.5; }
|
|
108
101
|
.vxe-header--column .vxe-resizable {
|
|
109
102
|
position: absolute;
|
|
110
103
|
right: -7px;
|
package/es/input/style.css
CHANGED
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
appearance: none; }
|
|
55
55
|
.vxe-input--inner[disabled] {
|
|
56
56
|
cursor: not-allowed;
|
|
57
|
-
color: #
|
|
57
|
+
color: #BFBFBF;
|
|
58
58
|
background-color: #f3f3f3; }
|
|
59
59
|
|
|
60
60
|
.vxe-input {
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
background-color: #fff; }
|
|
324
324
|
|
|
325
325
|
.vxe-input--date-picker-btn.is--disabled {
|
|
326
|
-
color: #
|
|
326
|
+
color: #BFBFBF;
|
|
327
327
|
cursor: no-drop; }
|
|
328
328
|
|
|
329
329
|
.vxe-input--date-picker-btn:not(.is--disabled) {
|
|
@@ -353,11 +353,11 @@
|
|
|
353
353
|
.vxe-input--date-picker-body th {
|
|
354
354
|
box-shadow: inset 0 -1px 0 0 #DADCE0; }
|
|
355
355
|
.vxe-input--date-picker-body td.is--prev, .vxe-input--date-picker-body td.is--next {
|
|
356
|
-
color: #
|
|
356
|
+
color: #BFBFBF; }
|
|
357
357
|
.vxe-input--date-picker-body td.is--prev .vxe-input--date-label,
|
|
358
358
|
.vxe-input--date-picker-body td.is--prev .vxe-input--date-festival, .vxe-input--date-picker-body td.is--next .vxe-input--date-label,
|
|
359
359
|
.vxe-input--date-picker-body td.is--next .vxe-input--date-festival {
|
|
360
|
-
color: #
|
|
360
|
+
color: #BFBFBF; }
|
|
361
361
|
.vxe-input--date-picker-body td.is--now {
|
|
362
362
|
box-shadow: inset 0 0 0 1px #DADCE0; }
|
|
363
363
|
.vxe-input--date-picker-body td.is--now:not(.is--selected).is--current {
|
package/es/menu/style.css
CHANGED
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
color: #2B2B2B; }
|
|
104
104
|
.vxe-context-menu--option-wrapper li.link--disabled > .vxe-context-menu--link,
|
|
105
105
|
.vxe-table--context-menu-clild-wrapper li.link--disabled > .vxe-context-menu--link {
|
|
106
|
-
color: #
|
|
106
|
+
color: #BFBFBF;
|
|
107
107
|
cursor: no-drop; }
|
|
108
108
|
.vxe-context-menu--option-wrapper li.link--disabled.link--active,
|
|
109
109
|
.vxe-table--context-menu-clild-wrapper li.link--disabled.link--active {
|
package/es/modal/style.css
CHANGED
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
.vxe-modal--wrapper.status--error .vxe-modal--status-wrapper {
|
|
158
158
|
color: #f56c6c; }
|
|
159
159
|
.vxe-modal--wrapper.status--loading .vxe-modal--status-wrapper {
|
|
160
|
-
color: #
|
|
160
|
+
color: #BFBFBF; }
|
|
161
161
|
.vxe-modal--wrapper .vxe-modal--status-wrapper {
|
|
162
162
|
flex-shrink: 0;
|
|
163
163
|
display: flex;
|
package/es/pager/style.css
CHANGED
|
@@ -234,13 +234,13 @@
|
|
|
234
234
|
.vxe-pager .vxe-pager--jump-next.is--disabled,
|
|
235
235
|
.vxe-pager .vxe-pager--num-btn.is--disabled {
|
|
236
236
|
cursor: no-drop;
|
|
237
|
-
color: #
|
|
237
|
+
color: #BFBFBF; }
|
|
238
238
|
.vxe-pager .vxe-pager--jump-prev.is--disabled:hover,
|
|
239
239
|
.vxe-pager .vxe-pager--prev-btn.is--disabled:hover,
|
|
240
240
|
.vxe-pager .vxe-pager--next-btn.is--disabled:hover,
|
|
241
241
|
.vxe-pager .vxe-pager--jump-next.is--disabled:hover,
|
|
242
242
|
.vxe-pager .vxe-pager--num-btn.is--disabled:hover {
|
|
243
|
-
color: #
|
|
243
|
+
color: #BFBFBF; }
|
|
244
244
|
.vxe-pager .vxe-pager--num-btn {
|
|
245
245
|
vertical-align: middle; }
|
|
246
246
|
.vxe-pager .vxe-pager--num-btn.is--active {
|
package/es/radio/style.css
CHANGED
|
@@ -244,7 +244,7 @@
|
|
|
244
244
|
border-color: #c0c4cc;
|
|
245
245
|
background-color: #c0c4cc; }
|
|
246
246
|
.vxe-radio.is--disabled > input + .vxe-radio--icon + .vxe-radio--label {
|
|
247
|
-
color: #
|
|
247
|
+
color: #BFBFBF; }
|
|
248
248
|
.vxe-radio .vxe-radio--label {
|
|
249
249
|
padding-left: 0.5em;
|
|
250
250
|
vertical-align: middle;
|