@form-create/element-ui 2.5.16 → 2.5.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form-create.js +348 -172
- package/dist/form-create.min.js +3 -3
- package/dist/form-create.min.js.map +1 -1
- package/package.json +11 -11
- package/src/parsers/datePicker.js +0 -1
- package/src/style/index.css +0 -4
- package/types/config.d.ts +2 -2
package/dist/form-create.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @form-create/element-ui v2.5.
|
|
3
|
-
* (c) 2018-
|
|
2
|
+
* @form-create/element-ui v2.5.19
|
|
3
|
+
* (c) 2018-2022 xaboy
|
|
4
4
|
* Github https://github.com/xaboy/form-create
|
|
5
5
|
* Released under the MIT License.
|
|
6
6
|
*/
|
|
@@ -710,6 +710,7 @@
|
|
|
710
710
|
try {
|
|
711
711
|
if (this.helper === true) {
|
|
712
712
|
iframe['form_create_helper'] = {
|
|
713
|
+
api: this.formCreateInject.api,
|
|
713
714
|
close: function close(field) {
|
|
714
715
|
_this7.valid(field);
|
|
715
716
|
|
|
@@ -812,21 +813,18 @@
|
|
|
812
813
|
"close": this.handleCancel
|
|
813
814
|
}
|
|
814
815
|
}, [h("img", {
|
|
816
|
+
"style": "width: 100%",
|
|
815
817
|
"attrs": {
|
|
816
|
-
"alt": "example",
|
|
817
818
|
"src": this.previewImage
|
|
818
|
-
}
|
|
819
|
-
"style": "width: 100%"
|
|
819
|
+
}
|
|
820
820
|
})]), h("el-dialog", helper([{
|
|
821
821
|
"attrs": {
|
|
822
822
|
"appendToBody": true
|
|
823
823
|
}
|
|
824
|
-
}, {
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
}, this.modal)
|
|
829
|
-
}, {
|
|
824
|
+
}, _objectSpread2({
|
|
825
|
+
width: width,
|
|
826
|
+
title: title
|
|
827
|
+
}, this.modal), {
|
|
830
828
|
"attrs": {
|
|
831
829
|
"visible": this.frameVisible
|
|
832
830
|
},
|
|
@@ -941,9 +939,28 @@
|
|
|
941
939
|
},
|
|
942
940
|
trueArray: function trueArray(data) {
|
|
943
941
|
return Array.isArray(data) && data.length > 0;
|
|
942
|
+
},
|
|
943
|
+
Function: function Function(v) {
|
|
944
|
+
var type = this.getType(v);
|
|
945
|
+
return type === 'Function' || type === 'AsyncFunction';
|
|
946
|
+
},
|
|
947
|
+
getType: function getType(v) {
|
|
948
|
+
var str = Object.prototype.toString.call(v);
|
|
949
|
+
return /^\[object (.*)\]$/.exec(str)[1];
|
|
950
|
+
},
|
|
951
|
+
empty: function empty(value) {
|
|
952
|
+
if (value === undefined || value === null) {
|
|
953
|
+
return true;
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
if (Array.isArray(value) && Array.isArray(value) && !value.length) {
|
|
957
|
+
return true;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
return typeof value === 'string' && !value;
|
|
944
961
|
}
|
|
945
962
|
};
|
|
946
|
-
['Date', 'Object', '
|
|
963
|
+
['Date', 'Object', 'String', 'Boolean', 'Array', 'Number'].forEach(function (t) {
|
|
947
964
|
is[t] = function (arg) {
|
|
948
965
|
return is.type(arg, t);
|
|
949
966
|
};
|
|
@@ -1320,6 +1337,81 @@
|
|
|
1320
1337
|
}
|
|
1321
1338
|
};
|
|
1322
1339
|
|
|
1340
|
+
function $set(target, field, value) {
|
|
1341
|
+
Vue.set(target, field, value);
|
|
1342
|
+
}
|
|
1343
|
+
function $del(target, field) {
|
|
1344
|
+
Vue["delete"](target, field);
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
function deepExtend(origin) {
|
|
1348
|
+
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1349
|
+
var mode = arguments.length > 2 ? arguments[2] : undefined;
|
|
1350
|
+
var isArr = false;
|
|
1351
|
+
|
|
1352
|
+
for (var key in target) {
|
|
1353
|
+
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
1354
|
+
var clone = target[key];
|
|
1355
|
+
|
|
1356
|
+
if ((isArr = Array.isArray(clone)) || is.Object(clone)) {
|
|
1357
|
+
var nst = origin[key] === undefined;
|
|
1358
|
+
|
|
1359
|
+
if (isArr) {
|
|
1360
|
+
isArr = false;
|
|
1361
|
+
nst && $set(origin, key, []);
|
|
1362
|
+
} else if (clone._clone && mode !== undefined) {
|
|
1363
|
+
if (mode) {
|
|
1364
|
+
clone = clone.getRule();
|
|
1365
|
+
nst && $set(origin, key, {});
|
|
1366
|
+
} else {
|
|
1367
|
+
$set(origin, key, clone._clone());
|
|
1368
|
+
continue;
|
|
1369
|
+
}
|
|
1370
|
+
} else {
|
|
1371
|
+
nst && $set(origin, key, {});
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
origin[key] = deepExtend(origin[key], clone, mode);
|
|
1375
|
+
} else {
|
|
1376
|
+
$set(origin, key, clone);
|
|
1377
|
+
|
|
1378
|
+
if (!is.Undef(clone)) {
|
|
1379
|
+
if (!is.Undef(clone.__json)) {
|
|
1380
|
+
origin[key].__json = clone.__json;
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
if (!is.Undef(clone.__origin)) {
|
|
1384
|
+
origin[key].__origin = clone.__origin;
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
return mode !== undefined && Array.isArray(origin) ? origin.filter(function (v) {
|
|
1392
|
+
return !v || !v.__ctrl;
|
|
1393
|
+
}) : origin;
|
|
1394
|
+
}
|
|
1395
|
+
function deepCopy(value) {
|
|
1396
|
+
return deepExtend({}, {
|
|
1397
|
+
value: value
|
|
1398
|
+
}).value;
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
var _extends$1 = Object.assign || function (a) {
|
|
1402
|
+
for (var b, c = 1; c < arguments.length; c++) {
|
|
1403
|
+
for (var d in b = arguments[c], b) {
|
|
1404
|
+
Object.prototype.hasOwnProperty.call(b, d) && $set(a, d, b[d]);
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
return a;
|
|
1409
|
+
};
|
|
1410
|
+
|
|
1411
|
+
function extend() {
|
|
1412
|
+
return _extends$1.apply(this, arguments);
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1323
1415
|
var NAME$6 = 'fcGroup';
|
|
1324
1416
|
var Group = {
|
|
1325
1417
|
name: NAME$6,
|
|
@@ -1351,6 +1443,7 @@
|
|
|
1351
1443
|
return [];
|
|
1352
1444
|
}
|
|
1353
1445
|
},
|
|
1446
|
+
defaultValue: Object,
|
|
1354
1447
|
disabled: {
|
|
1355
1448
|
type: Boolean,
|
|
1356
1449
|
"default": false
|
|
@@ -1496,7 +1589,13 @@
|
|
|
1496
1589
|
submitBtn: false,
|
|
1497
1590
|
resetBtn: false
|
|
1498
1591
|
};
|
|
1499
|
-
|
|
1592
|
+
|
|
1593
|
+
if (this.defaultValue) {
|
|
1594
|
+
if (!options.formData) options.formData = {};
|
|
1595
|
+
var defVal = deepCopy(this.defaultValue);
|
|
1596
|
+
extend(options.formData, this.field ? _defineProperty({}, this.field, defVal) : defVal);
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1500
1599
|
this.$set(this.cacheRule, ++this.len, {
|
|
1501
1600
|
rule: rule,
|
|
1502
1601
|
options: options
|
|
@@ -1513,6 +1612,7 @@
|
|
|
1513
1612
|
|
|
1514
1613
|
this.cacheRule[key].$f = $f;
|
|
1515
1614
|
this.subForm();
|
|
1615
|
+
this.formData(key, $f.formData());
|
|
1516
1616
|
this.$nextTick(function () {
|
|
1517
1617
|
if (_this4.syncDisabled) {
|
|
1518
1618
|
$f.disabled(_this4.disabled);
|
|
@@ -1683,6 +1783,7 @@
|
|
|
1683
1783
|
}
|
|
1684
1784
|
}, {
|
|
1685
1785
|
"attrs": {
|
|
1786
|
+
"value": _this9.field ? _defineProperty({}, _this9.field, _this9._value(_this9.value[index])) : _this9.value[index],
|
|
1686
1787
|
"rule": rule,
|
|
1687
1788
|
"option": options,
|
|
1688
1789
|
"extendOption": true
|
|
@@ -1815,27 +1916,6 @@
|
|
|
1815
1916
|
|
|
1816
1917
|
var components = [Checkbox, Frame, Radio, Select, Tree, Upload, Group, Sub];
|
|
1817
1918
|
|
|
1818
|
-
function $set(target, field, value) {
|
|
1819
|
-
Vue.set(target, field, value);
|
|
1820
|
-
}
|
|
1821
|
-
function $del(target, field) {
|
|
1822
|
-
Vue["delete"](target, field);
|
|
1823
|
-
}
|
|
1824
|
-
|
|
1825
|
-
var _extends$1 = Object.assign || function (a) {
|
|
1826
|
-
for (var b, c = 1; c < arguments.length; c++) {
|
|
1827
|
-
for (var d in b = arguments[c], b) {
|
|
1828
|
-
Object.prototype.hasOwnProperty.call(b, d) && $set(a, d, b[d]);
|
|
1829
|
-
}
|
|
1830
|
-
}
|
|
1831
|
-
|
|
1832
|
-
return a;
|
|
1833
|
-
};
|
|
1834
|
-
|
|
1835
|
-
function extend() {
|
|
1836
|
-
return _extends$1.apply(this, arguments);
|
|
1837
|
-
}
|
|
1838
|
-
|
|
1839
1919
|
var NAME$8 = 'FormCreate';
|
|
1840
1920
|
function $FormCreate(FormCreate) {
|
|
1841
1921
|
return {
|
|
@@ -1867,7 +1947,8 @@
|
|
|
1867
1947
|
},
|
|
1868
1948
|
extendOption: Boolean,
|
|
1869
1949
|
value: Object,
|
|
1870
|
-
api: Object
|
|
1950
|
+
api: Object,
|
|
1951
|
+
name: String
|
|
1871
1952
|
},
|
|
1872
1953
|
data: function data() {
|
|
1873
1954
|
return {
|
|
@@ -2029,60 +2110,6 @@
|
|
|
2029
2110
|
console.error(e);
|
|
2030
2111
|
}
|
|
2031
2112
|
|
|
2032
|
-
function deepExtend(origin) {
|
|
2033
|
-
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2034
|
-
var mode = arguments.length > 2 ? arguments[2] : undefined;
|
|
2035
|
-
var isArr = false;
|
|
2036
|
-
|
|
2037
|
-
for (var key in target) {
|
|
2038
|
-
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
2039
|
-
var clone = target[key];
|
|
2040
|
-
|
|
2041
|
-
if ((isArr = Array.isArray(clone)) || is.Object(clone)) {
|
|
2042
|
-
var nst = origin[key] === undefined;
|
|
2043
|
-
|
|
2044
|
-
if (isArr) {
|
|
2045
|
-
isArr = false;
|
|
2046
|
-
nst && $set(origin, key, []);
|
|
2047
|
-
} else if (clone._clone && mode !== undefined) {
|
|
2048
|
-
if (mode) {
|
|
2049
|
-
clone = clone.getRule();
|
|
2050
|
-
nst && $set(origin, key, {});
|
|
2051
|
-
} else {
|
|
2052
|
-
$set(origin, key, clone._clone());
|
|
2053
|
-
continue;
|
|
2054
|
-
}
|
|
2055
|
-
} else {
|
|
2056
|
-
nst && $set(origin, key, {});
|
|
2057
|
-
}
|
|
2058
|
-
|
|
2059
|
-
origin[key] = deepExtend(origin[key], clone, mode);
|
|
2060
|
-
} else {
|
|
2061
|
-
$set(origin, key, clone);
|
|
2062
|
-
|
|
2063
|
-
if (!is.Undef(clone)) {
|
|
2064
|
-
if (clone.__json !== undefined) {
|
|
2065
|
-
origin[key].__json = clone.__json;
|
|
2066
|
-
}
|
|
2067
|
-
|
|
2068
|
-
if (clone.__origin !== undefined) {
|
|
2069
|
-
origin[key].__origin = clone.__origin;
|
|
2070
|
-
}
|
|
2071
|
-
}
|
|
2072
|
-
}
|
|
2073
|
-
}
|
|
2074
|
-
}
|
|
2075
|
-
|
|
2076
|
-
return mode !== undefined && Array.isArray(origin) ? origin.filter(function (v) {
|
|
2077
|
-
return !v || !v.__ctrl;
|
|
2078
|
-
}) : origin;
|
|
2079
|
-
}
|
|
2080
|
-
function deepCopy(value) {
|
|
2081
|
-
return deepExtend({}, {
|
|
2082
|
-
value: value
|
|
2083
|
-
}).value;
|
|
2084
|
-
}
|
|
2085
|
-
|
|
2086
2113
|
var PREFIX = '[[FORM-CREATE-PREFIX-';
|
|
2087
2114
|
var SUFFIX = '-FORM-CREATE-SUFFIX]]';
|
|
2088
2115
|
var $T = '$FN:';
|
|
@@ -2096,7 +2123,7 @@
|
|
|
2096
2123
|
return val;
|
|
2097
2124
|
}
|
|
2098
2125
|
|
|
2099
|
-
if (
|
|
2126
|
+
if (val.__json) {
|
|
2100
2127
|
return val.__json;
|
|
2101
2128
|
}
|
|
2102
2129
|
|
|
@@ -2207,39 +2234,6 @@
|
|
|
2207
2234
|
return def;
|
|
2208
2235
|
}
|
|
2209
2236
|
|
|
2210
|
-
function toString(val) {
|
|
2211
|
-
return val == null ? '' : _typeof(val) === 'object' ? JSON.stringify(val, null, 2) : String(val);
|
|
2212
|
-
}
|
|
2213
|
-
|
|
2214
|
-
function toLine(name) {
|
|
2215
|
-
var line = name.replace(/([A-Z])/g, '-$1').toLocaleLowerCase();
|
|
2216
|
-
if (line.indexOf('-') === 0) line = line.substr(1);
|
|
2217
|
-
return line;
|
|
2218
|
-
}
|
|
2219
|
-
|
|
2220
|
-
var id = 0;
|
|
2221
|
-
function uniqueId() {
|
|
2222
|
-
return Math.random().toString(36).substr(3, 3) + Number("".concat(Date.now()).concat(++id)).toString(36);
|
|
2223
|
-
}
|
|
2224
|
-
|
|
2225
|
-
function deepSet(data, idx, val) {
|
|
2226
|
-
var _data = data,
|
|
2227
|
-
to;
|
|
2228
|
-
(idx || '').split('.').forEach(function (v) {
|
|
2229
|
-
if (to) {
|
|
2230
|
-
if (!_data[to] || _typeof(_data[to]) != 'object') {
|
|
2231
|
-
_data[to] = {};
|
|
2232
|
-
}
|
|
2233
|
-
|
|
2234
|
-
_data = _data[to];
|
|
2235
|
-
}
|
|
2236
|
-
|
|
2237
|
-
to = v;
|
|
2238
|
-
});
|
|
2239
|
-
_data[to] = val;
|
|
2240
|
-
return _data;
|
|
2241
|
-
}
|
|
2242
|
-
|
|
2243
2237
|
function baseRule() {
|
|
2244
2238
|
return {
|
|
2245
2239
|
props: {},
|
|
@@ -2489,7 +2483,7 @@
|
|
|
2489
2483
|
disabled: function disabled(_disabled, fields) {
|
|
2490
2484
|
tidyFields(fields).forEach(function (field) {
|
|
2491
2485
|
h.getCtxs(field).forEach(function (ctx) {
|
|
2492
|
-
$set(ctx.rule.props, 'disabled', !!_disabled);
|
|
2486
|
+
ctx.rule.props && $set(ctx.rule.props, 'disabled', !!_disabled);
|
|
2493
2487
|
});
|
|
2494
2488
|
});
|
|
2495
2489
|
h.refresh();
|
|
@@ -2761,6 +2755,39 @@
|
|
|
2761
2755
|
return str.replace(str[0], str[0].toLowerCase());
|
|
2762
2756
|
}
|
|
2763
2757
|
|
|
2758
|
+
function toString(val) {
|
|
2759
|
+
return val == null ? '' : _typeof(val) === 'object' ? JSON.stringify(val, null, 2) : String(val);
|
|
2760
|
+
}
|
|
2761
|
+
|
|
2762
|
+
function toLine(name) {
|
|
2763
|
+
var line = name.replace(/([A-Z])/g, '-$1').toLocaleLowerCase();
|
|
2764
|
+
if (line.indexOf('-') === 0) line = line.substr(1);
|
|
2765
|
+
return line;
|
|
2766
|
+
}
|
|
2767
|
+
|
|
2768
|
+
var id = 0;
|
|
2769
|
+
function uniqueId() {
|
|
2770
|
+
return Math.random().toString(36).substr(3, 3) + Number("".concat(Date.now()).concat(++id)).toString(36);
|
|
2771
|
+
}
|
|
2772
|
+
|
|
2773
|
+
function deepSet(data, idx, val) {
|
|
2774
|
+
var _data = data,
|
|
2775
|
+
to;
|
|
2776
|
+
(idx || '').split('.').forEach(function (v) {
|
|
2777
|
+
if (to) {
|
|
2778
|
+
if (!_data[to] || _typeof(_data[to]) != 'object') {
|
|
2779
|
+
_data[to] = {};
|
|
2780
|
+
}
|
|
2781
|
+
|
|
2782
|
+
_data = _data[to];
|
|
2783
|
+
}
|
|
2784
|
+
|
|
2785
|
+
to = v;
|
|
2786
|
+
});
|
|
2787
|
+
_data[to] = val;
|
|
2788
|
+
return _data;
|
|
2789
|
+
}
|
|
2790
|
+
|
|
2764
2791
|
function useRender(Render) {
|
|
2765
2792
|
extend(Render.prototype, {
|
|
2766
2793
|
initRender: function initRender() {
|
|
@@ -2781,6 +2808,23 @@
|
|
|
2781
2808
|
clearOrgChildren: function clearOrgChildren() {
|
|
2782
2809
|
this.orgChildren = {};
|
|
2783
2810
|
},
|
|
2811
|
+
getTypeSlot: function getTypeSlot(type) {
|
|
2812
|
+
var name = 'type-' + toLine(type);
|
|
2813
|
+
|
|
2814
|
+
var _fn = function _fn(vm) {
|
|
2815
|
+
if (vm) {
|
|
2816
|
+
var slot = vm.$scopedSlots[name] || vm.$scopedSlots['type-' + type];
|
|
2817
|
+
|
|
2818
|
+
if (slot) {
|
|
2819
|
+
return slot;
|
|
2820
|
+
}
|
|
2821
|
+
|
|
2822
|
+
return _fn(vm.$pfc);
|
|
2823
|
+
}
|
|
2824
|
+
};
|
|
2825
|
+
|
|
2826
|
+
return _fn(this.vm);
|
|
2827
|
+
},
|
|
2784
2828
|
render: function render() {
|
|
2785
2829
|
var _this = this;
|
|
2786
2830
|
|
|
@@ -2976,10 +3020,10 @@
|
|
|
2976
3020
|
children = this.renderChildren(ctx);
|
|
2977
3021
|
}
|
|
2978
3022
|
|
|
2979
|
-
var slot =
|
|
3023
|
+
var slot = this.getTypeSlot(ctx.type);
|
|
2980
3024
|
|
|
2981
|
-
if (
|
|
2982
|
-
vn =
|
|
3025
|
+
if (slot) {
|
|
3026
|
+
vn = slot({
|
|
2983
3027
|
rule: rule,
|
|
2984
3028
|
prop: prop,
|
|
2985
3029
|
preview: preview,
|
|
@@ -3106,15 +3150,13 @@
|
|
|
3106
3150
|
}];
|
|
3107
3151
|
|
|
3108
3152
|
if (!custom && ctx.input) {
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
}
|
|
3117
|
-
});
|
|
3153
|
+
ctx.prop.model = {
|
|
3154
|
+
value: this.$handle.getFormData(ctx),
|
|
3155
|
+
callback: function callback(value) {
|
|
3156
|
+
_this8.onInput(ctx, value);
|
|
3157
|
+
},
|
|
3158
|
+
expression: "formData.".concat(ctx.id)
|
|
3159
|
+
};
|
|
3118
3160
|
}
|
|
3119
3161
|
|
|
3120
3162
|
mergeProps(props, ctx.prop);
|
|
@@ -4033,7 +4075,7 @@
|
|
|
4033
4075
|
this.setFormData(ctx, formValue);
|
|
4034
4076
|
this.syncValue();
|
|
4035
4077
|
this.valueChange(ctx, value);
|
|
4036
|
-
this.vm.$emit('change', ctx.field, value, ctx.origin, this.api, setFlag);
|
|
4078
|
+
this.vm.$emit('change', ctx.field, value, ctx.origin, this.api, setFlag || false);
|
|
4037
4079
|
this.effect(ctx, 'value');
|
|
4038
4080
|
},
|
|
4039
4081
|
onInput: function onInput(ctx, value) {
|
|
@@ -4044,7 +4086,7 @@
|
|
|
4044
4086
|
}
|
|
4045
4087
|
},
|
|
4046
4088
|
setFormData: function setFormData(ctx, value) {
|
|
4047
|
-
$set(this.formData, ctx.id, value);
|
|
4089
|
+
$set(this.formData, ctx.id, value === null ? undefined : value);
|
|
4048
4090
|
},
|
|
4049
4091
|
getFormData: function getFormData(ctx) {
|
|
4050
4092
|
return this.formData[ctx.id];
|
|
@@ -4298,7 +4340,7 @@
|
|
|
4298
4340
|
var vm = this.vm;
|
|
4299
4341
|
var none = ['field', 'value', 'vm', 'template', 'name', 'config', 'control', 'inject', 'sync', 'payload', 'optionsTo', 'update'];
|
|
4300
4342
|
Object.keys(ctx.rule).filter(function (k) {
|
|
4301
|
-
return none.indexOf(k) === -1;
|
|
4343
|
+
return k[0] !== '_' && k[0] !== '$' && none.indexOf(k) === -1;
|
|
4302
4344
|
}).forEach(function (key) {
|
|
4303
4345
|
var flag = key === 'children';
|
|
4304
4346
|
ctx.watch.push(vm.$watch(function () {
|
|
@@ -4483,10 +4525,21 @@
|
|
|
4483
4525
|
var _this3 = this;
|
|
4484
4526
|
|
|
4485
4527
|
var vm = this.vm;
|
|
4528
|
+
var effect = {};
|
|
4486
4529
|
Object.keys(ctx.rule.effect || {}).forEach(function (k) {
|
|
4487
|
-
|
|
4530
|
+
effect[k] = function () {
|
|
4488
4531
|
return ctx.rule.effect[k];
|
|
4489
|
-
}
|
|
4532
|
+
};
|
|
4533
|
+
});
|
|
4534
|
+
Object.keys(ctx.rule).forEach(function (k) {
|
|
4535
|
+
if (k[0] === '$') {
|
|
4536
|
+
effect[k.substr(1)] = function () {
|
|
4537
|
+
return ctx.rule[k];
|
|
4538
|
+
};
|
|
4539
|
+
}
|
|
4540
|
+
});
|
|
4541
|
+
Object.keys(effect || {}).forEach(function (k) {
|
|
4542
|
+
ctx.watch.push(vm.$watch(effect[k], function (n) {
|
|
4490
4543
|
_this3.effect(ctx, 'watch', _defineProperty({}, k, n));
|
|
4491
4544
|
}, {
|
|
4492
4545
|
deep: true
|
|
@@ -4510,7 +4563,12 @@
|
|
|
4510
4563
|
}, event);
|
|
4511
4564
|
},
|
|
4512
4565
|
getEffect: function getEffect(rule, name) {
|
|
4513
|
-
if (hasProperty(rule, '
|
|
4566
|
+
if (hasProperty(rule, '$' + name)) {
|
|
4567
|
+
return rule['$' + name];
|
|
4568
|
+
}
|
|
4569
|
+
|
|
4570
|
+
if (hasProperty(rule, 'effect') && hasProperty(rule.effect, name)) return rule.effect[name];
|
|
4571
|
+
return undefined;
|
|
4514
4572
|
},
|
|
4515
4573
|
emitEffect: function emitEffect(_ref, event, append) {
|
|
4516
4574
|
var _this4 = this;
|
|
@@ -4521,7 +4579,13 @@
|
|
|
4521
4579
|
type = _ref.type,
|
|
4522
4580
|
custom = _ref.custom;
|
|
4523
4581
|
if (!type || type === 'fcFragment') return;
|
|
4524
|
-
var effect = custom ? custom : rule.
|
|
4582
|
+
var effect = custom ? custom : Object.keys(rule).reduce(function (i, k) {
|
|
4583
|
+
if (k[0] === '$') {
|
|
4584
|
+
i[k.substr(1)] = rule[k];
|
|
4585
|
+
}
|
|
4586
|
+
|
|
4587
|
+
return i;
|
|
4588
|
+
}, _objectSpread2({}, rule.effect || {}));
|
|
4525
4589
|
Object.keys(effect).forEach(function (attr) {
|
|
4526
4590
|
var p = _this4.providers[attr];
|
|
4527
4591
|
if (!p || p.input && !input) return;
|
|
@@ -4865,6 +4929,50 @@
|
|
|
4865
4929
|
}
|
|
4866
4930
|
}
|
|
4867
4931
|
};
|
|
4932
|
+
var $required = {
|
|
4933
|
+
name: 'required',
|
|
4934
|
+
load: function load(inject, rule, api) {
|
|
4935
|
+
var val = parseVa(inject.getValue());
|
|
4936
|
+
|
|
4937
|
+
if (val.required === false) {
|
|
4938
|
+
inject.clearProp();
|
|
4939
|
+
} else {
|
|
4940
|
+
var validate = _objectSpread2(_objectSpread2({}, val), {}, {
|
|
4941
|
+
required: true,
|
|
4942
|
+
validator: function validator(_, v, call) {
|
|
4943
|
+
is.empty(v) ? call(validate.message) : call();
|
|
4944
|
+
}
|
|
4945
|
+
});
|
|
4946
|
+
|
|
4947
|
+
if (!validate.message) {
|
|
4948
|
+
validate.message = rule.title + ' is required';
|
|
4949
|
+
}
|
|
4950
|
+
|
|
4951
|
+
inject.getProp().validate = [validate];
|
|
4952
|
+
}
|
|
4953
|
+
|
|
4954
|
+
api.sync(rule);
|
|
4955
|
+
},
|
|
4956
|
+
watch: function watch() {
|
|
4957
|
+
$required.load.apply($required, arguments);
|
|
4958
|
+
}
|
|
4959
|
+
};
|
|
4960
|
+
|
|
4961
|
+
function parseVa(val) {
|
|
4962
|
+
if (is.Boolean(val)) {
|
|
4963
|
+
return {
|
|
4964
|
+
required: val
|
|
4965
|
+
};
|
|
4966
|
+
} else if (is.String(val)) {
|
|
4967
|
+
return {
|
|
4968
|
+
message: val
|
|
4969
|
+
};
|
|
4970
|
+
} else if (!is.Object(val)) {
|
|
4971
|
+
return {};
|
|
4972
|
+
} else {
|
|
4973
|
+
return val;
|
|
4974
|
+
}
|
|
4975
|
+
}
|
|
4868
4976
|
|
|
4869
4977
|
function parseOpt(option) {
|
|
4870
4978
|
if (is.String(option)) {
|
|
@@ -4935,6 +5043,31 @@
|
|
|
4935
5043
|
return true;
|
|
4936
5044
|
}
|
|
4937
5045
|
|
|
5046
|
+
var $provider = {
|
|
5047
|
+
fetch: $fetch,
|
|
5048
|
+
required: $required
|
|
5049
|
+
};
|
|
5050
|
+
|
|
5051
|
+
var name = 'html';
|
|
5052
|
+
var html = {
|
|
5053
|
+
name: name,
|
|
5054
|
+
loadChildren: false,
|
|
5055
|
+
render: function render(children, ctx) {
|
|
5056
|
+
if (!ctx.prop.domProps) ctx.prop.domProps = {};
|
|
5057
|
+
ctx.prop.domProps.innerHTML = children;
|
|
5058
|
+
return ctx.vNode.make(ctx.prop.props.tag || 'div', ctx.prop);
|
|
5059
|
+
},
|
|
5060
|
+
renderChildren: function renderChildren(ctx) {
|
|
5061
|
+
if (Array.isArray(ctx.rule.children)) {
|
|
5062
|
+
return ctx.rule.children.filter(function (v) {
|
|
5063
|
+
return is.String(v);
|
|
5064
|
+
}).join('');
|
|
5065
|
+
}
|
|
5066
|
+
|
|
5067
|
+
return '';
|
|
5068
|
+
}
|
|
5069
|
+
};
|
|
5070
|
+
|
|
4938
5071
|
var _vue = typeof window !== 'undefined' && window.Vue ? window.Vue : Vue;
|
|
4939
5072
|
|
|
4940
5073
|
function _parseProp(name, id) {
|
|
@@ -4990,17 +5123,19 @@
|
|
|
4990
5123
|
arrayAttrs.push.apply(arrayAttrs, _toConsumableArray(array));
|
|
4991
5124
|
normalAttrs.push.apply(normalAttrs, _toConsumableArray(normal));
|
|
4992
5125
|
appendProto([].concat(_toConsumableArray(key), _toConsumableArray(array), _toConsumableArray(normal)));
|
|
4993
|
-
}
|
|
5126
|
+
}
|
|
4994
5127
|
|
|
5128
|
+
var id$1 = 1;
|
|
5129
|
+
var instance = {}; //todo 表单嵌套
|
|
4995
5130
|
|
|
4996
5131
|
function FormCreateFactory(config) {
|
|
4997
5132
|
var components = _defineProperty({}, fragment.name, fragment);
|
|
4998
5133
|
|
|
4999
5134
|
var parsers = {};
|
|
5000
5135
|
var directives = {};
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5136
|
+
|
|
5137
|
+
var providers = _objectSpread2({}, $provider);
|
|
5138
|
+
|
|
5004
5139
|
var maker = makerFactory();
|
|
5005
5140
|
var globalConfig = {
|
|
5006
5141
|
global: {}
|
|
@@ -5009,6 +5144,10 @@
|
|
|
5009
5144
|
var CreateNode = CreateNodeFactory();
|
|
5010
5145
|
exportAttrs(config.attrs || {});
|
|
5011
5146
|
|
|
5147
|
+
function getApi(name) {
|
|
5148
|
+
return instance[name];
|
|
5149
|
+
}
|
|
5150
|
+
|
|
5012
5151
|
function directive() {
|
|
5013
5152
|
var data = nameProp.apply(void 0, arguments);
|
|
5014
5153
|
if (data.id && data.prop) directives[data.id] = data.prop;
|
|
@@ -5081,18 +5220,35 @@
|
|
|
5081
5220
|
return _this.api();
|
|
5082
5221
|
}
|
|
5083
5222
|
|
|
5084
|
-
function factory() {
|
|
5085
|
-
|
|
5223
|
+
function factory(inherit) {
|
|
5224
|
+
var _config = _objectSpread2({}, config);
|
|
5225
|
+
|
|
5226
|
+
if (inherit) {
|
|
5227
|
+
_config.inherit = {
|
|
5228
|
+
components: components,
|
|
5229
|
+
parsers: parsers,
|
|
5230
|
+
directives: directives,
|
|
5231
|
+
providers: providers,
|
|
5232
|
+
maker: maker,
|
|
5233
|
+
data: data
|
|
5234
|
+
};
|
|
5235
|
+
} else {
|
|
5236
|
+
delete _config.inherit;
|
|
5237
|
+
}
|
|
5238
|
+
|
|
5239
|
+
return FormCreateFactory(_config);
|
|
5086
5240
|
}
|
|
5087
5241
|
|
|
5088
5242
|
function FormCreate(vm, rules, options) {
|
|
5089
5243
|
extend(this, {
|
|
5244
|
+
id: id$1++,
|
|
5090
5245
|
vm: vm,
|
|
5091
5246
|
create: create,
|
|
5092
5247
|
manager: createManager(config.manager),
|
|
5093
5248
|
parsers: parsers,
|
|
5094
5249
|
providers: providers,
|
|
5095
5250
|
rules: Array.isArray(rules) ? rules : [],
|
|
5251
|
+
name: vm.$options.propsData.name,
|
|
5096
5252
|
prop: {
|
|
5097
5253
|
components: components,
|
|
5098
5254
|
directives: directives
|
|
@@ -5106,6 +5262,10 @@
|
|
|
5106
5262
|
});
|
|
5107
5263
|
this.init();
|
|
5108
5264
|
this.initOptions(options || {});
|
|
5265
|
+
|
|
5266
|
+
if (this.name) {
|
|
5267
|
+
instance[this.name] = this.api();
|
|
5268
|
+
}
|
|
5109
5269
|
}
|
|
5110
5270
|
|
|
5111
5271
|
extend(FormCreate.prototype, {
|
|
@@ -5141,6 +5301,10 @@
|
|
|
5141
5301
|
vm.destroyed = true;
|
|
5142
5302
|
_this2.unwatch && _this2.unwatch();
|
|
5143
5303
|
h.reloadRule([]);
|
|
5304
|
+
|
|
5305
|
+
if (_this2.name) {
|
|
5306
|
+
delete instance[_this2.name];
|
|
5307
|
+
}
|
|
5144
5308
|
});
|
|
5145
5309
|
vm.$on('hook:updated', function () {
|
|
5146
5310
|
h.bindNextTick(function () {
|
|
@@ -5218,6 +5382,7 @@
|
|
|
5218
5382
|
parseFn: parseFn,
|
|
5219
5383
|
parseJson: parseJson,
|
|
5220
5384
|
toJson: toJson,
|
|
5385
|
+
getApi: getApi,
|
|
5221
5386
|
init: function init(rules) {
|
|
5222
5387
|
var _opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
5223
5388
|
|
|
@@ -5271,7 +5436,19 @@
|
|
|
5271
5436
|
CreateNode.use({
|
|
5272
5437
|
fragment: 'fcFragment'
|
|
5273
5438
|
});
|
|
5439
|
+
parser(html);
|
|
5274
5440
|
if (config.install) create.use(config);
|
|
5441
|
+
|
|
5442
|
+
if (config.inherit) {
|
|
5443
|
+
var inherit = config.inherit;
|
|
5444
|
+
inherit.components && extend(components, inherit.components);
|
|
5445
|
+
inherit.parsers && extend(parsers, inherit.parsers);
|
|
5446
|
+
inherit.directives && extend(directives, inherit.directives);
|
|
5447
|
+
inherit.providers && extend(providers, inherit.providers);
|
|
5448
|
+
inherit.maker && extend(maker, inherit.maker);
|
|
5449
|
+
inherit.data && extend(data, inherit.data);
|
|
5450
|
+
}
|
|
5451
|
+
|
|
5275
5452
|
return create;
|
|
5276
5453
|
}
|
|
5277
5454
|
|
|
@@ -5279,19 +5456,18 @@
|
|
|
5279
5456
|
date: 'yyyy-MM-dd',
|
|
5280
5457
|
month: 'yyyy-MM',
|
|
5281
5458
|
datetime: 'yyyy-MM-dd HH:mm:ss',
|
|
5282
|
-
week: 'yyyywWW',
|
|
5283
5459
|
timerange: 'HH:mm:ss',
|
|
5284
5460
|
daterange: 'yyyy-MM-dd',
|
|
5285
5461
|
monthrange: 'yyyy-MM',
|
|
5286
5462
|
datetimerange: 'yyyy-MM-dd HH:mm:ss',
|
|
5287
5463
|
year: 'yyyy'
|
|
5288
5464
|
};
|
|
5289
|
-
var name = 'datePicker';
|
|
5465
|
+
var name$1 = 'datePicker';
|
|
5290
5466
|
var datePicker = {
|
|
5291
|
-
name: name,
|
|
5467
|
+
name: name$1,
|
|
5292
5468
|
maker: function () {
|
|
5293
5469
|
return ['year', 'month', 'date', 'dates', 'week', 'datetime', 'datetimeRange', 'dateRange', 'monthRange'].reduce(function (initial, type) {
|
|
5294
|
-
initial[type] = creatorFactory(name, {
|
|
5470
|
+
initial[type] = creatorFactory(name$1, {
|
|
5295
5471
|
type: type.toLowerCase()
|
|
5296
5472
|
});
|
|
5297
5473
|
return initial;
|
|
@@ -5306,28 +5482,28 @@
|
|
|
5306
5482
|
}
|
|
5307
5483
|
};
|
|
5308
5484
|
|
|
5309
|
-
var name$
|
|
5485
|
+
var name$2 = 'hidden';
|
|
5310
5486
|
var hidden = {
|
|
5311
|
-
name: name$
|
|
5312
|
-
maker: _defineProperty({}, name$
|
|
5313
|
-
return creatorFactory(name$
|
|
5487
|
+
name: name$2,
|
|
5488
|
+
maker: _defineProperty({}, name$2, function (field, value) {
|
|
5489
|
+
return creatorFactory(name$2)('', field, value);
|
|
5314
5490
|
}),
|
|
5315
5491
|
render: function render() {
|
|
5316
5492
|
return [];
|
|
5317
5493
|
}
|
|
5318
5494
|
};
|
|
5319
5495
|
|
|
5320
|
-
var name$
|
|
5496
|
+
var name$3 = 'input';
|
|
5321
5497
|
var input = {
|
|
5322
|
-
name: name$
|
|
5498
|
+
name: name$3,
|
|
5323
5499
|
maker: function () {
|
|
5324
5500
|
var maker = ['password', 'url', 'email', 'text', 'textarea'].reduce(function (maker, type) {
|
|
5325
|
-
maker[type] = creatorFactory(name$
|
|
5501
|
+
maker[type] = creatorFactory(name$3, {
|
|
5326
5502
|
type: type
|
|
5327
5503
|
});
|
|
5328
5504
|
return maker;
|
|
5329
5505
|
}, {});
|
|
5330
|
-
maker.idate = creatorFactory(name$
|
|
5506
|
+
maker.idate = creatorFactory(name$3, {
|
|
5331
5507
|
type: 'date'
|
|
5332
5508
|
});
|
|
5333
5509
|
return maker;
|
|
@@ -5341,11 +5517,11 @@
|
|
|
5341
5517
|
}
|
|
5342
5518
|
};
|
|
5343
5519
|
|
|
5344
|
-
var name$
|
|
5520
|
+
var name$4 = 'slider';
|
|
5345
5521
|
var slider = {
|
|
5346
|
-
name: name$
|
|
5522
|
+
name: name$4,
|
|
5347
5523
|
maker: {
|
|
5348
|
-
sliderRange: creatorFactory(name$
|
|
5524
|
+
sliderRange: creatorFactory(name$4, {
|
|
5349
5525
|
range: true
|
|
5350
5526
|
})
|
|
5351
5527
|
},
|
|
@@ -5365,14 +5541,14 @@
|
|
|
5365
5541
|
}
|
|
5366
5542
|
};
|
|
5367
5543
|
|
|
5368
|
-
var name$
|
|
5544
|
+
var name$5 = 'timePicker';
|
|
5369
5545
|
var timePicker = {
|
|
5370
|
-
name: name$
|
|
5546
|
+
name: name$5,
|
|
5371
5547
|
maker: {
|
|
5372
|
-
time: creatorFactory(name$
|
|
5548
|
+
time: creatorFactory(name$5, function (m) {
|
|
5373
5549
|
return m.props.isRange = false;
|
|
5374
5550
|
}),
|
|
5375
|
-
timeRange: creatorFactory(name$
|
|
5551
|
+
timeRange: creatorFactory(name$5, function (m) {
|
|
5376
5552
|
return m.props.isRange = true;
|
|
5377
5553
|
})
|
|
5378
5554
|
},
|
|
@@ -5396,9 +5572,9 @@
|
|
|
5396
5572
|
}
|
|
5397
5573
|
};
|
|
5398
5574
|
|
|
5399
|
-
var name$
|
|
5575
|
+
var name$6 = 'select';
|
|
5400
5576
|
var select = {
|
|
5401
|
-
name: name$
|
|
5577
|
+
name: name$6,
|
|
5402
5578
|
toFormValue: function toFormValue(value, ctx) {
|
|
5403
5579
|
if (ctx.prop.props.multiple && !Array.isArray(value)) {
|
|
5404
5580
|
return toArray(value);
|
|
@@ -5832,7 +6008,7 @@
|
|
|
5832
6008
|
return maker;
|
|
5833
6009
|
}
|
|
5834
6010
|
|
|
5835
|
-
var css_248z$2 = ".form-create .form-create .el-form-item {\n margin-bottom: 22px;\n}\n\n.form-create .form-create .el-form-item .el-form-item {\n margin-bottom: 0px;\n}\n
|
|
6011
|
+
var css_248z$2 = ".form-create .form-create .el-form-item {\n margin-bottom: 22px;\n}\n\n.form-create .form-create .el-form-item .el-form-item {\n margin-bottom: 0px;\n}\n";
|
|
5836
6012
|
styleInject(css_248z$2);
|
|
5837
6013
|
|
|
5838
6014
|
function tidyBtnProp(btn, def) {
|
|
@@ -6072,7 +6248,7 @@
|
|
|
6072
6248
|
function elmFormCreate() {
|
|
6073
6249
|
return FormCreateFactory({
|
|
6074
6250
|
ui: "".concat("element-ui"),
|
|
6075
|
-
version: "".concat("2.5.
|
|
6251
|
+
version: "".concat("2.5.19"),
|
|
6076
6252
|
manager: manager,
|
|
6077
6253
|
extendApi: extendApi,
|
|
6078
6254
|
install: install,
|