@form-create/element-ui 2.5.10 → 2.5.14
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/dist/form-create.js +419 -354
- package/dist/form-create.min.js +2 -2
- package/dist/form-create.min.js.map +1 -1
- package/package.json +13 -13
- package/src/core/api.js +18 -16
- package/src/core/manager.js +19 -23
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@form-create/element-ui",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.14",
|
|
4
4
|
"description": "element-ui动态表单|form-create is a form generation component that can generate dynamic rendering, data collection, verification and submission functions through JSON. Supports 3 UI frameworks, and supports the generation of any Vue components. Built-in 20 kinds of commonly used form components and custom components, no matter how complex forms can be easily handled.",
|
|
5
5
|
"main": "./dist/form-create.min.js",
|
|
6
6
|
"module": "./dist/form-create.min.js",
|
|
@@ -43,27 +43,27 @@
|
|
|
43
43
|
},
|
|
44
44
|
"homepage": "http://www.form-create.com",
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@form-create/component-elm-checkbox": "^2.5.
|
|
47
|
-
"@form-create/component-elm-frame": "^2.5.
|
|
48
|
-
"@form-create/component-elm-group": "^2.5.
|
|
49
|
-
"@form-create/component-elm-radio": "^2.5.
|
|
50
|
-
"@form-create/component-elm-select": "^2.5.
|
|
51
|
-
"@form-create/component-elm-tree": "^2.5.
|
|
52
|
-
"@form-create/component-elm-upload": "^2.5.
|
|
53
|
-
"@form-create/component-subform": "^2.5.
|
|
54
|
-
"@form-create/core": "^2.5.
|
|
55
|
-
"@form-create/utils": "^2.5.
|
|
46
|
+
"@form-create/component-elm-checkbox": "^2.5.14",
|
|
47
|
+
"@form-create/component-elm-frame": "^2.5.11",
|
|
48
|
+
"@form-create/component-elm-group": "^2.5.12",
|
|
49
|
+
"@form-create/component-elm-radio": "^2.5.14",
|
|
50
|
+
"@form-create/component-elm-select": "^2.5.12",
|
|
51
|
+
"@form-create/component-elm-tree": "^2.5.11",
|
|
52
|
+
"@form-create/component-elm-upload": "^2.5.11",
|
|
53
|
+
"@form-create/component-subform": "^2.5.12",
|
|
54
|
+
"@form-create/core": "^2.5.14",
|
|
55
|
+
"@form-create/utils": "^2.5.11"
|
|
56
56
|
},
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@form-create/component-wangeditor": "^2.5.
|
|
61
|
+
"@form-create/component-wangeditor": "^2.5.13",
|
|
62
62
|
"@vue/cli-plugin-babel": "~4.5.0",
|
|
63
63
|
"@vue/cli-service": "^4.5.3",
|
|
64
64
|
"@vue/composition-api": "^1.0.0-beta.22",
|
|
65
65
|
"element-ui": "^2.13.2",
|
|
66
66
|
"v-jsoneditor": "^1.4.2"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "7cc4214285236caa9e9899af4086cb58a99b35c2"
|
|
69
69
|
}
|
package/src/core/api.js
CHANGED
|
@@ -47,13 +47,13 @@ export default function extendApi(api, h) {
|
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
validateField: (field, callback) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const sub = h.subForm[
|
|
50
|
+
const ctx = h.getFieldCtx(field);
|
|
51
|
+
if (!ctx) return;
|
|
52
|
+
const sub = h.subForm[ctx.id];
|
|
53
53
|
let len = 0;
|
|
54
54
|
let flag;
|
|
55
55
|
const validate = () => {
|
|
56
|
-
h.$manager.validateField(
|
|
56
|
+
h.$manager.validateField(ctx.id, (...args) => {
|
|
57
57
|
if (args[0]) {
|
|
58
58
|
flag = args;
|
|
59
59
|
} else if (flag) {
|
|
@@ -86,22 +86,24 @@ export default function extendApi(api, h) {
|
|
|
86
86
|
clearValidateState(fields, clearSub = true) {
|
|
87
87
|
api.helper.tidyFields(fields).forEach(field => {
|
|
88
88
|
if (clearSub) this.clearSubValidateState(field);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
h.getCtxs(field).forEach(ctx => {
|
|
90
|
+
h.$manager.clearValidateState(ctx);
|
|
91
|
+
});
|
|
92
92
|
});
|
|
93
93
|
},
|
|
94
94
|
clearSubValidateState(fields) {
|
|
95
95
|
api.helper.tidyFields(fields).forEach(field => {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
subForm
|
|
104
|
-
|
|
96
|
+
h.getCtxs(field).forEach(ctx => {
|
|
97
|
+
const subForm = h.subForm[ctx.id];
|
|
98
|
+
if (!subForm) return;
|
|
99
|
+
if (Array.isArray(subForm)) {
|
|
100
|
+
subForm.forEach(form => {
|
|
101
|
+
form.clearValidateState();
|
|
102
|
+
})
|
|
103
|
+
} else if (subForm) {
|
|
104
|
+
subForm.clearValidateState();
|
|
105
|
+
}
|
|
106
|
+
});
|
|
105
107
|
})
|
|
106
108
|
},
|
|
107
109
|
btn: {
|
package/src/core/manager.js
CHANGED
|
@@ -119,8 +119,9 @@ export default {
|
|
|
119
119
|
const item = isFalse(rule.wrap.show) ? children : this.$r(mergeProps([rule.wrap, {
|
|
120
120
|
props: {
|
|
121
121
|
labelWidth: labelWidth === void 0 ? labelWidth : toString(labelWidth),
|
|
122
|
+
label: isTitle ? rule.title.title : undefined,
|
|
122
123
|
...(rule.wrap || {}),
|
|
123
|
-
prop: ctx.
|
|
124
|
+
prop: ctx.id,
|
|
124
125
|
rules: rule.validate,
|
|
125
126
|
},
|
|
126
127
|
class: rule.className,
|
|
@@ -131,7 +132,7 @@ export default {
|
|
|
131
132
|
return (inline === true || isFalse(_col) || isFalse(col.show)) ? item : this.makeCol(rule, uni, [item]);
|
|
132
133
|
},
|
|
133
134
|
isTitle(rule) {
|
|
134
|
-
if(this.options.form.title === false) return false;
|
|
135
|
+
if (this.options.form.title === false) return false;
|
|
135
136
|
const title = rule.title;
|
|
136
137
|
return !((!title.title && !title.native) || isFalse(title.show))
|
|
137
138
|
},
|
|
@@ -140,39 +141,34 @@ export default {
|
|
|
140
141
|
const infoProp = rule.info;
|
|
141
142
|
const isTip = isTooltip(infoProp);
|
|
142
143
|
const form = this.options.form;
|
|
143
|
-
const children = [titleProp.title + (form.labelSuffix || form['label-suffix'] || '')];
|
|
144
|
-
const titleFn = (pop) => this.$r(mergeProps([titleProp, {
|
|
145
|
-
props: titleProp,
|
|
146
|
-
slot: titleProp.slot || (pop ? (isTip ? 'default' : 'reference') : 'label'),
|
|
147
|
-
key: `${uni}tit`,
|
|
148
|
-
type: titleProp.type || 'span',
|
|
149
|
-
}]), children);
|
|
144
|
+
const children = [(titleProp.title || '') + (form.labelSuffix || form['label-suffix'] || '')];
|
|
150
145
|
|
|
151
|
-
if (!isFalse(infoProp.show) && (infoProp.info || infoProp.native)) {
|
|
152
|
-
if (infoProp.icon !== false) {
|
|
153
|
-
children[infoProp.align !== 'left' ? 'unshift' : 'push'](this.$r({
|
|
154
|
-
type: 'i',
|
|
155
|
-
class: infoProp.icon === true ? 'el-icon-warning' : infoProp.icon,
|
|
156
|
-
key: `${uni}i`
|
|
157
|
-
}));
|
|
158
|
-
}
|
|
146
|
+
if (!isFalse(infoProp.show) && (infoProp.info || infoProp.native) && !isFalse(infoProp.icon)) {
|
|
159
147
|
const prop = {
|
|
160
148
|
type: infoProp.type || 'popover',
|
|
161
149
|
props: {...infoProp},
|
|
162
150
|
key: `${uni}pop`,
|
|
163
151
|
slot: 'label'
|
|
164
152
|
};
|
|
165
|
-
|
|
166
153
|
const field = 'content';
|
|
167
154
|
if (infoProp.info && !hasProperty(prop.props, field)) {
|
|
168
155
|
prop.props[field] = infoProp.info;
|
|
169
156
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
157
|
+
children[infoProp.align !== 'left' ? 'unshift' : 'push'](this.$r(mergeProps([infoProp, prop]), [
|
|
158
|
+
this.$r({
|
|
159
|
+
type: 'i',
|
|
160
|
+
slot: isTip ? 'default' : 'reference',
|
|
161
|
+
class: infoProp.icon === true ? 'el-icon-warning' : infoProp.icon,
|
|
162
|
+
key: `${uni}i`
|
|
163
|
+
})
|
|
164
|
+
]));
|
|
174
165
|
}
|
|
175
|
-
return
|
|
166
|
+
return this.$r(mergeProps([titleProp, {
|
|
167
|
+
props: titleProp,
|
|
168
|
+
slot: titleProp.slot || 'label',
|
|
169
|
+
key: `${uni}tit`,
|
|
170
|
+
type: titleProp.type || 'span',
|
|
171
|
+
}]), children);
|
|
176
172
|
},
|
|
177
173
|
makeCol(rule, uni, children) {
|
|
178
174
|
const col = rule.col;
|