@form-create/element-ui 3.2.20 → 3.2.22
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.esm.js +953 -508
- package/dist/form-create.esm.min.js +2 -2
- package/dist/form-create.js +952 -507
- package/dist/form-create.min.js +2 -2
- package/package.json +4 -4
- package/src/core/api.js +10 -7
- package/src/core/manager.js +2 -2
package/dist/form-create.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @form-create/element-ui v3.2.
|
|
2
|
+
* @form-create/element-ui v3.2.22
|
|
3
3
|
* (c) 2018-2025 xaboy
|
|
4
4
|
* Github https://github.com/xaboy/form-create
|
|
5
5
|
* Released under the MIT License.
|
|
@@ -166,6 +166,10 @@
|
|
|
166
166
|
};
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
+
function _slicedToArray(arr, i) {
|
|
170
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
171
|
+
}
|
|
172
|
+
|
|
169
173
|
function _toConsumableArray(arr) {
|
|
170
174
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
171
175
|
}
|
|
@@ -174,10 +178,44 @@
|
|
|
174
178
|
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
175
179
|
}
|
|
176
180
|
|
|
181
|
+
function _arrayWithHoles(arr) {
|
|
182
|
+
if (Array.isArray(arr)) return arr;
|
|
183
|
+
}
|
|
184
|
+
|
|
177
185
|
function _iterableToArray(iter) {
|
|
178
186
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
179
187
|
}
|
|
180
188
|
|
|
189
|
+
function _iterableToArrayLimit(arr, i) {
|
|
190
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
191
|
+
|
|
192
|
+
if (_i == null) return;
|
|
193
|
+
var _arr = [];
|
|
194
|
+
var _n = true;
|
|
195
|
+
var _d = false;
|
|
196
|
+
|
|
197
|
+
var _s, _e;
|
|
198
|
+
|
|
199
|
+
try {
|
|
200
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
201
|
+
_arr.push(_s.value);
|
|
202
|
+
|
|
203
|
+
if (i && _arr.length === i) break;
|
|
204
|
+
}
|
|
205
|
+
} catch (err) {
|
|
206
|
+
_d = true;
|
|
207
|
+
_e = err;
|
|
208
|
+
} finally {
|
|
209
|
+
try {
|
|
210
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
211
|
+
} finally {
|
|
212
|
+
if (_d) throw _e;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
return _arr;
|
|
217
|
+
}
|
|
218
|
+
|
|
181
219
|
function _unsupportedIterableToArray(o, minLen) {
|
|
182
220
|
if (!o) return;
|
|
183
221
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
@@ -199,6 +237,10 @@
|
|
|
199
237
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
200
238
|
}
|
|
201
239
|
|
|
240
|
+
function _nonIterableRest() {
|
|
241
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
242
|
+
}
|
|
243
|
+
|
|
202
244
|
function getSlot(slots, exclude) {
|
|
203
245
|
return Object.keys(slots).reduce(function (lst, name) {
|
|
204
246
|
if (!exclude || exclude.indexOf(name) === -1) {
|
|
@@ -1761,7 +1803,7 @@
|
|
|
1761
1803
|
var keys = this.sort;
|
|
1762
1804
|
|
|
1763
1805
|
if (keys.filter(function (k) {
|
|
1764
|
-
return cacheRule[k].$f;
|
|
1806
|
+
return cacheRule[k] && cacheRule[k].$f;
|
|
1765
1807
|
}).length !== keys.length) {
|
|
1766
1808
|
return;
|
|
1767
1809
|
}
|
|
@@ -1814,6 +1856,7 @@
|
|
|
1814
1856
|
rule: rule,
|
|
1815
1857
|
options: options
|
|
1816
1858
|
};
|
|
1859
|
+
this.sort = Object.keys(this.cacheRule);
|
|
1817
1860
|
|
|
1818
1861
|
if (emit) {
|
|
1819
1862
|
vue.nextTick(function () {
|
|
@@ -1835,6 +1878,7 @@
|
|
|
1835
1878
|
var index = Object.keys(this.cacheRule).indexOf(key);
|
|
1836
1879
|
delete this.cacheRule[key];
|
|
1837
1880
|
delete this.cacheValue[key];
|
|
1881
|
+
this.sort = Object.keys(this.cacheRule);
|
|
1838
1882
|
|
|
1839
1883
|
if (emit) {
|
|
1840
1884
|
vue.nextTick(function () {
|
|
@@ -1957,15 +2001,6 @@
|
|
|
1957
2001
|
}
|
|
1958
2002
|
},
|
|
1959
2003
|
created: function created() {
|
|
1960
|
-
var _this12 = this;
|
|
1961
|
-
|
|
1962
|
-
vue.watch(function () {
|
|
1963
|
-
return _objectSpread2({}, _this12.cacheRule);
|
|
1964
|
-
}, function (n) {
|
|
1965
|
-
_this12.sort = Object.keys(n);
|
|
1966
|
-
}, {
|
|
1967
|
-
immediate: true
|
|
1968
|
-
});
|
|
1969
2004
|
var d = (this.expand || 0) - this.modelValue.length;
|
|
1970
2005
|
|
|
1971
2006
|
for (var i = 0; i < this.modelValue.length; i++) {
|
|
@@ -1977,7 +2012,7 @@
|
|
|
1977
2012
|
}
|
|
1978
2013
|
},
|
|
1979
2014
|
render: function render() {
|
|
1980
|
-
var
|
|
2015
|
+
var _this12 = this;
|
|
1981
2016
|
|
|
1982
2017
|
var keys = this.sort;
|
|
1983
2018
|
var button = this.button;
|
|
@@ -1991,10 +2026,10 @@
|
|
|
1991
2026
|
"class": "_fc-group-plus-minus _fc-group-add fc-clock",
|
|
1992
2027
|
"onClick": this.add
|
|
1993
2028
|
}, null) : keys.map(function (key, index) {
|
|
1994
|
-
var
|
|
1995
|
-
rule =
|
|
1996
|
-
options =
|
|
1997
|
-
var btn = button && !disabled ?
|
|
2029
|
+
var _this12$cacheRule$key = _this12.cacheRule[key],
|
|
2030
|
+
rule = _this12$cacheRule$key.rule,
|
|
2031
|
+
options = _this12$cacheRule$key.options;
|
|
2032
|
+
var btn = button && !disabled ? _this12.makeIcon(keys.length, index, key) : [];
|
|
1998
2033
|
return vue.createVNode("div", {
|
|
1999
2034
|
"class": "_fc-group-container",
|
|
2000
2035
|
"key": key
|
|
@@ -2003,20 +2038,20 @@
|
|
|
2003
2038
|
}, {
|
|
2004
2039
|
disabled: disabled,
|
|
2005
2040
|
'onUpdate:modelValue': function onUpdateModelValue(formData) {
|
|
2006
|
-
return
|
|
2041
|
+
return _this12.formData(key, formData);
|
|
2007
2042
|
},
|
|
2008
2043
|
'onEmit-event': function onEmitEvent(name) {
|
|
2009
2044
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
2010
2045
|
args[_key - 1] = arguments[_key];
|
|
2011
2046
|
}
|
|
2012
2047
|
|
|
2013
|
-
return
|
|
2048
|
+
return _this12.emitEvent(name, args, index, key);
|
|
2014
2049
|
},
|
|
2015
2050
|
'onUpdate:api': function onUpdateApi($f) {
|
|
2016
|
-
return
|
|
2051
|
+
return _this12.add$f(index, key, $f);
|
|
2017
2052
|
},
|
|
2018
2053
|
inFor: true,
|
|
2019
|
-
modelValue:
|
|
2054
|
+
modelValue: _this12.field ? _defineProperty({}, _this12.field, _this12._value(_this12.modelValue[index])) : _this12.modelValue[index],
|
|
2020
2055
|
rule: rule,
|
|
2021
2056
|
option: options,
|
|
2022
2057
|
extendOption: true
|
|
@@ -2165,410 +2200,108 @@
|
|
|
2165
2200
|
return str.replace(str[0], str[0].toLocaleUpperCase());
|
|
2166
2201
|
}
|
|
2167
2202
|
|
|
2168
|
-
var
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
}
|
|
2172
|
-
|
|
2173
|
-
if (vm.props.formCreateInject) {
|
|
2174
|
-
return vm.props.formCreateInject;
|
|
2175
|
-
}
|
|
2176
|
-
|
|
2177
|
-
if (vm.parent) {
|
|
2178
|
-
return _getGroupInject(vm.parent, parent);
|
|
2179
|
-
}
|
|
2180
|
-
};
|
|
2203
|
+
var normalMerge = ['props'];
|
|
2204
|
+
var toArrayMerge = ['class', 'style', 'directives'];
|
|
2205
|
+
var functionalMerge = ['on', 'hook'];
|
|
2181
2206
|
|
|
2182
|
-
function
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
components: components,
|
|
2186
|
-
directives: directives,
|
|
2187
|
-
props: {
|
|
2188
|
-
rule: {
|
|
2189
|
-
type: Array,
|
|
2190
|
-
required: true,
|
|
2191
|
-
"default": function _default() {
|
|
2192
|
-
return [];
|
|
2193
|
-
}
|
|
2194
|
-
},
|
|
2195
|
-
option: {
|
|
2196
|
-
type: Object,
|
|
2197
|
-
"default": function _default() {
|
|
2198
|
-
return {};
|
|
2199
|
-
}
|
|
2200
|
-
},
|
|
2201
|
-
extendOption: Boolean,
|
|
2202
|
-
driver: [String, Object],
|
|
2203
|
-
modelValue: Object,
|
|
2204
|
-
disabled: {
|
|
2205
|
-
type: Boolean,
|
|
2206
|
-
"default": undefined
|
|
2207
|
-
},
|
|
2208
|
-
preview: {
|
|
2209
|
-
type: Boolean,
|
|
2210
|
-
"default": undefined
|
|
2211
|
-
},
|
|
2212
|
-
index: [String, Number],
|
|
2213
|
-
api: Object,
|
|
2214
|
-
locale: [String, Object],
|
|
2215
|
-
name: String,
|
|
2216
|
-
subForm: {
|
|
2217
|
-
type: Boolean,
|
|
2218
|
-
"default": true
|
|
2219
|
-
},
|
|
2220
|
-
inFor: Boolean
|
|
2221
|
-
},
|
|
2222
|
-
emits: ['update:api', 'update:modelValue', 'mounted', 'submit', 'reset', 'change', 'emit-event', 'control', 'remove-rule', 'remove-field', 'sync', 'reload', 'repeat-field', 'update', 'validate-field-fail', 'validate-fail', 'created'],
|
|
2223
|
-
render: function render() {
|
|
2224
|
-
return this.fc.render();
|
|
2225
|
-
},
|
|
2226
|
-
setup: function setup(props) {
|
|
2227
|
-
var vm = vue.getCurrentInstance();
|
|
2228
|
-
vue.provide('parentFC', vm);
|
|
2229
|
-
var parent = vue.inject('parentFC', null);
|
|
2230
|
-
var top = parent;
|
|
2207
|
+
var mergeProps = function mergeProps(objects) {
|
|
2208
|
+
var initial = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2209
|
+
var opt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
2231
2210
|
|
|
2232
|
-
|
|
2233
|
-
while (top.setupState.parent) {
|
|
2234
|
-
top = top.setupState.parent;
|
|
2235
|
-
}
|
|
2236
|
-
} else {
|
|
2237
|
-
top = vm;
|
|
2238
|
-
}
|
|
2211
|
+
var _normalMerge = [].concat(normalMerge, _toConsumableArray(opt['normal'] || []));
|
|
2239
2212
|
|
|
2240
|
-
|
|
2241
|
-
rule = _toRefs.rule,
|
|
2242
|
-
modelValue = _toRefs.modelValue,
|
|
2243
|
-
subForm = _toRefs.subForm,
|
|
2244
|
-
inFor = _toRefs.inFor;
|
|
2213
|
+
var _toArrayMerge = [].concat(toArrayMerge, _toConsumableArray(opt['array'] || []));
|
|
2245
2214
|
|
|
2246
|
-
|
|
2247
|
-
ctxInject: {},
|
|
2248
|
-
destroyed: false,
|
|
2249
|
-
isShow: true,
|
|
2250
|
-
unique: 1,
|
|
2251
|
-
renderRule: _toConsumableArray(rule.value || []),
|
|
2252
|
-
updateValue: JSON.stringify(modelValue.value || {})
|
|
2253
|
-
});
|
|
2254
|
-
var fc = new FormCreate(vm);
|
|
2255
|
-
var fapi = fc.api();
|
|
2256
|
-
var isMore = inFor.value;
|
|
2215
|
+
var _functionalMerge = [].concat(functionalMerge, _toConsumableArray(opt['functional'] || []));
|
|
2257
2216
|
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2217
|
+
var propsMerge = opt['props'] || [];
|
|
2218
|
+
return objects.reduce(function (a, b) {
|
|
2219
|
+
for (var key in b) {
|
|
2220
|
+
if (a[key]) {
|
|
2221
|
+
if (propsMerge.indexOf(key) > -1) {
|
|
2222
|
+
a[key] = mergeProps([b[key]], a[key]);
|
|
2223
|
+
} else if (_normalMerge.indexOf(key) > -1) {
|
|
2224
|
+
a[key] = _objectSpread2(_objectSpread2({}, a[key]), b[key]);
|
|
2225
|
+
} else if (_toArrayMerge.indexOf(key) > -1) {
|
|
2226
|
+
var arrA = a[key] instanceof Array ? a[key] : [a[key]];
|
|
2227
|
+
var arrB = b[key] instanceof Array ? b[key] : [b[key]];
|
|
2228
|
+
a[key] = [].concat(_toConsumableArray(arrA), _toConsumableArray(arrB));
|
|
2229
|
+
} else if (_functionalMerge.indexOf(key) > -1) {
|
|
2230
|
+
for (var event in b[key]) {
|
|
2231
|
+
if (a[key][event]) {
|
|
2232
|
+
var _arrA = a[key][event] instanceof Array ? a[key][event] : [a[key][event]];
|
|
2261
2233
|
|
|
2262
|
-
|
|
2263
|
-
var sub;
|
|
2234
|
+
var _arrB = b[key][event] instanceof Array ? b[key][event] : [b[key][event]];
|
|
2264
2235
|
|
|
2265
|
-
|
|
2266
|
-
sub = toArray(_inject.getSubForm());
|
|
2267
|
-
sub.push(fapi);
|
|
2236
|
+
a[key][event] = [].concat(_toConsumableArray(_arrA), _toConsumableArray(_arrB));
|
|
2268
2237
|
} else {
|
|
2269
|
-
|
|
2238
|
+
a[key][event] = b[key][event];
|
|
2270
2239
|
}
|
|
2271
|
-
|
|
2272
|
-
_inject.subForm(sub);
|
|
2273
2240
|
}
|
|
2274
|
-
}
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
if (inject) {
|
|
2281
|
-
if (isMore) {
|
|
2282
|
-
var sub = toArray(inject.getSubForm());
|
|
2283
|
-
var idx = sub.indexOf(fapi);
|
|
2284
|
-
|
|
2285
|
-
if (idx > -1) {
|
|
2286
|
-
sub.splice(idx, 1);
|
|
2241
|
+
} else if (key === 'hook') {
|
|
2242
|
+
for (var hook in b[key]) {
|
|
2243
|
+
if (a[key][hook]) {
|
|
2244
|
+
a[key][hook] = mergeFn(a[key][hook], b[key][hook]);
|
|
2245
|
+
} else {
|
|
2246
|
+
a[key][hook] = b[key][hook];
|
|
2287
2247
|
}
|
|
2288
|
-
} else {
|
|
2289
|
-
inject.subForm();
|
|
2290
2248
|
}
|
|
2249
|
+
} else {
|
|
2250
|
+
a[key] = b[key];
|
|
2291
2251
|
}
|
|
2292
|
-
}
|
|
2252
|
+
} else {
|
|
2253
|
+
if (_normalMerge.indexOf(key) > -1 || _functionalMerge.indexOf(key) > -1 || propsMerge.indexOf(key) > -1) {
|
|
2254
|
+
a[key] = _objectSpread2({}, b[key]);
|
|
2255
|
+
} else if (_toArrayMerge.indexOf(key) > -1) {
|
|
2256
|
+
a[key] = b[key] instanceof Array ? _toConsumableArray(b[key]) : _typeof(b[key]) === 'object' ? _objectSpread2({}, b[key]) : b[key];
|
|
2257
|
+
} else a[key] = b[key];
|
|
2258
|
+
}
|
|
2259
|
+
}
|
|
2293
2260
|
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
var content = '';
|
|
2298
|
-
var globalClass = props.option && props.option.globalClass || {};
|
|
2299
|
-
Object.keys(globalClass).forEach(function (k) {
|
|
2300
|
-
var subCss = '';
|
|
2301
|
-
globalClass[k].style && Object.keys(globalClass[k].style).forEach(function (key) {
|
|
2302
|
-
subCss += toLine(key) + ':' + globalClass[k].style[key] + ';';
|
|
2303
|
-
});
|
|
2261
|
+
return a;
|
|
2262
|
+
}, initial);
|
|
2263
|
+
};
|
|
2304
2264
|
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2265
|
+
var mergeFn = function mergeFn(fn1, fn2) {
|
|
2266
|
+
return function () {
|
|
2267
|
+
fn1 && fn1.apply(this, arguments);
|
|
2268
|
+
fn2 && fn2.apply(this, arguments);
|
|
2269
|
+
};
|
|
2270
|
+
};
|
|
2308
2271
|
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2272
|
+
var keyAttrs = ['type', 'slot', 'ignore', 'emitPrefix', 'value', 'name', 'native', 'hidden', 'display', 'inject', 'options', 'emit', 'link', 'prefix', 'suffix', 'update', 'sync', 'optionsTo', 'key', 'slotUpdate', 'computed', 'preview', 'component', 'cache', 'modelEmit'];
|
|
2273
|
+
var arrayAttrs = ['validate', 'children', 'control'];
|
|
2274
|
+
var normalAttrs = ['effect', 'deep', 'renderSlots'];
|
|
2275
|
+
function attrs() {
|
|
2276
|
+
return [].concat(keyAttrs, _toConsumableArray(normalMerge), _toConsumableArray(toArrayMerge), _toConsumableArray(functionalMerge), arrayAttrs, normalAttrs);
|
|
2277
|
+
}
|
|
2313
2278
|
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2279
|
+
function format(type, msg, rule) {
|
|
2280
|
+
return "[form-create ".concat(type, "]: ").concat(msg) + (rule ? '\n\nrule: ' + JSON.stringify(rule.getRule ? rule.getRule() : rule) : '');
|
|
2281
|
+
}
|
|
2282
|
+
function err(msg, rule) {
|
|
2283
|
+
console.error(format('err', msg, rule));
|
|
2284
|
+
}
|
|
2285
|
+
function logError(e) {
|
|
2286
|
+
err(e.toString());
|
|
2287
|
+
console.error(e);
|
|
2288
|
+
}
|
|
2317
2289
|
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2290
|
+
function toCase(str) {
|
|
2291
|
+
var to = str.replace(/(-[a-z])/g, function (v) {
|
|
2292
|
+
return v.replace('-', '').toLocaleUpperCase();
|
|
2293
|
+
});
|
|
2294
|
+
return lower(to);
|
|
2295
|
+
}
|
|
2296
|
+
function lower(str) {
|
|
2297
|
+
return str.replace(str[0], str[0].toLowerCase());
|
|
2298
|
+
}
|
|
2323
2299
|
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
}, 100);
|
|
2330
|
-
var emit$scopeForm = debounce(function () {
|
|
2331
|
-
fc.bus.$emit('$loadData.$scopeForm');
|
|
2332
|
-
}, 100);
|
|
2333
|
-
var emit$form = debounce(function () {
|
|
2334
|
-
fc.bus.$emit('$loadData.$form');
|
|
2335
|
-
}, 100);
|
|
2336
|
-
|
|
2337
|
-
var emit$change = function emit$change(field) {
|
|
2338
|
-
fc.bus.$emit('change-$form.' + field);
|
|
2339
|
-
};
|
|
2340
|
-
|
|
2341
|
-
vue.onMounted(function () {
|
|
2342
|
-
if (parent) {
|
|
2343
|
-
fapi.top.bus.$on('$loadData.$form', emit$topForm);
|
|
2344
|
-
fapi.top.bus.$on('change', emit$change);
|
|
2345
|
-
}
|
|
2346
|
-
|
|
2347
|
-
if (fapi !== fapi.scope) {
|
|
2348
|
-
fapi.scope.bus.$on('$loadData.$scopeForm', emit$scopeForm);
|
|
2349
|
-
}
|
|
2350
|
-
|
|
2351
|
-
fc.mounted();
|
|
2352
|
-
});
|
|
2353
|
-
vue.onBeforeUnmount(function () {
|
|
2354
|
-
if (parent) {
|
|
2355
|
-
fapi.top.bus.$off('$loadData.$form', emit$topForm);
|
|
2356
|
-
fapi.top.bus.$off('change', emit$change);
|
|
2357
|
-
}
|
|
2358
|
-
|
|
2359
|
-
if (fapi !== fapi.scope) {
|
|
2360
|
-
fapi.scope.bus.$off('$loadData.$scopeForm', emit$scopeForm);
|
|
2361
|
-
}
|
|
2362
|
-
|
|
2363
|
-
styleEl && document.head.removeChild(styleEl);
|
|
2364
|
-
rmSubForm();
|
|
2365
|
-
data.destroyed = true;
|
|
2366
|
-
fc.unmount();
|
|
2367
|
-
});
|
|
2368
|
-
vue.onUpdated(function () {
|
|
2369
|
-
fc.updated();
|
|
2370
|
-
});
|
|
2371
|
-
vue.watch(subForm, function (n) {
|
|
2372
|
-
n ? addSubForm() : rmSubForm();
|
|
2373
|
-
}, {
|
|
2374
|
-
immediate: true
|
|
2375
|
-
});
|
|
2376
|
-
vue.watch(function () {
|
|
2377
|
-
return props.option;
|
|
2378
|
-
}, function () {
|
|
2379
|
-
fc.initOptions();
|
|
2380
|
-
fapi.refresh();
|
|
2381
|
-
}, {
|
|
2382
|
-
deep: true
|
|
2383
|
-
});
|
|
2384
|
-
vue.watch(function () {
|
|
2385
|
-
return _toConsumableArray(rule.value);
|
|
2386
|
-
}, function (n) {
|
|
2387
|
-
if (fc.$handle.isBreakWatch() || n.length === data.renderRule.length && n.every(function (v) {
|
|
2388
|
-
return data.renderRule.indexOf(v) > -1;
|
|
2389
|
-
})) return;
|
|
2390
|
-
fc.$handle.updateAppendData();
|
|
2391
|
-
fc.$handle.reloadRule(rule.value);
|
|
2392
|
-
vm.setupState.renderRule();
|
|
2393
|
-
});
|
|
2394
|
-
vue.watch(function () {
|
|
2395
|
-
return [props.disabled, props.preview];
|
|
2396
|
-
}, function () {
|
|
2397
|
-
fapi.refresh();
|
|
2398
|
-
});
|
|
2399
|
-
vue.watch(modelValue, function (n) {
|
|
2400
|
-
if (JSON.stringify(n || {}) === data.updateValue) return;
|
|
2401
|
-
|
|
2402
|
-
if (fapi.config.forceCoverValue) {
|
|
2403
|
-
fapi.coverValue(n || {});
|
|
2404
|
-
} else {
|
|
2405
|
-
fapi.setValue(n || {});
|
|
2406
|
-
}
|
|
2407
|
-
}, {
|
|
2408
|
-
deep: true,
|
|
2409
|
-
flush: 'post'
|
|
2410
|
-
});
|
|
2411
|
-
vue.watch(function () {
|
|
2412
|
-
return props.index;
|
|
2413
|
-
}, function () {
|
|
2414
|
-
fapi.coverValue({});
|
|
2415
|
-
fc.$handle.updateAppendData();
|
|
2416
|
-
vue.nextTick(function () {
|
|
2417
|
-
vue.nextTick(function () {
|
|
2418
|
-
fapi.clearValidateState();
|
|
2419
|
-
});
|
|
2420
|
-
});
|
|
2421
|
-
}, {
|
|
2422
|
-
flush: 'sync'
|
|
2423
|
-
});
|
|
2424
|
-
return _objectSpread2(_objectSpread2({
|
|
2425
|
-
fc: vue.markRaw(fc),
|
|
2426
|
-
parent: parent ? vue.markRaw(parent) : parent,
|
|
2427
|
-
top: vue.markRaw(top),
|
|
2428
|
-
fapi: vue.markRaw(fapi)
|
|
2429
|
-
}, vue.toRefs(data)), {}, {
|
|
2430
|
-
getGroupInject: function getGroupInject() {
|
|
2431
|
-
return _getGroupInject(vm, parent);
|
|
2432
|
-
},
|
|
2433
|
-
refresh: function refresh() {
|
|
2434
|
-
++data.unique;
|
|
2435
|
-
},
|
|
2436
|
-
renderRule: function renderRule() {
|
|
2437
|
-
data.renderRule = _toConsumableArray(rule.value || []);
|
|
2438
|
-
},
|
|
2439
|
-
updateValue: function updateValue(value) {
|
|
2440
|
-
if (data.destroyed) return;
|
|
2441
|
-
var json = JSON.stringify(value);
|
|
2442
|
-
|
|
2443
|
-
if (data.updateValue === json) {
|
|
2444
|
-
return;
|
|
2445
|
-
}
|
|
2446
|
-
|
|
2447
|
-
data.updateValue = json;
|
|
2448
|
-
vm.emit('update:modelValue', value);
|
|
2449
|
-
vue.nextTick(function () {
|
|
2450
|
-
emit$form();
|
|
2451
|
-
|
|
2452
|
-
if (!parent) {
|
|
2453
|
-
emit$topForm();
|
|
2454
|
-
emit$scopeForm();
|
|
2455
|
-
} else if (!subForm.value) {
|
|
2456
|
-
emit$scopeForm();
|
|
2457
|
-
}
|
|
2458
|
-
});
|
|
2459
|
-
}
|
|
2460
|
-
});
|
|
2461
|
-
},
|
|
2462
|
-
created: function created() {
|
|
2463
|
-
var vm = vue.getCurrentInstance();
|
|
2464
|
-
vm.emit('update:api', vm.setupState.fapi);
|
|
2465
|
-
vm.setupState.fc.init();
|
|
2466
|
-
}
|
|
2467
|
-
});
|
|
2468
|
-
}
|
|
2469
|
-
|
|
2470
|
-
var normalMerge = ['props'];
|
|
2471
|
-
var toArrayMerge = ['class', 'style', 'directives'];
|
|
2472
|
-
var functionalMerge = ['on', 'hook'];
|
|
2473
|
-
|
|
2474
|
-
var mergeProps = function mergeProps(objects) {
|
|
2475
|
-
var initial = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2476
|
-
var opt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
2477
|
-
|
|
2478
|
-
var _normalMerge = [].concat(normalMerge, _toConsumableArray(opt['normal'] || []));
|
|
2479
|
-
|
|
2480
|
-
var _toArrayMerge = [].concat(toArrayMerge, _toConsumableArray(opt['array'] || []));
|
|
2481
|
-
|
|
2482
|
-
var _functionalMerge = [].concat(functionalMerge, _toConsumableArray(opt['functional'] || []));
|
|
2483
|
-
|
|
2484
|
-
var propsMerge = opt['props'] || [];
|
|
2485
|
-
return objects.reduce(function (a, b) {
|
|
2486
|
-
for (var key in b) {
|
|
2487
|
-
if (a[key]) {
|
|
2488
|
-
if (propsMerge.indexOf(key) > -1) {
|
|
2489
|
-
a[key] = mergeProps([b[key]], a[key]);
|
|
2490
|
-
} else if (_normalMerge.indexOf(key) > -1) {
|
|
2491
|
-
a[key] = _objectSpread2(_objectSpread2({}, a[key]), b[key]);
|
|
2492
|
-
} else if (_toArrayMerge.indexOf(key) > -1) {
|
|
2493
|
-
var arrA = a[key] instanceof Array ? a[key] : [a[key]];
|
|
2494
|
-
var arrB = b[key] instanceof Array ? b[key] : [b[key]];
|
|
2495
|
-
a[key] = [].concat(_toConsumableArray(arrA), _toConsumableArray(arrB));
|
|
2496
|
-
} else if (_functionalMerge.indexOf(key) > -1) {
|
|
2497
|
-
for (var event in b[key]) {
|
|
2498
|
-
if (a[key][event]) {
|
|
2499
|
-
var _arrA = a[key][event] instanceof Array ? a[key][event] : [a[key][event]];
|
|
2500
|
-
|
|
2501
|
-
var _arrB = b[key][event] instanceof Array ? b[key][event] : [b[key][event]];
|
|
2502
|
-
|
|
2503
|
-
a[key][event] = [].concat(_toConsumableArray(_arrA), _toConsumableArray(_arrB));
|
|
2504
|
-
} else {
|
|
2505
|
-
a[key][event] = b[key][event];
|
|
2506
|
-
}
|
|
2507
|
-
}
|
|
2508
|
-
} else if (key === 'hook') {
|
|
2509
|
-
for (var hook in b[key]) {
|
|
2510
|
-
if (a[key][hook]) {
|
|
2511
|
-
a[key][hook] = mergeFn(a[key][hook], b[key][hook]);
|
|
2512
|
-
} else {
|
|
2513
|
-
a[key][hook] = b[key][hook];
|
|
2514
|
-
}
|
|
2515
|
-
}
|
|
2516
|
-
} else {
|
|
2517
|
-
a[key] = b[key];
|
|
2518
|
-
}
|
|
2519
|
-
} else {
|
|
2520
|
-
if (_normalMerge.indexOf(key) > -1 || _functionalMerge.indexOf(key) > -1 || propsMerge.indexOf(key) > -1) {
|
|
2521
|
-
a[key] = _objectSpread2({}, b[key]);
|
|
2522
|
-
} else if (_toArrayMerge.indexOf(key) > -1) {
|
|
2523
|
-
a[key] = b[key] instanceof Array ? _toConsumableArray(b[key]) : _typeof(b[key]) === 'object' ? _objectSpread2({}, b[key]) : b[key];
|
|
2524
|
-
} else a[key] = b[key];
|
|
2525
|
-
}
|
|
2526
|
-
}
|
|
2527
|
-
|
|
2528
|
-
return a;
|
|
2529
|
-
}, initial);
|
|
2530
|
-
};
|
|
2531
|
-
|
|
2532
|
-
var mergeFn = function mergeFn(fn1, fn2) {
|
|
2533
|
-
return function () {
|
|
2534
|
-
fn1 && fn1.apply(this, arguments);
|
|
2535
|
-
fn2 && fn2.apply(this, arguments);
|
|
2536
|
-
};
|
|
2537
|
-
};
|
|
2538
|
-
|
|
2539
|
-
var keyAttrs = ['type', 'slot', 'ignore', 'emitPrefix', 'value', 'name', 'native', 'hidden', 'display', 'inject', 'options', 'emit', 'link', 'prefix', 'suffix', 'update', 'sync', 'optionsTo', 'key', 'slotUpdate', 'computed', 'preview', 'component', 'cache', 'modelEmit'];
|
|
2540
|
-
var arrayAttrs = ['validate', 'children', 'control'];
|
|
2541
|
-
var normalAttrs = ['effect', 'deep', 'renderSlots'];
|
|
2542
|
-
function attrs() {
|
|
2543
|
-
return [].concat(keyAttrs, _toConsumableArray(normalMerge), _toConsumableArray(toArrayMerge), _toConsumableArray(functionalMerge), arrayAttrs, normalAttrs);
|
|
2544
|
-
}
|
|
2545
|
-
|
|
2546
|
-
function format(type, msg, rule) {
|
|
2547
|
-
return "[form-create ".concat(type, "]: ").concat(msg) + (rule ? '\n\nrule: ' + JSON.stringify(rule.getRule ? rule.getRule() : rule) : '');
|
|
2548
|
-
}
|
|
2549
|
-
function err(msg, rule) {
|
|
2550
|
-
console.error(format('err', msg, rule));
|
|
2551
|
-
}
|
|
2552
|
-
function logError(e) {
|
|
2553
|
-
err(e.toString());
|
|
2554
|
-
console.error(e);
|
|
2555
|
-
}
|
|
2556
|
-
|
|
2557
|
-
function toCase(str) {
|
|
2558
|
-
var to = str.replace(/(-[a-z])/g, function (v) {
|
|
2559
|
-
return v.replace('-', '').toLocaleUpperCase();
|
|
2560
|
-
});
|
|
2561
|
-
return lower(to);
|
|
2562
|
-
}
|
|
2563
|
-
function lower(str) {
|
|
2564
|
-
return str.replace(str[0], str[0].toLowerCase());
|
|
2565
|
-
}
|
|
2566
|
-
|
|
2567
|
-
var PREFIX = '[[FORM-CREATE-PREFIX-';
|
|
2568
|
-
var SUFFIX = '-FORM-CREATE-SUFFIX]]';
|
|
2569
|
-
function toJson(obj, space) {
|
|
2570
|
-
return JSON.stringify(deepExtend(Array.isArray(obj) ? [] : {}, obj, true), function (key, val) {
|
|
2571
|
-
if (val && val._isVue === true) return undefined;
|
|
2300
|
+
var PREFIX = '[[FORM-CREATE-PREFIX-';
|
|
2301
|
+
var SUFFIX = '-FORM-CREATE-SUFFIX]]';
|
|
2302
|
+
function toJson(obj, space) {
|
|
2303
|
+
return JSON.stringify(deepExtend(Array.isArray(obj) ? [] : {}, obj, true), function (key, val) {
|
|
2304
|
+
if (val && val._isVue === true) return undefined;
|
|
2572
2305
|
|
|
2573
2306
|
if (typeof val !== 'function') {
|
|
2574
2307
|
return val;
|
|
@@ -2914,10 +2647,308 @@
|
|
|
2914
2647
|
} else {
|
|
2915
2648
|
currentCondition += '.' + part;
|
|
2916
2649
|
}
|
|
2917
|
-
|
|
2918
|
-
conditions.push(currentCondition);
|
|
2650
|
+
|
|
2651
|
+
conditions.push(currentCondition);
|
|
2652
|
+
});
|
|
2653
|
+
return conditions.join(' && ');
|
|
2654
|
+
}
|
|
2655
|
+
|
|
2656
|
+
var _getGroupInject = function getGroupInject(vm, parent) {
|
|
2657
|
+
if (!vm || vm === parent) {
|
|
2658
|
+
return;
|
|
2659
|
+
}
|
|
2660
|
+
|
|
2661
|
+
if (vm.props.formCreateInject) {
|
|
2662
|
+
return vm.props.formCreateInject;
|
|
2663
|
+
}
|
|
2664
|
+
|
|
2665
|
+
if (vm.parent) {
|
|
2666
|
+
return _getGroupInject(vm.parent, parent);
|
|
2667
|
+
}
|
|
2668
|
+
};
|
|
2669
|
+
|
|
2670
|
+
function $FormCreate(FormCreate, components, directives) {
|
|
2671
|
+
return vue.defineComponent({
|
|
2672
|
+
name: 'FormCreate' + (FormCreate.isMobile ? 'Mobile' : ''),
|
|
2673
|
+
components: components,
|
|
2674
|
+
directives: directives,
|
|
2675
|
+
props: {
|
|
2676
|
+
rule: {
|
|
2677
|
+
type: Array,
|
|
2678
|
+
required: true,
|
|
2679
|
+
"default": function _default() {
|
|
2680
|
+
return [];
|
|
2681
|
+
}
|
|
2682
|
+
},
|
|
2683
|
+
option: {
|
|
2684
|
+
type: Object,
|
|
2685
|
+
"default": function _default() {
|
|
2686
|
+
return {};
|
|
2687
|
+
}
|
|
2688
|
+
},
|
|
2689
|
+
extendOption: Boolean,
|
|
2690
|
+
driver: [String, Object],
|
|
2691
|
+
modelValue: Object,
|
|
2692
|
+
disabled: {
|
|
2693
|
+
type: Boolean,
|
|
2694
|
+
"default": undefined
|
|
2695
|
+
},
|
|
2696
|
+
preview: {
|
|
2697
|
+
type: Boolean,
|
|
2698
|
+
"default": undefined
|
|
2699
|
+
},
|
|
2700
|
+
index: [String, Number],
|
|
2701
|
+
api: Object,
|
|
2702
|
+
locale: [String, Object],
|
|
2703
|
+
name: String,
|
|
2704
|
+
subForm: {
|
|
2705
|
+
type: Boolean,
|
|
2706
|
+
"default": true
|
|
2707
|
+
},
|
|
2708
|
+
inFor: Boolean
|
|
2709
|
+
},
|
|
2710
|
+
emits: ['update:api', 'update:modelValue', 'mounted', 'submit', 'reset', 'change', 'emit-event', 'control', 'remove-rule', 'remove-field', 'sync', 'reload', 'repeat-field', 'update', 'validate-field-fail', 'validate-fail', 'created'],
|
|
2711
|
+
render: function render() {
|
|
2712
|
+
return this.fc.render();
|
|
2713
|
+
},
|
|
2714
|
+
setup: function setup(props) {
|
|
2715
|
+
var vm = vue.getCurrentInstance();
|
|
2716
|
+
vue.provide('parentFC', vm);
|
|
2717
|
+
var parent = vue.inject('parentFC', null);
|
|
2718
|
+
var top = parent;
|
|
2719
|
+
|
|
2720
|
+
if (parent) {
|
|
2721
|
+
while (top.setupState.parent) {
|
|
2722
|
+
top = top.setupState.parent;
|
|
2723
|
+
}
|
|
2724
|
+
} else {
|
|
2725
|
+
top = vm;
|
|
2726
|
+
}
|
|
2727
|
+
|
|
2728
|
+
var _toRefs = vue.toRefs(props),
|
|
2729
|
+
rule = _toRefs.rule,
|
|
2730
|
+
modelValue = _toRefs.modelValue,
|
|
2731
|
+
subForm = _toRefs.subForm,
|
|
2732
|
+
inFor = _toRefs.inFor;
|
|
2733
|
+
|
|
2734
|
+
var data = vue.reactive({
|
|
2735
|
+
ctxInject: {},
|
|
2736
|
+
destroyed: false,
|
|
2737
|
+
isShow: true,
|
|
2738
|
+
unique: 1,
|
|
2739
|
+
renderRule: _toConsumableArray(rule.value || []),
|
|
2740
|
+
updateValue: JSON.stringify(modelValue.value || {})
|
|
2741
|
+
});
|
|
2742
|
+
var fc = new FormCreate(vm);
|
|
2743
|
+
var fapi = fc.api();
|
|
2744
|
+
var isMore = inFor.value;
|
|
2745
|
+
|
|
2746
|
+
var addSubForm = function addSubForm() {
|
|
2747
|
+
if (parent) {
|
|
2748
|
+
var _inject = _getGroupInject(vm, parent);
|
|
2749
|
+
|
|
2750
|
+
if (_inject) {
|
|
2751
|
+
var sub;
|
|
2752
|
+
|
|
2753
|
+
if (isMore) {
|
|
2754
|
+
sub = toArray(_inject.getSubForm());
|
|
2755
|
+
sub.push(fapi);
|
|
2756
|
+
} else {
|
|
2757
|
+
sub = fapi;
|
|
2758
|
+
}
|
|
2759
|
+
|
|
2760
|
+
_inject.subForm(sub);
|
|
2761
|
+
}
|
|
2762
|
+
}
|
|
2763
|
+
};
|
|
2764
|
+
|
|
2765
|
+
var rmSubForm = function rmSubForm() {
|
|
2766
|
+
var inject = _getGroupInject(vm, parent);
|
|
2767
|
+
|
|
2768
|
+
if (inject) {
|
|
2769
|
+
if (isMore) {
|
|
2770
|
+
var sub = toArray(inject.getSubForm());
|
|
2771
|
+
var idx = sub.indexOf(fapi);
|
|
2772
|
+
|
|
2773
|
+
if (idx > -1) {
|
|
2774
|
+
sub.splice(idx, 1);
|
|
2775
|
+
}
|
|
2776
|
+
} else {
|
|
2777
|
+
inject.subForm();
|
|
2778
|
+
}
|
|
2779
|
+
}
|
|
2780
|
+
};
|
|
2781
|
+
|
|
2782
|
+
var styleEl = null;
|
|
2783
|
+
vue.onBeforeMount(function () {
|
|
2784
|
+
vue.watchEffect(function () {
|
|
2785
|
+
var content = '';
|
|
2786
|
+
var globalClass = props.option && props.option.globalClass || {};
|
|
2787
|
+
Object.keys(globalClass).forEach(function (k) {
|
|
2788
|
+
var subCss = '';
|
|
2789
|
+
globalClass[k].style && Object.keys(globalClass[k].style).forEach(function (key) {
|
|
2790
|
+
subCss += toLine(key) + ':' + globalClass[k].style[key] + ';';
|
|
2791
|
+
});
|
|
2792
|
+
|
|
2793
|
+
if (globalClass[k].content) {
|
|
2794
|
+
subCss += globalClass[k].content + ';';
|
|
2795
|
+
}
|
|
2796
|
+
|
|
2797
|
+
if (subCss) {
|
|
2798
|
+
content += ".".concat(k, "{").concat(subCss, "}");
|
|
2799
|
+
}
|
|
2800
|
+
});
|
|
2801
|
+
|
|
2802
|
+
if (props.option && props.option.style) {
|
|
2803
|
+
content += props.option.style;
|
|
2804
|
+
}
|
|
2805
|
+
|
|
2806
|
+
if (!styleEl) {
|
|
2807
|
+
styleEl = document.createElement('style');
|
|
2808
|
+
styleEl.type = 'text/css';
|
|
2809
|
+
document.head.appendChild(styleEl);
|
|
2810
|
+
}
|
|
2811
|
+
|
|
2812
|
+
styleEl.innerHTML = content || '';
|
|
2813
|
+
});
|
|
2814
|
+
});
|
|
2815
|
+
var emit$topForm = debounce(function () {
|
|
2816
|
+
fc.bus.$emit('$loadData.$topForm');
|
|
2817
|
+
}, 100);
|
|
2818
|
+
var emit$scopeForm = debounce(function () {
|
|
2819
|
+
fc.bus.$emit('$loadData.$scopeForm');
|
|
2820
|
+
}, 100);
|
|
2821
|
+
var emit$form = debounce(function () {
|
|
2822
|
+
fc.bus.$emit('$loadData.$form');
|
|
2823
|
+
}, 100);
|
|
2824
|
+
|
|
2825
|
+
var emit$change = function emit$change(field) {
|
|
2826
|
+
fc.bus.$emit('change-$form.' + field);
|
|
2827
|
+
};
|
|
2828
|
+
|
|
2829
|
+
vue.onMounted(function () {
|
|
2830
|
+
if (parent) {
|
|
2831
|
+
fapi.top.bus.$on('$loadData.$form', emit$topForm);
|
|
2832
|
+
fapi.top.bus.$on('change', emit$change);
|
|
2833
|
+
}
|
|
2834
|
+
|
|
2835
|
+
if (fapi !== fapi.scope) {
|
|
2836
|
+
fapi.scope.bus.$on('$loadData.$scopeForm', emit$scopeForm);
|
|
2837
|
+
}
|
|
2838
|
+
|
|
2839
|
+
fc.mounted();
|
|
2840
|
+
});
|
|
2841
|
+
vue.onBeforeUnmount(function () {
|
|
2842
|
+
if (parent) {
|
|
2843
|
+
fapi.top.bus.$off('$loadData.$form', emit$topForm);
|
|
2844
|
+
fapi.top.bus.$off('change', emit$change);
|
|
2845
|
+
}
|
|
2846
|
+
|
|
2847
|
+
if (fapi !== fapi.scope) {
|
|
2848
|
+
fapi.scope.bus.$off('$loadData.$scopeForm', emit$scopeForm);
|
|
2849
|
+
}
|
|
2850
|
+
|
|
2851
|
+
styleEl && document.head.removeChild(styleEl);
|
|
2852
|
+
rmSubForm();
|
|
2853
|
+
data.destroyed = true;
|
|
2854
|
+
fc.unmount();
|
|
2855
|
+
});
|
|
2856
|
+
vue.onUpdated(function () {
|
|
2857
|
+
fc.updated();
|
|
2858
|
+
});
|
|
2859
|
+
addSubForm();
|
|
2860
|
+
vue.watch(function () {
|
|
2861
|
+
return props.option;
|
|
2862
|
+
}, function () {
|
|
2863
|
+
fc.initOptions();
|
|
2864
|
+
fapi.refresh();
|
|
2865
|
+
}, {
|
|
2866
|
+
deep: true
|
|
2867
|
+
});
|
|
2868
|
+
vue.watch(function () {
|
|
2869
|
+
return _toConsumableArray(rule.value);
|
|
2870
|
+
}, function (n) {
|
|
2871
|
+
if (fc.$handle.isBreakWatch() || n.length === data.renderRule.length && n.every(function (v) {
|
|
2872
|
+
return data.renderRule.indexOf(v) > -1;
|
|
2873
|
+
})) return;
|
|
2874
|
+
fc.$handle.updateAppendData();
|
|
2875
|
+
fc.$handle.reloadRule(rule.value);
|
|
2876
|
+
vm.setupState.renderRule();
|
|
2877
|
+
});
|
|
2878
|
+
vue.watch(function () {
|
|
2879
|
+
return [props.disabled, props.preview];
|
|
2880
|
+
}, function () {
|
|
2881
|
+
fapi.refresh();
|
|
2882
|
+
});
|
|
2883
|
+
vue.watch(modelValue, function (n) {
|
|
2884
|
+
if (toJson(n || {}) === data.updateValue) return;
|
|
2885
|
+
|
|
2886
|
+
if (fapi.config.forceCoverValue) {
|
|
2887
|
+
fapi.coverValue(n || {});
|
|
2888
|
+
} else {
|
|
2889
|
+
fapi.setValue(n || {});
|
|
2890
|
+
}
|
|
2891
|
+
}, {
|
|
2892
|
+
deep: true,
|
|
2893
|
+
flush: 'post'
|
|
2894
|
+
});
|
|
2895
|
+
vue.watch(function () {
|
|
2896
|
+
return props.index;
|
|
2897
|
+
}, function () {
|
|
2898
|
+
fapi.coverValue({});
|
|
2899
|
+
fc.$handle.updateAppendData();
|
|
2900
|
+
vue.nextTick(function () {
|
|
2901
|
+
vue.nextTick(function () {
|
|
2902
|
+
fapi.clearValidateState();
|
|
2903
|
+
});
|
|
2904
|
+
});
|
|
2905
|
+
}, {
|
|
2906
|
+
flush: 'sync'
|
|
2907
|
+
});
|
|
2908
|
+
return _objectSpread2(_objectSpread2({
|
|
2909
|
+
fc: vue.markRaw(fc),
|
|
2910
|
+
parent: parent ? vue.markRaw(parent) : parent,
|
|
2911
|
+
top: vue.markRaw(top),
|
|
2912
|
+
fapi: vue.markRaw(fapi)
|
|
2913
|
+
}, vue.toRefs(data)), {}, {
|
|
2914
|
+
getGroupInject: function getGroupInject() {
|
|
2915
|
+
return _getGroupInject(vm, parent);
|
|
2916
|
+
},
|
|
2917
|
+
refresh: function refresh() {
|
|
2918
|
+
++data.unique;
|
|
2919
|
+
},
|
|
2920
|
+
renderRule: function renderRule() {
|
|
2921
|
+
data.renderRule = _toConsumableArray(rule.value || []);
|
|
2922
|
+
},
|
|
2923
|
+
updateValue: function updateValue(value) {
|
|
2924
|
+
if (data.destroyed) return;
|
|
2925
|
+
var json = toJson(value);
|
|
2926
|
+
|
|
2927
|
+
if (data.updateValue === json) {
|
|
2928
|
+
return;
|
|
2929
|
+
}
|
|
2930
|
+
|
|
2931
|
+
data.updateValue = json;
|
|
2932
|
+
vm.emit('update:modelValue', value);
|
|
2933
|
+
vue.nextTick(function () {
|
|
2934
|
+
emit$form();
|
|
2935
|
+
|
|
2936
|
+
if (!parent) {
|
|
2937
|
+
emit$topForm();
|
|
2938
|
+
emit$scopeForm();
|
|
2939
|
+
} else if (!subForm.value) {
|
|
2940
|
+
emit$scopeForm();
|
|
2941
|
+
}
|
|
2942
|
+
});
|
|
2943
|
+
}
|
|
2944
|
+
});
|
|
2945
|
+
},
|
|
2946
|
+
created: function created() {
|
|
2947
|
+
var vm = vue.getCurrentInstance();
|
|
2948
|
+
vm.emit('update:api', vm.setupState.fapi);
|
|
2949
|
+
vm.setupState.fc.init();
|
|
2950
|
+
}
|
|
2919
2951
|
});
|
|
2920
|
-
return conditions.join(' && ');
|
|
2921
2952
|
}
|
|
2922
2953
|
|
|
2923
2954
|
function baseRule() {
|
|
@@ -3125,8 +3156,15 @@
|
|
|
3125
3156
|
}
|
|
3126
3157
|
|
|
3127
3158
|
function props(fields, key, val) {
|
|
3128
|
-
|
|
3129
|
-
|
|
3159
|
+
if (is.Undef(fields)) {
|
|
3160
|
+
fields = Object.keys(_objectSpread2(_objectSpread2({}, h.fieldCtx), h.nameCtx));
|
|
3161
|
+
} else if (!Array.isArray(fields)) {
|
|
3162
|
+
fields = [fields];
|
|
3163
|
+
}
|
|
3164
|
+
|
|
3165
|
+
fields.forEach(function (field) {
|
|
3166
|
+
var ctxs = h.fieldCtx[field] || h.nameCtx[field];
|
|
3167
|
+
ctxs && ctxs.forEach(function (ctx) {
|
|
3130
3168
|
$set(ctx.rule, key, val);
|
|
3131
3169
|
h.$render.clearCache(ctx);
|
|
3132
3170
|
});
|
|
@@ -3144,6 +3182,14 @@
|
|
|
3144
3182
|
}
|
|
3145
3183
|
|
|
3146
3184
|
var api = {
|
|
3185
|
+
get isScope() {
|
|
3186
|
+
return h.vm.props.subForm === false;
|
|
3187
|
+
},
|
|
3188
|
+
|
|
3189
|
+
get isPreview() {
|
|
3190
|
+
return h.preview;
|
|
3191
|
+
},
|
|
3192
|
+
|
|
3147
3193
|
get config() {
|
|
3148
3194
|
return h.options;
|
|
3149
3195
|
},
|
|
@@ -3223,6 +3269,10 @@
|
|
|
3223
3269
|
return undefined;
|
|
3224
3270
|
},
|
|
3225
3271
|
|
|
3272
|
+
get formulas() {
|
|
3273
|
+
return _objectSpread2({}, h.fc.formulas);
|
|
3274
|
+
},
|
|
3275
|
+
|
|
3226
3276
|
formData: function formData(fields) {
|
|
3227
3277
|
if (fields == null || typeof fields === 'boolean') {
|
|
3228
3278
|
var data = {};
|
|
@@ -3653,10 +3703,13 @@
|
|
|
3653
3703
|
}
|
|
3654
3704
|
}
|
|
3655
3705
|
},
|
|
3656
|
-
getChildrenFormData: function getChildrenFormData(id) {
|
|
3706
|
+
getChildrenFormData: function getChildrenFormData(id, flag) {
|
|
3657
3707
|
var rules = api.getChildrenRuleList(id);
|
|
3658
3708
|
return rules.reduce(function (formData, rule) {
|
|
3659
|
-
|
|
3709
|
+
if (rule.ignore !== true || flag === true) {
|
|
3710
|
+
formData[rule.field] = copy(rule.value);
|
|
3711
|
+
}
|
|
3712
|
+
|
|
3660
3713
|
return formData;
|
|
3661
3714
|
}, {});
|
|
3662
3715
|
},
|
|
@@ -3749,7 +3802,7 @@
|
|
|
3749
3802
|
});
|
|
3750
3803
|
reject(e);
|
|
3751
3804
|
});
|
|
3752
|
-
});
|
|
3805
|
+
})["catch"](function (e) {});
|
|
3753
3806
|
});
|
|
3754
3807
|
},
|
|
3755
3808
|
watchFetch: function watchFetch(opt, callback, error, beforeFetch) {
|
|
@@ -3774,7 +3827,7 @@
|
|
|
3774
3827
|
});
|
|
3775
3828
|
error && error(e);
|
|
3776
3829
|
});
|
|
3777
|
-
});
|
|
3830
|
+
})["catch"](function (e) {});
|
|
3778
3831
|
}, opt.wait == null ? 1000 : opt.wait);
|
|
3779
3832
|
},
|
|
3780
3833
|
getData: function getData(id, def) {
|
|
@@ -5655,7 +5708,7 @@
|
|
|
5655
5708
|
return JSON.stringify(this.getFormData(ctx), strFn) !== JSON.stringify(value, strFn);
|
|
5656
5709
|
},
|
|
5657
5710
|
isQuote: function isQuote(ctx, value) {
|
|
5658
|
-
return (is.Object(value) || Array.isArray(value)) && value === ctx.rule.value;
|
|
5711
|
+
return (value instanceof Function || is.Object(value) || Array.isArray(value)) && value === ctx.rule.value;
|
|
5659
5712
|
},
|
|
5660
5713
|
refreshUpdate: function refreshUpdate(ctx, val, origin, field) {
|
|
5661
5714
|
var _this5 = this;
|
|
@@ -5935,19 +5988,25 @@
|
|
|
5935
5988
|
return info;
|
|
5936
5989
|
});
|
|
5937
5990
|
ctx.refRule['__$validate'] = vue.computed(function () {
|
|
5991
|
+
var t = function t(msg) {
|
|
5992
|
+
var match = msg.match(/^\{\{\s*\$t\.(.+)\s*\}\}$/);
|
|
5993
|
+
|
|
5994
|
+
if (match) {
|
|
5995
|
+
var _ctx$refRule, _ctx$refRule$__$title;
|
|
5996
|
+
|
|
5997
|
+
return _this.api.t(match[1], {
|
|
5998
|
+
title: (_ctx$refRule = ctx.refRule) === null || _ctx$refRule === void 0 ? void 0 : (_ctx$refRule$__$title = _ctx$refRule.__$title) === null || _ctx$refRule$__$title === void 0 ? void 0 : _ctx$refRule$__$title.value
|
|
5999
|
+
});
|
|
6000
|
+
}
|
|
6001
|
+
|
|
6002
|
+
return msg;
|
|
6003
|
+
};
|
|
6004
|
+
|
|
5938
6005
|
return toArray(ctx.rule.validate).map(function (item) {
|
|
5939
6006
|
var temp = _objectSpread2({}, item);
|
|
5940
6007
|
|
|
5941
6008
|
if (temp.message) {
|
|
5942
|
-
|
|
5943
|
-
|
|
5944
|
-
if (match) {
|
|
5945
|
-
var _ctx$refRule, _ctx$refRule$__$title;
|
|
5946
|
-
|
|
5947
|
-
temp.message = _this.api.t(match[1], {
|
|
5948
|
-
title: (_ctx$refRule = ctx.refRule) === null || _ctx$refRule === void 0 ? void 0 : (_ctx$refRule$__$title = _ctx$refRule.__$title) === null || _ctx$refRule$__$title === void 0 ? void 0 : _ctx$refRule$__$title.value
|
|
5949
|
-
});
|
|
5950
|
-
}
|
|
6009
|
+
temp.message = t(temp.message);
|
|
5951
6010
|
}
|
|
5952
6011
|
|
|
5953
6012
|
if (is.Function(temp.validator)) {
|
|
@@ -5968,8 +6027,19 @@
|
|
|
5968
6027
|
api: that.$handle.api
|
|
5969
6028
|
}].concat(args));
|
|
5970
6029
|
};
|
|
6030
|
+
}
|
|
6031
|
+
|
|
6032
|
+
if (temp.adapter) {
|
|
6033
|
+
if (_typeof(temp.error) === 'object') {
|
|
6034
|
+
var msg = _objectSpread2({}, temp.error);
|
|
6035
|
+
|
|
6036
|
+
Object.keys(msg).forEach(function (key) {
|
|
6037
|
+
msg[key] = t(msg[key]);
|
|
6038
|
+
});
|
|
6039
|
+
temp.error = msg;
|
|
6040
|
+
}
|
|
5971
6041
|
|
|
5972
|
-
return temp;
|
|
6042
|
+
return _this.adapterValidate(temp, ctx);
|
|
5973
6043
|
}
|
|
5974
6044
|
|
|
5975
6045
|
return temp;
|
|
@@ -6041,9 +6111,282 @@
|
|
|
6041
6111
|
});
|
|
6042
6112
|
this.watchEffect(ctx);
|
|
6043
6113
|
},
|
|
6044
|
-
|
|
6114
|
+
adapterValidate: function adapterValidate(validate, ctx) {
|
|
6045
6115
|
var _this2 = this;
|
|
6046
6116
|
|
|
6117
|
+
var validator = function validator(value, callback) {
|
|
6118
|
+
var before = validate.beforeValidate && invoke(function () {
|
|
6119
|
+
return validate.beforeValidate({
|
|
6120
|
+
value: value,
|
|
6121
|
+
api: _this2.api,
|
|
6122
|
+
validate: validate,
|
|
6123
|
+
rule: ctx.rule
|
|
6124
|
+
});
|
|
6125
|
+
});
|
|
6126
|
+
|
|
6127
|
+
if (before === false) {
|
|
6128
|
+
callback();
|
|
6129
|
+
} else {
|
|
6130
|
+
var key = _this2.validator(value, validate);
|
|
6131
|
+
|
|
6132
|
+
if (!key) {
|
|
6133
|
+
if (validate.validator) {
|
|
6134
|
+
var res = validate.validator && invoke(function () {
|
|
6135
|
+
return validate.validator(value, callback);
|
|
6136
|
+
});
|
|
6137
|
+
|
|
6138
|
+
if (res && is.Function(res.then)) {
|
|
6139
|
+
res.then(function () {
|
|
6140
|
+
return callback();
|
|
6141
|
+
})["catch"](function (e) {
|
|
6142
|
+
return callback(e);
|
|
6143
|
+
});
|
|
6144
|
+
}
|
|
6145
|
+
} else {
|
|
6146
|
+
callback();
|
|
6147
|
+
}
|
|
6148
|
+
} else {
|
|
6149
|
+
var message = '';
|
|
6150
|
+
|
|
6151
|
+
if (_typeof(validate.error) === 'object') {
|
|
6152
|
+
message = validate.error[key] || validate.error["default"];
|
|
6153
|
+
}
|
|
6154
|
+
|
|
6155
|
+
if (!message && typeof validate.message === 'string') {
|
|
6156
|
+
message = validate.message;
|
|
6157
|
+
}
|
|
6158
|
+
|
|
6159
|
+
if (!message) {
|
|
6160
|
+
message = _this2.getValidateMessage(ctx, {
|
|
6161
|
+
key: key,
|
|
6162
|
+
rule: validate[key]
|
|
6163
|
+
});
|
|
6164
|
+
}
|
|
6165
|
+
|
|
6166
|
+
callback(message);
|
|
6167
|
+
}
|
|
6168
|
+
}
|
|
6169
|
+
};
|
|
6170
|
+
|
|
6171
|
+
return this.$manager.adapterValidate({
|
|
6172
|
+
required: validate.required,
|
|
6173
|
+
message: validate.message,
|
|
6174
|
+
target: validate.trigger
|
|
6175
|
+
}, validator);
|
|
6176
|
+
},
|
|
6177
|
+
getValidateMessage: function getValidateMessage(ctx, invalid) {
|
|
6178
|
+
var _ctx$refRule2, _ctx$refRule2$__$titl, _this$api$t;
|
|
6179
|
+
|
|
6180
|
+
var formatRule = Array.isArray(invalid.rule) ? invalid.rule.join(',') : '' + invalid.rule;
|
|
6181
|
+
return this.api.t(invalid.key === 'required' ? invalid.key : 'validate.' + invalid.key, (_this$api$t = {}, _defineProperty(_this$api$t, invalid.key, formatRule), _defineProperty(_this$api$t, "title", (_ctx$refRule2 = ctx.refRule) === null || _ctx$refRule2 === void 0 ? void 0 : (_ctx$refRule2$__$titl = _ctx$refRule2.__$title) === null || _ctx$refRule2$__$titl === void 0 ? void 0 : _ctx$refRule2$__$titl.value), _this$api$t));
|
|
6182
|
+
},
|
|
6183
|
+
validator: function validator(value, validate) {
|
|
6184
|
+
var isEmpty = is.empty(value);
|
|
6185
|
+
|
|
6186
|
+
if (isEmpty) {
|
|
6187
|
+
if (validate.required) {
|
|
6188
|
+
return 'required';
|
|
6189
|
+
}
|
|
6190
|
+
|
|
6191
|
+
return;
|
|
6192
|
+
}
|
|
6193
|
+
|
|
6194
|
+
var _loop = function _loop() {
|
|
6195
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
6196
|
+
key = _Object$entries$_i[0],
|
|
6197
|
+
rule = _Object$entries$_i[1];
|
|
6198
|
+
|
|
6199
|
+
switch (key) {
|
|
6200
|
+
case 'len':
|
|
6201
|
+
case 'maxLen':
|
|
6202
|
+
case 'minLen':
|
|
6203
|
+
var check = function check(val) {
|
|
6204
|
+
if (key === 'len') {
|
|
6205
|
+
return val === rule;
|
|
6206
|
+
} else if (key === 'maxLen') {
|
|
6207
|
+
return val <= rule;
|
|
6208
|
+
} else {
|
|
6209
|
+
return val >= rule;
|
|
6210
|
+
}
|
|
6211
|
+
};
|
|
6212
|
+
|
|
6213
|
+
if (Array.isArray(value)) {
|
|
6214
|
+
if (!check(value.length)) {
|
|
6215
|
+
return {
|
|
6216
|
+
v: key
|
|
6217
|
+
};
|
|
6218
|
+
}
|
|
6219
|
+
} else if (_typeof(value) === 'object') {
|
|
6220
|
+
return {
|
|
6221
|
+
v: key
|
|
6222
|
+
};
|
|
6223
|
+
} else if (!check(('' + value).length)) {
|
|
6224
|
+
return {
|
|
6225
|
+
v: key
|
|
6226
|
+
};
|
|
6227
|
+
}
|
|
6228
|
+
|
|
6229
|
+
break;
|
|
6230
|
+
|
|
6231
|
+
case 'pattern':
|
|
6232
|
+
var reg = typeof rule === 'string' ? new RegExp(rule) : rule;
|
|
6233
|
+
|
|
6234
|
+
if (!reg.test('' + value)) {
|
|
6235
|
+
return {
|
|
6236
|
+
v: key
|
|
6237
|
+
};
|
|
6238
|
+
}
|
|
6239
|
+
|
|
6240
|
+
break;
|
|
6241
|
+
|
|
6242
|
+
case 'uppercase':
|
|
6243
|
+
if (rule && (typeof value !== 'string' || !/^[A-Z]*$/.test(value))) {
|
|
6244
|
+
return {
|
|
6245
|
+
v: key
|
|
6246
|
+
};
|
|
6247
|
+
}
|
|
6248
|
+
|
|
6249
|
+
break;
|
|
6250
|
+
|
|
6251
|
+
case 'lowercase':
|
|
6252
|
+
if (rule && (typeof value !== 'string' || !/^[a-z]*$/.test(value))) {
|
|
6253
|
+
return {
|
|
6254
|
+
v: key
|
|
6255
|
+
};
|
|
6256
|
+
}
|
|
6257
|
+
|
|
6258
|
+
break;
|
|
6259
|
+
|
|
6260
|
+
case 'min':
|
|
6261
|
+
case 'max':
|
|
6262
|
+
case 'positive':
|
|
6263
|
+
case 'negative':
|
|
6264
|
+
case 'integer':
|
|
6265
|
+
case 'number':
|
|
6266
|
+
var num = Number(value);
|
|
6267
|
+
|
|
6268
|
+
if (Number.isNaN(num)) {
|
|
6269
|
+
return {
|
|
6270
|
+
v: key
|
|
6271
|
+
};
|
|
6272
|
+
}
|
|
6273
|
+
|
|
6274
|
+
if (key === 'min' && num < rule) {
|
|
6275
|
+
return {
|
|
6276
|
+
v: key
|
|
6277
|
+
};
|
|
6278
|
+
}
|
|
6279
|
+
|
|
6280
|
+
if (key === 'max' && num > rule) {
|
|
6281
|
+
return {
|
|
6282
|
+
v: key
|
|
6283
|
+
};
|
|
6284
|
+
}
|
|
6285
|
+
|
|
6286
|
+
if (key === 'positive' && num <= 0) {
|
|
6287
|
+
return {
|
|
6288
|
+
v: key
|
|
6289
|
+
};
|
|
6290
|
+
}
|
|
6291
|
+
|
|
6292
|
+
if (key === 'negative' && num >= 0) {
|
|
6293
|
+
return {
|
|
6294
|
+
v: key
|
|
6295
|
+
};
|
|
6296
|
+
}
|
|
6297
|
+
|
|
6298
|
+
if (key === 'integer' && !Number.isInteger(num)) {
|
|
6299
|
+
return {
|
|
6300
|
+
v: key
|
|
6301
|
+
};
|
|
6302
|
+
}
|
|
6303
|
+
|
|
6304
|
+
break;
|
|
6305
|
+
|
|
6306
|
+
case 'equal':
|
|
6307
|
+
if (value !== rule) {
|
|
6308
|
+
return {
|
|
6309
|
+
v: key
|
|
6310
|
+
};
|
|
6311
|
+
}
|
|
6312
|
+
|
|
6313
|
+
break;
|
|
6314
|
+
|
|
6315
|
+
case 'enum':
|
|
6316
|
+
if (Array.isArray(rule) && !rule.includes(value)) {
|
|
6317
|
+
return {
|
|
6318
|
+
v: key
|
|
6319
|
+
};
|
|
6320
|
+
}
|
|
6321
|
+
|
|
6322
|
+
break;
|
|
6323
|
+
|
|
6324
|
+
case 'hasKeys':
|
|
6325
|
+
if (_typeof(value) !== 'object' || Array.isArray(rule) && rule.some(function (key) {
|
|
6326
|
+
return !(key in value);
|
|
6327
|
+
})) {
|
|
6328
|
+
return {
|
|
6329
|
+
v: key
|
|
6330
|
+
};
|
|
6331
|
+
}
|
|
6332
|
+
|
|
6333
|
+
break;
|
|
6334
|
+
|
|
6335
|
+
case 'email':
|
|
6336
|
+
var regexEmail = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
6337
|
+
|
|
6338
|
+
if (!regexEmail.test('' + value)) {
|
|
6339
|
+
return {
|
|
6340
|
+
v: key
|
|
6341
|
+
};
|
|
6342
|
+
}
|
|
6343
|
+
|
|
6344
|
+
break;
|
|
6345
|
+
|
|
6346
|
+
case 'url':
|
|
6347
|
+
var regexUrl = new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$", 'i');
|
|
6348
|
+
|
|
6349
|
+
if (!regexUrl.test('' + value)) {
|
|
6350
|
+
return {
|
|
6351
|
+
v: key
|
|
6352
|
+
};
|
|
6353
|
+
}
|
|
6354
|
+
|
|
6355
|
+
break;
|
|
6356
|
+
|
|
6357
|
+
case 'ip':
|
|
6358
|
+
var regexIp = /^(2(5[0-5]{1}|[0-4]\d{1})|[0-1]?\d{1,2})(\.(2(5[0-5]{1}|[0-4]\d{1})|[0-1]?\d{1,2})){3}$/;
|
|
6359
|
+
|
|
6360
|
+
if (!regexIp.test('' + value)) {
|
|
6361
|
+
return {
|
|
6362
|
+
v: key
|
|
6363
|
+
};
|
|
6364
|
+
}
|
|
6365
|
+
|
|
6366
|
+
break;
|
|
6367
|
+
|
|
6368
|
+
case 'phone':
|
|
6369
|
+
var regexPhone = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/;
|
|
6370
|
+
|
|
6371
|
+
if (!regexPhone.test('' + value)) {
|
|
6372
|
+
return {
|
|
6373
|
+
v: key
|
|
6374
|
+
};
|
|
6375
|
+
}
|
|
6376
|
+
|
|
6377
|
+
break;
|
|
6378
|
+
}
|
|
6379
|
+
};
|
|
6380
|
+
|
|
6381
|
+
for (var _i = 0, _Object$entries = Object.entries(validate); _i < _Object$entries.length; _i++) {
|
|
6382
|
+
var _ret = _loop();
|
|
6383
|
+
|
|
6384
|
+
if (_typeof(_ret) === "object") return _ret.v;
|
|
6385
|
+
}
|
|
6386
|
+
},
|
|
6387
|
+
compute: function compute(ctx, item) {
|
|
6388
|
+
var _this3 = this;
|
|
6389
|
+
|
|
6047
6390
|
var fn;
|
|
6048
6391
|
|
|
6049
6392
|
if (_typeof(item) === 'object') {
|
|
@@ -6062,16 +6405,16 @@
|
|
|
6062
6405
|
var or = item.mode === 'OR';
|
|
6063
6406
|
var valid = true;
|
|
6064
6407
|
|
|
6065
|
-
var
|
|
6408
|
+
var _loop2 = function _loop2(i) {
|
|
6066
6409
|
var one = item.group[i];
|
|
6067
6410
|
var flag = void 0;
|
|
6068
6411
|
var field = null;
|
|
6069
6412
|
|
|
6070
6413
|
if (one.variable) {
|
|
6071
|
-
field = JSON.stringify(
|
|
6414
|
+
field = JSON.stringify(_this3.fc.getLoadData(one.variable) || '');
|
|
6072
6415
|
} else if (one.field) {
|
|
6073
6416
|
field = convertFieldToConditions(one.field || '');
|
|
6074
|
-
} else {
|
|
6417
|
+
} else if (!one.mode) {
|
|
6075
6418
|
return {
|
|
6076
6419
|
v: true
|
|
6077
6420
|
};
|
|
@@ -6089,11 +6432,11 @@
|
|
|
6089
6432
|
flag = false;
|
|
6090
6433
|
} else if (is.Function(one.handler)) {
|
|
6091
6434
|
flag = invoke(function () {
|
|
6092
|
-
return one.handler(
|
|
6435
|
+
return one.handler(_this3.api, ctx.rule);
|
|
6093
6436
|
});
|
|
6094
6437
|
} else {
|
|
6095
6438
|
flag = invoke(function () {
|
|
6096
|
-
return new Function('$condition', '$val', '$form', '$scope', '$group', '$rule', "with($form){with($scope){with(this){with($group){ return $condition['".concat(one.condition, "'](").concat(field, ", ").concat(compare ? compare : '$val', "); }}}}")).call(
|
|
6439
|
+
return new Function('$condition', '$val', '$form', '$scope', '$group', '$rule', "with($form){with($scope){with(this){with($group){ return $condition['".concat(one.condition, "'](").concat(field, ", ").concat(compare ? compare : '$val', "); }}}}")).call(_this3.api.form, condition, one.value, _this3.api.top.form, _this3.api.top === _this3.api.scope ? {} : _this3.api.scope.form, group ? _this3.subRuleData[group.id] || {} : {}, ctx.rule);
|
|
6097
6440
|
});
|
|
6098
6441
|
}
|
|
6099
6442
|
|
|
@@ -6109,9 +6452,9 @@
|
|
|
6109
6452
|
};
|
|
6110
6453
|
|
|
6111
6454
|
for (var i = 0; i < item.group.length; i++) {
|
|
6112
|
-
var
|
|
6455
|
+
var _ret2 = _loop2(i);
|
|
6113
6456
|
|
|
6114
|
-
if (_typeof(
|
|
6457
|
+
if (_typeof(_ret2) === "object") return _ret2.v;
|
|
6115
6458
|
}
|
|
6116
6459
|
|
|
6117
6460
|
return or ? false : valid;
|
|
@@ -6122,26 +6465,28 @@
|
|
|
6122
6465
|
|
|
6123
6466
|
if (item.linkage) {
|
|
6124
6467
|
return val ? invoke(function () {
|
|
6125
|
-
return
|
|
6468
|
+
return _this3.computeValue(item.linkage, ctx, group);
|
|
6126
6469
|
}, undefined) : oldValueTag;
|
|
6127
6470
|
}
|
|
6128
6471
|
|
|
6129
6472
|
return val;
|
|
6130
6473
|
} else if (is.Function(item)) {
|
|
6131
6474
|
fn = function fn() {
|
|
6132
|
-
return item(
|
|
6475
|
+
return item(_this3.api.form, _this3.api);
|
|
6133
6476
|
};
|
|
6134
6477
|
} else {
|
|
6135
6478
|
var _group = ctx.getParentGroup();
|
|
6136
6479
|
|
|
6137
6480
|
fn = function fn() {
|
|
6138
|
-
return
|
|
6481
|
+
return _this3.computeValue(item, ctx, _group);
|
|
6139
6482
|
};
|
|
6140
6483
|
}
|
|
6141
6484
|
|
|
6142
6485
|
return invoke(fn, undefined);
|
|
6143
6486
|
},
|
|
6144
6487
|
computeValue: function computeValue(str, ctx, group) {
|
|
6488
|
+
var _this4 = this;
|
|
6489
|
+
|
|
6145
6490
|
var that = this;
|
|
6146
6491
|
var formulas = Object.keys(this.fc.formulas).reduce(function (obj, k) {
|
|
6147
6492
|
obj[k] = function () {
|
|
@@ -6161,34 +6506,36 @@
|
|
|
6161
6506
|
|
|
6162
6507
|
return obj;
|
|
6163
6508
|
}, {});
|
|
6164
|
-
return
|
|
6509
|
+
return invoke(function () {
|
|
6510
|
+
return new Function('$formulas', '$form', '$scope', '$group', '$rule', '$api', "with($form){with($scope){with(this){with($group){with($formulas){ return ".concat(str, " }}}}}")).call(_this4.api.form, formulas, _this4.api.top.form, _this4.api.top === _this4.api.scope ? {} : _this4.api.scope.form, group ? _this4.subRuleData[group.id] || {} : {}, ctx.rule, _this4.api);
|
|
6511
|
+
}, undefined);
|
|
6165
6512
|
},
|
|
6166
6513
|
updateChildren: function updateChildren(ctx, n, o) {
|
|
6167
|
-
var
|
|
6514
|
+
var _this5 = this;
|
|
6168
6515
|
|
|
6169
6516
|
this.deferSyncValue(function () {
|
|
6170
6517
|
o && o.forEach(function (child) {
|
|
6171
6518
|
if ((n || []).indexOf(child) === -1 && child && !is.String(child) && child.__fc__ && child.__fc__.parent === ctx) {
|
|
6172
|
-
|
|
6519
|
+
_this5.rmCtx(child.__fc__);
|
|
6173
6520
|
}
|
|
6174
6521
|
});
|
|
6175
6522
|
|
|
6176
6523
|
if (is.trueArray(n)) {
|
|
6177
|
-
|
|
6524
|
+
_this5.loadChildren(n, ctx);
|
|
6178
6525
|
|
|
6179
|
-
|
|
6526
|
+
_this5.bus.$emit('update', _this5.api);
|
|
6180
6527
|
}
|
|
6181
6528
|
});
|
|
6182
6529
|
},
|
|
6183
6530
|
rmSub: function rmSub(sub) {
|
|
6184
|
-
var
|
|
6531
|
+
var _this6 = this;
|
|
6185
6532
|
|
|
6186
6533
|
is.trueArray(sub) && sub.forEach(function (r) {
|
|
6187
|
-
r && r.__fc__ &&
|
|
6534
|
+
r && r.__fc__ && _this6.rmCtx(r.__fc__);
|
|
6188
6535
|
});
|
|
6189
6536
|
},
|
|
6190
6537
|
rmCtx: function rmCtx(ctx) {
|
|
6191
|
-
var
|
|
6538
|
+
var _this7 = this;
|
|
6192
6539
|
|
|
6193
6540
|
if (ctx.deleted) return;
|
|
6194
6541
|
var id = ctx.id,
|
|
@@ -6217,19 +6564,19 @@
|
|
|
6217
6564
|
}
|
|
6218
6565
|
|
|
6219
6566
|
this.deferSyncValue(function () {
|
|
6220
|
-
if (!
|
|
6567
|
+
if (!_this7.reloading) {
|
|
6221
6568
|
if (ctx.parser.loadChildren !== false) {
|
|
6222
6569
|
var children = ctx.getPending('children', ctx.rule.children);
|
|
6223
6570
|
|
|
6224
6571
|
if (is.trueArray(children)) {
|
|
6225
6572
|
children.forEach(function (h) {
|
|
6226
|
-
return h.__fc__ &&
|
|
6573
|
+
return h.__fc__ && _this7.rmCtx(h.__fc__);
|
|
6227
6574
|
});
|
|
6228
6575
|
}
|
|
6229
6576
|
}
|
|
6230
6577
|
|
|
6231
|
-
if (ctx.root ===
|
|
6232
|
-
|
|
6578
|
+
if (ctx.root === _this7.rules) {
|
|
6579
|
+
_this7.vm.setupState.renderRule();
|
|
6233
6580
|
}
|
|
6234
6581
|
}
|
|
6235
6582
|
}, input);
|
|
@@ -6491,7 +6838,13 @@
|
|
|
6491
6838
|
return fc.bus;
|
|
6492
6839
|
},
|
|
6493
6840
|
preview: function preview() {
|
|
6494
|
-
|
|
6841
|
+
if (fc.vm.props.preview != null) {
|
|
6842
|
+
return fc.vm.props.preview;
|
|
6843
|
+
} else if (fc.vm.setupState.parent && fc.vm.setupState.parent.props.preview != null) {
|
|
6844
|
+
return fc.vm.setupState.parent.props.preview;
|
|
6845
|
+
}
|
|
6846
|
+
|
|
6847
|
+
return fc.options.value.preview || false;
|
|
6495
6848
|
}
|
|
6496
6849
|
});
|
|
6497
6850
|
extend(this, {
|
|
@@ -6597,6 +6950,25 @@
|
|
|
6597
6950
|
}).then(function () {
|
|
6598
6951
|
return _this3.globalBeforeFetch(opt);
|
|
6599
6952
|
});
|
|
6953
|
+
},
|
|
6954
|
+
beforeSubmit: function beforeSubmit(formData) {
|
|
6955
|
+
var _this4 = this;
|
|
6956
|
+
|
|
6957
|
+
return new Promise(function (resolve, reject) {
|
|
6958
|
+
var res = _this4.options.beforeSubmit && invoke(function () {
|
|
6959
|
+
return _this4.options.beforeSubmit(formData, {
|
|
6960
|
+
api: _this4.api
|
|
6961
|
+
});
|
|
6962
|
+
});
|
|
6963
|
+
|
|
6964
|
+
if (res && is.Function(res.then)) {
|
|
6965
|
+
res.then(resolve)["catch"](reject);
|
|
6966
|
+
} else if (res === false) {
|
|
6967
|
+
reject();
|
|
6968
|
+
} else {
|
|
6969
|
+
resolve();
|
|
6970
|
+
}
|
|
6971
|
+
});
|
|
6600
6972
|
}
|
|
6601
6973
|
});
|
|
6602
6974
|
useInject(Handler);
|
|
@@ -6751,6 +7123,13 @@
|
|
|
6751
7123
|
form: function form() {
|
|
6752
7124
|
return this.vm.refs[this.ref];
|
|
6753
7125
|
},
|
|
7126
|
+
adapterValidate: function adapterValidate(validate, validator) {
|
|
7127
|
+
validate.validator = function (rule, value, callback) {
|
|
7128
|
+
return validator(value, callback);
|
|
7129
|
+
};
|
|
7130
|
+
|
|
7131
|
+
return validate;
|
|
7132
|
+
},
|
|
6754
7133
|
getSlot: function getSlot(name) {
|
|
6755
7134
|
var _fn = function _fn(vm) {
|
|
6756
7135
|
if (vm) {
|
|
@@ -6798,57 +7177,61 @@
|
|
|
6798
7177
|
var loadData = {
|
|
6799
7178
|
name: 'loadData',
|
|
6800
7179
|
_fn: [],
|
|
6801
|
-
|
|
6802
|
-
this
|
|
6803
|
-
var attrs = toArray(inject.getValue());
|
|
6804
|
-
var unwatchs = [];
|
|
6805
|
-
attrs.forEach(function (attr) {
|
|
6806
|
-
if (attr && (attr.attr || attr.template)) {
|
|
6807
|
-
var fn = function fn(get) {
|
|
6808
|
-
var value;
|
|
7180
|
+
loaded: function loaded(inject, rule, api) {
|
|
7181
|
+
var _this = this;
|
|
6809
7182
|
|
|
6810
|
-
|
|
6811
|
-
|
|
6812
|
-
|
|
6813
|
-
|
|
6814
|
-
|
|
6815
|
-
|
|
6816
|
-
|
|
7183
|
+
this.deleted(inject);
|
|
7184
|
+
vue.nextTick(function () {
|
|
7185
|
+
var attrs = toArray(inject.getValue());
|
|
7186
|
+
var unwatchs = [];
|
|
7187
|
+
attrs.forEach(function (attr) {
|
|
7188
|
+
if (attr && (attr.attr || attr.template)) {
|
|
7189
|
+
var fn = function fn(get) {
|
|
7190
|
+
var value;
|
|
7191
|
+
|
|
7192
|
+
if (attr.template) {
|
|
7193
|
+
value = fc.$handle.loadStrVar(attr.template, get);
|
|
7194
|
+
} else if (attr.handler && is.Function(attr.handler)) {
|
|
7195
|
+
value = attr.handler(get, rule, api);
|
|
7196
|
+
} else {
|
|
7197
|
+
value = get(attr.attr, attr["default"]);
|
|
7198
|
+
}
|
|
6817
7199
|
|
|
6818
|
-
|
|
6819
|
-
|
|
6820
|
-
|
|
7200
|
+
if (attr.copy !== false) {
|
|
7201
|
+
value = deepCopy(value);
|
|
7202
|
+
}
|
|
6821
7203
|
|
|
6822
|
-
|
|
7204
|
+
var _rule = attr.modify ? rule : inject.getProp();
|
|
6823
7205
|
|
|
6824
|
-
|
|
6825
|
-
|
|
6826
|
-
|
|
7206
|
+
if (attr.to === 'child') {
|
|
7207
|
+
if (_rule.children) {
|
|
7208
|
+
_rule.children[0] = value;
|
|
7209
|
+
} else {
|
|
7210
|
+
_rule.children = [value];
|
|
7211
|
+
}
|
|
6827
7212
|
} else {
|
|
6828
|
-
_rule.
|
|
7213
|
+
deepSet(_rule, attr.to || 'options', value);
|
|
6829
7214
|
}
|
|
6830
|
-
} else {
|
|
6831
|
-
deepSet(_rule, attr.to || 'options', value);
|
|
6832
|
-
}
|
|
6833
7215
|
|
|
6834
|
-
|
|
6835
|
-
|
|
7216
|
+
api.sync(rule);
|
|
7217
|
+
};
|
|
6836
7218
|
|
|
6837
|
-
|
|
6838
|
-
|
|
6839
|
-
|
|
7219
|
+
var callback = function callback(get) {
|
|
7220
|
+
return fn(get);
|
|
7221
|
+
};
|
|
6840
7222
|
|
|
6841
|
-
|
|
6842
|
-
|
|
7223
|
+
var unwatch = fc.watchLoadData(callback);
|
|
7224
|
+
fn = debounce(fn, attr.wait || 300);
|
|
6843
7225
|
|
|
6844
|
-
|
|
6845
|
-
|
|
6846
|
-
|
|
6847
|
-
|
|
7226
|
+
if (attr.watch !== false) {
|
|
7227
|
+
unwatchs.push(unwatch);
|
|
7228
|
+
} else {
|
|
7229
|
+
unwatch();
|
|
7230
|
+
}
|
|
6848
7231
|
}
|
|
6849
|
-
}
|
|
7232
|
+
});
|
|
7233
|
+
_this._fn[inject.id] = unwatchs;
|
|
6850
7234
|
});
|
|
6851
|
-
this._fn[inject.id] = unwatchs;
|
|
6852
7235
|
},
|
|
6853
7236
|
deleted: function deleted(inject) {
|
|
6854
7237
|
if (this._fn[inject.id]) {
|
|
@@ -6862,7 +7245,7 @@
|
|
|
6862
7245
|
inject.clearProp();
|
|
6863
7246
|
}
|
|
6864
7247
|
};
|
|
6865
|
-
loadData.watch = loadData.
|
|
7248
|
+
loadData.watch = loadData.loaded;
|
|
6866
7249
|
return loadData;
|
|
6867
7250
|
};
|
|
6868
7251
|
|
|
@@ -7075,7 +7458,6 @@
|
|
|
7075
7458
|
}
|
|
7076
7459
|
|
|
7077
7460
|
set(fn(body, rule, api));
|
|
7078
|
-
api.sync(rule);
|
|
7079
7461
|
},
|
|
7080
7462
|
onError: function onError(e) {
|
|
7081
7463
|
set(undefined);
|
|
@@ -7108,7 +7490,7 @@
|
|
|
7108
7490
|
api: api
|
|
7109
7491
|
});
|
|
7110
7492
|
});
|
|
7111
|
-
});
|
|
7493
|
+
})["catch"](function (e) {});
|
|
7112
7494
|
}, option.wait || 600));
|
|
7113
7495
|
}
|
|
7114
7496
|
|
|
@@ -7242,6 +7624,57 @@
|
|
|
7242
7624
|
return baseDriver(getSessionStorage, name);
|
|
7243
7625
|
}
|
|
7244
7626
|
|
|
7627
|
+
var baseLanguage = {
|
|
7628
|
+
en: {
|
|
7629
|
+
required: '{title} is required',
|
|
7630
|
+
validate: {
|
|
7631
|
+
url: '{title} is not a valid url',
|
|
7632
|
+
email: '{title} is not a valid email',
|
|
7633
|
+
ip: '{title} {title} is not a valid ip',
|
|
7634
|
+
phone: '{title} {title} is not a valid phone',
|
|
7635
|
+
pattern: '{title} does not match pattern {pattern}',
|
|
7636
|
+
uppercase: '{title} must be all uppercase',
|
|
7637
|
+
lowercase: '{title} must be all lowercased',
|
|
7638
|
+
positive: '{title} is not a positive number',
|
|
7639
|
+
negative: '{title} is not a negative number',
|
|
7640
|
+
equal: '{title} is not equal to {equal}',
|
|
7641
|
+
min: '{title} cannot be less than {min}',
|
|
7642
|
+
max: '{title} cannot be greater than {max}',
|
|
7643
|
+
"enum": '{title} must be one of {enum}',
|
|
7644
|
+
hasKeys: '{title} does not contain required fields {hasKeys}',
|
|
7645
|
+
minLen: '{title} must be at least {minLen}',
|
|
7646
|
+
maxLen: '{title} cannot be longer than {maxLen}',
|
|
7647
|
+
len: '{title} must be exactly {len}',
|
|
7648
|
+
integer: '{title} is not an integer',
|
|
7649
|
+
number: '{title} is not an number'
|
|
7650
|
+
}
|
|
7651
|
+
},
|
|
7652
|
+
'zh-cn': {
|
|
7653
|
+
required: '{title}不能为空',
|
|
7654
|
+
validate: {
|
|
7655
|
+
url: '{title}不是有效的 url 地址',
|
|
7656
|
+
email: '{title}不是有效的邮箱地址',
|
|
7657
|
+
ip: '{title}不是有效的 IP 地址',
|
|
7658
|
+
phone: '{title}不是正确的手机号',
|
|
7659
|
+
pattern: '{title}必须匹配 {pattern}',
|
|
7660
|
+
uppercase: '{title}必须全大写',
|
|
7661
|
+
lowercase: '{title}必须全小写',
|
|
7662
|
+
positive: '{title}不是正数',
|
|
7663
|
+
negative: '{title}不是负数',
|
|
7664
|
+
equal: '{title}必须等于 {equal}',
|
|
7665
|
+
min: '{title}必须大于等于 {min}',
|
|
7666
|
+
max: '{title}必须小于等于 {max}',
|
|
7667
|
+
"enum": '{title}必须是 {enum} 之一',
|
|
7668
|
+
hasKeys: '{title}必须包含 {hasKeys} 字段',
|
|
7669
|
+
minLen: '{title}长度必须大于 {minLen}',
|
|
7670
|
+
maxLen: '{title}长度必须小于 {maxLen}',
|
|
7671
|
+
len: '{title}长度必须为 {len}',
|
|
7672
|
+
integer: '{title}必须为整数',
|
|
7673
|
+
number: '{title}必须为数字'
|
|
7674
|
+
}
|
|
7675
|
+
}
|
|
7676
|
+
};
|
|
7677
|
+
|
|
7245
7678
|
function parseProp(name, id) {
|
|
7246
7679
|
var prop;
|
|
7247
7680
|
|
|
@@ -7765,7 +8198,11 @@
|
|
|
7765
8198
|
|
|
7766
8199
|
var _locale = this.getLocale();
|
|
7767
8200
|
|
|
7768
|
-
value = deepGet(language[_locale], id);
|
|
8201
|
+
value = deepGet(language[_locale] || {}, id);
|
|
8202
|
+
|
|
8203
|
+
if (value == null) {
|
|
8204
|
+
value = deepGet(baseLanguage[_locale] || {}, id);
|
|
8205
|
+
}
|
|
7769
8206
|
}
|
|
7770
8207
|
|
|
7771
8208
|
return value;
|
|
@@ -7792,7 +8229,7 @@
|
|
|
7792
8229
|
}
|
|
7793
8230
|
});
|
|
7794
8231
|
this.unwatch.push(unwatch);
|
|
7795
|
-
return val;
|
|
8232
|
+
return deepGet(val, split);
|
|
7796
8233
|
}
|
|
7797
8234
|
}
|
|
7798
8235
|
},
|
|
@@ -8442,7 +8879,6 @@
|
|
|
8442
8879
|
e.preventDefault();
|
|
8443
8880
|
}
|
|
8444
8881
|
},
|
|
8445
|
-
"class": [form.className, form["class"], 'form-create', this.$handle.preview ? 'is-preview' : ''],
|
|
8446
8882
|
style: form.style,
|
|
8447
8883
|
type: 'form'
|
|
8448
8884
|
};
|
|
@@ -8451,9 +8887,11 @@
|
|
|
8451
8887
|
var key = this.key,
|
|
8452
8888
|
ref = this.ref,
|
|
8453
8889
|
$handle = this.$handle;
|
|
8890
|
+
var form = this.options.form;
|
|
8454
8891
|
extend(this.rule, {
|
|
8455
8892
|
key: key,
|
|
8456
|
-
ref: ref
|
|
8893
|
+
ref: ref,
|
|
8894
|
+
"class": [form.className, form["class"], 'form-create', this.$handle.preview ? 'is-preview' : '']
|
|
8457
8895
|
});
|
|
8458
8896
|
extend(this.rule.props, {
|
|
8459
8897
|
model: $handle.formData
|
|
@@ -8787,7 +9225,9 @@
|
|
|
8787
9225
|
return new Promise(function (resolve, reject) {
|
|
8788
9226
|
var forms = api.children;
|
|
8789
9227
|
var all = [h.$manager.validate()];
|
|
8790
|
-
forms.
|
|
9228
|
+
forms.filter(function (v) {
|
|
9229
|
+
return !v.isScope;
|
|
9230
|
+
}).forEach(function (v) {
|
|
8791
9231
|
all.push(v.validate());
|
|
8792
9232
|
});
|
|
8793
9233
|
Promise.all(all).then(function () {
|
|
@@ -8808,7 +9248,9 @@
|
|
|
8808
9248
|
if (!ctx) return;
|
|
8809
9249
|
var sub = h.subForm[ctx.id];
|
|
8810
9250
|
var all = [h.$manager.validateField(ctx.id)];
|
|
8811
|
-
toArray(sub).
|
|
9251
|
+
toArray(sub).filter(function (v) {
|
|
9252
|
+
return !v.isScope;
|
|
9253
|
+
}).forEach(function (v) {
|
|
8812
9254
|
all.push(v.validate());
|
|
8813
9255
|
});
|
|
8814
9256
|
Promise.all(all).then(function () {
|
|
@@ -8911,16 +9353,19 @@
|
|
|
8911
9353
|
},
|
|
8912
9354
|
submit: function submit(successFn, failFn) {
|
|
8913
9355
|
return new Promise(function (resolve, reject) {
|
|
8914
|
-
|
|
9356
|
+
var promise = h.options.validateOnSubmit === false ? Promise.resolve() : api.validate();
|
|
9357
|
+
promise.then(function () {
|
|
8915
9358
|
var formData = api.formData();
|
|
8916
|
-
|
|
8917
|
-
|
|
8918
|
-
|
|
8919
|
-
|
|
8920
|
-
|
|
8921
|
-
|
|
8922
|
-
|
|
8923
|
-
|
|
9359
|
+
h.beforeSubmit(formData).then(function () {
|
|
9360
|
+
is.Function(successFn) && invoke(function () {
|
|
9361
|
+
return successFn(formData, api);
|
|
9362
|
+
});
|
|
9363
|
+
is.Function(h.options.onSubmit) && invoke(function () {
|
|
9364
|
+
return h.options.onSubmit(formData, api);
|
|
9365
|
+
});
|
|
9366
|
+
h.vm.emit('submit', formData, api);
|
|
9367
|
+
resolve(formData);
|
|
9368
|
+
})["catch"](function (e) {});
|
|
8924
9369
|
})["catch"](function () {
|
|
8925
9370
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
8926
9371
|
args[_key] = arguments[_key];
|
|
@@ -9027,7 +9472,7 @@
|
|
|
9027
9472
|
function elmFormCreate() {
|
|
9028
9473
|
return FormCreateFactory({
|
|
9029
9474
|
ui: 'element-ui',
|
|
9030
|
-
version: '3.2.
|
|
9475
|
+
version: '3.2.22',
|
|
9031
9476
|
manager: manager,
|
|
9032
9477
|
extendApi: extendApi,
|
|
9033
9478
|
install: install,
|