@form-create/element-ui 2.5.15 → 2.5.18
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 +353 -175
- package/dist/form-create.min.js +3 -3
- package/dist/form-create.min.js.map +1 -1
- package/package.json +11 -11
- 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.18
|
|
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
|
};
|
|
@@ -1113,7 +1130,8 @@
|
|
|
1113
1130
|
return {
|
|
1114
1131
|
uploadList: [],
|
|
1115
1132
|
previewVisible: false,
|
|
1116
|
-
previewImage: ''
|
|
1133
|
+
previewImage: '',
|
|
1134
|
+
cacheFiles: []
|
|
1117
1135
|
};
|
|
1118
1136
|
},
|
|
1119
1137
|
created: function created() {
|
|
@@ -1264,7 +1282,11 @@
|
|
|
1264
1282
|
}).filter(function (url) {
|
|
1265
1283
|
return url !== undefined;
|
|
1266
1284
|
});
|
|
1267
|
-
|
|
1285
|
+
|
|
1286
|
+
if (this.cacheFiles.length !== files.length) {
|
|
1287
|
+
this.cacheFiles = _toConsumableArray(files);
|
|
1288
|
+
this.$emit('input', this.limit === 1 ? files[0] || '' : files);
|
|
1289
|
+
}
|
|
1268
1290
|
},
|
|
1269
1291
|
handleCancel: function handleCancel() {
|
|
1270
1292
|
this.previewVisible = false;
|
|
@@ -1315,6 +1337,81 @@
|
|
|
1315
1337
|
}
|
|
1316
1338
|
};
|
|
1317
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
|
+
|
|
1318
1415
|
var NAME$6 = 'fcGroup';
|
|
1319
1416
|
var Group = {
|
|
1320
1417
|
name: NAME$6,
|
|
@@ -1346,6 +1443,7 @@
|
|
|
1346
1443
|
return [];
|
|
1347
1444
|
}
|
|
1348
1445
|
},
|
|
1446
|
+
defaultValue: Object,
|
|
1349
1447
|
disabled: {
|
|
1350
1448
|
type: Boolean,
|
|
1351
1449
|
"default": false
|
|
@@ -1491,7 +1589,13 @@
|
|
|
1491
1589
|
submitBtn: false,
|
|
1492
1590
|
resetBtn: false
|
|
1493
1591
|
};
|
|
1494
|
-
|
|
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
|
+
|
|
1495
1599
|
this.$set(this.cacheRule, ++this.len, {
|
|
1496
1600
|
rule: rule,
|
|
1497
1601
|
options: options
|
|
@@ -1508,6 +1612,7 @@
|
|
|
1508
1612
|
|
|
1509
1613
|
this.cacheRule[key].$f = $f;
|
|
1510
1614
|
this.subForm();
|
|
1615
|
+
this.formData(key, $f.formData());
|
|
1511
1616
|
this.$nextTick(function () {
|
|
1512
1617
|
if (_this4.syncDisabled) {
|
|
1513
1618
|
$f.disabled(_this4.disabled);
|
|
@@ -1678,6 +1783,7 @@
|
|
|
1678
1783
|
}
|
|
1679
1784
|
}, {
|
|
1680
1785
|
"attrs": {
|
|
1786
|
+
"value": _this9.field ? _defineProperty({}, _this9.field, _this9._value(_this9.value[index])) : _this9.value[index],
|
|
1681
1787
|
"rule": rule,
|
|
1682
1788
|
"option": options,
|
|
1683
1789
|
"extendOption": true
|
|
@@ -1810,27 +1916,6 @@
|
|
|
1810
1916
|
|
|
1811
1917
|
var components = [Checkbox, Frame, Radio, Select, Tree, Upload, Group, Sub];
|
|
1812
1918
|
|
|
1813
|
-
function $set(target, field, value) {
|
|
1814
|
-
Vue.set(target, field, value);
|
|
1815
|
-
}
|
|
1816
|
-
function $del(target, field) {
|
|
1817
|
-
Vue["delete"](target, field);
|
|
1818
|
-
}
|
|
1819
|
-
|
|
1820
|
-
var _extends$1 = Object.assign || function (a) {
|
|
1821
|
-
for (var b, c = 1; c < arguments.length; c++) {
|
|
1822
|
-
for (var d in b = arguments[c], b) {
|
|
1823
|
-
Object.prototype.hasOwnProperty.call(b, d) && $set(a, d, b[d]);
|
|
1824
|
-
}
|
|
1825
|
-
}
|
|
1826
|
-
|
|
1827
|
-
return a;
|
|
1828
|
-
};
|
|
1829
|
-
|
|
1830
|
-
function extend() {
|
|
1831
|
-
return _extends$1.apply(this, arguments);
|
|
1832
|
-
}
|
|
1833
|
-
|
|
1834
1919
|
var NAME$8 = 'FormCreate';
|
|
1835
1920
|
function $FormCreate(FormCreate) {
|
|
1836
1921
|
return {
|
|
@@ -1862,7 +1947,8 @@
|
|
|
1862
1947
|
},
|
|
1863
1948
|
extendOption: Boolean,
|
|
1864
1949
|
value: Object,
|
|
1865
|
-
api: Object
|
|
1950
|
+
api: Object,
|
|
1951
|
+
name: String
|
|
1866
1952
|
},
|
|
1867
1953
|
data: function data() {
|
|
1868
1954
|
return {
|
|
@@ -2024,60 +2110,6 @@
|
|
|
2024
2110
|
console.error(e);
|
|
2025
2111
|
}
|
|
2026
2112
|
|
|
2027
|
-
function deepExtend(origin) {
|
|
2028
|
-
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2029
|
-
var mode = arguments.length > 2 ? arguments[2] : undefined;
|
|
2030
|
-
var isArr = false;
|
|
2031
|
-
|
|
2032
|
-
for (var key in target) {
|
|
2033
|
-
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
2034
|
-
var clone = target[key];
|
|
2035
|
-
|
|
2036
|
-
if ((isArr = Array.isArray(clone)) || is.Object(clone)) {
|
|
2037
|
-
var nst = origin[key] === undefined;
|
|
2038
|
-
|
|
2039
|
-
if (isArr) {
|
|
2040
|
-
isArr = false;
|
|
2041
|
-
nst && $set(origin, key, []);
|
|
2042
|
-
} else if (clone._clone && mode !== undefined) {
|
|
2043
|
-
if (mode) {
|
|
2044
|
-
clone = clone.getRule();
|
|
2045
|
-
nst && $set(origin, key, {});
|
|
2046
|
-
} else {
|
|
2047
|
-
$set(origin, key, clone._clone());
|
|
2048
|
-
continue;
|
|
2049
|
-
}
|
|
2050
|
-
} else {
|
|
2051
|
-
nst && $set(origin, key, {});
|
|
2052
|
-
}
|
|
2053
|
-
|
|
2054
|
-
origin[key] = deepExtend(origin[key], clone, mode);
|
|
2055
|
-
} else {
|
|
2056
|
-
$set(origin, key, clone);
|
|
2057
|
-
|
|
2058
|
-
if (!is.Undef(clone)) {
|
|
2059
|
-
if (clone.__json !== undefined) {
|
|
2060
|
-
origin[key].__json = clone.__json;
|
|
2061
|
-
}
|
|
2062
|
-
|
|
2063
|
-
if (clone.__origin !== undefined) {
|
|
2064
|
-
origin[key].__origin = clone.__origin;
|
|
2065
|
-
}
|
|
2066
|
-
}
|
|
2067
|
-
}
|
|
2068
|
-
}
|
|
2069
|
-
}
|
|
2070
|
-
|
|
2071
|
-
return mode !== undefined && Array.isArray(origin) ? origin.filter(function (v) {
|
|
2072
|
-
return !v || !v.__ctrl;
|
|
2073
|
-
}) : origin;
|
|
2074
|
-
}
|
|
2075
|
-
function deepCopy(value) {
|
|
2076
|
-
return deepExtend({}, {
|
|
2077
|
-
value: value
|
|
2078
|
-
}).value;
|
|
2079
|
-
}
|
|
2080
|
-
|
|
2081
2113
|
var PREFIX = '[[FORM-CREATE-PREFIX-';
|
|
2082
2114
|
var SUFFIX = '-FORM-CREATE-SUFFIX]]';
|
|
2083
2115
|
var $T = '$FN:';
|
|
@@ -2091,7 +2123,7 @@
|
|
|
2091
2123
|
return val;
|
|
2092
2124
|
}
|
|
2093
2125
|
|
|
2094
|
-
if (
|
|
2126
|
+
if (val.__json) {
|
|
2095
2127
|
return val.__json;
|
|
2096
2128
|
}
|
|
2097
2129
|
|
|
@@ -2202,39 +2234,6 @@
|
|
|
2202
2234
|
return def;
|
|
2203
2235
|
}
|
|
2204
2236
|
|
|
2205
|
-
function toString(val) {
|
|
2206
|
-
return val == null ? '' : _typeof(val) === 'object' ? JSON.stringify(val, null, 2) : String(val);
|
|
2207
|
-
}
|
|
2208
|
-
|
|
2209
|
-
function toLine(name) {
|
|
2210
|
-
var line = name.replace(/([A-Z])/g, '-$1').toLocaleLowerCase();
|
|
2211
|
-
if (line.indexOf('-') === 0) line = line.substr(1);
|
|
2212
|
-
return line;
|
|
2213
|
-
}
|
|
2214
|
-
|
|
2215
|
-
var id = 0;
|
|
2216
|
-
function uniqueId() {
|
|
2217
|
-
return Math.random().toString(36).substr(3, 3) + Number("".concat(Date.now()).concat(++id)).toString(36);
|
|
2218
|
-
}
|
|
2219
|
-
|
|
2220
|
-
function deepSet(data, idx, val) {
|
|
2221
|
-
var _data = data,
|
|
2222
|
-
to;
|
|
2223
|
-
(idx || '').split('.').forEach(function (v) {
|
|
2224
|
-
if (to) {
|
|
2225
|
-
if (!_data[to] || _typeof(_data[to]) != 'object') {
|
|
2226
|
-
_data[to] = {};
|
|
2227
|
-
}
|
|
2228
|
-
|
|
2229
|
-
_data = _data[to];
|
|
2230
|
-
}
|
|
2231
|
-
|
|
2232
|
-
to = v;
|
|
2233
|
-
});
|
|
2234
|
-
_data[to] = val;
|
|
2235
|
-
return _data;
|
|
2236
|
-
}
|
|
2237
|
-
|
|
2238
2237
|
function baseRule() {
|
|
2239
2238
|
return {
|
|
2240
2239
|
props: {},
|
|
@@ -2484,7 +2483,7 @@
|
|
|
2484
2483
|
disabled: function disabled(_disabled, fields) {
|
|
2485
2484
|
tidyFields(fields).forEach(function (field) {
|
|
2486
2485
|
h.getCtxs(field).forEach(function (ctx) {
|
|
2487
|
-
$set(ctx.rule.props, 'disabled', !!_disabled);
|
|
2486
|
+
ctx.rule.props && $set(ctx.rule.props, 'disabled', !!_disabled);
|
|
2488
2487
|
});
|
|
2489
2488
|
});
|
|
2490
2489
|
h.refresh();
|
|
@@ -2756,6 +2755,39 @@
|
|
|
2756
2755
|
return str.replace(str[0], str[0].toLowerCase());
|
|
2757
2756
|
}
|
|
2758
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
|
+
|
|
2759
2791
|
function useRender(Render) {
|
|
2760
2792
|
extend(Render.prototype, {
|
|
2761
2793
|
initRender: function initRender() {
|
|
@@ -2776,6 +2808,23 @@
|
|
|
2776
2808
|
clearOrgChildren: function clearOrgChildren() {
|
|
2777
2809
|
this.orgChildren = {};
|
|
2778
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
|
+
},
|
|
2779
2828
|
render: function render() {
|
|
2780
2829
|
var _this = this;
|
|
2781
2830
|
|
|
@@ -2971,10 +3020,10 @@
|
|
|
2971
3020
|
children = this.renderChildren(ctx);
|
|
2972
3021
|
}
|
|
2973
3022
|
|
|
2974
|
-
var slot =
|
|
3023
|
+
var slot = this.getTypeSlot(ctx.type);
|
|
2975
3024
|
|
|
2976
|
-
if (
|
|
2977
|
-
vn =
|
|
3025
|
+
if (slot) {
|
|
3026
|
+
vn = slot({
|
|
2978
3027
|
rule: rule,
|
|
2979
3028
|
prop: prop,
|
|
2980
3029
|
preview: preview,
|
|
@@ -3101,15 +3150,13 @@
|
|
|
3101
3150
|
}];
|
|
3102
3151
|
|
|
3103
3152
|
if (!custom && ctx.input) {
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
}
|
|
3112
|
-
});
|
|
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
|
+
};
|
|
3113
3160
|
}
|
|
3114
3161
|
|
|
3115
3162
|
mergeProps(props, ctx.prop);
|
|
@@ -4028,7 +4075,7 @@
|
|
|
4028
4075
|
this.setFormData(ctx, formValue);
|
|
4029
4076
|
this.syncValue();
|
|
4030
4077
|
this.valueChange(ctx, value);
|
|
4031
|
-
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);
|
|
4032
4079
|
this.effect(ctx, 'value');
|
|
4033
4080
|
},
|
|
4034
4081
|
onInput: function onInput(ctx, value) {
|
|
@@ -4039,7 +4086,7 @@
|
|
|
4039
4086
|
}
|
|
4040
4087
|
},
|
|
4041
4088
|
setFormData: function setFormData(ctx, value) {
|
|
4042
|
-
$set(this.formData, ctx.id, value);
|
|
4089
|
+
$set(this.formData, ctx.id, value === null ? undefined : value);
|
|
4043
4090
|
},
|
|
4044
4091
|
getFormData: function getFormData(ctx) {
|
|
4045
4092
|
return this.formData[ctx.id];
|
|
@@ -4134,10 +4181,10 @@
|
|
|
4134
4181
|
this.vm._updateValue(_objectSpread2({}, this.form));
|
|
4135
4182
|
},
|
|
4136
4183
|
isChange: function isChange(ctx, value) {
|
|
4137
|
-
return JSON.stringify(ctx.rule.value) !== JSON.stringify(value);
|
|
4184
|
+
return JSON.stringify(ctx.rule.value, strFn) !== JSON.stringify(value, strFn);
|
|
4138
4185
|
},
|
|
4139
4186
|
isQuote: function isQuote(ctx, value) {
|
|
4140
|
-
return
|
|
4187
|
+
return (is.Object(value) || Array.isArray(value)) && value === ctx.rule.value;
|
|
4141
4188
|
},
|
|
4142
4189
|
refreshUpdate: function refreshUpdate(ctx, val) {
|
|
4143
4190
|
var _this4 = this;
|
|
@@ -4186,6 +4233,10 @@
|
|
|
4186
4233
|
});
|
|
4187
4234
|
}
|
|
4188
4235
|
|
|
4236
|
+
function strFn(key, val) {
|
|
4237
|
+
return typeof val === 'function' ? '' + val : val;
|
|
4238
|
+
}
|
|
4239
|
+
|
|
4189
4240
|
function toEmpty(obj) {
|
|
4190
4241
|
Object.keys(obj).forEach(function (k) {
|
|
4191
4242
|
return delete obj[k];
|
|
@@ -4289,7 +4340,7 @@
|
|
|
4289
4340
|
var vm = this.vm;
|
|
4290
4341
|
var none = ['field', 'value', 'vm', 'template', 'name', 'config', 'control', 'inject', 'sync', 'payload', 'optionsTo', 'update'];
|
|
4291
4342
|
Object.keys(ctx.rule).filter(function (k) {
|
|
4292
|
-
return none.indexOf(k) === -1;
|
|
4343
|
+
return k[0] !== '_' && k[0] !== '$' && none.indexOf(k) === -1;
|
|
4293
4344
|
}).forEach(function (key) {
|
|
4294
4345
|
var flag = key === 'children';
|
|
4295
4346
|
ctx.watch.push(vm.$watch(function () {
|
|
@@ -4474,10 +4525,21 @@
|
|
|
4474
4525
|
var _this3 = this;
|
|
4475
4526
|
|
|
4476
4527
|
var vm = this.vm;
|
|
4528
|
+
var effect = {};
|
|
4477
4529
|
Object.keys(ctx.rule.effect || {}).forEach(function (k) {
|
|
4478
|
-
|
|
4530
|
+
effect[k] = function () {
|
|
4479
4531
|
return ctx.rule.effect[k];
|
|
4480
|
-
}
|
|
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) {
|
|
4481
4543
|
_this3.effect(ctx, 'watch', _defineProperty({}, k, n));
|
|
4482
4544
|
}, {
|
|
4483
4545
|
deep: true
|
|
@@ -4501,7 +4563,12 @@
|
|
|
4501
4563
|
}, event);
|
|
4502
4564
|
},
|
|
4503
4565
|
getEffect: function getEffect(rule, name) {
|
|
4504
|
-
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;
|
|
4505
4572
|
},
|
|
4506
4573
|
emitEffect: function emitEffect(_ref, event, append) {
|
|
4507
4574
|
var _this4 = this;
|
|
@@ -4512,7 +4579,13 @@
|
|
|
4512
4579
|
type = _ref.type,
|
|
4513
4580
|
custom = _ref.custom;
|
|
4514
4581
|
if (!type || type === 'fcFragment') return;
|
|
4515
|
-
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 || {}));
|
|
4516
4589
|
Object.keys(effect).forEach(function (attr) {
|
|
4517
4590
|
var p = _this4.providers[attr];
|
|
4518
4591
|
if (!p || p.input && !input) return;
|
|
@@ -4856,6 +4929,42 @@
|
|
|
4856
4929
|
}
|
|
4857
4930
|
}
|
|
4858
4931
|
};
|
|
4932
|
+
var $required = {
|
|
4933
|
+
name: 'required',
|
|
4934
|
+
load: function load(inject, rule) {
|
|
4935
|
+
var val = parseVa(inject.getValue());
|
|
4936
|
+
|
|
4937
|
+
var validate = _objectSpread2(_objectSpread2({}, val), {}, {
|
|
4938
|
+
required: true,
|
|
4939
|
+
validator: function validator(_, v, c) {
|
|
4940
|
+
is.empty(v) ? c(validate.message) : c();
|
|
4941
|
+
}
|
|
4942
|
+
});
|
|
4943
|
+
|
|
4944
|
+
if (!validate.message) {
|
|
4945
|
+
validate.message = rule.title + ' is required';
|
|
4946
|
+
}
|
|
4947
|
+
|
|
4948
|
+
inject.getProp().validate = [validate];
|
|
4949
|
+
},
|
|
4950
|
+
watch: function watch() {
|
|
4951
|
+
$required.load.apply($required, arguments);
|
|
4952
|
+
}
|
|
4953
|
+
};
|
|
4954
|
+
|
|
4955
|
+
function parseVa(val) {
|
|
4956
|
+
if (is.Boolean(val)) {
|
|
4957
|
+
return {};
|
|
4958
|
+
} else if (is.String(val)) {
|
|
4959
|
+
return {
|
|
4960
|
+
message: val
|
|
4961
|
+
};
|
|
4962
|
+
} else if (!is.Object(val)) {
|
|
4963
|
+
return {};
|
|
4964
|
+
} else {
|
|
4965
|
+
return val;
|
|
4966
|
+
}
|
|
4967
|
+
}
|
|
4859
4968
|
|
|
4860
4969
|
function parseOpt(option) {
|
|
4861
4970
|
if (is.String(option)) {
|
|
@@ -4926,6 +5035,31 @@
|
|
|
4926
5035
|
return true;
|
|
4927
5036
|
}
|
|
4928
5037
|
|
|
5038
|
+
var $provider = {
|
|
5039
|
+
fetch: $fetch,
|
|
5040
|
+
required: $required
|
|
5041
|
+
};
|
|
5042
|
+
|
|
5043
|
+
var name = 'html';
|
|
5044
|
+
var html = {
|
|
5045
|
+
name: name,
|
|
5046
|
+
loadChildren: false,
|
|
5047
|
+
render: function render(children, ctx) {
|
|
5048
|
+
if (!ctx.prop.domProps) ctx.prop.domProps = {};
|
|
5049
|
+
ctx.prop.domProps.innerHTML = children;
|
|
5050
|
+
return ctx.vNode.make(ctx.prop.props.tag || 'div', ctx.prop);
|
|
5051
|
+
},
|
|
5052
|
+
renderChildren: function renderChildren(ctx) {
|
|
5053
|
+
if (Array.isArray(ctx.rule.children)) {
|
|
5054
|
+
return ctx.rule.children.filter(function (v) {
|
|
5055
|
+
return is.String(v);
|
|
5056
|
+
}).join('');
|
|
5057
|
+
}
|
|
5058
|
+
|
|
5059
|
+
return '';
|
|
5060
|
+
}
|
|
5061
|
+
};
|
|
5062
|
+
|
|
4929
5063
|
var _vue = typeof window !== 'undefined' && window.Vue ? window.Vue : Vue;
|
|
4930
5064
|
|
|
4931
5065
|
function _parseProp(name, id) {
|
|
@@ -4981,17 +5115,19 @@
|
|
|
4981
5115
|
arrayAttrs.push.apply(arrayAttrs, _toConsumableArray(array));
|
|
4982
5116
|
normalAttrs.push.apply(normalAttrs, _toConsumableArray(normal));
|
|
4983
5117
|
appendProto([].concat(_toConsumableArray(key), _toConsumableArray(array), _toConsumableArray(normal)));
|
|
4984
|
-
}
|
|
5118
|
+
}
|
|
4985
5119
|
|
|
5120
|
+
var id$1 = 1;
|
|
5121
|
+
var instance = {}; //todo 表单嵌套
|
|
4986
5122
|
|
|
4987
5123
|
function FormCreateFactory(config) {
|
|
4988
5124
|
var components = _defineProperty({}, fragment.name, fragment);
|
|
4989
5125
|
|
|
4990
5126
|
var parsers = {};
|
|
4991
5127
|
var directives = {};
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
5128
|
+
|
|
5129
|
+
var providers = _objectSpread2({}, $provider);
|
|
5130
|
+
|
|
4995
5131
|
var maker = makerFactory();
|
|
4996
5132
|
var globalConfig = {
|
|
4997
5133
|
global: {}
|
|
@@ -5000,6 +5136,10 @@
|
|
|
5000
5136
|
var CreateNode = CreateNodeFactory();
|
|
5001
5137
|
exportAttrs(config.attrs || {});
|
|
5002
5138
|
|
|
5139
|
+
function getApi(name) {
|
|
5140
|
+
return instance[name];
|
|
5141
|
+
}
|
|
5142
|
+
|
|
5003
5143
|
function directive() {
|
|
5004
5144
|
var data = nameProp.apply(void 0, arguments);
|
|
5005
5145
|
if (data.id && data.prop) directives[data.id] = data.prop;
|
|
@@ -5072,18 +5212,35 @@
|
|
|
5072
5212
|
return _this.api();
|
|
5073
5213
|
}
|
|
5074
5214
|
|
|
5075
|
-
function factory() {
|
|
5076
|
-
|
|
5215
|
+
function factory(inherit) {
|
|
5216
|
+
var _config = _objectSpread2({}, config);
|
|
5217
|
+
|
|
5218
|
+
if (inherit) {
|
|
5219
|
+
_config.inherit = {
|
|
5220
|
+
components: components,
|
|
5221
|
+
parsers: parsers,
|
|
5222
|
+
directives: directives,
|
|
5223
|
+
providers: providers,
|
|
5224
|
+
maker: maker,
|
|
5225
|
+
data: data
|
|
5226
|
+
};
|
|
5227
|
+
} else {
|
|
5228
|
+
delete _config.inherit;
|
|
5229
|
+
}
|
|
5230
|
+
|
|
5231
|
+
return FormCreateFactory(_config);
|
|
5077
5232
|
}
|
|
5078
5233
|
|
|
5079
5234
|
function FormCreate(vm, rules, options) {
|
|
5080
5235
|
extend(this, {
|
|
5236
|
+
id: id$1++,
|
|
5081
5237
|
vm: vm,
|
|
5082
5238
|
create: create,
|
|
5083
5239
|
manager: createManager(config.manager),
|
|
5084
5240
|
parsers: parsers,
|
|
5085
5241
|
providers: providers,
|
|
5086
5242
|
rules: Array.isArray(rules) ? rules : [],
|
|
5243
|
+
name: vm.$options.propsData.name,
|
|
5087
5244
|
prop: {
|
|
5088
5245
|
components: components,
|
|
5089
5246
|
directives: directives
|
|
@@ -5097,6 +5254,10 @@
|
|
|
5097
5254
|
});
|
|
5098
5255
|
this.init();
|
|
5099
5256
|
this.initOptions(options || {});
|
|
5257
|
+
|
|
5258
|
+
if (this.name) {
|
|
5259
|
+
instance[this.name] = this.api();
|
|
5260
|
+
}
|
|
5100
5261
|
}
|
|
5101
5262
|
|
|
5102
5263
|
extend(FormCreate.prototype, {
|
|
@@ -5132,6 +5293,10 @@
|
|
|
5132
5293
|
vm.destroyed = true;
|
|
5133
5294
|
_this2.unwatch && _this2.unwatch();
|
|
5134
5295
|
h.reloadRule([]);
|
|
5296
|
+
|
|
5297
|
+
if (_this2.name) {
|
|
5298
|
+
delete instance[_this2.name];
|
|
5299
|
+
}
|
|
5135
5300
|
});
|
|
5136
5301
|
vm.$on('hook:updated', function () {
|
|
5137
5302
|
h.bindNextTick(function () {
|
|
@@ -5209,6 +5374,7 @@
|
|
|
5209
5374
|
parseFn: parseFn,
|
|
5210
5375
|
parseJson: parseJson,
|
|
5211
5376
|
toJson: toJson,
|
|
5377
|
+
getApi: getApi,
|
|
5212
5378
|
init: function init(rules) {
|
|
5213
5379
|
var _opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
5214
5380
|
|
|
@@ -5262,7 +5428,19 @@
|
|
|
5262
5428
|
CreateNode.use({
|
|
5263
5429
|
fragment: 'fcFragment'
|
|
5264
5430
|
});
|
|
5431
|
+
parser(html);
|
|
5265
5432
|
if (config.install) create.use(config);
|
|
5433
|
+
|
|
5434
|
+
if (config.inherit) {
|
|
5435
|
+
var inherit = config.inherit;
|
|
5436
|
+
inherit.components && extend(components, inherit.components);
|
|
5437
|
+
inherit.parsers && extend(parsers, inherit.parsers);
|
|
5438
|
+
inherit.directives && extend(directives, inherit.directives);
|
|
5439
|
+
inherit.providers && extend(providers, inherit.providers);
|
|
5440
|
+
inherit.maker && extend(maker, inherit.maker);
|
|
5441
|
+
inherit.data && extend(data, inherit.data);
|
|
5442
|
+
}
|
|
5443
|
+
|
|
5266
5444
|
return create;
|
|
5267
5445
|
}
|
|
5268
5446
|
|
|
@@ -5277,12 +5455,12 @@
|
|
|
5277
5455
|
datetimerange: 'yyyy-MM-dd HH:mm:ss',
|
|
5278
5456
|
year: 'yyyy'
|
|
5279
5457
|
};
|
|
5280
|
-
var name = 'datePicker';
|
|
5458
|
+
var name$1 = 'datePicker';
|
|
5281
5459
|
var datePicker = {
|
|
5282
|
-
name: name,
|
|
5460
|
+
name: name$1,
|
|
5283
5461
|
maker: function () {
|
|
5284
5462
|
return ['year', 'month', 'date', 'dates', 'week', 'datetime', 'datetimeRange', 'dateRange', 'monthRange'].reduce(function (initial, type) {
|
|
5285
|
-
initial[type] = creatorFactory(name, {
|
|
5463
|
+
initial[type] = creatorFactory(name$1, {
|
|
5286
5464
|
type: type.toLowerCase()
|
|
5287
5465
|
});
|
|
5288
5466
|
return initial;
|
|
@@ -5297,28 +5475,28 @@
|
|
|
5297
5475
|
}
|
|
5298
5476
|
};
|
|
5299
5477
|
|
|
5300
|
-
var name$
|
|
5478
|
+
var name$2 = 'hidden';
|
|
5301
5479
|
var hidden = {
|
|
5302
|
-
name: name$
|
|
5303
|
-
maker: _defineProperty({}, name$
|
|
5304
|
-
return creatorFactory(name$
|
|
5480
|
+
name: name$2,
|
|
5481
|
+
maker: _defineProperty({}, name$2, function (field, value) {
|
|
5482
|
+
return creatorFactory(name$2)('', field, value);
|
|
5305
5483
|
}),
|
|
5306
5484
|
render: function render() {
|
|
5307
5485
|
return [];
|
|
5308
5486
|
}
|
|
5309
5487
|
};
|
|
5310
5488
|
|
|
5311
|
-
var name$
|
|
5489
|
+
var name$3 = 'input';
|
|
5312
5490
|
var input = {
|
|
5313
|
-
name: name$
|
|
5491
|
+
name: name$3,
|
|
5314
5492
|
maker: function () {
|
|
5315
5493
|
var maker = ['password', 'url', 'email', 'text', 'textarea'].reduce(function (maker, type) {
|
|
5316
|
-
maker[type] = creatorFactory(name$
|
|
5494
|
+
maker[type] = creatorFactory(name$3, {
|
|
5317
5495
|
type: type
|
|
5318
5496
|
});
|
|
5319
5497
|
return maker;
|
|
5320
5498
|
}, {});
|
|
5321
|
-
maker.idate = creatorFactory(name$
|
|
5499
|
+
maker.idate = creatorFactory(name$3, {
|
|
5322
5500
|
type: 'date'
|
|
5323
5501
|
});
|
|
5324
5502
|
return maker;
|
|
@@ -5332,11 +5510,11 @@
|
|
|
5332
5510
|
}
|
|
5333
5511
|
};
|
|
5334
5512
|
|
|
5335
|
-
var name$
|
|
5513
|
+
var name$4 = 'slider';
|
|
5336
5514
|
var slider = {
|
|
5337
|
-
name: name$
|
|
5515
|
+
name: name$4,
|
|
5338
5516
|
maker: {
|
|
5339
|
-
sliderRange: creatorFactory(name$
|
|
5517
|
+
sliderRange: creatorFactory(name$4, {
|
|
5340
5518
|
range: true
|
|
5341
5519
|
})
|
|
5342
5520
|
},
|
|
@@ -5356,14 +5534,14 @@
|
|
|
5356
5534
|
}
|
|
5357
5535
|
};
|
|
5358
5536
|
|
|
5359
|
-
var name$
|
|
5537
|
+
var name$5 = 'timePicker';
|
|
5360
5538
|
var timePicker = {
|
|
5361
|
-
name: name$
|
|
5539
|
+
name: name$5,
|
|
5362
5540
|
maker: {
|
|
5363
|
-
time: creatorFactory(name$
|
|
5541
|
+
time: creatorFactory(name$5, function (m) {
|
|
5364
5542
|
return m.props.isRange = false;
|
|
5365
5543
|
}),
|
|
5366
|
-
timeRange: creatorFactory(name$
|
|
5544
|
+
timeRange: creatorFactory(name$5, function (m) {
|
|
5367
5545
|
return m.props.isRange = true;
|
|
5368
5546
|
})
|
|
5369
5547
|
},
|
|
@@ -5387,9 +5565,9 @@
|
|
|
5387
5565
|
}
|
|
5388
5566
|
};
|
|
5389
5567
|
|
|
5390
|
-
var name$
|
|
5568
|
+
var name$6 = 'select';
|
|
5391
5569
|
var select = {
|
|
5392
|
-
name: name$
|
|
5570
|
+
name: name$6,
|
|
5393
5571
|
toFormValue: function toFormValue(value, ctx) {
|
|
5394
5572
|
if (ctx.prop.props.multiple && !Array.isArray(value)) {
|
|
5395
5573
|
return toArray(value);
|
|
@@ -5823,7 +6001,7 @@
|
|
|
5823
6001
|
return maker;
|
|
5824
6002
|
}
|
|
5825
6003
|
|
|
5826
|
-
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
|
|
6004
|
+
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";
|
|
5827
6005
|
styleInject(css_248z$2);
|
|
5828
6006
|
|
|
5829
6007
|
function tidyBtnProp(btn, def) {
|
|
@@ -6063,7 +6241,7 @@
|
|
|
6063
6241
|
function elmFormCreate() {
|
|
6064
6242
|
return FormCreateFactory({
|
|
6065
6243
|
ui: "".concat("element-ui"),
|
|
6066
|
-
version: "".concat("2.5.
|
|
6244
|
+
version: "".concat("2.5.18"),
|
|
6067
6245
|
manager: manager,
|
|
6068
6246
|
extendApi: extendApi,
|
|
6069
6247
|
install: install,
|