@fecp/designer 5.4.108 → 5.4.110
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/es/designer/package.json.mjs +1 -1
- package/es/designer/src/packages/dialog/useDialogDialog.mjs +1 -1
- package/es/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +1 -1
- package/es/designer/src/packages/form/property/widgets.vue.mjs +2 -2
- package/es/designer.css +5 -5
- package/es/node_modules/vxe-table/es/grid/src/grid.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/custom/hook.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/custom/panel.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/edit/hook.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/export/export-panel.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/export/hook.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/export/import-panel.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/filter/hook.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/filter/panel.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/keyboard/hook.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/menu/hook.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/menu/panel.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/module/validator/hook.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/render/index.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/src/body.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/src/cell.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/src/columnInfo.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/src/footer.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/src/header.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/src/table.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/src/use/cell-view.mjs +1 -1
- package/es/node_modules/vxe-table/es/table/src/util.mjs +1 -1
- package/es/node_modules/vxe-table/es/toolbar/src/toolbar.mjs +1 -1
- package/es/node_modules/vxe-table/es/ui/src/anime.mjs +1 -1
- package/es/node_modules/vxe-table/es/ui/src/dom.mjs +1 -1
- package/es/node_modules/vxe-table/es/ui/src/utils.mjs +1 -1
- package/es/node_modules/vxe-table/es/ui/src/vn.mjs +1 -1
- package/es/packages/mobile/src/components/base/card/Card.vue.mjs +2 -2
- package/es/packages/mobile/src/components/dataDisplay/table/Table.vue.mjs +2 -1
- package/es/packages/mobile/src/components/form/field/Field.vue.mjs +0 -1
- package/es/packages/mobile/src/utils/optionUtil.mjs +2 -3
- package/es/packages/vue/src/components/forms/form/FormProxy.vue.mjs +13 -0
- package/es/packages/vue/src/components/forms/subForm/SubForm.vue.mjs +2 -2
- package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +2 -1
- package/es/packages/vue/src/components/table/DynamicQuery.vue.mjs +2 -1
- package/es/packages/vue/src/components/table/Table.vue.mjs +2 -1
- package/es/packages/vue/src/components/table/TableColumn.vue.mjs +2 -1
- package/lib/designer/package.json.js +1 -1
- package/lib/designer/src/packages/dialog/useDialogDialog.js +1 -1
- package/lib/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +1 -1
- package/lib/designer/src/packages/form/property/widgets.vue.js +2 -2
- package/lib/designer.css +5 -5
- package/lib/node_modules/vxe-table/es/grid/src/grid.js +41 -41
- package/lib/node_modules/vxe-table/es/table/module/custom/hook.js +9 -9
- package/lib/node_modules/vxe-table/es/table/module/custom/panel.js +23 -23
- package/lib/node_modules/vxe-table/es/table/module/edit/hook.js +28 -28
- package/lib/node_modules/vxe-table/es/table/module/export/export-panel.js +6 -6
- package/lib/node_modules/vxe-table/es/table/module/export/hook.js +50 -50
- package/lib/node_modules/vxe-table/es/table/module/export/import-panel.js +2 -2
- package/lib/node_modules/vxe-table/es/table/module/filter/hook.js +2 -2
- package/lib/node_modules/vxe-table/es/table/module/filter/panel.js +3 -3
- package/lib/node_modules/vxe-table/es/table/module/keyboard/hook.js +6 -6
- package/lib/node_modules/vxe-table/es/table/module/menu/hook.js +7 -7
- package/lib/node_modules/vxe-table/es/table/module/menu/panel.js +9 -9
- package/lib/node_modules/vxe-table/es/table/module/validator/hook.js +26 -26
- package/lib/node_modules/vxe-table/es/table/render/index.js +65 -65
- package/lib/node_modules/vxe-table/es/table/src/body.js +10 -10
- package/lib/node_modules/vxe-table/es/table/src/cell.js +15 -15
- package/lib/node_modules/vxe-table/es/table/src/columnInfo.js +12 -12
- package/lib/node_modules/vxe-table/es/table/src/footer.js +7 -7
- package/lib/node_modules/vxe-table/es/table/src/header.js +12 -12
- package/lib/node_modules/vxe-table/es/table/src/table.js +342 -342
- package/lib/node_modules/vxe-table/es/table/src/use/cell-view.js +3 -3
- package/lib/node_modules/vxe-table/es/table/src/util.js +24 -24
- package/lib/node_modules/vxe-table/es/toolbar/src/toolbar.js +23 -23
- package/lib/node_modules/vxe-table/es/ui/src/anime.js +7 -7
- package/lib/node_modules/vxe-table/es/ui/src/dom.js +5 -5
- package/lib/node_modules/vxe-table/es/ui/src/utils.js +4 -4
- package/lib/node_modules/vxe-table/es/ui/src/vn.js +2 -2
- package/lib/packages/mobile/src/components/base/card/Card.vue.js +2 -2
- package/lib/packages/mobile/src/components/dataDisplay/table/Table.vue.js +3 -2
- package/lib/packages/mobile/src/components/form/field/Field.vue.js +0 -1
- package/lib/packages/mobile/src/utils/optionUtil.js +2 -3
- package/lib/packages/vue/src/components/forms/form/FormProxy.vue.js +13 -0
- package/lib/packages/vue/src/components/forms/subForm/SubForm.vue.js +2 -2
- package/lib/packages/vue/src/components/table/CustomButtons.vue.js +5 -4
- package/lib/packages/vue/src/components/table/DynamicQuery.vue.js +27 -26
- package/lib/packages/vue/src/components/table/Table.vue.js +5 -4
- package/lib/packages/vue/src/components/table/TableColumn.vue.js +17 -16
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const comp = require("../../../ui/src/comp.js");
|
|
5
5
|
require("../../../ui/index.js");
|
|
6
|
-
const
|
|
6
|
+
const XEUtils = require("xe-utils");
|
|
7
7
|
const utils = require("../../../ui/src/utils.js");
|
|
8
8
|
const log = require("../../../ui/src/log.js");
|
|
9
9
|
const index_esm = require("../../../../../@vxe-ui/core/es/index.esm.js");
|
|
@@ -36,7 +36,7 @@ const TableImportPanelComponent = comp.defineVxeComponent({
|
|
|
36
36
|
const { storeData } = props;
|
|
37
37
|
const { type, typeList } = storeData;
|
|
38
38
|
if (type) {
|
|
39
|
-
const selectItem =
|
|
39
|
+
const selectItem = XEUtils.find(typeList, (item) => type === item.value);
|
|
40
40
|
return selectItem ? selectItem.label : "*.*";
|
|
41
41
|
}
|
|
42
42
|
return `*.${typeList.map((item) => item.value).join(", *.")}`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const vue = require("vue");
|
|
3
|
-
const
|
|
3
|
+
const XEUtils = require("xe-utils");
|
|
4
4
|
require("../../../ui/index.js");
|
|
5
5
|
const util = require("../../src/util.js");
|
|
6
6
|
const dom = require("../../../ui/src/dom.js");
|
|
@@ -120,7 +120,7 @@ hooks.add("tableFilterModule", {
|
|
|
120
120
|
item._checked = false;
|
|
121
121
|
item.checked = false;
|
|
122
122
|
if (!frMethod) {
|
|
123
|
-
item.data =
|
|
123
|
+
item.data = XEUtils.clone(item.resetValue, true);
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
if (frMethod) {
|
|
@@ -7,7 +7,7 @@ const utils = require("../../../ui/src/utils.js");
|
|
|
7
7
|
const dom = require("../../../ui/src/dom.js");
|
|
8
8
|
const vn = require("../../../ui/src/vn.js");
|
|
9
9
|
const log = require("../../../ui/src/log.js");
|
|
10
|
-
const
|
|
10
|
+
const XEUtils = require("xe-utils");
|
|
11
11
|
const index_esm = require("../../../../../@vxe-ui/core/es/index.esm.js");
|
|
12
12
|
const { getI18n, getIcon, renderer, renderEmptyElement } = index_esm.VxeUI;
|
|
13
13
|
const TableFilterPanelComponent = comp.defineVxeComponent({
|
|
@@ -19,7 +19,7 @@ const TableFilterPanelComponent = comp.defineVxeComponent({
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
setup(props, context) {
|
|
22
|
-
const xID =
|
|
22
|
+
const xID = XEUtils.uniqueId();
|
|
23
23
|
const $xeTable = vue.inject("$xeTable", {});
|
|
24
24
|
const { reactData: tableReactData, internalData: tableInternalData, getComputeMaps } = $xeTable;
|
|
25
25
|
const { computeFilterOpts } = getComputeMaps();
|
|
@@ -183,7 +183,7 @@ const TableFilterPanelComponent = comp.defineVxeComponent({
|
|
|
183
183
|
const compConf = utils.isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
184
184
|
const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
|
|
185
185
|
let showFlFoot = !!filterMultiple;
|
|
186
|
-
if (
|
|
186
|
+
if (XEUtils.isBoolean(showFooter)) {
|
|
187
187
|
showFlFoot = showFooter;
|
|
188
188
|
} else if (compConf) {
|
|
189
189
|
showFlFoot = !(compConf.showTableFilterFooter === false || compConf.showFilterFooter === false || compConf.isFooter === false);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const
|
|
2
|
+
const XEUtils = require("xe-utils");
|
|
3
3
|
require("../../../ui/index.js");
|
|
4
4
|
const util = require("../../src/util.js");
|
|
5
5
|
const dom = require("../../../ui/src/dom.js");
|
|
@@ -350,11 +350,11 @@ hooks.add("tableKeyboardModule", {
|
|
|
350
350
|
let targetRow;
|
|
351
351
|
if (currentRow) {
|
|
352
352
|
if (treeConfig) {
|
|
353
|
-
const { index
|
|
354
|
-
if (isUpArrow && index
|
|
355
|
-
targetRow = items[index
|
|
356
|
-
} else if (isDwArrow && index
|
|
357
|
-
targetRow = items[index
|
|
353
|
+
const { index, items } = XEUtils.findTree(afterFullData, (item) => item === currentRow, { children: childrenField });
|
|
354
|
+
if (isUpArrow && index > 0) {
|
|
355
|
+
targetRow = items[index - 1];
|
|
356
|
+
} else if (isDwArrow && index < items.length - 1) {
|
|
357
|
+
targetRow = items[index + 1];
|
|
358
358
|
}
|
|
359
359
|
} else {
|
|
360
360
|
const _rowIndex = $xeTable.getVTRowIndex(currentRow);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const vue = require("vue");
|
|
3
|
-
const
|
|
3
|
+
const XEUtils = require("xe-utils");
|
|
4
4
|
require("../../../ui/index.js");
|
|
5
5
|
const dom = require("../../../ui/src/dom.js");
|
|
6
6
|
const utils = require("../../../ui/src/utils.js");
|
|
@@ -117,7 +117,7 @@ hooks.add("tableMenuModule", {
|
|
|
117
117
|
*/
|
|
118
118
|
moveCtxMenu(evnt, ctxMenuStore, property, hasOper, operRest, menuList) {
|
|
119
119
|
let selectItem;
|
|
120
|
-
const selectIndex =
|
|
120
|
+
const selectIndex = XEUtils.findIndexOf(menuList, (item) => ctxMenuStore[property] === item);
|
|
121
121
|
if (hasOper) {
|
|
122
122
|
if (operRest && utils.hasChildrenList(ctxMenuStore.selected)) {
|
|
123
123
|
ctxMenuStore.showChild = true;
|
|
@@ -134,9 +134,9 @@ hooks.add("tableMenuModule", {
|
|
|
134
134
|
}
|
|
135
135
|
ctxMenuStore[property] = selectItem || menuList[menuList.length - 1];
|
|
136
136
|
} else if (globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN)) {
|
|
137
|
-
for (let
|
|
138
|
-
if (menuList[
|
|
139
|
-
selectItem = menuList[
|
|
137
|
+
for (let index = selectIndex + 1; index < menuList.length; index++) {
|
|
138
|
+
if (menuList[index].visible !== false) {
|
|
139
|
+
selectItem = menuList[index];
|
|
140
140
|
break;
|
|
141
141
|
}
|
|
142
142
|
}
|
|
@@ -187,8 +187,8 @@ hooks.add("tableMenuModule", {
|
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
for (let
|
|
191
|
-
const layout = layoutList[
|
|
190
|
+
for (let index = 0; index < layoutList.length; index++) {
|
|
191
|
+
const layout = layoutList[index];
|
|
192
192
|
const columnTargetNode = dom.getEventTargetNode(evnt, el, `vxe-${layout}--column`, (target) => {
|
|
193
193
|
return target.parentNode.parentNode.parentNode.getAttribute("xid") === xID;
|
|
194
194
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const comp = require("../../../ui/src/comp.js");
|
|
5
|
-
const
|
|
5
|
+
const XEUtils = require("xe-utils");
|
|
6
6
|
require("../../../ui/index.js");
|
|
7
7
|
const utils = require("../../../ui/src/utils.js");
|
|
8
8
|
const vn = require("../../../ui/src/vn.js");
|
|
@@ -11,7 +11,7 @@ const { getIcon, getI18n, renderEmptyElement } = index_esm.VxeUI;
|
|
|
11
11
|
const TableMenuPanelComponent = comp.defineVxeComponent({
|
|
12
12
|
name: "VxeTableMenuPanel",
|
|
13
13
|
setup(props, context) {
|
|
14
|
-
const xID =
|
|
14
|
+
const xID = XEUtils.uniqueId();
|
|
15
15
|
const $xeTable = vue.inject("$xeTable", {});
|
|
16
16
|
const { reactData: tableReactData } = $xeTable;
|
|
17
17
|
const refElem = vue.ref();
|
|
@@ -44,7 +44,7 @@ const TableMenuPanelComponent = comp.defineVxeComponent({
|
|
|
44
44
|
return options.every((item) => item.visible === false) ? renderEmptyElement($xeTable) : vue.h("ul", {
|
|
45
45
|
class: "vxe-context-menu--option-wrapper",
|
|
46
46
|
key: gIndex
|
|
47
|
-
}, options.map((item, index
|
|
47
|
+
}, options.map((item, index) => {
|
|
48
48
|
const { children, loading } = item;
|
|
49
49
|
const hasChildMenus = children && children.some((child) => child.visible !== false);
|
|
50
50
|
const prefixOpts = Object.assign({}, item.prefixConfig);
|
|
@@ -58,7 +58,7 @@ const TableMenuPanelComponent = comp.defineVxeComponent({
|
|
|
58
58
|
"link--disabled": item.disabled,
|
|
59
59
|
"link--active": item === ctxMenuStore.selected
|
|
60
60
|
}],
|
|
61
|
-
key: `${gIndex}_${index
|
|
61
|
+
key: `${gIndex}_${index}`
|
|
62
62
|
}, [
|
|
63
63
|
vue.h("a", {
|
|
64
64
|
class: "vxe-context-menu--link",
|
|
@@ -77,7 +77,7 @@ const TableMenuPanelComponent = comp.defineVxeComponent({
|
|
|
77
77
|
}, [
|
|
78
78
|
loading ? vue.h("span", {
|
|
79
79
|
class: getIcon("TABLE_MENU_OPTION_LOADING")
|
|
80
|
-
}) : prefixIcon &&
|
|
80
|
+
}) : prefixIcon && XEUtils.isFunction(prefixIcon) ? vue.h("span", {}, vn.getSlotVNs(prefixIcon({}))) : vue.h("span", {}, [
|
|
81
81
|
vue.h("i", {
|
|
82
82
|
class: prefixIcon
|
|
83
83
|
})
|
|
@@ -91,7 +91,7 @@ const TableMenuPanelComponent = comp.defineVxeComponent({
|
|
|
91
91
|
vue.h("div", {
|
|
92
92
|
class: ["vxe-context-menu--link-suffix", suffixOpts.className || ""]
|
|
93
93
|
}, [
|
|
94
|
-
suffixIcon &&
|
|
94
|
+
suffixIcon && XEUtils.isFunction(suffixIcon) ? vue.h("span", {}, vn.getSlotVNs(suffixIcon({}))) : vue.h("i", {
|
|
95
95
|
class: suffixIcon || (hasChildMenus ? getIcon().TABLE_MENU_OPTIONS : "")
|
|
96
96
|
}),
|
|
97
97
|
suffixOpts.content ? vue.h("span", `${suffixOpts.content}`) : renderEmptyElement($xeTable)
|
|
@@ -114,7 +114,7 @@ const TableMenuPanelComponent = comp.defineVxeComponent({
|
|
|
114
114
|
"link--disabled": child.disabled,
|
|
115
115
|
"link--active": child === ctxMenuStore.selectChild
|
|
116
116
|
}],
|
|
117
|
-
key: `${gIndex}_${index
|
|
117
|
+
key: `${gIndex}_${index}_${cIndex}`
|
|
118
118
|
}, [
|
|
119
119
|
vue.h("a", {
|
|
120
120
|
class: "vxe-context-menu--link",
|
|
@@ -133,7 +133,7 @@ const TableMenuPanelComponent = comp.defineVxeComponent({
|
|
|
133
133
|
}, [
|
|
134
134
|
child.loading ? vue.h("span", {
|
|
135
135
|
class: getIcon("TABLE_MENU_OPTION_LOADING")
|
|
136
|
-
}) : childPrefixIcon &&
|
|
136
|
+
}) : childPrefixIcon && XEUtils.isFunction(childPrefixIcon) ? vue.h("span", {}, vn.getSlotVNs(childPrefixIcon({}))) : vue.h("span", {}, [
|
|
137
137
|
vue.h("i", {
|
|
138
138
|
class: childPrefixIcon
|
|
139
139
|
})
|
|
@@ -147,7 +147,7 @@ const TableMenuPanelComponent = comp.defineVxeComponent({
|
|
|
147
147
|
vue.h("div", {
|
|
148
148
|
class: ["vxe-context-menu--link-suffix", childSuffixOpts.className || ""]
|
|
149
149
|
}, [
|
|
150
|
-
childSuffixIcon &&
|
|
150
|
+
childSuffixIcon && XEUtils.isFunction(childSuffixIcon) ? vue.h("span", {}, vn.getSlotVNs(childSuffixIcon({}))) : vue.h("i", {
|
|
151
151
|
class: childSuffixIcon
|
|
152
152
|
}),
|
|
153
153
|
childSuffixOpts.content ? vue.h("span", `${childSuffixOpts.content}`) : renderEmptyElement($xeTable)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const vue = require("vue");
|
|
3
|
-
const
|
|
3
|
+
const XEUtils = require("xe-utils");
|
|
4
4
|
require("../../../ui/index.js");
|
|
5
5
|
const utils = require("../../../ui/src/utils.js");
|
|
6
6
|
const dom = require("../../../ui/src/dom.js");
|
|
@@ -34,19 +34,19 @@ class Rule {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
function validREValue(pattern, val) {
|
|
37
|
-
if (pattern && !(
|
|
37
|
+
if (pattern && !(XEUtils.isRegExp(pattern) ? pattern : new RegExp(pattern)).test(val)) {
|
|
38
38
|
return false;
|
|
39
39
|
}
|
|
40
40
|
return true;
|
|
41
41
|
}
|
|
42
42
|
function validMaxValue(max, num) {
|
|
43
|
-
if (!
|
|
43
|
+
if (!XEUtils.eqNull(max) && num > XEUtils.toNumber(max)) {
|
|
44
44
|
return false;
|
|
45
45
|
}
|
|
46
46
|
return true;
|
|
47
47
|
}
|
|
48
48
|
function validMinValue(min, num) {
|
|
49
|
-
if (!
|
|
49
|
+
if (!XEUtils.eqNull(min) && num < XEUtils.toNumber(min)) {
|
|
50
50
|
return false;
|
|
51
51
|
}
|
|
52
52
|
return true;
|
|
@@ -61,7 +61,7 @@ function validRuleValue(rule, val, required) {
|
|
|
61
61
|
return false;
|
|
62
62
|
}
|
|
63
63
|
if (isArrType) {
|
|
64
|
-
if (!
|
|
64
|
+
if (!XEUtils.isArray(val)) {
|
|
65
65
|
return false;
|
|
66
66
|
}
|
|
67
67
|
if (required) {
|
|
@@ -88,7 +88,7 @@ function validRuleValue(rule, val, required) {
|
|
|
88
88
|
}
|
|
89
89
|
} else {
|
|
90
90
|
if (isStrType) {
|
|
91
|
-
if (!
|
|
91
|
+
if (!XEUtils.isString(val)) {
|
|
92
92
|
return false;
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -108,7 +108,7 @@ function validRuleValue(rule, val, required) {
|
|
|
108
108
|
}
|
|
109
109
|
function checkRuleStatus(rule, val) {
|
|
110
110
|
const { required } = rule;
|
|
111
|
-
const isEmptyVal =
|
|
111
|
+
const isEmptyVal = XEUtils.isArray(val) ? !val.length : utils.eqEmptyValue(val);
|
|
112
112
|
if (required) {
|
|
113
113
|
if (isEmptyVal) {
|
|
114
114
|
return false;
|
|
@@ -172,10 +172,10 @@ hooks.add("tableValidatorModule", {
|
|
|
172
172
|
if (rows === true) {
|
|
173
173
|
validList = afterFullData;
|
|
174
174
|
} else if (rows) {
|
|
175
|
-
if (
|
|
175
|
+
if (XEUtils.isFunction(rows)) {
|
|
176
176
|
cb = rows;
|
|
177
177
|
} else {
|
|
178
|
-
validList =
|
|
178
|
+
validList = XEUtils.isArray(rows) ? rows : [rows];
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
if (!validList) {
|
|
@@ -206,8 +206,8 @@ hooks.add("tableValidatorModule", {
|
|
|
206
206
|
if (isFull || !validRuleErr) {
|
|
207
207
|
const colVailds = [];
|
|
208
208
|
columns.forEach((column) => {
|
|
209
|
-
const field =
|
|
210
|
-
if ((isFull || !validRuleErr) &&
|
|
209
|
+
const field = XEUtils.isString(column) ? column : column.field;
|
|
210
|
+
if ((isFull || !validRuleErr) && XEUtils.has(editRules, field)) {
|
|
211
211
|
colVailds.push(validatorPrivateMethods.validCellRules("all", row, column).catch(({ rule, rules }) => {
|
|
212
212
|
const rest = {
|
|
213
213
|
rule,
|
|
@@ -240,10 +240,10 @@ hooks.add("tableValidatorModule", {
|
|
|
240
240
|
}
|
|
241
241
|
};
|
|
242
242
|
if (isRowGroupStatus) {
|
|
243
|
-
|
|
243
|
+
XEUtils.eachTree(validList, handleVaild, { children: aggregateOpts.mapChildrenField });
|
|
244
244
|
} else if (treeConfig) {
|
|
245
245
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
246
|
-
|
|
246
|
+
XEUtils.eachTree(validList, handleVaild, { children: childrenField });
|
|
247
247
|
} else {
|
|
248
248
|
validList.forEach(handleVaild);
|
|
249
249
|
}
|
|
@@ -302,7 +302,7 @@ hooks.add("tableValidatorModule", {
|
|
|
302
302
|
* 完整校验行,和 validate 的区别就是会给有效数据中的每一行进行校验
|
|
303
303
|
*/
|
|
304
304
|
fullValidate(rows, cb) {
|
|
305
|
-
if (
|
|
305
|
+
if (XEUtils.isFunction(cb)) {
|
|
306
306
|
log.warnLog("vxe.error.notValidators", ["fullValidate(rows, callback)", "fullValidate(rows)"]);
|
|
307
307
|
}
|
|
308
308
|
return beginValidate(rows, null, cb, true);
|
|
@@ -317,7 +317,7 @@ hooks.add("tableValidatorModule", {
|
|
|
317
317
|
* 完整校验单元格,和 validateField 的区别就是会给有效数据中的每一行进行校验
|
|
318
318
|
*/
|
|
319
319
|
fullValidateField(rows, fieldOrColumn) {
|
|
320
|
-
const colList = (
|
|
320
|
+
const colList = (XEUtils.isArray(fieldOrColumn) ? fieldOrColumn : fieldOrColumn ? [fieldOrColumn] : []).map((column) => util.handleFieldOrColumn($xeTable, column));
|
|
321
321
|
if (colList.length) {
|
|
322
322
|
return beginValidate(rows, colList, null, true);
|
|
323
323
|
}
|
|
@@ -327,7 +327,7 @@ hooks.add("tableValidatorModule", {
|
|
|
327
327
|
* 快速校验单元格,如果存在记录不通过的记录,则返回不再继续校验(异步校验除外)
|
|
328
328
|
*/
|
|
329
329
|
validateField(rows, fieldOrColumn) {
|
|
330
|
-
const colList = (
|
|
330
|
+
const colList = (XEUtils.isArray(fieldOrColumn) ? fieldOrColumn : fieldOrColumn ? [fieldOrColumn] : []).map((column) => util.handleFieldOrColumn($xeTable, column));
|
|
331
331
|
if (colList.length) {
|
|
332
332
|
return beginValidate(rows, colList, null);
|
|
333
333
|
}
|
|
@@ -337,8 +337,8 @@ hooks.add("tableValidatorModule", {
|
|
|
337
337
|
const { validErrorMaps } = reactData;
|
|
338
338
|
const validTip = refValidTooltip.value;
|
|
339
339
|
const validOpts = computeValidOpts.value;
|
|
340
|
-
const rowList =
|
|
341
|
-
const colList = (
|
|
340
|
+
const rowList = XEUtils.isArray(rows) ? rows : rows ? [rows] : [];
|
|
341
|
+
const colList = (XEUtils.isArray(fieldOrColumn) ? fieldOrColumn : fieldOrColumn ? [fieldOrColumn] : []).map((column) => util.handleFieldOrColumn($xeTable, column));
|
|
342
342
|
let validErrMaps = {};
|
|
343
343
|
if (validTip && validTip.reactData.visible) {
|
|
344
344
|
validTip.close();
|
|
@@ -359,14 +359,14 @@ hooks.add("tableValidatorModule", {
|
|
|
359
359
|
});
|
|
360
360
|
} else if (rowList.length) {
|
|
361
361
|
const rowIdList = rowList.map((row) => `${util.getRowid($xeTable, row)}`);
|
|
362
|
-
|
|
362
|
+
XEUtils.each(validErrorMaps, (item, key) => {
|
|
363
363
|
if (rowIdList.indexOf(key.split(":")[0]) > -1) {
|
|
364
364
|
validErrMaps[key] = item;
|
|
365
365
|
}
|
|
366
366
|
});
|
|
367
367
|
} else if (colList.length) {
|
|
368
368
|
const colidList = colList.map((column) => `${column.id}`);
|
|
369
|
-
|
|
369
|
+
XEUtils.each(validErrorMaps, (item, key) => {
|
|
370
370
|
if (colidList.indexOf(key.split(":")[1]) > -1) {
|
|
371
371
|
validErrMaps[key] = item;
|
|
372
372
|
}
|
|
@@ -399,9 +399,9 @@ hooks.add("tableValidatorModule", {
|
|
|
399
399
|
const errorRules = [];
|
|
400
400
|
const syncValidList = [];
|
|
401
401
|
if (field && editRules) {
|
|
402
|
-
const rules =
|
|
402
|
+
const rules = XEUtils.get(editRules, field);
|
|
403
403
|
if (rules) {
|
|
404
|
-
const cellValue =
|
|
404
|
+
const cellValue = XEUtils.isUndefined(val) ? XEUtils.get(row, field) : val;
|
|
405
405
|
rules.forEach((rule) => {
|
|
406
406
|
const { trigger, validator } = rule;
|
|
407
407
|
if (validType === "all" || !trigger || validType === trigger) {
|
|
@@ -420,7 +420,7 @@ hooks.add("tableValidatorModule", {
|
|
|
420
420
|
$gantt: $xeGantt
|
|
421
421
|
};
|
|
422
422
|
let customValid;
|
|
423
|
-
if (
|
|
423
|
+
if (XEUtils.isString(validator)) {
|
|
424
424
|
const gvItem = validators.get(validator);
|
|
425
425
|
if (gvItem) {
|
|
426
426
|
const tcvMethod = gvItem.tableCellValidatorMethod || gvItem.cellValidatorMethod;
|
|
@@ -436,7 +436,7 @@ hooks.add("tableValidatorModule", {
|
|
|
436
436
|
customValid = validator(validParams);
|
|
437
437
|
}
|
|
438
438
|
if (customValid) {
|
|
439
|
-
if (
|
|
439
|
+
if (XEUtils.isError(customValid)) {
|
|
440
440
|
validRuleErr = true;
|
|
441
441
|
errorRules.push(new Rule({ type: "custom", trigger, content: customValid.message, rule: new Rule(rule) }));
|
|
442
442
|
} else if (customValid.catch) {
|
|
@@ -467,8 +467,8 @@ hooks.add("tableValidatorModule", {
|
|
|
467
467
|
const { editRules } = props;
|
|
468
468
|
const { field } = column;
|
|
469
469
|
if (field && editRules) {
|
|
470
|
-
const rules =
|
|
471
|
-
return rules && !!
|
|
470
|
+
const rules = XEUtils.get(editRules, field);
|
|
471
|
+
return rules && !!XEUtils.find(rules, (rule) => type === "all" || !rule.trigger || type === rule.trigger);
|
|
472
472
|
}
|
|
473
473
|
return false;
|
|
474
474
|
},
|