vxe-table 4.1.18 → 4.1.20
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 +2 -2
- package/README.zh-TW.md +3 -3
- package/es/edit/src/hook.js +3 -2
- package/es/export/style.css +2 -0
- package/es/filter/style.css +2 -0
- package/es/footer/src/footer.js +11 -1
- package/es/form/src/form.js +6 -4
- package/es/grid/src/grid.js +3 -3
- package/es/header/src/header.js +13 -1
- package/es/input/src/input.js +5 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +42 -7
- package/es/table/src/cell.js +4 -6
- package/es/table/src/table.js +38 -12
- package/es/table/style.css +2 -0
- package/es/toolbar/style.css +2 -0
- package/es/validator/src/hook.js +2 -0
- package/lib/edit/src/hook.js +5 -2
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/style/style.css +2 -0
- package/lib/export/style/style.min.css +1 -1
- package/lib/filter/style/style.css +2 -0
- package/lib/filter/style/style.min.css +1 -1
- package/lib/footer/src/footer.js +10 -0
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form.js +6 -1
- package/lib/form/src/form.min.js +1 -1
- package/lib/grid/src/grid.js +5 -3
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/header/src/header.js +12 -0
- package/lib/header/src/header.min.js +1 -1
- package/lib/index.umd.js +115 -33
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +6 -2
- package/lib/input/src/input.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +22 -4
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +5 -7
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +42 -14
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +2 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/style/style.css +2 -0
- package/lib/toolbar/style/style.min.css +1 -1
- package/lib/validator/src/hook.js +2 -0
- package/lib/validator/src/hook.min.js +1 -1
- package/package.json +2 -2
- package/packages/edit/src/hook.ts +3 -2
- package/packages/footer/src/footer.ts +12 -1
- package/packages/form/src/form.ts +6 -4
- package/packages/grid/src/grid.ts +3 -3
- package/packages/header/src/header.ts +14 -1
- package/packages/input/src/input.ts +6 -2
- package/packages/table/src/body.ts +43 -7
- package/packages/table/src/cell.ts +6 -8
- package/packages/table/src/table.ts +40 -14
- package/packages/table/src/util.ts +4 -4
- package/packages/validator/src/hook.ts +2 -0
- package/styles/base/checked.scss +5 -0
- package/types/form-item.d.ts +5 -0
- package/types/form.d.ts +4 -0
- package/types/plugins/pro.d.ts +6 -2
- package/types/table.d.ts +13 -2
- package/types/validator.d.ts +1 -0
package/README.md
CHANGED
|
@@ -108,7 +108,7 @@ createApp(App).use(VXETable).mount('#app')
|
|
|
108
108
|
|
|
109
109
|
### CDN
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
不建议将第三方的 CDN 地址用于生产,因为该连接随时都可能会失效,导致项目挂掉;
|
|
112
112
|
使用 CDN 方式记得锁定版本号,避免受到非兼容性更新的影响
|
|
113
113
|
|
|
114
114
|
```HTML
|
|
@@ -157,7 +157,7 @@ export default defineComponent({
|
|
|
157
157
|
## 文档
|
|
158
158
|
|
|
159
159
|
💡 [使用指南](https://github.com/xuliangzhan/vxe-table-demo)
|
|
160
|
-
👉 [查看演示](https://xuliangzhan_admin.gitee.io/vxe-table
|
|
160
|
+
👉 [查看演示](https://xuliangzhan_admin.gitee.io/vxe-table/) [👀备用地址](https://x-extends.github.io/vxe-table/#/table/base/basic)
|
|
161
161
|
👉 [查看文档](https://xuliangzhan_admin.gitee.io/vxe-table/#/table/api) [👀备用地址](https://x-extends.github.io/vxe-table/#/table/api)
|
|
162
162
|
|
|
163
163
|
## 运行项目
|
package/README.zh-TW.md
CHANGED
|
@@ -106,7 +106,7 @@ createApp(App).use(VXETable).mount('#app')
|
|
|
106
106
|
|
|
107
107
|
### CDN
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
不建議將第三方的CDN地址用於生產,因為該連接隨時都可能會失效,導致項目掛掉;
|
|
110
110
|
使用CDN管道記得鎖定版本號,避免受到非相容性更新的影響
|
|
111
111
|
|
|
112
112
|
```HTML
|
|
@@ -155,8 +155,8 @@ export default defineComponent({
|
|
|
155
155
|
## 檔案
|
|
156
156
|
|
|
157
157
|
💡 [使用指南](https://github.com/xuliangzhan/vxe-table-demo)
|
|
158
|
-
👉 [
|
|
159
|
-
👉 [查看檔案](https://xuliangzhan_admin.gitee.io/vxe-table/#/table/api) [👀備用地址](https://x-extends.github.io/vxe-table/#/table/api)
|
|
158
|
+
👉 [查看檔案](https://xuliangzhan_admin.gitee.io/vxe-table/) [👀備用地址1](https://x-extends.github.io/vxe-table/#/table/base/basic)
|
|
159
|
+
👉 [查看檔案](https://xuliangzhan_admin.gitee.io/vxe-table/#/table/api) [👀備用地址1](https://x-extends.github.io/vxe-table/#/table/api)
|
|
160
160
|
|
|
161
161
|
## 運行項目
|
|
162
162
|
|
package/es/edit/src/hook.js
CHANGED
|
@@ -579,12 +579,13 @@ var editHook = {
|
|
|
579
579
|
var actived = editStore.actived;
|
|
580
580
|
var row = params.row, column = params.column;
|
|
581
581
|
var editRender = column.editRender;
|
|
582
|
-
var cell =
|
|
582
|
+
var cell = (params.cell || $xetable.getCell(row, column));
|
|
583
|
+
params.cell = cell;
|
|
583
584
|
if (isEnableConf(editConfig) && isEnableConf(editRender) && cell) {
|
|
584
585
|
if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
|
|
585
586
|
// 判断是否禁用编辑
|
|
586
587
|
var type = 'edit-disabled';
|
|
587
|
-
if (!activeMethod || activeMethod(params)) {
|
|
588
|
+
if (!activeMethod || activeMethod(__assign(__assign({}, params), { $table: $xetable }))) {
|
|
588
589
|
if (mouseConfig) {
|
|
589
590
|
editMethods.clearSelected();
|
|
590
591
|
if ($xetable.clearCellAreas) {
|
package/es/export/style.css
CHANGED
|
@@ -100,6 +100,8 @@
|
|
|
100
100
|
background-color: #f3f3f3; }
|
|
101
101
|
.is--disabled.vxe-export--panel-column-option .vxe-checkbox--icon:after {
|
|
102
102
|
border-color: #c0c4cc; }
|
|
103
|
+
.is--disabled.vxe-export--panel-column-option .vxe-checkbox--indeterminate-icon:after {
|
|
104
|
+
background-color: #c0c4cc; }
|
|
103
105
|
|
|
104
106
|
.vxe-export--panel-column > ul {
|
|
105
107
|
list-style-type: none;
|
package/es/filter/style.css
CHANGED
|
@@ -101,6 +101,8 @@
|
|
|
101
101
|
background-color: #f3f3f3; }
|
|
102
102
|
.is--disabled.vxe-table--filter-option .vxe-checkbox--icon:after {
|
|
103
103
|
border-color: #c0c4cc; }
|
|
104
|
+
.is--disabled.vxe-table--filter-option .vxe-checkbox--indeterminate-icon:after {
|
|
105
|
+
background-color: #c0c4cc; }
|
|
104
106
|
|
|
105
107
|
/*筛选*/
|
|
106
108
|
.vxe-cell--filter {
|
package/es/footer/src/footer.js
CHANGED
|
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { createCommentVNode, defineComponent, h, ref, inject, nextTick, onMounted } from 'vue';
|
|
12
|
+
import { createCommentVNode, defineComponent, h, ref, inject, nextTick, onMounted, onUnmounted } from 'vue';
|
|
13
13
|
import XEUtils from 'xe-utils';
|
|
14
14
|
import { getPropClass } from '../../table/src/util';
|
|
15
15
|
import { updateCellTitle } from '../../tools/dom';
|
|
@@ -90,6 +90,16 @@ export default defineComponent({
|
|
|
90
90
|
elemStore[prefix + "xSpace"] = refFooterXSpace.value;
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
|
+
onUnmounted(function () {
|
|
94
|
+
var fixedType = props.fixedType;
|
|
95
|
+
var elemStore = tableInternalData.elemStore;
|
|
96
|
+
var prefix = (fixedType || 'main') + "-footer-";
|
|
97
|
+
elemStore[prefix + "wrapper"] = null;
|
|
98
|
+
elemStore[prefix + "table"] = null;
|
|
99
|
+
elemStore[prefix + "colgroup"] = null;
|
|
100
|
+
elemStore[prefix + "list"] = null;
|
|
101
|
+
elemStore[prefix + "xSpace"] = null;
|
|
102
|
+
});
|
|
93
103
|
var renderVN = function () {
|
|
94
104
|
var fixedType = props.fixedType, fixedColumn = props.fixedColumn, tableColumn = props.tableColumn, footerTableData = props.footerTableData;
|
|
95
105
|
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;
|
package/es/form/src/form.js
CHANGED
|
@@ -239,7 +239,7 @@ export default defineComponent({
|
|
|
239
239
|
if (isEnableConf(itemRender)) {
|
|
240
240
|
var compConf = VXETable.renderer.get(itemRender.name);
|
|
241
241
|
if (compConf && compConf.itemResetMethod) {
|
|
242
|
-
compConf.itemResetMethod({ data: data, property: field, item: item, $form: $xeform });
|
|
242
|
+
compConf.itemResetMethod({ data: data, field: field, property: field, item: item, $form: $xeform });
|
|
243
243
|
}
|
|
244
244
|
else if (field) {
|
|
245
245
|
XEUtils.set(data, field, resetValue === null ? getResetValue(XEUtils.get(data, field), undefined) : resetValue);
|
|
@@ -313,6 +313,7 @@ export default defineComponent({
|
|
|
313
313
|
rule: rule,
|
|
314
314
|
rules: rules_1,
|
|
315
315
|
data: data,
|
|
316
|
+
field: property,
|
|
316
317
|
property: property,
|
|
317
318
|
$form: $xeform
|
|
318
319
|
});
|
|
@@ -353,7 +354,6 @@ export default defineComponent({
|
|
|
353
354
|
var validRest = {};
|
|
354
355
|
var validFields = [];
|
|
355
356
|
var itemValids = [];
|
|
356
|
-
clearValidate();
|
|
357
357
|
clearTimeout(showErrTime);
|
|
358
358
|
if (data && formRules) {
|
|
359
359
|
itemList.forEach(function (item) {
|
|
@@ -363,7 +363,7 @@ export default defineComponent({
|
|
|
363
363
|
item.errRule = null;
|
|
364
364
|
}).catch(function (_a) {
|
|
365
365
|
var rule = _a.rule, rules = _a.rules;
|
|
366
|
-
var rest = { rule: rule, rules: rules, data: data, property: field, $form: $xeform };
|
|
366
|
+
var rest = { rule: rule, rules: rules, data: data, field: field, property: field, $form: $xeform };
|
|
367
367
|
if (!validRest[field]) {
|
|
368
368
|
validRest[field] = [];
|
|
369
369
|
}
|
|
@@ -408,6 +408,7 @@ export default defineComponent({
|
|
|
408
408
|
return Promise.resolve();
|
|
409
409
|
};
|
|
410
410
|
var validate = function (callback) {
|
|
411
|
+
clearValidate();
|
|
411
412
|
return beginValidate(getItems(), '', callback);
|
|
412
413
|
};
|
|
413
414
|
var validateField = function (field, callback) {
|
|
@@ -416,6 +417,7 @@ export default defineComponent({
|
|
|
416
417
|
var submitEvent = function (evnt) {
|
|
417
418
|
evnt.preventDefault();
|
|
418
419
|
if (!props.preventSubmit) {
|
|
420
|
+
clearValidate();
|
|
419
421
|
beginValidate(getItems()).then(function () {
|
|
420
422
|
formMethods.dispatchEvent('submit', { data: props.data }, evnt);
|
|
421
423
|
}).catch(function (errMap) {
|
|
@@ -514,7 +516,7 @@ export default defineComponent({
|
|
|
514
516
|
var showTooltip = itemOverflow === true || itemOverflow === 'tooltip';
|
|
515
517
|
var hasEllipsis = showTitle || showTooltip || showEllipsis;
|
|
516
518
|
var itemVisibleMethod = visibleMethod;
|
|
517
|
-
var params = { data: data, property: field, item: item, $form: $xeform };
|
|
519
|
+
var params = { data: data, field: field, property: field, item: item, $form: $xeform };
|
|
518
520
|
if (visible === false) {
|
|
519
521
|
return createCommentVNode();
|
|
520
522
|
}
|
package/es/grid/src/grid.js
CHANGED
|
@@ -166,7 +166,7 @@ export default defineComponent({
|
|
|
166
166
|
var pendingRecords = reactData.pendingRecords;
|
|
167
167
|
var $xetable = refTable.value;
|
|
168
168
|
var activeMethod = editConfig ? editConfig.activeMethod : null;
|
|
169
|
-
return $xetable.findRowIndexOf(pendingRecords, params.row) === -1 && (!activeMethod || activeMethod(params));
|
|
169
|
+
return $xetable.findRowIndexOf(pendingRecords, params.row) === -1 && (!activeMethod || activeMethod(__assign(__assign({}, params), { $grid: $xegrid })));
|
|
170
170
|
};
|
|
171
171
|
var computeTableProps = computed(function () {
|
|
172
172
|
var seqConfig = props.seqConfig, pagerConfig = props.pagerConfig, loading = props.loading, editConfig = props.editConfig, proxyConfig = props.proxyConfig;
|
|
@@ -550,10 +550,10 @@ export default defineComponent({
|
|
|
550
550
|
leftSlot = getFuncSlot(pagerOptSlots, 'left');
|
|
551
551
|
rightSlot = getFuncSlot(pagerOptSlots, 'right');
|
|
552
552
|
if (leftSlot) {
|
|
553
|
-
pagerSlots.
|
|
553
|
+
pagerSlots.left = leftSlot;
|
|
554
554
|
}
|
|
555
555
|
if (rightSlot) {
|
|
556
|
-
pagerSlots.
|
|
556
|
+
pagerSlots.right = rightSlot;
|
|
557
557
|
}
|
|
558
558
|
}
|
|
559
559
|
slotVNs.push(h(resolveComponent('vxe-pager'), __assign(__assign(__assign({ ref: refPager }, pagerOpts), (props.proxyConfig ? reactData.tablePage : {})), { onPageChange: pageChangeEvent }), pagerSlots));
|
package/es/header/src/header.js
CHANGED
|
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { createCommentVNode, defineComponent, h, ref, inject, nextTick, watch, onMounted } from 'vue';
|
|
12
|
+
import { createCommentVNode, defineComponent, h, ref, inject, nextTick, watch, onMounted, onUnmounted } from 'vue';
|
|
13
13
|
import XEUtils from 'xe-utils';
|
|
14
14
|
import { convertToRows } from './util';
|
|
15
15
|
import { getColMinWidth } from '../../table/src/util';
|
|
@@ -145,6 +145,18 @@ export default defineComponent({
|
|
|
145
145
|
uploadColumn();
|
|
146
146
|
});
|
|
147
147
|
});
|
|
148
|
+
onUnmounted(function () {
|
|
149
|
+
var fixedType = props.fixedType;
|
|
150
|
+
var internalData = $xetable.internalData;
|
|
151
|
+
var elemStore = internalData.elemStore;
|
|
152
|
+
var prefix = (fixedType || 'main') + "-header-";
|
|
153
|
+
elemStore[prefix + "wrapper"] = null;
|
|
154
|
+
elemStore[prefix + "table"] = null;
|
|
155
|
+
elemStore[prefix + "colgroup"] = null;
|
|
156
|
+
elemStore[prefix + "list"] = null;
|
|
157
|
+
elemStore[prefix + "xSpace"] = null;
|
|
158
|
+
elemStore[prefix + "repair"] = null;
|
|
159
|
+
});
|
|
148
160
|
var renderVN = function () {
|
|
149
161
|
var fixedType = props.fixedType, fixedColumn = props.fixedColumn, tableColumn = props.tableColumn;
|
|
150
162
|
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;
|
package/es/input/src/input.js
CHANGED
|
@@ -516,6 +516,9 @@ export default defineComponent({
|
|
|
516
516
|
var type = props.type, immediate = props.immediate;
|
|
517
517
|
return immediate || !(type === 'text' || type === 'number' || type === 'integer' || type === 'float');
|
|
518
518
|
});
|
|
519
|
+
var handleNumber = function (val) {
|
|
520
|
+
return XEUtils.isString(val) ? val.replace(/,/g, '') : val;
|
|
521
|
+
};
|
|
519
522
|
function toFloatValueFixed(inputValue, digitsValue) {
|
|
520
523
|
if (/^-/.test('' + inputValue)) {
|
|
521
524
|
return XEUtils.toFixed(XEUtils.ceil(inputValue, digitsValue), digitsValue);
|
|
@@ -720,7 +723,7 @@ export default defineComponent({
|
|
|
720
723
|
if (!inpReadonly) {
|
|
721
724
|
if (isNumType) {
|
|
722
725
|
if (inputValue) {
|
|
723
|
-
var inpNumVal = type === 'integer' ? XEUtils.toInteger(inputValue) : XEUtils.toNumber(inputValue);
|
|
726
|
+
var inpNumVal = type === 'integer' ? XEUtils.toInteger(handleNumber(inputValue)) : XEUtils.toNumber(handleNumber(inputValue));
|
|
724
727
|
if (!vaildMinNum(inpNumVal)) {
|
|
725
728
|
inpNumVal = min;
|
|
726
729
|
}
|
|
@@ -810,7 +813,7 @@ export default defineComponent({
|
|
|
810
813
|
var min = props.min, max = props.max, type = props.type;
|
|
811
814
|
var inputValue = reactData.inputValue;
|
|
812
815
|
var stepValue = computeStepValue.value;
|
|
813
|
-
var numValue = type === 'integer' ? XEUtils.toInteger(inputValue) : XEUtils.toNumber(inputValue);
|
|
816
|
+
var numValue = type === 'integer' ? XEUtils.toInteger(handleNumber(inputValue)) : XEUtils.toNumber(handleNumber(inputValue));
|
|
814
817
|
var newValue = isPlus ? XEUtils.add(numValue, stepValue) : XEUtils.subtract(numValue, stepValue);
|
|
815
818
|
var restNum;
|
|
816
819
|
if (!vaildMinNum(newValue)) {
|