@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.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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.
|
|
6
6
|
*/
|
|
7
|
-
import { defineComponent, toRef, ref, watch, computed, createVNode, resolveComponent, mergeProps as mergeProps$1, openBlock, createElementBlock, createElementVNode, nextTick, markRaw, reactive, getCurrentInstance, provide, inject, toRefs, onBeforeMount, watchEffect, onMounted, onBeforeUnmount, onUpdated,
|
|
7
|
+
import { defineComponent, toRef, ref, watch, computed, createVNode, resolveComponent, mergeProps as mergeProps$1, openBlock, createElementBlock, createElementVNode, nextTick, markRaw, reactive, isVNode, getCurrentInstance, provide, inject, toRefs, onBeforeMount, watchEffect, onMounted, onBeforeUnmount, onUpdated, withDirectives, resolveDirective, createApp, h } from 'vue';
|
|
8
8
|
|
|
9
9
|
function ownKeys(object, enumerableOnly) {
|
|
10
10
|
var keys = Object.keys(object);
|
|
@@ -162,6 +162,10 @@ function _createSuper(Derived) {
|
|
|
162
162
|
};
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
+
function _slicedToArray(arr, i) {
|
|
166
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
167
|
+
}
|
|
168
|
+
|
|
165
169
|
function _toConsumableArray(arr) {
|
|
166
170
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
167
171
|
}
|
|
@@ -170,10 +174,44 @@ function _arrayWithoutHoles(arr) {
|
|
|
170
174
|
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
171
175
|
}
|
|
172
176
|
|
|
177
|
+
function _arrayWithHoles(arr) {
|
|
178
|
+
if (Array.isArray(arr)) return arr;
|
|
179
|
+
}
|
|
180
|
+
|
|
173
181
|
function _iterableToArray(iter) {
|
|
174
182
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
175
183
|
}
|
|
176
184
|
|
|
185
|
+
function _iterableToArrayLimit(arr, i) {
|
|
186
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
187
|
+
|
|
188
|
+
if (_i == null) return;
|
|
189
|
+
var _arr = [];
|
|
190
|
+
var _n = true;
|
|
191
|
+
var _d = false;
|
|
192
|
+
|
|
193
|
+
var _s, _e;
|
|
194
|
+
|
|
195
|
+
try {
|
|
196
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
197
|
+
_arr.push(_s.value);
|
|
198
|
+
|
|
199
|
+
if (i && _arr.length === i) break;
|
|
200
|
+
}
|
|
201
|
+
} catch (err) {
|
|
202
|
+
_d = true;
|
|
203
|
+
_e = err;
|
|
204
|
+
} finally {
|
|
205
|
+
try {
|
|
206
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
207
|
+
} finally {
|
|
208
|
+
if (_d) throw _e;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
return _arr;
|
|
213
|
+
}
|
|
214
|
+
|
|
177
215
|
function _unsupportedIterableToArray(o, minLen) {
|
|
178
216
|
if (!o) return;
|
|
179
217
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
@@ -195,6 +233,10 @@ function _nonIterableSpread() {
|
|
|
195
233
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
196
234
|
}
|
|
197
235
|
|
|
236
|
+
function _nonIterableRest() {
|
|
237
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
238
|
+
}
|
|
239
|
+
|
|
198
240
|
function getSlot(slots, exclude) {
|
|
199
241
|
return Object.keys(slots).reduce(function (lst, name) {
|
|
200
242
|
if (!exclude || exclude.indexOf(name) === -1) {
|
|
@@ -1757,7 +1799,7 @@ var Group = defineComponent({
|
|
|
1757
1799
|
var keys = this.sort;
|
|
1758
1800
|
|
|
1759
1801
|
if (keys.filter(function (k) {
|
|
1760
|
-
return cacheRule[k].$f;
|
|
1802
|
+
return cacheRule[k] && cacheRule[k].$f;
|
|
1761
1803
|
}).length !== keys.length) {
|
|
1762
1804
|
return;
|
|
1763
1805
|
}
|
|
@@ -1810,6 +1852,7 @@ var Group = defineComponent({
|
|
|
1810
1852
|
rule: rule,
|
|
1811
1853
|
options: options
|
|
1812
1854
|
};
|
|
1855
|
+
this.sort = Object.keys(this.cacheRule);
|
|
1813
1856
|
|
|
1814
1857
|
if (emit) {
|
|
1815
1858
|
nextTick(function () {
|
|
@@ -1831,6 +1874,7 @@ var Group = defineComponent({
|
|
|
1831
1874
|
var index = Object.keys(this.cacheRule).indexOf(key);
|
|
1832
1875
|
delete this.cacheRule[key];
|
|
1833
1876
|
delete this.cacheValue[key];
|
|
1877
|
+
this.sort = Object.keys(this.cacheRule);
|
|
1834
1878
|
|
|
1835
1879
|
if (emit) {
|
|
1836
1880
|
nextTick(function () {
|
|
@@ -1953,15 +1997,6 @@ var Group = defineComponent({
|
|
|
1953
1997
|
}
|
|
1954
1998
|
},
|
|
1955
1999
|
created: function created() {
|
|
1956
|
-
var _this12 = this;
|
|
1957
|
-
|
|
1958
|
-
watch(function () {
|
|
1959
|
-
return _objectSpread2({}, _this12.cacheRule);
|
|
1960
|
-
}, function (n) {
|
|
1961
|
-
_this12.sort = Object.keys(n);
|
|
1962
|
-
}, {
|
|
1963
|
-
immediate: true
|
|
1964
|
-
});
|
|
1965
2000
|
var d = (this.expand || 0) - this.modelValue.length;
|
|
1966
2001
|
|
|
1967
2002
|
for (var i = 0; i < this.modelValue.length; i++) {
|
|
@@ -1973,7 +2008,7 @@ var Group = defineComponent({
|
|
|
1973
2008
|
}
|
|
1974
2009
|
},
|
|
1975
2010
|
render: function render() {
|
|
1976
|
-
var
|
|
2011
|
+
var _this12 = this;
|
|
1977
2012
|
|
|
1978
2013
|
var keys = this.sort;
|
|
1979
2014
|
var button = this.button;
|
|
@@ -1987,10 +2022,10 @@ var Group = defineComponent({
|
|
|
1987
2022
|
"class": "_fc-group-plus-minus _fc-group-add fc-clock",
|
|
1988
2023
|
"onClick": this.add
|
|
1989
2024
|
}, null) : keys.map(function (key, index) {
|
|
1990
|
-
var
|
|
1991
|
-
rule =
|
|
1992
|
-
options =
|
|
1993
|
-
var btn = button && !disabled ?
|
|
2025
|
+
var _this12$cacheRule$key = _this12.cacheRule[key],
|
|
2026
|
+
rule = _this12$cacheRule$key.rule,
|
|
2027
|
+
options = _this12$cacheRule$key.options;
|
|
2028
|
+
var btn = button && !disabled ? _this12.makeIcon(keys.length, index, key) : [];
|
|
1994
2029
|
return createVNode("div", {
|
|
1995
2030
|
"class": "_fc-group-container",
|
|
1996
2031
|
"key": key
|
|
@@ -1999,20 +2034,20 @@ var Group = defineComponent({
|
|
|
1999
2034
|
}, {
|
|
2000
2035
|
disabled: disabled,
|
|
2001
2036
|
'onUpdate:modelValue': function onUpdateModelValue(formData) {
|
|
2002
|
-
return
|
|
2037
|
+
return _this12.formData(key, formData);
|
|
2003
2038
|
},
|
|
2004
2039
|
'onEmit-event': function onEmitEvent(name) {
|
|
2005
2040
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
2006
2041
|
args[_key - 1] = arguments[_key];
|
|
2007
2042
|
}
|
|
2008
2043
|
|
|
2009
|
-
return
|
|
2044
|
+
return _this12.emitEvent(name, args, index, key);
|
|
2010
2045
|
},
|
|
2011
2046
|
'onUpdate:api': function onUpdateApi($f) {
|
|
2012
|
-
return
|
|
2047
|
+
return _this12.add$f(index, key, $f);
|
|
2013
2048
|
},
|
|
2014
2049
|
inFor: true,
|
|
2015
|
-
modelValue:
|
|
2050
|
+
modelValue: _this12.field ? _defineProperty({}, _this12.field, _this12._value(_this12.modelValue[index])) : _this12.modelValue[index],
|
|
2016
2051
|
rule: rule,
|
|
2017
2052
|
option: options,
|
|
2018
2053
|
extendOption: true
|
|
@@ -2161,410 +2196,108 @@ function upper(str) {
|
|
|
2161
2196
|
return str.replace(str[0], str[0].toLocaleUpperCase());
|
|
2162
2197
|
}
|
|
2163
2198
|
|
|
2164
|
-
var
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
}
|
|
2168
|
-
|
|
2169
|
-
if (vm.props.formCreateInject) {
|
|
2170
|
-
return vm.props.formCreateInject;
|
|
2171
|
-
}
|
|
2172
|
-
|
|
2173
|
-
if (vm.parent) {
|
|
2174
|
-
return _getGroupInject(vm.parent, parent);
|
|
2175
|
-
}
|
|
2176
|
-
};
|
|
2199
|
+
var normalMerge = ['props'];
|
|
2200
|
+
var toArrayMerge = ['class', 'style', 'directives'];
|
|
2201
|
+
var functionalMerge = ['on', 'hook'];
|
|
2177
2202
|
|
|
2178
|
-
function
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
components: components,
|
|
2182
|
-
directives: directives,
|
|
2183
|
-
props: {
|
|
2184
|
-
rule: {
|
|
2185
|
-
type: Array,
|
|
2186
|
-
required: true,
|
|
2187
|
-
"default": function _default() {
|
|
2188
|
-
return [];
|
|
2189
|
-
}
|
|
2190
|
-
},
|
|
2191
|
-
option: {
|
|
2192
|
-
type: Object,
|
|
2193
|
-
"default": function _default() {
|
|
2194
|
-
return {};
|
|
2195
|
-
}
|
|
2196
|
-
},
|
|
2197
|
-
extendOption: Boolean,
|
|
2198
|
-
driver: [String, Object],
|
|
2199
|
-
modelValue: Object,
|
|
2200
|
-
disabled: {
|
|
2201
|
-
type: Boolean,
|
|
2202
|
-
"default": undefined
|
|
2203
|
-
},
|
|
2204
|
-
preview: {
|
|
2205
|
-
type: Boolean,
|
|
2206
|
-
"default": undefined
|
|
2207
|
-
},
|
|
2208
|
-
index: [String, Number],
|
|
2209
|
-
api: Object,
|
|
2210
|
-
locale: [String, Object],
|
|
2211
|
-
name: String,
|
|
2212
|
-
subForm: {
|
|
2213
|
-
type: Boolean,
|
|
2214
|
-
"default": true
|
|
2215
|
-
},
|
|
2216
|
-
inFor: Boolean
|
|
2217
|
-
},
|
|
2218
|
-
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'],
|
|
2219
|
-
render: function render() {
|
|
2220
|
-
return this.fc.render();
|
|
2221
|
-
},
|
|
2222
|
-
setup: function setup(props) {
|
|
2223
|
-
var vm = getCurrentInstance();
|
|
2224
|
-
provide('parentFC', vm);
|
|
2225
|
-
var parent = inject('parentFC', null);
|
|
2226
|
-
var top = parent;
|
|
2203
|
+
var mergeProps = function mergeProps(objects) {
|
|
2204
|
+
var initial = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2205
|
+
var opt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
2227
2206
|
|
|
2228
|
-
|
|
2229
|
-
while (top.setupState.parent) {
|
|
2230
|
-
top = top.setupState.parent;
|
|
2231
|
-
}
|
|
2232
|
-
} else {
|
|
2233
|
-
top = vm;
|
|
2234
|
-
}
|
|
2207
|
+
var _normalMerge = [].concat(normalMerge, _toConsumableArray(opt['normal'] || []));
|
|
2235
2208
|
|
|
2236
|
-
|
|
2237
|
-
rule = _toRefs.rule,
|
|
2238
|
-
modelValue = _toRefs.modelValue,
|
|
2239
|
-
subForm = _toRefs.subForm,
|
|
2240
|
-
inFor = _toRefs.inFor;
|
|
2209
|
+
var _toArrayMerge = [].concat(toArrayMerge, _toConsumableArray(opt['array'] || []));
|
|
2241
2210
|
|
|
2242
|
-
|
|
2243
|
-
ctxInject: {},
|
|
2244
|
-
destroyed: false,
|
|
2245
|
-
isShow: true,
|
|
2246
|
-
unique: 1,
|
|
2247
|
-
renderRule: _toConsumableArray(rule.value || []),
|
|
2248
|
-
updateValue: JSON.stringify(modelValue.value || {})
|
|
2249
|
-
});
|
|
2250
|
-
var fc = new FormCreate(vm);
|
|
2251
|
-
var fapi = fc.api();
|
|
2252
|
-
var isMore = inFor.value;
|
|
2211
|
+
var _functionalMerge = [].concat(functionalMerge, _toConsumableArray(opt['functional'] || []));
|
|
2253
2212
|
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2213
|
+
var propsMerge = opt['props'] || [];
|
|
2214
|
+
return objects.reduce(function (a, b) {
|
|
2215
|
+
for (var key in b) {
|
|
2216
|
+
if (a[key]) {
|
|
2217
|
+
if (propsMerge.indexOf(key) > -1) {
|
|
2218
|
+
a[key] = mergeProps([b[key]], a[key]);
|
|
2219
|
+
} else if (_normalMerge.indexOf(key) > -1) {
|
|
2220
|
+
a[key] = _objectSpread2(_objectSpread2({}, a[key]), b[key]);
|
|
2221
|
+
} else if (_toArrayMerge.indexOf(key) > -1) {
|
|
2222
|
+
var arrA = a[key] instanceof Array ? a[key] : [a[key]];
|
|
2223
|
+
var arrB = b[key] instanceof Array ? b[key] : [b[key]];
|
|
2224
|
+
a[key] = [].concat(_toConsumableArray(arrA), _toConsumableArray(arrB));
|
|
2225
|
+
} else if (_functionalMerge.indexOf(key) > -1) {
|
|
2226
|
+
for (var event in b[key]) {
|
|
2227
|
+
if (a[key][event]) {
|
|
2228
|
+
var _arrA = a[key][event] instanceof Array ? a[key][event] : [a[key][event]];
|
|
2257
2229
|
|
|
2258
|
-
|
|
2259
|
-
var sub;
|
|
2230
|
+
var _arrB = b[key][event] instanceof Array ? b[key][event] : [b[key][event]];
|
|
2260
2231
|
|
|
2261
|
-
|
|
2262
|
-
sub = toArray(_inject.getSubForm());
|
|
2263
|
-
sub.push(fapi);
|
|
2232
|
+
a[key][event] = [].concat(_toConsumableArray(_arrA), _toConsumableArray(_arrB));
|
|
2264
2233
|
} else {
|
|
2265
|
-
|
|
2234
|
+
a[key][event] = b[key][event];
|
|
2266
2235
|
}
|
|
2267
|
-
|
|
2268
|
-
_inject.subForm(sub);
|
|
2269
2236
|
}
|
|
2270
|
-
}
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
if (inject) {
|
|
2277
|
-
if (isMore) {
|
|
2278
|
-
var sub = toArray(inject.getSubForm());
|
|
2279
|
-
var idx = sub.indexOf(fapi);
|
|
2280
|
-
|
|
2281
|
-
if (idx > -1) {
|
|
2282
|
-
sub.splice(idx, 1);
|
|
2237
|
+
} else if (key === 'hook') {
|
|
2238
|
+
for (var hook in b[key]) {
|
|
2239
|
+
if (a[key][hook]) {
|
|
2240
|
+
a[key][hook] = mergeFn(a[key][hook], b[key][hook]);
|
|
2241
|
+
} else {
|
|
2242
|
+
a[key][hook] = b[key][hook];
|
|
2283
2243
|
}
|
|
2284
|
-
} else {
|
|
2285
|
-
inject.subForm();
|
|
2286
2244
|
}
|
|
2245
|
+
} else {
|
|
2246
|
+
a[key] = b[key];
|
|
2287
2247
|
}
|
|
2288
|
-
}
|
|
2248
|
+
} else {
|
|
2249
|
+
if (_normalMerge.indexOf(key) > -1 || _functionalMerge.indexOf(key) > -1 || propsMerge.indexOf(key) > -1) {
|
|
2250
|
+
a[key] = _objectSpread2({}, b[key]);
|
|
2251
|
+
} else if (_toArrayMerge.indexOf(key) > -1) {
|
|
2252
|
+
a[key] = b[key] instanceof Array ? _toConsumableArray(b[key]) : _typeof(b[key]) === 'object' ? _objectSpread2({}, b[key]) : b[key];
|
|
2253
|
+
} else a[key] = b[key];
|
|
2254
|
+
}
|
|
2255
|
+
}
|
|
2289
2256
|
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
var content = '';
|
|
2294
|
-
var globalClass = props.option && props.option.globalClass || {};
|
|
2295
|
-
Object.keys(globalClass).forEach(function (k) {
|
|
2296
|
-
var subCss = '';
|
|
2297
|
-
globalClass[k].style && Object.keys(globalClass[k].style).forEach(function (key) {
|
|
2298
|
-
subCss += toLine(key) + ':' + globalClass[k].style[key] + ';';
|
|
2299
|
-
});
|
|
2257
|
+
return a;
|
|
2258
|
+
}, initial);
|
|
2259
|
+
};
|
|
2300
2260
|
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2261
|
+
var mergeFn = function mergeFn(fn1, fn2) {
|
|
2262
|
+
return function () {
|
|
2263
|
+
fn1 && fn1.apply(this, arguments);
|
|
2264
|
+
fn2 && fn2.apply(this, arguments);
|
|
2265
|
+
};
|
|
2266
|
+
};
|
|
2304
2267
|
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2268
|
+
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'];
|
|
2269
|
+
var arrayAttrs = ['validate', 'children', 'control'];
|
|
2270
|
+
var normalAttrs = ['effect', 'deep', 'renderSlots'];
|
|
2271
|
+
function attrs() {
|
|
2272
|
+
return [].concat(keyAttrs, _toConsumableArray(normalMerge), _toConsumableArray(toArrayMerge), _toConsumableArray(functionalMerge), arrayAttrs, normalAttrs);
|
|
2273
|
+
}
|
|
2309
2274
|
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2275
|
+
function format(type, msg, rule) {
|
|
2276
|
+
return "[form-create ".concat(type, "]: ").concat(msg) + (rule ? '\n\nrule: ' + JSON.stringify(rule.getRule ? rule.getRule() : rule) : '');
|
|
2277
|
+
}
|
|
2278
|
+
function err(msg, rule) {
|
|
2279
|
+
console.error(format('err', msg, rule));
|
|
2280
|
+
}
|
|
2281
|
+
function logError(e) {
|
|
2282
|
+
err(e.toString());
|
|
2283
|
+
console.error(e);
|
|
2284
|
+
}
|
|
2313
2285
|
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2286
|
+
function toCase(str) {
|
|
2287
|
+
var to = str.replace(/(-[a-z])/g, function (v) {
|
|
2288
|
+
return v.replace('-', '').toLocaleUpperCase();
|
|
2289
|
+
});
|
|
2290
|
+
return lower(to);
|
|
2291
|
+
}
|
|
2292
|
+
function lower(str) {
|
|
2293
|
+
return str.replace(str[0], str[0].toLowerCase());
|
|
2294
|
+
}
|
|
2319
2295
|
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
}, 100);
|
|
2326
|
-
var emit$scopeForm = debounce(function () {
|
|
2327
|
-
fc.bus.$emit('$loadData.$scopeForm');
|
|
2328
|
-
}, 100);
|
|
2329
|
-
var emit$form = debounce(function () {
|
|
2330
|
-
fc.bus.$emit('$loadData.$form');
|
|
2331
|
-
}, 100);
|
|
2332
|
-
|
|
2333
|
-
var emit$change = function emit$change(field) {
|
|
2334
|
-
fc.bus.$emit('change-$form.' + field);
|
|
2335
|
-
};
|
|
2336
|
-
|
|
2337
|
-
onMounted(function () {
|
|
2338
|
-
if (parent) {
|
|
2339
|
-
fapi.top.bus.$on('$loadData.$form', emit$topForm);
|
|
2340
|
-
fapi.top.bus.$on('change', emit$change);
|
|
2341
|
-
}
|
|
2342
|
-
|
|
2343
|
-
if (fapi !== fapi.scope) {
|
|
2344
|
-
fapi.scope.bus.$on('$loadData.$scopeForm', emit$scopeForm);
|
|
2345
|
-
}
|
|
2346
|
-
|
|
2347
|
-
fc.mounted();
|
|
2348
|
-
});
|
|
2349
|
-
onBeforeUnmount(function () {
|
|
2350
|
-
if (parent) {
|
|
2351
|
-
fapi.top.bus.$off('$loadData.$form', emit$topForm);
|
|
2352
|
-
fapi.top.bus.$off('change', emit$change);
|
|
2353
|
-
}
|
|
2354
|
-
|
|
2355
|
-
if (fapi !== fapi.scope) {
|
|
2356
|
-
fapi.scope.bus.$off('$loadData.$scopeForm', emit$scopeForm);
|
|
2357
|
-
}
|
|
2358
|
-
|
|
2359
|
-
styleEl && document.head.removeChild(styleEl);
|
|
2360
|
-
rmSubForm();
|
|
2361
|
-
data.destroyed = true;
|
|
2362
|
-
fc.unmount();
|
|
2363
|
-
});
|
|
2364
|
-
onUpdated(function () {
|
|
2365
|
-
fc.updated();
|
|
2366
|
-
});
|
|
2367
|
-
watch(subForm, function (n) {
|
|
2368
|
-
n ? addSubForm() : rmSubForm();
|
|
2369
|
-
}, {
|
|
2370
|
-
immediate: true
|
|
2371
|
-
});
|
|
2372
|
-
watch(function () {
|
|
2373
|
-
return props.option;
|
|
2374
|
-
}, function () {
|
|
2375
|
-
fc.initOptions();
|
|
2376
|
-
fapi.refresh();
|
|
2377
|
-
}, {
|
|
2378
|
-
deep: true
|
|
2379
|
-
});
|
|
2380
|
-
watch(function () {
|
|
2381
|
-
return _toConsumableArray(rule.value);
|
|
2382
|
-
}, function (n) {
|
|
2383
|
-
if (fc.$handle.isBreakWatch() || n.length === data.renderRule.length && n.every(function (v) {
|
|
2384
|
-
return data.renderRule.indexOf(v) > -1;
|
|
2385
|
-
})) return;
|
|
2386
|
-
fc.$handle.updateAppendData();
|
|
2387
|
-
fc.$handle.reloadRule(rule.value);
|
|
2388
|
-
vm.setupState.renderRule();
|
|
2389
|
-
});
|
|
2390
|
-
watch(function () {
|
|
2391
|
-
return [props.disabled, props.preview];
|
|
2392
|
-
}, function () {
|
|
2393
|
-
fapi.refresh();
|
|
2394
|
-
});
|
|
2395
|
-
watch(modelValue, function (n) {
|
|
2396
|
-
if (JSON.stringify(n || {}) === data.updateValue) return;
|
|
2397
|
-
|
|
2398
|
-
if (fapi.config.forceCoverValue) {
|
|
2399
|
-
fapi.coverValue(n || {});
|
|
2400
|
-
} else {
|
|
2401
|
-
fapi.setValue(n || {});
|
|
2402
|
-
}
|
|
2403
|
-
}, {
|
|
2404
|
-
deep: true,
|
|
2405
|
-
flush: 'post'
|
|
2406
|
-
});
|
|
2407
|
-
watch(function () {
|
|
2408
|
-
return props.index;
|
|
2409
|
-
}, function () {
|
|
2410
|
-
fapi.coverValue({});
|
|
2411
|
-
fc.$handle.updateAppendData();
|
|
2412
|
-
nextTick(function () {
|
|
2413
|
-
nextTick(function () {
|
|
2414
|
-
fapi.clearValidateState();
|
|
2415
|
-
});
|
|
2416
|
-
});
|
|
2417
|
-
}, {
|
|
2418
|
-
flush: 'sync'
|
|
2419
|
-
});
|
|
2420
|
-
return _objectSpread2(_objectSpread2({
|
|
2421
|
-
fc: markRaw(fc),
|
|
2422
|
-
parent: parent ? markRaw(parent) : parent,
|
|
2423
|
-
top: markRaw(top),
|
|
2424
|
-
fapi: markRaw(fapi)
|
|
2425
|
-
}, toRefs(data)), {}, {
|
|
2426
|
-
getGroupInject: function getGroupInject() {
|
|
2427
|
-
return _getGroupInject(vm, parent);
|
|
2428
|
-
},
|
|
2429
|
-
refresh: function refresh() {
|
|
2430
|
-
++data.unique;
|
|
2431
|
-
},
|
|
2432
|
-
renderRule: function renderRule() {
|
|
2433
|
-
data.renderRule = _toConsumableArray(rule.value || []);
|
|
2434
|
-
},
|
|
2435
|
-
updateValue: function updateValue(value) {
|
|
2436
|
-
if (data.destroyed) return;
|
|
2437
|
-
var json = JSON.stringify(value);
|
|
2438
|
-
|
|
2439
|
-
if (data.updateValue === json) {
|
|
2440
|
-
return;
|
|
2441
|
-
}
|
|
2442
|
-
|
|
2443
|
-
data.updateValue = json;
|
|
2444
|
-
vm.emit('update:modelValue', value);
|
|
2445
|
-
nextTick(function () {
|
|
2446
|
-
emit$form();
|
|
2447
|
-
|
|
2448
|
-
if (!parent) {
|
|
2449
|
-
emit$topForm();
|
|
2450
|
-
emit$scopeForm();
|
|
2451
|
-
} else if (!subForm.value) {
|
|
2452
|
-
emit$scopeForm();
|
|
2453
|
-
}
|
|
2454
|
-
});
|
|
2455
|
-
}
|
|
2456
|
-
});
|
|
2457
|
-
},
|
|
2458
|
-
created: function created() {
|
|
2459
|
-
var vm = getCurrentInstance();
|
|
2460
|
-
vm.emit('update:api', vm.setupState.fapi);
|
|
2461
|
-
vm.setupState.fc.init();
|
|
2462
|
-
}
|
|
2463
|
-
});
|
|
2464
|
-
}
|
|
2465
|
-
|
|
2466
|
-
var normalMerge = ['props'];
|
|
2467
|
-
var toArrayMerge = ['class', 'style', 'directives'];
|
|
2468
|
-
var functionalMerge = ['on', 'hook'];
|
|
2469
|
-
|
|
2470
|
-
var mergeProps = function mergeProps(objects) {
|
|
2471
|
-
var initial = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2472
|
-
var opt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
2473
|
-
|
|
2474
|
-
var _normalMerge = [].concat(normalMerge, _toConsumableArray(opt['normal'] || []));
|
|
2475
|
-
|
|
2476
|
-
var _toArrayMerge = [].concat(toArrayMerge, _toConsumableArray(opt['array'] || []));
|
|
2477
|
-
|
|
2478
|
-
var _functionalMerge = [].concat(functionalMerge, _toConsumableArray(opt['functional'] || []));
|
|
2479
|
-
|
|
2480
|
-
var propsMerge = opt['props'] || [];
|
|
2481
|
-
return objects.reduce(function (a, b) {
|
|
2482
|
-
for (var key in b) {
|
|
2483
|
-
if (a[key]) {
|
|
2484
|
-
if (propsMerge.indexOf(key) > -1) {
|
|
2485
|
-
a[key] = mergeProps([b[key]], a[key]);
|
|
2486
|
-
} else if (_normalMerge.indexOf(key) > -1) {
|
|
2487
|
-
a[key] = _objectSpread2(_objectSpread2({}, a[key]), b[key]);
|
|
2488
|
-
} else if (_toArrayMerge.indexOf(key) > -1) {
|
|
2489
|
-
var arrA = a[key] instanceof Array ? a[key] : [a[key]];
|
|
2490
|
-
var arrB = b[key] instanceof Array ? b[key] : [b[key]];
|
|
2491
|
-
a[key] = [].concat(_toConsumableArray(arrA), _toConsumableArray(arrB));
|
|
2492
|
-
} else if (_functionalMerge.indexOf(key) > -1) {
|
|
2493
|
-
for (var event in b[key]) {
|
|
2494
|
-
if (a[key][event]) {
|
|
2495
|
-
var _arrA = a[key][event] instanceof Array ? a[key][event] : [a[key][event]];
|
|
2496
|
-
|
|
2497
|
-
var _arrB = b[key][event] instanceof Array ? b[key][event] : [b[key][event]];
|
|
2498
|
-
|
|
2499
|
-
a[key][event] = [].concat(_toConsumableArray(_arrA), _toConsumableArray(_arrB));
|
|
2500
|
-
} else {
|
|
2501
|
-
a[key][event] = b[key][event];
|
|
2502
|
-
}
|
|
2503
|
-
}
|
|
2504
|
-
} else if (key === 'hook') {
|
|
2505
|
-
for (var hook in b[key]) {
|
|
2506
|
-
if (a[key][hook]) {
|
|
2507
|
-
a[key][hook] = mergeFn(a[key][hook], b[key][hook]);
|
|
2508
|
-
} else {
|
|
2509
|
-
a[key][hook] = b[key][hook];
|
|
2510
|
-
}
|
|
2511
|
-
}
|
|
2512
|
-
} else {
|
|
2513
|
-
a[key] = b[key];
|
|
2514
|
-
}
|
|
2515
|
-
} else {
|
|
2516
|
-
if (_normalMerge.indexOf(key) > -1 || _functionalMerge.indexOf(key) > -1 || propsMerge.indexOf(key) > -1) {
|
|
2517
|
-
a[key] = _objectSpread2({}, b[key]);
|
|
2518
|
-
} else if (_toArrayMerge.indexOf(key) > -1) {
|
|
2519
|
-
a[key] = b[key] instanceof Array ? _toConsumableArray(b[key]) : _typeof(b[key]) === 'object' ? _objectSpread2({}, b[key]) : b[key];
|
|
2520
|
-
} else a[key] = b[key];
|
|
2521
|
-
}
|
|
2522
|
-
}
|
|
2523
|
-
|
|
2524
|
-
return a;
|
|
2525
|
-
}, initial);
|
|
2526
|
-
};
|
|
2527
|
-
|
|
2528
|
-
var mergeFn = function mergeFn(fn1, fn2) {
|
|
2529
|
-
return function () {
|
|
2530
|
-
fn1 && fn1.apply(this, arguments);
|
|
2531
|
-
fn2 && fn2.apply(this, arguments);
|
|
2532
|
-
};
|
|
2533
|
-
};
|
|
2534
|
-
|
|
2535
|
-
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'];
|
|
2536
|
-
var arrayAttrs = ['validate', 'children', 'control'];
|
|
2537
|
-
var normalAttrs = ['effect', 'deep', 'renderSlots'];
|
|
2538
|
-
function attrs() {
|
|
2539
|
-
return [].concat(keyAttrs, _toConsumableArray(normalMerge), _toConsumableArray(toArrayMerge), _toConsumableArray(functionalMerge), arrayAttrs, normalAttrs);
|
|
2540
|
-
}
|
|
2541
|
-
|
|
2542
|
-
function format(type, msg, rule) {
|
|
2543
|
-
return "[form-create ".concat(type, "]: ").concat(msg) + (rule ? '\n\nrule: ' + JSON.stringify(rule.getRule ? rule.getRule() : rule) : '');
|
|
2544
|
-
}
|
|
2545
|
-
function err(msg, rule) {
|
|
2546
|
-
console.error(format('err', msg, rule));
|
|
2547
|
-
}
|
|
2548
|
-
function logError(e) {
|
|
2549
|
-
err(e.toString());
|
|
2550
|
-
console.error(e);
|
|
2551
|
-
}
|
|
2552
|
-
|
|
2553
|
-
function toCase(str) {
|
|
2554
|
-
var to = str.replace(/(-[a-z])/g, function (v) {
|
|
2555
|
-
return v.replace('-', '').toLocaleUpperCase();
|
|
2556
|
-
});
|
|
2557
|
-
return lower(to);
|
|
2558
|
-
}
|
|
2559
|
-
function lower(str) {
|
|
2560
|
-
return str.replace(str[0], str[0].toLowerCase());
|
|
2561
|
-
}
|
|
2562
|
-
|
|
2563
|
-
var PREFIX = '[[FORM-CREATE-PREFIX-';
|
|
2564
|
-
var SUFFIX = '-FORM-CREATE-SUFFIX]]';
|
|
2565
|
-
function toJson(obj, space) {
|
|
2566
|
-
return JSON.stringify(deepExtend(Array.isArray(obj) ? [] : {}, obj, true), function (key, val) {
|
|
2567
|
-
if (val && val._isVue === true) return undefined;
|
|
2296
|
+
var PREFIX = '[[FORM-CREATE-PREFIX-';
|
|
2297
|
+
var SUFFIX = '-FORM-CREATE-SUFFIX]]';
|
|
2298
|
+
function toJson(obj, space) {
|
|
2299
|
+
return JSON.stringify(deepExtend(Array.isArray(obj) ? [] : {}, obj, true), function (key, val) {
|
|
2300
|
+
if (val && val._isVue === true) return undefined;
|
|
2568
2301
|
|
|
2569
2302
|
if (typeof val !== 'function') {
|
|
2570
2303
|
return val;
|
|
@@ -2910,10 +2643,308 @@ function convertFieldToConditions(field) {
|
|
|
2910
2643
|
} else {
|
|
2911
2644
|
currentCondition += '.' + part;
|
|
2912
2645
|
}
|
|
2913
|
-
|
|
2914
|
-
conditions.push(currentCondition);
|
|
2646
|
+
|
|
2647
|
+
conditions.push(currentCondition);
|
|
2648
|
+
});
|
|
2649
|
+
return conditions.join(' && ');
|
|
2650
|
+
}
|
|
2651
|
+
|
|
2652
|
+
var _getGroupInject = function getGroupInject(vm, parent) {
|
|
2653
|
+
if (!vm || vm === parent) {
|
|
2654
|
+
return;
|
|
2655
|
+
}
|
|
2656
|
+
|
|
2657
|
+
if (vm.props.formCreateInject) {
|
|
2658
|
+
return vm.props.formCreateInject;
|
|
2659
|
+
}
|
|
2660
|
+
|
|
2661
|
+
if (vm.parent) {
|
|
2662
|
+
return _getGroupInject(vm.parent, parent);
|
|
2663
|
+
}
|
|
2664
|
+
};
|
|
2665
|
+
|
|
2666
|
+
function $FormCreate(FormCreate, components, directives) {
|
|
2667
|
+
return defineComponent({
|
|
2668
|
+
name: 'FormCreate' + (FormCreate.isMobile ? 'Mobile' : ''),
|
|
2669
|
+
components: components,
|
|
2670
|
+
directives: directives,
|
|
2671
|
+
props: {
|
|
2672
|
+
rule: {
|
|
2673
|
+
type: Array,
|
|
2674
|
+
required: true,
|
|
2675
|
+
"default": function _default() {
|
|
2676
|
+
return [];
|
|
2677
|
+
}
|
|
2678
|
+
},
|
|
2679
|
+
option: {
|
|
2680
|
+
type: Object,
|
|
2681
|
+
"default": function _default() {
|
|
2682
|
+
return {};
|
|
2683
|
+
}
|
|
2684
|
+
},
|
|
2685
|
+
extendOption: Boolean,
|
|
2686
|
+
driver: [String, Object],
|
|
2687
|
+
modelValue: Object,
|
|
2688
|
+
disabled: {
|
|
2689
|
+
type: Boolean,
|
|
2690
|
+
"default": undefined
|
|
2691
|
+
},
|
|
2692
|
+
preview: {
|
|
2693
|
+
type: Boolean,
|
|
2694
|
+
"default": undefined
|
|
2695
|
+
},
|
|
2696
|
+
index: [String, Number],
|
|
2697
|
+
api: Object,
|
|
2698
|
+
locale: [String, Object],
|
|
2699
|
+
name: String,
|
|
2700
|
+
subForm: {
|
|
2701
|
+
type: Boolean,
|
|
2702
|
+
"default": true
|
|
2703
|
+
},
|
|
2704
|
+
inFor: Boolean
|
|
2705
|
+
},
|
|
2706
|
+
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'],
|
|
2707
|
+
render: function render() {
|
|
2708
|
+
return this.fc.render();
|
|
2709
|
+
},
|
|
2710
|
+
setup: function setup(props) {
|
|
2711
|
+
var vm = getCurrentInstance();
|
|
2712
|
+
provide('parentFC', vm);
|
|
2713
|
+
var parent = inject('parentFC', null);
|
|
2714
|
+
var top = parent;
|
|
2715
|
+
|
|
2716
|
+
if (parent) {
|
|
2717
|
+
while (top.setupState.parent) {
|
|
2718
|
+
top = top.setupState.parent;
|
|
2719
|
+
}
|
|
2720
|
+
} else {
|
|
2721
|
+
top = vm;
|
|
2722
|
+
}
|
|
2723
|
+
|
|
2724
|
+
var _toRefs = toRefs(props),
|
|
2725
|
+
rule = _toRefs.rule,
|
|
2726
|
+
modelValue = _toRefs.modelValue,
|
|
2727
|
+
subForm = _toRefs.subForm,
|
|
2728
|
+
inFor = _toRefs.inFor;
|
|
2729
|
+
|
|
2730
|
+
var data = reactive({
|
|
2731
|
+
ctxInject: {},
|
|
2732
|
+
destroyed: false,
|
|
2733
|
+
isShow: true,
|
|
2734
|
+
unique: 1,
|
|
2735
|
+
renderRule: _toConsumableArray(rule.value || []),
|
|
2736
|
+
updateValue: JSON.stringify(modelValue.value || {})
|
|
2737
|
+
});
|
|
2738
|
+
var fc = new FormCreate(vm);
|
|
2739
|
+
var fapi = fc.api();
|
|
2740
|
+
var isMore = inFor.value;
|
|
2741
|
+
|
|
2742
|
+
var addSubForm = function addSubForm() {
|
|
2743
|
+
if (parent) {
|
|
2744
|
+
var _inject = _getGroupInject(vm, parent);
|
|
2745
|
+
|
|
2746
|
+
if (_inject) {
|
|
2747
|
+
var sub;
|
|
2748
|
+
|
|
2749
|
+
if (isMore) {
|
|
2750
|
+
sub = toArray(_inject.getSubForm());
|
|
2751
|
+
sub.push(fapi);
|
|
2752
|
+
} else {
|
|
2753
|
+
sub = fapi;
|
|
2754
|
+
}
|
|
2755
|
+
|
|
2756
|
+
_inject.subForm(sub);
|
|
2757
|
+
}
|
|
2758
|
+
}
|
|
2759
|
+
};
|
|
2760
|
+
|
|
2761
|
+
var rmSubForm = function rmSubForm() {
|
|
2762
|
+
var inject = _getGroupInject(vm, parent);
|
|
2763
|
+
|
|
2764
|
+
if (inject) {
|
|
2765
|
+
if (isMore) {
|
|
2766
|
+
var sub = toArray(inject.getSubForm());
|
|
2767
|
+
var idx = sub.indexOf(fapi);
|
|
2768
|
+
|
|
2769
|
+
if (idx > -1) {
|
|
2770
|
+
sub.splice(idx, 1);
|
|
2771
|
+
}
|
|
2772
|
+
} else {
|
|
2773
|
+
inject.subForm();
|
|
2774
|
+
}
|
|
2775
|
+
}
|
|
2776
|
+
};
|
|
2777
|
+
|
|
2778
|
+
var styleEl = null;
|
|
2779
|
+
onBeforeMount(function () {
|
|
2780
|
+
watchEffect(function () {
|
|
2781
|
+
var content = '';
|
|
2782
|
+
var globalClass = props.option && props.option.globalClass || {};
|
|
2783
|
+
Object.keys(globalClass).forEach(function (k) {
|
|
2784
|
+
var subCss = '';
|
|
2785
|
+
globalClass[k].style && Object.keys(globalClass[k].style).forEach(function (key) {
|
|
2786
|
+
subCss += toLine(key) + ':' + globalClass[k].style[key] + ';';
|
|
2787
|
+
});
|
|
2788
|
+
|
|
2789
|
+
if (globalClass[k].content) {
|
|
2790
|
+
subCss += globalClass[k].content + ';';
|
|
2791
|
+
}
|
|
2792
|
+
|
|
2793
|
+
if (subCss) {
|
|
2794
|
+
content += ".".concat(k, "{").concat(subCss, "}");
|
|
2795
|
+
}
|
|
2796
|
+
});
|
|
2797
|
+
|
|
2798
|
+
if (props.option && props.option.style) {
|
|
2799
|
+
content += props.option.style;
|
|
2800
|
+
}
|
|
2801
|
+
|
|
2802
|
+
if (!styleEl) {
|
|
2803
|
+
styleEl = document.createElement('style');
|
|
2804
|
+
styleEl.type = 'text/css';
|
|
2805
|
+
document.head.appendChild(styleEl);
|
|
2806
|
+
}
|
|
2807
|
+
|
|
2808
|
+
styleEl.innerHTML = content || '';
|
|
2809
|
+
});
|
|
2810
|
+
});
|
|
2811
|
+
var emit$topForm = debounce(function () {
|
|
2812
|
+
fc.bus.$emit('$loadData.$topForm');
|
|
2813
|
+
}, 100);
|
|
2814
|
+
var emit$scopeForm = debounce(function () {
|
|
2815
|
+
fc.bus.$emit('$loadData.$scopeForm');
|
|
2816
|
+
}, 100);
|
|
2817
|
+
var emit$form = debounce(function () {
|
|
2818
|
+
fc.bus.$emit('$loadData.$form');
|
|
2819
|
+
}, 100);
|
|
2820
|
+
|
|
2821
|
+
var emit$change = function emit$change(field) {
|
|
2822
|
+
fc.bus.$emit('change-$form.' + field);
|
|
2823
|
+
};
|
|
2824
|
+
|
|
2825
|
+
onMounted(function () {
|
|
2826
|
+
if (parent) {
|
|
2827
|
+
fapi.top.bus.$on('$loadData.$form', emit$topForm);
|
|
2828
|
+
fapi.top.bus.$on('change', emit$change);
|
|
2829
|
+
}
|
|
2830
|
+
|
|
2831
|
+
if (fapi !== fapi.scope) {
|
|
2832
|
+
fapi.scope.bus.$on('$loadData.$scopeForm', emit$scopeForm);
|
|
2833
|
+
}
|
|
2834
|
+
|
|
2835
|
+
fc.mounted();
|
|
2836
|
+
});
|
|
2837
|
+
onBeforeUnmount(function () {
|
|
2838
|
+
if (parent) {
|
|
2839
|
+
fapi.top.bus.$off('$loadData.$form', emit$topForm);
|
|
2840
|
+
fapi.top.bus.$off('change', emit$change);
|
|
2841
|
+
}
|
|
2842
|
+
|
|
2843
|
+
if (fapi !== fapi.scope) {
|
|
2844
|
+
fapi.scope.bus.$off('$loadData.$scopeForm', emit$scopeForm);
|
|
2845
|
+
}
|
|
2846
|
+
|
|
2847
|
+
styleEl && document.head.removeChild(styleEl);
|
|
2848
|
+
rmSubForm();
|
|
2849
|
+
data.destroyed = true;
|
|
2850
|
+
fc.unmount();
|
|
2851
|
+
});
|
|
2852
|
+
onUpdated(function () {
|
|
2853
|
+
fc.updated();
|
|
2854
|
+
});
|
|
2855
|
+
addSubForm();
|
|
2856
|
+
watch(function () {
|
|
2857
|
+
return props.option;
|
|
2858
|
+
}, function () {
|
|
2859
|
+
fc.initOptions();
|
|
2860
|
+
fapi.refresh();
|
|
2861
|
+
}, {
|
|
2862
|
+
deep: true
|
|
2863
|
+
});
|
|
2864
|
+
watch(function () {
|
|
2865
|
+
return _toConsumableArray(rule.value);
|
|
2866
|
+
}, function (n) {
|
|
2867
|
+
if (fc.$handle.isBreakWatch() || n.length === data.renderRule.length && n.every(function (v) {
|
|
2868
|
+
return data.renderRule.indexOf(v) > -1;
|
|
2869
|
+
})) return;
|
|
2870
|
+
fc.$handle.updateAppendData();
|
|
2871
|
+
fc.$handle.reloadRule(rule.value);
|
|
2872
|
+
vm.setupState.renderRule();
|
|
2873
|
+
});
|
|
2874
|
+
watch(function () {
|
|
2875
|
+
return [props.disabled, props.preview];
|
|
2876
|
+
}, function () {
|
|
2877
|
+
fapi.refresh();
|
|
2878
|
+
});
|
|
2879
|
+
watch(modelValue, function (n) {
|
|
2880
|
+
if (toJson(n || {}) === data.updateValue) return;
|
|
2881
|
+
|
|
2882
|
+
if (fapi.config.forceCoverValue) {
|
|
2883
|
+
fapi.coverValue(n || {});
|
|
2884
|
+
} else {
|
|
2885
|
+
fapi.setValue(n || {});
|
|
2886
|
+
}
|
|
2887
|
+
}, {
|
|
2888
|
+
deep: true,
|
|
2889
|
+
flush: 'post'
|
|
2890
|
+
});
|
|
2891
|
+
watch(function () {
|
|
2892
|
+
return props.index;
|
|
2893
|
+
}, function () {
|
|
2894
|
+
fapi.coverValue({});
|
|
2895
|
+
fc.$handle.updateAppendData();
|
|
2896
|
+
nextTick(function () {
|
|
2897
|
+
nextTick(function () {
|
|
2898
|
+
fapi.clearValidateState();
|
|
2899
|
+
});
|
|
2900
|
+
});
|
|
2901
|
+
}, {
|
|
2902
|
+
flush: 'sync'
|
|
2903
|
+
});
|
|
2904
|
+
return _objectSpread2(_objectSpread2({
|
|
2905
|
+
fc: markRaw(fc),
|
|
2906
|
+
parent: parent ? markRaw(parent) : parent,
|
|
2907
|
+
top: markRaw(top),
|
|
2908
|
+
fapi: markRaw(fapi)
|
|
2909
|
+
}, toRefs(data)), {}, {
|
|
2910
|
+
getGroupInject: function getGroupInject() {
|
|
2911
|
+
return _getGroupInject(vm, parent);
|
|
2912
|
+
},
|
|
2913
|
+
refresh: function refresh() {
|
|
2914
|
+
++data.unique;
|
|
2915
|
+
},
|
|
2916
|
+
renderRule: function renderRule() {
|
|
2917
|
+
data.renderRule = _toConsumableArray(rule.value || []);
|
|
2918
|
+
},
|
|
2919
|
+
updateValue: function updateValue(value) {
|
|
2920
|
+
if (data.destroyed) return;
|
|
2921
|
+
var json = toJson(value);
|
|
2922
|
+
|
|
2923
|
+
if (data.updateValue === json) {
|
|
2924
|
+
return;
|
|
2925
|
+
}
|
|
2926
|
+
|
|
2927
|
+
data.updateValue = json;
|
|
2928
|
+
vm.emit('update:modelValue', value);
|
|
2929
|
+
nextTick(function () {
|
|
2930
|
+
emit$form();
|
|
2931
|
+
|
|
2932
|
+
if (!parent) {
|
|
2933
|
+
emit$topForm();
|
|
2934
|
+
emit$scopeForm();
|
|
2935
|
+
} else if (!subForm.value) {
|
|
2936
|
+
emit$scopeForm();
|
|
2937
|
+
}
|
|
2938
|
+
});
|
|
2939
|
+
}
|
|
2940
|
+
});
|
|
2941
|
+
},
|
|
2942
|
+
created: function created() {
|
|
2943
|
+
var vm = getCurrentInstance();
|
|
2944
|
+
vm.emit('update:api', vm.setupState.fapi);
|
|
2945
|
+
vm.setupState.fc.init();
|
|
2946
|
+
}
|
|
2915
2947
|
});
|
|
2916
|
-
return conditions.join(' && ');
|
|
2917
2948
|
}
|
|
2918
2949
|
|
|
2919
2950
|
function baseRule() {
|
|
@@ -3121,8 +3152,15 @@ function Api(h) {
|
|
|
3121
3152
|
}
|
|
3122
3153
|
|
|
3123
3154
|
function props(fields, key, val) {
|
|
3124
|
-
|
|
3125
|
-
|
|
3155
|
+
if (is.Undef(fields)) {
|
|
3156
|
+
fields = Object.keys(_objectSpread2(_objectSpread2({}, h.fieldCtx), h.nameCtx));
|
|
3157
|
+
} else if (!Array.isArray(fields)) {
|
|
3158
|
+
fields = [fields];
|
|
3159
|
+
}
|
|
3160
|
+
|
|
3161
|
+
fields.forEach(function (field) {
|
|
3162
|
+
var ctxs = h.fieldCtx[field] || h.nameCtx[field];
|
|
3163
|
+
ctxs && ctxs.forEach(function (ctx) {
|
|
3126
3164
|
$set(ctx.rule, key, val);
|
|
3127
3165
|
h.$render.clearCache(ctx);
|
|
3128
3166
|
});
|
|
@@ -3140,6 +3178,14 @@ function Api(h) {
|
|
|
3140
3178
|
}
|
|
3141
3179
|
|
|
3142
3180
|
var api = {
|
|
3181
|
+
get isScope() {
|
|
3182
|
+
return h.vm.props.subForm === false;
|
|
3183
|
+
},
|
|
3184
|
+
|
|
3185
|
+
get isPreview() {
|
|
3186
|
+
return h.preview;
|
|
3187
|
+
},
|
|
3188
|
+
|
|
3143
3189
|
get config() {
|
|
3144
3190
|
return h.options;
|
|
3145
3191
|
},
|
|
@@ -3219,6 +3265,10 @@ function Api(h) {
|
|
|
3219
3265
|
return undefined;
|
|
3220
3266
|
},
|
|
3221
3267
|
|
|
3268
|
+
get formulas() {
|
|
3269
|
+
return _objectSpread2({}, h.fc.formulas);
|
|
3270
|
+
},
|
|
3271
|
+
|
|
3222
3272
|
formData: function formData(fields) {
|
|
3223
3273
|
if (fields == null || typeof fields === 'boolean') {
|
|
3224
3274
|
var data = {};
|
|
@@ -3649,10 +3699,13 @@ function Api(h) {
|
|
|
3649
3699
|
}
|
|
3650
3700
|
}
|
|
3651
3701
|
},
|
|
3652
|
-
getChildrenFormData: function getChildrenFormData(id) {
|
|
3702
|
+
getChildrenFormData: function getChildrenFormData(id, flag) {
|
|
3653
3703
|
var rules = api.getChildrenRuleList(id);
|
|
3654
3704
|
return rules.reduce(function (formData, rule) {
|
|
3655
|
-
|
|
3705
|
+
if (rule.ignore !== true || flag === true) {
|
|
3706
|
+
formData[rule.field] = copy(rule.value);
|
|
3707
|
+
}
|
|
3708
|
+
|
|
3656
3709
|
return formData;
|
|
3657
3710
|
}, {});
|
|
3658
3711
|
},
|
|
@@ -3745,7 +3798,7 @@ function Api(h) {
|
|
|
3745
3798
|
});
|
|
3746
3799
|
reject(e);
|
|
3747
3800
|
});
|
|
3748
|
-
});
|
|
3801
|
+
})["catch"](function (e) {});
|
|
3749
3802
|
});
|
|
3750
3803
|
},
|
|
3751
3804
|
watchFetch: function watchFetch(opt, callback, error, beforeFetch) {
|
|
@@ -3770,7 +3823,7 @@ function Api(h) {
|
|
|
3770
3823
|
});
|
|
3771
3824
|
error && error(e);
|
|
3772
3825
|
});
|
|
3773
|
-
});
|
|
3826
|
+
})["catch"](function (e) {});
|
|
3774
3827
|
}, opt.wait == null ? 1000 : opt.wait);
|
|
3775
3828
|
},
|
|
3776
3829
|
getData: function getData(id, def) {
|
|
@@ -5651,7 +5704,7 @@ function useInput(Handler) {
|
|
|
5651
5704
|
return JSON.stringify(this.getFormData(ctx), strFn) !== JSON.stringify(value, strFn);
|
|
5652
5705
|
},
|
|
5653
5706
|
isQuote: function isQuote(ctx, value) {
|
|
5654
|
-
return (is.Object(value) || Array.isArray(value)) && value === ctx.rule.value;
|
|
5707
|
+
return (value instanceof Function || is.Object(value) || Array.isArray(value)) && value === ctx.rule.value;
|
|
5655
5708
|
},
|
|
5656
5709
|
refreshUpdate: function refreshUpdate(ctx, val, origin, field) {
|
|
5657
5710
|
var _this5 = this;
|
|
@@ -5931,19 +5984,25 @@ function useContext(Handler) {
|
|
|
5931
5984
|
return info;
|
|
5932
5985
|
});
|
|
5933
5986
|
ctx.refRule['__$validate'] = computed(function () {
|
|
5987
|
+
var t = function t(msg) {
|
|
5988
|
+
var match = msg.match(/^\{\{\s*\$t\.(.+)\s*\}\}$/);
|
|
5989
|
+
|
|
5990
|
+
if (match) {
|
|
5991
|
+
var _ctx$refRule, _ctx$refRule$__$title;
|
|
5992
|
+
|
|
5993
|
+
return _this.api.t(match[1], {
|
|
5994
|
+
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
|
|
5995
|
+
});
|
|
5996
|
+
}
|
|
5997
|
+
|
|
5998
|
+
return msg;
|
|
5999
|
+
};
|
|
6000
|
+
|
|
5934
6001
|
return toArray(ctx.rule.validate).map(function (item) {
|
|
5935
6002
|
var temp = _objectSpread2({}, item);
|
|
5936
6003
|
|
|
5937
6004
|
if (temp.message) {
|
|
5938
|
-
|
|
5939
|
-
|
|
5940
|
-
if (match) {
|
|
5941
|
-
var _ctx$refRule, _ctx$refRule$__$title;
|
|
5942
|
-
|
|
5943
|
-
temp.message = _this.api.t(match[1], {
|
|
5944
|
-
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
|
|
5945
|
-
});
|
|
5946
|
-
}
|
|
6005
|
+
temp.message = t(temp.message);
|
|
5947
6006
|
}
|
|
5948
6007
|
|
|
5949
6008
|
if (is.Function(temp.validator)) {
|
|
@@ -5964,8 +6023,19 @@ function useContext(Handler) {
|
|
|
5964
6023
|
api: that.$handle.api
|
|
5965
6024
|
}].concat(args));
|
|
5966
6025
|
};
|
|
6026
|
+
}
|
|
6027
|
+
|
|
6028
|
+
if (temp.adapter) {
|
|
6029
|
+
if (_typeof(temp.error) === 'object') {
|
|
6030
|
+
var msg = _objectSpread2({}, temp.error);
|
|
6031
|
+
|
|
6032
|
+
Object.keys(msg).forEach(function (key) {
|
|
6033
|
+
msg[key] = t(msg[key]);
|
|
6034
|
+
});
|
|
6035
|
+
temp.error = msg;
|
|
6036
|
+
}
|
|
5967
6037
|
|
|
5968
|
-
return temp;
|
|
6038
|
+
return _this.adapterValidate(temp, ctx);
|
|
5969
6039
|
}
|
|
5970
6040
|
|
|
5971
6041
|
return temp;
|
|
@@ -6037,9 +6107,282 @@ function useContext(Handler) {
|
|
|
6037
6107
|
});
|
|
6038
6108
|
this.watchEffect(ctx);
|
|
6039
6109
|
},
|
|
6040
|
-
|
|
6110
|
+
adapterValidate: function adapterValidate(validate, ctx) {
|
|
6041
6111
|
var _this2 = this;
|
|
6042
6112
|
|
|
6113
|
+
var validator = function validator(value, callback) {
|
|
6114
|
+
var before = validate.beforeValidate && invoke(function () {
|
|
6115
|
+
return validate.beforeValidate({
|
|
6116
|
+
value: value,
|
|
6117
|
+
api: _this2.api,
|
|
6118
|
+
validate: validate,
|
|
6119
|
+
rule: ctx.rule
|
|
6120
|
+
});
|
|
6121
|
+
});
|
|
6122
|
+
|
|
6123
|
+
if (before === false) {
|
|
6124
|
+
callback();
|
|
6125
|
+
} else {
|
|
6126
|
+
var key = _this2.validator(value, validate);
|
|
6127
|
+
|
|
6128
|
+
if (!key) {
|
|
6129
|
+
if (validate.validator) {
|
|
6130
|
+
var res = validate.validator && invoke(function () {
|
|
6131
|
+
return validate.validator(value, callback);
|
|
6132
|
+
});
|
|
6133
|
+
|
|
6134
|
+
if (res && is.Function(res.then)) {
|
|
6135
|
+
res.then(function () {
|
|
6136
|
+
return callback();
|
|
6137
|
+
})["catch"](function (e) {
|
|
6138
|
+
return callback(e);
|
|
6139
|
+
});
|
|
6140
|
+
}
|
|
6141
|
+
} else {
|
|
6142
|
+
callback();
|
|
6143
|
+
}
|
|
6144
|
+
} else {
|
|
6145
|
+
var message = '';
|
|
6146
|
+
|
|
6147
|
+
if (_typeof(validate.error) === 'object') {
|
|
6148
|
+
message = validate.error[key] || validate.error["default"];
|
|
6149
|
+
}
|
|
6150
|
+
|
|
6151
|
+
if (!message && typeof validate.message === 'string') {
|
|
6152
|
+
message = validate.message;
|
|
6153
|
+
}
|
|
6154
|
+
|
|
6155
|
+
if (!message) {
|
|
6156
|
+
message = _this2.getValidateMessage(ctx, {
|
|
6157
|
+
key: key,
|
|
6158
|
+
rule: validate[key]
|
|
6159
|
+
});
|
|
6160
|
+
}
|
|
6161
|
+
|
|
6162
|
+
callback(message);
|
|
6163
|
+
}
|
|
6164
|
+
}
|
|
6165
|
+
};
|
|
6166
|
+
|
|
6167
|
+
return this.$manager.adapterValidate({
|
|
6168
|
+
required: validate.required,
|
|
6169
|
+
message: validate.message,
|
|
6170
|
+
target: validate.trigger
|
|
6171
|
+
}, validator);
|
|
6172
|
+
},
|
|
6173
|
+
getValidateMessage: function getValidateMessage(ctx, invalid) {
|
|
6174
|
+
var _ctx$refRule2, _ctx$refRule2$__$titl, _this$api$t;
|
|
6175
|
+
|
|
6176
|
+
var formatRule = Array.isArray(invalid.rule) ? invalid.rule.join(',') : '' + invalid.rule;
|
|
6177
|
+
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));
|
|
6178
|
+
},
|
|
6179
|
+
validator: function validator(value, validate) {
|
|
6180
|
+
var isEmpty = is.empty(value);
|
|
6181
|
+
|
|
6182
|
+
if (isEmpty) {
|
|
6183
|
+
if (validate.required) {
|
|
6184
|
+
return 'required';
|
|
6185
|
+
}
|
|
6186
|
+
|
|
6187
|
+
return;
|
|
6188
|
+
}
|
|
6189
|
+
|
|
6190
|
+
var _loop = function _loop() {
|
|
6191
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
6192
|
+
key = _Object$entries$_i[0],
|
|
6193
|
+
rule = _Object$entries$_i[1];
|
|
6194
|
+
|
|
6195
|
+
switch (key) {
|
|
6196
|
+
case 'len':
|
|
6197
|
+
case 'maxLen':
|
|
6198
|
+
case 'minLen':
|
|
6199
|
+
var check = function check(val) {
|
|
6200
|
+
if (key === 'len') {
|
|
6201
|
+
return val === rule;
|
|
6202
|
+
} else if (key === 'maxLen') {
|
|
6203
|
+
return val <= rule;
|
|
6204
|
+
} else {
|
|
6205
|
+
return val >= rule;
|
|
6206
|
+
}
|
|
6207
|
+
};
|
|
6208
|
+
|
|
6209
|
+
if (Array.isArray(value)) {
|
|
6210
|
+
if (!check(value.length)) {
|
|
6211
|
+
return {
|
|
6212
|
+
v: key
|
|
6213
|
+
};
|
|
6214
|
+
}
|
|
6215
|
+
} else if (_typeof(value) === 'object') {
|
|
6216
|
+
return {
|
|
6217
|
+
v: key
|
|
6218
|
+
};
|
|
6219
|
+
} else if (!check(('' + value).length)) {
|
|
6220
|
+
return {
|
|
6221
|
+
v: key
|
|
6222
|
+
};
|
|
6223
|
+
}
|
|
6224
|
+
|
|
6225
|
+
break;
|
|
6226
|
+
|
|
6227
|
+
case 'pattern':
|
|
6228
|
+
var reg = typeof rule === 'string' ? new RegExp(rule) : rule;
|
|
6229
|
+
|
|
6230
|
+
if (!reg.test('' + value)) {
|
|
6231
|
+
return {
|
|
6232
|
+
v: key
|
|
6233
|
+
};
|
|
6234
|
+
}
|
|
6235
|
+
|
|
6236
|
+
break;
|
|
6237
|
+
|
|
6238
|
+
case 'uppercase':
|
|
6239
|
+
if (rule && (typeof value !== 'string' || !/^[A-Z]*$/.test(value))) {
|
|
6240
|
+
return {
|
|
6241
|
+
v: key
|
|
6242
|
+
};
|
|
6243
|
+
}
|
|
6244
|
+
|
|
6245
|
+
break;
|
|
6246
|
+
|
|
6247
|
+
case 'lowercase':
|
|
6248
|
+
if (rule && (typeof value !== 'string' || !/^[a-z]*$/.test(value))) {
|
|
6249
|
+
return {
|
|
6250
|
+
v: key
|
|
6251
|
+
};
|
|
6252
|
+
}
|
|
6253
|
+
|
|
6254
|
+
break;
|
|
6255
|
+
|
|
6256
|
+
case 'min':
|
|
6257
|
+
case 'max':
|
|
6258
|
+
case 'positive':
|
|
6259
|
+
case 'negative':
|
|
6260
|
+
case 'integer':
|
|
6261
|
+
case 'number':
|
|
6262
|
+
var num = Number(value);
|
|
6263
|
+
|
|
6264
|
+
if (Number.isNaN(num)) {
|
|
6265
|
+
return {
|
|
6266
|
+
v: key
|
|
6267
|
+
};
|
|
6268
|
+
}
|
|
6269
|
+
|
|
6270
|
+
if (key === 'min' && num < rule) {
|
|
6271
|
+
return {
|
|
6272
|
+
v: key
|
|
6273
|
+
};
|
|
6274
|
+
}
|
|
6275
|
+
|
|
6276
|
+
if (key === 'max' && num > rule) {
|
|
6277
|
+
return {
|
|
6278
|
+
v: key
|
|
6279
|
+
};
|
|
6280
|
+
}
|
|
6281
|
+
|
|
6282
|
+
if (key === 'positive' && num <= 0) {
|
|
6283
|
+
return {
|
|
6284
|
+
v: key
|
|
6285
|
+
};
|
|
6286
|
+
}
|
|
6287
|
+
|
|
6288
|
+
if (key === 'negative' && num >= 0) {
|
|
6289
|
+
return {
|
|
6290
|
+
v: key
|
|
6291
|
+
};
|
|
6292
|
+
}
|
|
6293
|
+
|
|
6294
|
+
if (key === 'integer' && !Number.isInteger(num)) {
|
|
6295
|
+
return {
|
|
6296
|
+
v: key
|
|
6297
|
+
};
|
|
6298
|
+
}
|
|
6299
|
+
|
|
6300
|
+
break;
|
|
6301
|
+
|
|
6302
|
+
case 'equal':
|
|
6303
|
+
if (value !== rule) {
|
|
6304
|
+
return {
|
|
6305
|
+
v: key
|
|
6306
|
+
};
|
|
6307
|
+
}
|
|
6308
|
+
|
|
6309
|
+
break;
|
|
6310
|
+
|
|
6311
|
+
case 'enum':
|
|
6312
|
+
if (Array.isArray(rule) && !rule.includes(value)) {
|
|
6313
|
+
return {
|
|
6314
|
+
v: key
|
|
6315
|
+
};
|
|
6316
|
+
}
|
|
6317
|
+
|
|
6318
|
+
break;
|
|
6319
|
+
|
|
6320
|
+
case 'hasKeys':
|
|
6321
|
+
if (_typeof(value) !== 'object' || Array.isArray(rule) && rule.some(function (key) {
|
|
6322
|
+
return !(key in value);
|
|
6323
|
+
})) {
|
|
6324
|
+
return {
|
|
6325
|
+
v: key
|
|
6326
|
+
};
|
|
6327
|
+
}
|
|
6328
|
+
|
|
6329
|
+
break;
|
|
6330
|
+
|
|
6331
|
+
case 'email':
|
|
6332
|
+
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,}))$/;
|
|
6333
|
+
|
|
6334
|
+
if (!regexEmail.test('' + value)) {
|
|
6335
|
+
return {
|
|
6336
|
+
v: key
|
|
6337
|
+
};
|
|
6338
|
+
}
|
|
6339
|
+
|
|
6340
|
+
break;
|
|
6341
|
+
|
|
6342
|
+
case 'url':
|
|
6343
|
+
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');
|
|
6344
|
+
|
|
6345
|
+
if (!regexUrl.test('' + value)) {
|
|
6346
|
+
return {
|
|
6347
|
+
v: key
|
|
6348
|
+
};
|
|
6349
|
+
}
|
|
6350
|
+
|
|
6351
|
+
break;
|
|
6352
|
+
|
|
6353
|
+
case 'ip':
|
|
6354
|
+
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}$/;
|
|
6355
|
+
|
|
6356
|
+
if (!regexIp.test('' + value)) {
|
|
6357
|
+
return {
|
|
6358
|
+
v: key
|
|
6359
|
+
};
|
|
6360
|
+
}
|
|
6361
|
+
|
|
6362
|
+
break;
|
|
6363
|
+
|
|
6364
|
+
case 'phone':
|
|
6365
|
+
var regexPhone = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/;
|
|
6366
|
+
|
|
6367
|
+
if (!regexPhone.test('' + value)) {
|
|
6368
|
+
return {
|
|
6369
|
+
v: key
|
|
6370
|
+
};
|
|
6371
|
+
}
|
|
6372
|
+
|
|
6373
|
+
break;
|
|
6374
|
+
}
|
|
6375
|
+
};
|
|
6376
|
+
|
|
6377
|
+
for (var _i = 0, _Object$entries = Object.entries(validate); _i < _Object$entries.length; _i++) {
|
|
6378
|
+
var _ret = _loop();
|
|
6379
|
+
|
|
6380
|
+
if (_typeof(_ret) === "object") return _ret.v;
|
|
6381
|
+
}
|
|
6382
|
+
},
|
|
6383
|
+
compute: function compute(ctx, item) {
|
|
6384
|
+
var _this3 = this;
|
|
6385
|
+
|
|
6043
6386
|
var fn;
|
|
6044
6387
|
|
|
6045
6388
|
if (_typeof(item) === 'object') {
|
|
@@ -6058,16 +6401,16 @@ function useContext(Handler) {
|
|
|
6058
6401
|
var or = item.mode === 'OR';
|
|
6059
6402
|
var valid = true;
|
|
6060
6403
|
|
|
6061
|
-
var
|
|
6404
|
+
var _loop2 = function _loop2(i) {
|
|
6062
6405
|
var one = item.group[i];
|
|
6063
6406
|
var flag = void 0;
|
|
6064
6407
|
var field = null;
|
|
6065
6408
|
|
|
6066
6409
|
if (one.variable) {
|
|
6067
|
-
field = JSON.stringify(
|
|
6410
|
+
field = JSON.stringify(_this3.fc.getLoadData(one.variable) || '');
|
|
6068
6411
|
} else if (one.field) {
|
|
6069
6412
|
field = convertFieldToConditions(one.field || '');
|
|
6070
|
-
} else {
|
|
6413
|
+
} else if (!one.mode) {
|
|
6071
6414
|
return {
|
|
6072
6415
|
v: true
|
|
6073
6416
|
};
|
|
@@ -6085,11 +6428,11 @@ function useContext(Handler) {
|
|
|
6085
6428
|
flag = false;
|
|
6086
6429
|
} else if (is.Function(one.handler)) {
|
|
6087
6430
|
flag = invoke(function () {
|
|
6088
|
-
return one.handler(
|
|
6431
|
+
return one.handler(_this3.api, ctx.rule);
|
|
6089
6432
|
});
|
|
6090
6433
|
} else {
|
|
6091
6434
|
flag = invoke(function () {
|
|
6092
|
-
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(
|
|
6435
|
+
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);
|
|
6093
6436
|
});
|
|
6094
6437
|
}
|
|
6095
6438
|
|
|
@@ -6105,9 +6448,9 @@ function useContext(Handler) {
|
|
|
6105
6448
|
};
|
|
6106
6449
|
|
|
6107
6450
|
for (var i = 0; i < item.group.length; i++) {
|
|
6108
|
-
var
|
|
6451
|
+
var _ret2 = _loop2(i);
|
|
6109
6452
|
|
|
6110
|
-
if (_typeof(
|
|
6453
|
+
if (_typeof(_ret2) === "object") return _ret2.v;
|
|
6111
6454
|
}
|
|
6112
6455
|
|
|
6113
6456
|
return or ? false : valid;
|
|
@@ -6118,26 +6461,28 @@ function useContext(Handler) {
|
|
|
6118
6461
|
|
|
6119
6462
|
if (item.linkage) {
|
|
6120
6463
|
return val ? invoke(function () {
|
|
6121
|
-
return
|
|
6464
|
+
return _this3.computeValue(item.linkage, ctx, group);
|
|
6122
6465
|
}, undefined) : oldValueTag;
|
|
6123
6466
|
}
|
|
6124
6467
|
|
|
6125
6468
|
return val;
|
|
6126
6469
|
} else if (is.Function(item)) {
|
|
6127
6470
|
fn = function fn() {
|
|
6128
|
-
return item(
|
|
6471
|
+
return item(_this3.api.form, _this3.api);
|
|
6129
6472
|
};
|
|
6130
6473
|
} else {
|
|
6131
6474
|
var _group = ctx.getParentGroup();
|
|
6132
6475
|
|
|
6133
6476
|
fn = function fn() {
|
|
6134
|
-
return
|
|
6477
|
+
return _this3.computeValue(item, ctx, _group);
|
|
6135
6478
|
};
|
|
6136
6479
|
}
|
|
6137
6480
|
|
|
6138
6481
|
return invoke(fn, undefined);
|
|
6139
6482
|
},
|
|
6140
6483
|
computeValue: function computeValue(str, ctx, group) {
|
|
6484
|
+
var _this4 = this;
|
|
6485
|
+
|
|
6141
6486
|
var that = this;
|
|
6142
6487
|
var formulas = Object.keys(this.fc.formulas).reduce(function (obj, k) {
|
|
6143
6488
|
obj[k] = function () {
|
|
@@ -6157,34 +6502,36 @@ function useContext(Handler) {
|
|
|
6157
6502
|
|
|
6158
6503
|
return obj;
|
|
6159
6504
|
}, {});
|
|
6160
|
-
return
|
|
6505
|
+
return invoke(function () {
|
|
6506
|
+
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);
|
|
6507
|
+
}, undefined);
|
|
6161
6508
|
},
|
|
6162
6509
|
updateChildren: function updateChildren(ctx, n, o) {
|
|
6163
|
-
var
|
|
6510
|
+
var _this5 = this;
|
|
6164
6511
|
|
|
6165
6512
|
this.deferSyncValue(function () {
|
|
6166
6513
|
o && o.forEach(function (child) {
|
|
6167
6514
|
if ((n || []).indexOf(child) === -1 && child && !is.String(child) && child.__fc__ && child.__fc__.parent === ctx) {
|
|
6168
|
-
|
|
6515
|
+
_this5.rmCtx(child.__fc__);
|
|
6169
6516
|
}
|
|
6170
6517
|
});
|
|
6171
6518
|
|
|
6172
6519
|
if (is.trueArray(n)) {
|
|
6173
|
-
|
|
6520
|
+
_this5.loadChildren(n, ctx);
|
|
6174
6521
|
|
|
6175
|
-
|
|
6522
|
+
_this5.bus.$emit('update', _this5.api);
|
|
6176
6523
|
}
|
|
6177
6524
|
});
|
|
6178
6525
|
},
|
|
6179
6526
|
rmSub: function rmSub(sub) {
|
|
6180
|
-
var
|
|
6527
|
+
var _this6 = this;
|
|
6181
6528
|
|
|
6182
6529
|
is.trueArray(sub) && sub.forEach(function (r) {
|
|
6183
|
-
r && r.__fc__ &&
|
|
6530
|
+
r && r.__fc__ && _this6.rmCtx(r.__fc__);
|
|
6184
6531
|
});
|
|
6185
6532
|
},
|
|
6186
6533
|
rmCtx: function rmCtx(ctx) {
|
|
6187
|
-
var
|
|
6534
|
+
var _this7 = this;
|
|
6188
6535
|
|
|
6189
6536
|
if (ctx.deleted) return;
|
|
6190
6537
|
var id = ctx.id,
|
|
@@ -6213,19 +6560,19 @@ function useContext(Handler) {
|
|
|
6213
6560
|
}
|
|
6214
6561
|
|
|
6215
6562
|
this.deferSyncValue(function () {
|
|
6216
|
-
if (!
|
|
6563
|
+
if (!_this7.reloading) {
|
|
6217
6564
|
if (ctx.parser.loadChildren !== false) {
|
|
6218
6565
|
var children = ctx.getPending('children', ctx.rule.children);
|
|
6219
6566
|
|
|
6220
6567
|
if (is.trueArray(children)) {
|
|
6221
6568
|
children.forEach(function (h) {
|
|
6222
|
-
return h.__fc__ &&
|
|
6569
|
+
return h.__fc__ && _this7.rmCtx(h.__fc__);
|
|
6223
6570
|
});
|
|
6224
6571
|
}
|
|
6225
6572
|
}
|
|
6226
6573
|
|
|
6227
|
-
if (ctx.root ===
|
|
6228
|
-
|
|
6574
|
+
if (ctx.root === _this7.rules) {
|
|
6575
|
+
_this7.vm.setupState.renderRule();
|
|
6229
6576
|
}
|
|
6230
6577
|
}
|
|
6231
6578
|
}, input);
|
|
@@ -6487,7 +6834,13 @@ function Handler(fc) {
|
|
|
6487
6834
|
return fc.bus;
|
|
6488
6835
|
},
|
|
6489
6836
|
preview: function preview() {
|
|
6490
|
-
|
|
6837
|
+
if (fc.vm.props.preview != null) {
|
|
6838
|
+
return fc.vm.props.preview;
|
|
6839
|
+
} else if (fc.vm.setupState.parent && fc.vm.setupState.parent.props.preview != null) {
|
|
6840
|
+
return fc.vm.setupState.parent.props.preview;
|
|
6841
|
+
}
|
|
6842
|
+
|
|
6843
|
+
return fc.options.value.preview || false;
|
|
6491
6844
|
}
|
|
6492
6845
|
});
|
|
6493
6846
|
extend(this, {
|
|
@@ -6593,6 +6946,25 @@ extend(Handler.prototype, {
|
|
|
6593
6946
|
}).then(function () {
|
|
6594
6947
|
return _this3.globalBeforeFetch(opt);
|
|
6595
6948
|
});
|
|
6949
|
+
},
|
|
6950
|
+
beforeSubmit: function beforeSubmit(formData) {
|
|
6951
|
+
var _this4 = this;
|
|
6952
|
+
|
|
6953
|
+
return new Promise(function (resolve, reject) {
|
|
6954
|
+
var res = _this4.options.beforeSubmit && invoke(function () {
|
|
6955
|
+
return _this4.options.beforeSubmit(formData, {
|
|
6956
|
+
api: _this4.api
|
|
6957
|
+
});
|
|
6958
|
+
});
|
|
6959
|
+
|
|
6960
|
+
if (res && is.Function(res.then)) {
|
|
6961
|
+
res.then(resolve)["catch"](reject);
|
|
6962
|
+
} else if (res === false) {
|
|
6963
|
+
reject();
|
|
6964
|
+
} else {
|
|
6965
|
+
resolve();
|
|
6966
|
+
}
|
|
6967
|
+
});
|
|
6596
6968
|
}
|
|
6597
6969
|
});
|
|
6598
6970
|
useInject(Handler);
|
|
@@ -6747,6 +7119,13 @@ extend(Manager.prototype, {
|
|
|
6747
7119
|
form: function form() {
|
|
6748
7120
|
return this.vm.refs[this.ref];
|
|
6749
7121
|
},
|
|
7122
|
+
adapterValidate: function adapterValidate(validate, validator) {
|
|
7123
|
+
validate.validator = function (rule, value, callback) {
|
|
7124
|
+
return validator(value, callback);
|
|
7125
|
+
};
|
|
7126
|
+
|
|
7127
|
+
return validate;
|
|
7128
|
+
},
|
|
6750
7129
|
getSlot: function getSlot(name) {
|
|
6751
7130
|
var _fn = function _fn(vm) {
|
|
6752
7131
|
if (vm) {
|
|
@@ -6794,57 +7173,61 @@ var loadData = function loadData(fc) {
|
|
|
6794
7173
|
var loadData = {
|
|
6795
7174
|
name: 'loadData',
|
|
6796
7175
|
_fn: [],
|
|
6797
|
-
|
|
6798
|
-
this
|
|
6799
|
-
var attrs = toArray(inject.getValue());
|
|
6800
|
-
var unwatchs = [];
|
|
6801
|
-
attrs.forEach(function (attr) {
|
|
6802
|
-
if (attr && (attr.attr || attr.template)) {
|
|
6803
|
-
var fn = function fn(get) {
|
|
6804
|
-
var value;
|
|
7176
|
+
loaded: function loaded(inject, rule, api) {
|
|
7177
|
+
var _this = this;
|
|
6805
7178
|
|
|
6806
|
-
|
|
6807
|
-
|
|
6808
|
-
|
|
6809
|
-
|
|
6810
|
-
|
|
6811
|
-
|
|
6812
|
-
|
|
7179
|
+
this.deleted(inject);
|
|
7180
|
+
nextTick(function () {
|
|
7181
|
+
var attrs = toArray(inject.getValue());
|
|
7182
|
+
var unwatchs = [];
|
|
7183
|
+
attrs.forEach(function (attr) {
|
|
7184
|
+
if (attr && (attr.attr || attr.template)) {
|
|
7185
|
+
var fn = function fn(get) {
|
|
7186
|
+
var value;
|
|
7187
|
+
|
|
7188
|
+
if (attr.template) {
|
|
7189
|
+
value = fc.$handle.loadStrVar(attr.template, get);
|
|
7190
|
+
} else if (attr.handler && is.Function(attr.handler)) {
|
|
7191
|
+
value = attr.handler(get, rule, api);
|
|
7192
|
+
} else {
|
|
7193
|
+
value = get(attr.attr, attr["default"]);
|
|
7194
|
+
}
|
|
6813
7195
|
|
|
6814
|
-
|
|
6815
|
-
|
|
6816
|
-
|
|
7196
|
+
if (attr.copy !== false) {
|
|
7197
|
+
value = deepCopy(value);
|
|
7198
|
+
}
|
|
6817
7199
|
|
|
6818
|
-
|
|
7200
|
+
var _rule = attr.modify ? rule : inject.getProp();
|
|
6819
7201
|
|
|
6820
|
-
|
|
6821
|
-
|
|
6822
|
-
|
|
7202
|
+
if (attr.to === 'child') {
|
|
7203
|
+
if (_rule.children) {
|
|
7204
|
+
_rule.children[0] = value;
|
|
7205
|
+
} else {
|
|
7206
|
+
_rule.children = [value];
|
|
7207
|
+
}
|
|
6823
7208
|
} else {
|
|
6824
|
-
_rule.
|
|
7209
|
+
deepSet(_rule, attr.to || 'options', value);
|
|
6825
7210
|
}
|
|
6826
|
-
} else {
|
|
6827
|
-
deepSet(_rule, attr.to || 'options', value);
|
|
6828
|
-
}
|
|
6829
7211
|
|
|
6830
|
-
|
|
6831
|
-
|
|
7212
|
+
api.sync(rule);
|
|
7213
|
+
};
|
|
6832
7214
|
|
|
6833
|
-
|
|
6834
|
-
|
|
6835
|
-
|
|
7215
|
+
var callback = function callback(get) {
|
|
7216
|
+
return fn(get);
|
|
7217
|
+
};
|
|
6836
7218
|
|
|
6837
|
-
|
|
6838
|
-
|
|
7219
|
+
var unwatch = fc.watchLoadData(callback);
|
|
7220
|
+
fn = debounce(fn, attr.wait || 300);
|
|
6839
7221
|
|
|
6840
|
-
|
|
6841
|
-
|
|
6842
|
-
|
|
6843
|
-
|
|
7222
|
+
if (attr.watch !== false) {
|
|
7223
|
+
unwatchs.push(unwatch);
|
|
7224
|
+
} else {
|
|
7225
|
+
unwatch();
|
|
7226
|
+
}
|
|
6844
7227
|
}
|
|
6845
|
-
}
|
|
7228
|
+
});
|
|
7229
|
+
_this._fn[inject.id] = unwatchs;
|
|
6846
7230
|
});
|
|
6847
|
-
this._fn[inject.id] = unwatchs;
|
|
6848
7231
|
},
|
|
6849
7232
|
deleted: function deleted(inject) {
|
|
6850
7233
|
if (this._fn[inject.id]) {
|
|
@@ -6858,7 +7241,7 @@ var loadData = function loadData(fc) {
|
|
|
6858
7241
|
inject.clearProp();
|
|
6859
7242
|
}
|
|
6860
7243
|
};
|
|
6861
|
-
loadData.watch = loadData.
|
|
7244
|
+
loadData.watch = loadData.loaded;
|
|
6862
7245
|
return loadData;
|
|
6863
7246
|
};
|
|
6864
7247
|
|
|
@@ -7071,7 +7454,6 @@ var fetch = function fetch(fc) {
|
|
|
7071
7454
|
}
|
|
7072
7455
|
|
|
7073
7456
|
set(fn(body, rule, api));
|
|
7074
|
-
api.sync(rule);
|
|
7075
7457
|
},
|
|
7076
7458
|
onError: function onError(e) {
|
|
7077
7459
|
set(undefined);
|
|
@@ -7104,7 +7486,7 @@ var fetch = function fetch(fc) {
|
|
|
7104
7486
|
api: api
|
|
7105
7487
|
});
|
|
7106
7488
|
});
|
|
7107
|
-
});
|
|
7489
|
+
})["catch"](function (e) {});
|
|
7108
7490
|
}, option.wait || 600));
|
|
7109
7491
|
}
|
|
7110
7492
|
|
|
@@ -7238,6 +7620,57 @@ function sessionStorageDriver(name) {
|
|
|
7238
7620
|
return baseDriver(getSessionStorage, name);
|
|
7239
7621
|
}
|
|
7240
7622
|
|
|
7623
|
+
var baseLanguage = {
|
|
7624
|
+
en: {
|
|
7625
|
+
required: '{title} is required',
|
|
7626
|
+
validate: {
|
|
7627
|
+
url: '{title} is not a valid url',
|
|
7628
|
+
email: '{title} is not a valid email',
|
|
7629
|
+
ip: '{title} {title} is not a valid ip',
|
|
7630
|
+
phone: '{title} {title} is not a valid phone',
|
|
7631
|
+
pattern: '{title} does not match pattern {pattern}',
|
|
7632
|
+
uppercase: '{title} must be all uppercase',
|
|
7633
|
+
lowercase: '{title} must be all lowercased',
|
|
7634
|
+
positive: '{title} is not a positive number',
|
|
7635
|
+
negative: '{title} is not a negative number',
|
|
7636
|
+
equal: '{title} is not equal to {equal}',
|
|
7637
|
+
min: '{title} cannot be less than {min}',
|
|
7638
|
+
max: '{title} cannot be greater than {max}',
|
|
7639
|
+
"enum": '{title} must be one of {enum}',
|
|
7640
|
+
hasKeys: '{title} does not contain required fields {hasKeys}',
|
|
7641
|
+
minLen: '{title} must be at least {minLen}',
|
|
7642
|
+
maxLen: '{title} cannot be longer than {maxLen}',
|
|
7643
|
+
len: '{title} must be exactly {len}',
|
|
7644
|
+
integer: '{title} is not an integer',
|
|
7645
|
+
number: '{title} is not an number'
|
|
7646
|
+
}
|
|
7647
|
+
},
|
|
7648
|
+
'zh-cn': {
|
|
7649
|
+
required: '{title}不能为空',
|
|
7650
|
+
validate: {
|
|
7651
|
+
url: '{title}不是有效的 url 地址',
|
|
7652
|
+
email: '{title}不是有效的邮箱地址',
|
|
7653
|
+
ip: '{title}不是有效的 IP 地址',
|
|
7654
|
+
phone: '{title}不是正确的手机号',
|
|
7655
|
+
pattern: '{title}必须匹配 {pattern}',
|
|
7656
|
+
uppercase: '{title}必须全大写',
|
|
7657
|
+
lowercase: '{title}必须全小写',
|
|
7658
|
+
positive: '{title}不是正数',
|
|
7659
|
+
negative: '{title}不是负数',
|
|
7660
|
+
equal: '{title}必须等于 {equal}',
|
|
7661
|
+
min: '{title}必须大于等于 {min}',
|
|
7662
|
+
max: '{title}必须小于等于 {max}',
|
|
7663
|
+
"enum": '{title}必须是 {enum} 之一',
|
|
7664
|
+
hasKeys: '{title}必须包含 {hasKeys} 字段',
|
|
7665
|
+
minLen: '{title}长度必须大于 {minLen}',
|
|
7666
|
+
maxLen: '{title}长度必须小于 {maxLen}',
|
|
7667
|
+
len: '{title}长度必须为 {len}',
|
|
7668
|
+
integer: '{title}必须为整数',
|
|
7669
|
+
number: '{title}必须为数字'
|
|
7670
|
+
}
|
|
7671
|
+
}
|
|
7672
|
+
};
|
|
7673
|
+
|
|
7241
7674
|
function parseProp(name, id) {
|
|
7242
7675
|
var prop;
|
|
7243
7676
|
|
|
@@ -7761,7 +8194,11 @@ function FormCreateFactory(config) {
|
|
|
7761
8194
|
|
|
7762
8195
|
var _locale = this.getLocale();
|
|
7763
8196
|
|
|
7764
|
-
value = deepGet(language[_locale], id);
|
|
8197
|
+
value = deepGet(language[_locale] || {}, id);
|
|
8198
|
+
|
|
8199
|
+
if (value == null) {
|
|
8200
|
+
value = deepGet(baseLanguage[_locale] || {}, id);
|
|
8201
|
+
}
|
|
7765
8202
|
}
|
|
7766
8203
|
|
|
7767
8204
|
return value;
|
|
@@ -7788,7 +8225,7 @@ function FormCreateFactory(config) {
|
|
|
7788
8225
|
}
|
|
7789
8226
|
});
|
|
7790
8227
|
this.unwatch.push(unwatch);
|
|
7791
|
-
return val;
|
|
8228
|
+
return deepGet(val, split);
|
|
7792
8229
|
}
|
|
7793
8230
|
}
|
|
7794
8231
|
},
|
|
@@ -8438,7 +8875,6 @@ var manager = {
|
|
|
8438
8875
|
e.preventDefault();
|
|
8439
8876
|
}
|
|
8440
8877
|
},
|
|
8441
|
-
"class": [form.className, form["class"], 'form-create', this.$handle.preview ? 'is-preview' : ''],
|
|
8442
8878
|
style: form.style,
|
|
8443
8879
|
type: 'form'
|
|
8444
8880
|
};
|
|
@@ -8447,9 +8883,11 @@ var manager = {
|
|
|
8447
8883
|
var key = this.key,
|
|
8448
8884
|
ref = this.ref,
|
|
8449
8885
|
$handle = this.$handle;
|
|
8886
|
+
var form = this.options.form;
|
|
8450
8887
|
extend(this.rule, {
|
|
8451
8888
|
key: key,
|
|
8452
|
-
ref: ref
|
|
8889
|
+
ref: ref,
|
|
8890
|
+
"class": [form.className, form["class"], 'form-create', this.$handle.preview ? 'is-preview' : '']
|
|
8453
8891
|
});
|
|
8454
8892
|
extend(this.rule.props, {
|
|
8455
8893
|
model: $handle.formData
|
|
@@ -8783,7 +9221,9 @@ function extendApi(api, h) {
|
|
|
8783
9221
|
return new Promise(function (resolve, reject) {
|
|
8784
9222
|
var forms = api.children;
|
|
8785
9223
|
var all = [h.$manager.validate()];
|
|
8786
|
-
forms.
|
|
9224
|
+
forms.filter(function (v) {
|
|
9225
|
+
return !v.isScope;
|
|
9226
|
+
}).forEach(function (v) {
|
|
8787
9227
|
all.push(v.validate());
|
|
8788
9228
|
});
|
|
8789
9229
|
Promise.all(all).then(function () {
|
|
@@ -8804,7 +9244,9 @@ function extendApi(api, h) {
|
|
|
8804
9244
|
if (!ctx) return;
|
|
8805
9245
|
var sub = h.subForm[ctx.id];
|
|
8806
9246
|
var all = [h.$manager.validateField(ctx.id)];
|
|
8807
|
-
toArray(sub).
|
|
9247
|
+
toArray(sub).filter(function (v) {
|
|
9248
|
+
return !v.isScope;
|
|
9249
|
+
}).forEach(function (v) {
|
|
8808
9250
|
all.push(v.validate());
|
|
8809
9251
|
});
|
|
8810
9252
|
Promise.all(all).then(function () {
|
|
@@ -8907,16 +9349,19 @@ function extendApi(api, h) {
|
|
|
8907
9349
|
},
|
|
8908
9350
|
submit: function submit(successFn, failFn) {
|
|
8909
9351
|
return new Promise(function (resolve, reject) {
|
|
8910
|
-
|
|
9352
|
+
var promise = h.options.validateOnSubmit === false ? Promise.resolve() : api.validate();
|
|
9353
|
+
promise.then(function () {
|
|
8911
9354
|
var formData = api.formData();
|
|
8912
|
-
|
|
8913
|
-
|
|
8914
|
-
|
|
8915
|
-
|
|
8916
|
-
|
|
8917
|
-
|
|
8918
|
-
|
|
8919
|
-
|
|
9355
|
+
h.beforeSubmit(formData).then(function () {
|
|
9356
|
+
is.Function(successFn) && invoke(function () {
|
|
9357
|
+
return successFn(formData, api);
|
|
9358
|
+
});
|
|
9359
|
+
is.Function(h.options.onSubmit) && invoke(function () {
|
|
9360
|
+
return h.options.onSubmit(formData, api);
|
|
9361
|
+
});
|
|
9362
|
+
h.vm.emit('submit', formData, api);
|
|
9363
|
+
resolve(formData);
|
|
9364
|
+
})["catch"](function (e) {});
|
|
8920
9365
|
})["catch"](function () {
|
|
8921
9366
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
8922
9367
|
args[_key] = arguments[_key];
|
|
@@ -9023,7 +9468,7 @@ function install(FormCreate) {
|
|
|
9023
9468
|
function elmFormCreate() {
|
|
9024
9469
|
return FormCreateFactory({
|
|
9025
9470
|
ui: 'element-ui',
|
|
9026
|
-
version: '3.2.
|
|
9471
|
+
version: '3.2.22',
|
|
9027
9472
|
manager: manager,
|
|
9028
9473
|
extendApi: extendApi,
|
|
9029
9474
|
install: install,
|