vxe-table 4.1.18-beta.3 → 4.1.20-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1 -1
- package/es/header/src/header.js +13 -1
- package/es/pulldown/src/pulldown.js +13 -1
- 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 +3 -1
- 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 +120 -30
- package/lib/index.umd.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +13 -1
- package/lib/pulldown/src/pulldown.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 +3 -3
- 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 +1 -1
- package/packages/header/src/header.ts +14 -1
- package/packages/pulldown/src/pulldown.ts +13 -1
- 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/pulldown.d.ts +3 -0
- 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;
|
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;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, h, Teleport, ref, onUnmounted, reactive, nextTick } from 'vue';
|
|
1
|
+
import { defineComponent, h, Teleport, ref, onUnmounted, reactive, nextTick, watch } from 'vue';
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
3
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
4
4
|
import { useSize } from '../../hooks/size';
|
|
@@ -8,6 +8,7 @@ import { GlobalEvent } from '../../tools/event';
|
|
|
8
8
|
export default defineComponent({
|
|
9
9
|
name: 'VxePulldown',
|
|
10
10
|
props: {
|
|
11
|
+
modelValue: Boolean,
|
|
11
12
|
disabled: Boolean,
|
|
12
13
|
placement: String,
|
|
13
14
|
size: { type: String, default: function () { return GlobalConfig.size; } },
|
|
@@ -15,6 +16,7 @@ export default defineComponent({
|
|
|
15
16
|
transfer: Boolean
|
|
16
17
|
},
|
|
17
18
|
emits: [
|
|
19
|
+
'update:modelValue',
|
|
18
20
|
'hide-panel'
|
|
19
21
|
],
|
|
20
22
|
setup: function (props, context) {
|
|
@@ -144,6 +146,7 @@ export default defineComponent({
|
|
|
144
146
|
reactData.animatVisible = true;
|
|
145
147
|
setTimeout(function () {
|
|
146
148
|
reactData.visiblePanel = true;
|
|
149
|
+
emit('update:modelValue', true);
|
|
147
150
|
updatePlacement();
|
|
148
151
|
setTimeout(function () {
|
|
149
152
|
resolve(updatePlacement());
|
|
@@ -161,6 +164,7 @@ export default defineComponent({
|
|
|
161
164
|
*/
|
|
162
165
|
var hidePanel = function () {
|
|
163
166
|
reactData.visiblePanel = false;
|
|
167
|
+
emit('update:modelValue', false);
|
|
164
168
|
return new Promise(function (resolve) {
|
|
165
169
|
if (reactData.animatVisible) {
|
|
166
170
|
hidePanelTimeout = window.setTimeout(function () {
|
|
@@ -228,6 +232,14 @@ export default defineComponent({
|
|
|
228
232
|
hidePanel: hidePanel
|
|
229
233
|
};
|
|
230
234
|
Object.assign($xepulldown, pulldownMethods);
|
|
235
|
+
watch(function () { return props.modelValue; }, function (value) {
|
|
236
|
+
if (value) {
|
|
237
|
+
showPanel();
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
hidePanel();
|
|
241
|
+
}
|
|
242
|
+
});
|
|
231
243
|
nextTick(function () {
|
|
232
244
|
GlobalEvent.on($xepulldown, 'mousewheel', handleGlobalMousewheelEvent);
|
|
233
245
|
GlobalEvent.on($xepulldown, 'mousedown', handleGlobalMousedownEvent);
|