@form-create/iview 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 +349 -171
- 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/iview v2.5.
|
|
3
|
-
* (c) 2018-
|
|
2
|
+
* @form-create/iview 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
|
*/
|
|
@@ -401,8 +401,8 @@
|
|
|
401
401
|
"default": 500
|
|
402
402
|
},
|
|
403
403
|
height: {
|
|
404
|
-
type:
|
|
405
|
-
"default":
|
|
404
|
+
type: String,
|
|
405
|
+
"default": '370px'
|
|
406
406
|
},
|
|
407
407
|
maxLength: {
|
|
408
408
|
type: Number,
|
|
@@ -686,6 +686,7 @@
|
|
|
686
686
|
try {
|
|
687
687
|
if (this.helper === true) {
|
|
688
688
|
iframe['form_create_helper'] = {
|
|
689
|
+
api: this.formCreateInject.api,
|
|
689
690
|
close: function close(field) {
|
|
690
691
|
_this7.valid(field);
|
|
691
692
|
|
|
@@ -778,17 +779,14 @@
|
|
|
778
779
|
}
|
|
779
780
|
}
|
|
780
781
|
}, [h("img", {
|
|
782
|
+
"style": "width: 100%",
|
|
781
783
|
"attrs": {
|
|
782
|
-
"alt": "example",
|
|
783
784
|
"src": this.previewImage
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
title: title
|
|
790
|
-
}, this.modal)
|
|
791
|
-
}, {
|
|
785
|
+
}
|
|
786
|
+
})]), h("Modal", helper([{}, _objectSpread2({
|
|
787
|
+
width: width,
|
|
788
|
+
title: title
|
|
789
|
+
}, this.modal), {
|
|
792
790
|
"on": {
|
|
793
791
|
"on-cancel": function onCancel() {
|
|
794
792
|
return _this9.closeModel(true);
|
|
@@ -914,9 +912,28 @@
|
|
|
914
912
|
},
|
|
915
913
|
trueArray: function trueArray(data) {
|
|
916
914
|
return Array.isArray(data) && data.length > 0;
|
|
915
|
+
},
|
|
916
|
+
Function: function Function(v) {
|
|
917
|
+
var type = this.getType(v);
|
|
918
|
+
return type === 'Function' || type === 'AsyncFunction';
|
|
919
|
+
},
|
|
920
|
+
getType: function getType(v) {
|
|
921
|
+
var str = Object.prototype.toString.call(v);
|
|
922
|
+
return /^\[object (.*)\]$/.exec(str)[1];
|
|
923
|
+
},
|
|
924
|
+
empty: function empty(value) {
|
|
925
|
+
if (value === undefined || value === null) {
|
|
926
|
+
return true;
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
if (Array.isArray(value) && Array.isArray(value) && !value.length) {
|
|
930
|
+
return true;
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
return typeof value === 'string' && !value;
|
|
917
934
|
}
|
|
918
935
|
};
|
|
919
|
-
['Date', 'Object', '
|
|
936
|
+
['Date', 'Object', 'String', 'Boolean', 'Array', 'Number'].forEach(function (t) {
|
|
920
937
|
is[t] = function (arg) {
|
|
921
938
|
return is.type(arg, t);
|
|
922
939
|
};
|
|
@@ -1076,7 +1093,8 @@
|
|
|
1076
1093
|
return {
|
|
1077
1094
|
uploadList: [],
|
|
1078
1095
|
previewVisible: false,
|
|
1079
|
-
previewImage: ''
|
|
1096
|
+
previewImage: '',
|
|
1097
|
+
cacheFiles: []
|
|
1080
1098
|
};
|
|
1081
1099
|
},
|
|
1082
1100
|
created: function created() {
|
|
@@ -1223,7 +1241,11 @@
|
|
|
1223
1241
|
}).filter(function (url) {
|
|
1224
1242
|
return url !== undefined;
|
|
1225
1243
|
});
|
|
1226
|
-
|
|
1244
|
+
|
|
1245
|
+
if (this.cacheFiles.length !== files.length) {
|
|
1246
|
+
this.cacheFiles = _toConsumableArray(files);
|
|
1247
|
+
this.$emit('input', this.maxLength === 1 ? files[0] || '' : files);
|
|
1248
|
+
}
|
|
1227
1249
|
},
|
|
1228
1250
|
handleCancel: function handleCancel() {
|
|
1229
1251
|
this.previewVisible = false;
|
|
@@ -1284,6 +1306,81 @@
|
|
|
1284
1306
|
imgUpIcon: 'image'
|
|
1285
1307
|
});
|
|
1286
1308
|
|
|
1309
|
+
function $set(target, field, value) {
|
|
1310
|
+
Vue.set(target, field, value);
|
|
1311
|
+
}
|
|
1312
|
+
function $del(target, field) {
|
|
1313
|
+
Vue["delete"](target, field);
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
function deepExtend(origin) {
|
|
1317
|
+
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1318
|
+
var mode = arguments.length > 2 ? arguments[2] : undefined;
|
|
1319
|
+
var isArr = false;
|
|
1320
|
+
|
|
1321
|
+
for (var key in target) {
|
|
1322
|
+
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
1323
|
+
var clone = target[key];
|
|
1324
|
+
|
|
1325
|
+
if ((isArr = Array.isArray(clone)) || is.Object(clone)) {
|
|
1326
|
+
var nst = origin[key] === undefined;
|
|
1327
|
+
|
|
1328
|
+
if (isArr) {
|
|
1329
|
+
isArr = false;
|
|
1330
|
+
nst && $set(origin, key, []);
|
|
1331
|
+
} else if (clone._clone && mode !== undefined) {
|
|
1332
|
+
if (mode) {
|
|
1333
|
+
clone = clone.getRule();
|
|
1334
|
+
nst && $set(origin, key, {});
|
|
1335
|
+
} else {
|
|
1336
|
+
$set(origin, key, clone._clone());
|
|
1337
|
+
continue;
|
|
1338
|
+
}
|
|
1339
|
+
} else {
|
|
1340
|
+
nst && $set(origin, key, {});
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
origin[key] = deepExtend(origin[key], clone, mode);
|
|
1344
|
+
} else {
|
|
1345
|
+
$set(origin, key, clone);
|
|
1346
|
+
|
|
1347
|
+
if (!is.Undef(clone)) {
|
|
1348
|
+
if (!is.Undef(clone.__json)) {
|
|
1349
|
+
origin[key].__json = clone.__json;
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
if (!is.Undef(clone.__origin)) {
|
|
1353
|
+
origin[key].__origin = clone.__origin;
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
return mode !== undefined && Array.isArray(origin) ? origin.filter(function (v) {
|
|
1361
|
+
return !v || !v.__ctrl;
|
|
1362
|
+
}) : origin;
|
|
1363
|
+
}
|
|
1364
|
+
function deepCopy(value) {
|
|
1365
|
+
return deepExtend({}, {
|
|
1366
|
+
value: value
|
|
1367
|
+
}).value;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
var _extends$1 = Object.assign || function (a) {
|
|
1371
|
+
for (var b, c = 1; c < arguments.length; c++) {
|
|
1372
|
+
for (var d in b = arguments[c], b) {
|
|
1373
|
+
Object.prototype.hasOwnProperty.call(b, d) && $set(a, d, b[d]);
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
return a;
|
|
1378
|
+
};
|
|
1379
|
+
|
|
1380
|
+
function extend() {
|
|
1381
|
+
return _extends$1.apply(this, arguments);
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1287
1384
|
var NAME$6 = 'fcGroup';
|
|
1288
1385
|
function createGroup(config) {
|
|
1289
1386
|
return {
|
|
@@ -1316,6 +1413,7 @@
|
|
|
1316
1413
|
return [];
|
|
1317
1414
|
}
|
|
1318
1415
|
},
|
|
1416
|
+
defaultValue: Object,
|
|
1319
1417
|
disabled: {
|
|
1320
1418
|
type: Boolean,
|
|
1321
1419
|
"default": false
|
|
@@ -1461,7 +1559,13 @@
|
|
|
1461
1559
|
submitBtn: false,
|
|
1462
1560
|
resetBtn: false
|
|
1463
1561
|
};
|
|
1464
|
-
|
|
1562
|
+
|
|
1563
|
+
if (this.defaultValue) {
|
|
1564
|
+
if (!options.formData) options.formData = {};
|
|
1565
|
+
var defVal = deepCopy(this.defaultValue);
|
|
1566
|
+
extend(options.formData, this.field ? _defineProperty({}, this.field, defVal) : defVal);
|
|
1567
|
+
}
|
|
1568
|
+
|
|
1465
1569
|
this.$set(this.cacheRule, ++this.len, {
|
|
1466
1570
|
rule: rule,
|
|
1467
1571
|
options: options
|
|
@@ -1478,6 +1582,7 @@
|
|
|
1478
1582
|
|
|
1479
1583
|
this.cacheRule[key].$f = $f;
|
|
1480
1584
|
this.subForm();
|
|
1585
|
+
this.formData(key, $f.formData());
|
|
1481
1586
|
this.$nextTick(function () {
|
|
1482
1587
|
if (_this4.syncDisabled) {
|
|
1483
1588
|
$f.disabled(_this4.disabled);
|
|
@@ -1654,6 +1759,7 @@
|
|
|
1654
1759
|
}
|
|
1655
1760
|
}, {
|
|
1656
1761
|
"attrs": {
|
|
1762
|
+
"value": _this9.field ? _defineProperty({}, _this9.field, _this9._value(_this9.value[index])) : _this9.value[index],
|
|
1657
1763
|
"rule": rule,
|
|
1658
1764
|
"option": options,
|
|
1659
1765
|
"extendOption": true
|
|
@@ -1796,27 +1902,6 @@
|
|
|
1796
1902
|
|
|
1797
1903
|
var components = [Checkbox, Radio, Select, Tree, Sub, frame, upload, group];
|
|
1798
1904
|
|
|
1799
|
-
function $set(target, field, value) {
|
|
1800
|
-
Vue.set(target, field, value);
|
|
1801
|
-
}
|
|
1802
|
-
function $del(target, field) {
|
|
1803
|
-
Vue["delete"](target, field);
|
|
1804
|
-
}
|
|
1805
|
-
|
|
1806
|
-
var _extends$1 = Object.assign || function (a) {
|
|
1807
|
-
for (var b, c = 1; c < arguments.length; c++) {
|
|
1808
|
-
for (var d in b = arguments[c], b) {
|
|
1809
|
-
Object.prototype.hasOwnProperty.call(b, d) && $set(a, d, b[d]);
|
|
1810
|
-
}
|
|
1811
|
-
}
|
|
1812
|
-
|
|
1813
|
-
return a;
|
|
1814
|
-
};
|
|
1815
|
-
|
|
1816
|
-
function extend() {
|
|
1817
|
-
return _extends$1.apply(this, arguments);
|
|
1818
|
-
}
|
|
1819
|
-
|
|
1820
1905
|
var NAME$8 = 'FormCreate';
|
|
1821
1906
|
function $FormCreate(FormCreate) {
|
|
1822
1907
|
return {
|
|
@@ -1848,7 +1933,8 @@
|
|
|
1848
1933
|
},
|
|
1849
1934
|
extendOption: Boolean,
|
|
1850
1935
|
value: Object,
|
|
1851
|
-
api: Object
|
|
1936
|
+
api: Object,
|
|
1937
|
+
name: String
|
|
1852
1938
|
},
|
|
1853
1939
|
data: function data() {
|
|
1854
1940
|
return {
|
|
@@ -2010,60 +2096,6 @@
|
|
|
2010
2096
|
console.error(e);
|
|
2011
2097
|
}
|
|
2012
2098
|
|
|
2013
|
-
function deepExtend(origin) {
|
|
2014
|
-
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2015
|
-
var mode = arguments.length > 2 ? arguments[2] : undefined;
|
|
2016
|
-
var isArr = false;
|
|
2017
|
-
|
|
2018
|
-
for (var key in target) {
|
|
2019
|
-
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
2020
|
-
var clone = target[key];
|
|
2021
|
-
|
|
2022
|
-
if ((isArr = Array.isArray(clone)) || is.Object(clone)) {
|
|
2023
|
-
var nst = origin[key] === undefined;
|
|
2024
|
-
|
|
2025
|
-
if (isArr) {
|
|
2026
|
-
isArr = false;
|
|
2027
|
-
nst && $set(origin, key, []);
|
|
2028
|
-
} else if (clone._clone && mode !== undefined) {
|
|
2029
|
-
if (mode) {
|
|
2030
|
-
clone = clone.getRule();
|
|
2031
|
-
nst && $set(origin, key, {});
|
|
2032
|
-
} else {
|
|
2033
|
-
$set(origin, key, clone._clone());
|
|
2034
|
-
continue;
|
|
2035
|
-
}
|
|
2036
|
-
} else {
|
|
2037
|
-
nst && $set(origin, key, {});
|
|
2038
|
-
}
|
|
2039
|
-
|
|
2040
|
-
origin[key] = deepExtend(origin[key], clone, mode);
|
|
2041
|
-
} else {
|
|
2042
|
-
$set(origin, key, clone);
|
|
2043
|
-
|
|
2044
|
-
if (!is.Undef(clone)) {
|
|
2045
|
-
if (clone.__json !== undefined) {
|
|
2046
|
-
origin[key].__json = clone.__json;
|
|
2047
|
-
}
|
|
2048
|
-
|
|
2049
|
-
if (clone.__origin !== undefined) {
|
|
2050
|
-
origin[key].__origin = clone.__origin;
|
|
2051
|
-
}
|
|
2052
|
-
}
|
|
2053
|
-
}
|
|
2054
|
-
}
|
|
2055
|
-
}
|
|
2056
|
-
|
|
2057
|
-
return mode !== undefined && Array.isArray(origin) ? origin.filter(function (v) {
|
|
2058
|
-
return !v || !v.__ctrl;
|
|
2059
|
-
}) : origin;
|
|
2060
|
-
}
|
|
2061
|
-
function deepCopy(value) {
|
|
2062
|
-
return deepExtend({}, {
|
|
2063
|
-
value: value
|
|
2064
|
-
}).value;
|
|
2065
|
-
}
|
|
2066
|
-
|
|
2067
2099
|
var PREFIX = '[[FORM-CREATE-PREFIX-';
|
|
2068
2100
|
var SUFFIX = '-FORM-CREATE-SUFFIX]]';
|
|
2069
2101
|
var $T = '$FN:';
|
|
@@ -2077,7 +2109,7 @@
|
|
|
2077
2109
|
return val;
|
|
2078
2110
|
}
|
|
2079
2111
|
|
|
2080
|
-
if (
|
|
2112
|
+
if (val.__json) {
|
|
2081
2113
|
return val.__json;
|
|
2082
2114
|
}
|
|
2083
2115
|
|
|
@@ -2188,39 +2220,6 @@
|
|
|
2188
2220
|
return def;
|
|
2189
2221
|
}
|
|
2190
2222
|
|
|
2191
|
-
function toString$1(val) {
|
|
2192
|
-
return val == null ? '' : _typeof(val) === 'object' ? JSON.stringify(val, null, 2) : String(val);
|
|
2193
|
-
}
|
|
2194
|
-
|
|
2195
|
-
function toLine(name) {
|
|
2196
|
-
var line = name.replace(/([A-Z])/g, '-$1').toLocaleLowerCase();
|
|
2197
|
-
if (line.indexOf('-') === 0) line = line.substr(1);
|
|
2198
|
-
return line;
|
|
2199
|
-
}
|
|
2200
|
-
|
|
2201
|
-
var id = 0;
|
|
2202
|
-
function uniqueId() {
|
|
2203
|
-
return Math.random().toString(36).substr(3, 3) + Number("".concat(Date.now()).concat(++id)).toString(36);
|
|
2204
|
-
}
|
|
2205
|
-
|
|
2206
|
-
function deepSet(data, idx, val) {
|
|
2207
|
-
var _data = data,
|
|
2208
|
-
to;
|
|
2209
|
-
(idx || '').split('.').forEach(function (v) {
|
|
2210
|
-
if (to) {
|
|
2211
|
-
if (!_data[to] || _typeof(_data[to]) != 'object') {
|
|
2212
|
-
_data[to] = {};
|
|
2213
|
-
}
|
|
2214
|
-
|
|
2215
|
-
_data = _data[to];
|
|
2216
|
-
}
|
|
2217
|
-
|
|
2218
|
-
to = v;
|
|
2219
|
-
});
|
|
2220
|
-
_data[to] = val;
|
|
2221
|
-
return _data;
|
|
2222
|
-
}
|
|
2223
|
-
|
|
2224
2223
|
function baseRule() {
|
|
2225
2224
|
return {
|
|
2226
2225
|
props: {},
|
|
@@ -2470,7 +2469,7 @@
|
|
|
2470
2469
|
disabled: function disabled(_disabled, fields) {
|
|
2471
2470
|
tidyFields(fields).forEach(function (field) {
|
|
2472
2471
|
h.getCtxs(field).forEach(function (ctx) {
|
|
2473
|
-
$set(ctx.rule.props, 'disabled', !!_disabled);
|
|
2472
|
+
ctx.rule.props && $set(ctx.rule.props, 'disabled', !!_disabled);
|
|
2474
2473
|
});
|
|
2475
2474
|
});
|
|
2476
2475
|
h.refresh();
|
|
@@ -2742,6 +2741,39 @@
|
|
|
2742
2741
|
return str.replace(str[0], str[0].toLowerCase());
|
|
2743
2742
|
}
|
|
2744
2743
|
|
|
2744
|
+
function toString$1(val) {
|
|
2745
|
+
return val == null ? '' : _typeof(val) === 'object' ? JSON.stringify(val, null, 2) : String(val);
|
|
2746
|
+
}
|
|
2747
|
+
|
|
2748
|
+
function toLine(name) {
|
|
2749
|
+
var line = name.replace(/([A-Z])/g, '-$1').toLocaleLowerCase();
|
|
2750
|
+
if (line.indexOf('-') === 0) line = line.substr(1);
|
|
2751
|
+
return line;
|
|
2752
|
+
}
|
|
2753
|
+
|
|
2754
|
+
var id = 0;
|
|
2755
|
+
function uniqueId() {
|
|
2756
|
+
return Math.random().toString(36).substr(3, 3) + Number("".concat(Date.now()).concat(++id)).toString(36);
|
|
2757
|
+
}
|
|
2758
|
+
|
|
2759
|
+
function deepSet(data, idx, val) {
|
|
2760
|
+
var _data = data,
|
|
2761
|
+
to;
|
|
2762
|
+
(idx || '').split('.').forEach(function (v) {
|
|
2763
|
+
if (to) {
|
|
2764
|
+
if (!_data[to] || _typeof(_data[to]) != 'object') {
|
|
2765
|
+
_data[to] = {};
|
|
2766
|
+
}
|
|
2767
|
+
|
|
2768
|
+
_data = _data[to];
|
|
2769
|
+
}
|
|
2770
|
+
|
|
2771
|
+
to = v;
|
|
2772
|
+
});
|
|
2773
|
+
_data[to] = val;
|
|
2774
|
+
return _data;
|
|
2775
|
+
}
|
|
2776
|
+
|
|
2745
2777
|
function useRender(Render) {
|
|
2746
2778
|
extend(Render.prototype, {
|
|
2747
2779
|
initRender: function initRender() {
|
|
@@ -2762,6 +2794,23 @@
|
|
|
2762
2794
|
clearOrgChildren: function clearOrgChildren() {
|
|
2763
2795
|
this.orgChildren = {};
|
|
2764
2796
|
},
|
|
2797
|
+
getTypeSlot: function getTypeSlot(type) {
|
|
2798
|
+
var name = 'type-' + toLine(type);
|
|
2799
|
+
|
|
2800
|
+
var _fn = function _fn(vm) {
|
|
2801
|
+
if (vm) {
|
|
2802
|
+
var slot = vm.$scopedSlots[name] || vm.$scopedSlots['type-' + type];
|
|
2803
|
+
|
|
2804
|
+
if (slot) {
|
|
2805
|
+
return slot;
|
|
2806
|
+
}
|
|
2807
|
+
|
|
2808
|
+
return _fn(vm.$pfc);
|
|
2809
|
+
}
|
|
2810
|
+
};
|
|
2811
|
+
|
|
2812
|
+
return _fn(this.vm);
|
|
2813
|
+
},
|
|
2765
2814
|
render: function render() {
|
|
2766
2815
|
var _this = this;
|
|
2767
2816
|
|
|
@@ -2957,10 +3006,10 @@
|
|
|
2957
3006
|
children = this.renderChildren(ctx);
|
|
2958
3007
|
}
|
|
2959
3008
|
|
|
2960
|
-
var slot =
|
|
3009
|
+
var slot = this.getTypeSlot(ctx.type);
|
|
2961
3010
|
|
|
2962
|
-
if (
|
|
2963
|
-
vn =
|
|
3011
|
+
if (slot) {
|
|
3012
|
+
vn = slot({
|
|
2964
3013
|
rule: rule,
|
|
2965
3014
|
prop: prop,
|
|
2966
3015
|
preview: preview,
|
|
@@ -3087,15 +3136,13 @@
|
|
|
3087
3136
|
}];
|
|
3088
3137
|
|
|
3089
3138
|
if (!custom && ctx.input) {
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
}
|
|
3098
|
-
});
|
|
3139
|
+
ctx.prop.model = {
|
|
3140
|
+
value: this.$handle.getFormData(ctx),
|
|
3141
|
+
callback: function callback(value) {
|
|
3142
|
+
_this8.onInput(ctx, value);
|
|
3143
|
+
},
|
|
3144
|
+
expression: "formData.".concat(ctx.id)
|
|
3145
|
+
};
|
|
3099
3146
|
}
|
|
3100
3147
|
|
|
3101
3148
|
mergeProps(props, ctx.prop);
|
|
@@ -4014,7 +4061,7 @@
|
|
|
4014
4061
|
this.setFormData(ctx, formValue);
|
|
4015
4062
|
this.syncValue();
|
|
4016
4063
|
this.valueChange(ctx, value);
|
|
4017
|
-
this.vm.$emit('change', ctx.field, value, ctx.origin, this.api, setFlag);
|
|
4064
|
+
this.vm.$emit('change', ctx.field, value, ctx.origin, this.api, setFlag || false);
|
|
4018
4065
|
this.effect(ctx, 'value');
|
|
4019
4066
|
},
|
|
4020
4067
|
onInput: function onInput(ctx, value) {
|
|
@@ -4025,7 +4072,7 @@
|
|
|
4025
4072
|
}
|
|
4026
4073
|
},
|
|
4027
4074
|
setFormData: function setFormData(ctx, value) {
|
|
4028
|
-
$set(this.formData, ctx.id, value);
|
|
4075
|
+
$set(this.formData, ctx.id, value === null ? undefined : value);
|
|
4029
4076
|
},
|
|
4030
4077
|
getFormData: function getFormData(ctx) {
|
|
4031
4078
|
return this.formData[ctx.id];
|
|
@@ -4120,10 +4167,10 @@
|
|
|
4120
4167
|
this.vm._updateValue(_objectSpread2({}, this.form));
|
|
4121
4168
|
},
|
|
4122
4169
|
isChange: function isChange(ctx, value) {
|
|
4123
|
-
return JSON.stringify(ctx.rule.value) !== JSON.stringify(value);
|
|
4170
|
+
return JSON.stringify(ctx.rule.value, strFn) !== JSON.stringify(value, strFn);
|
|
4124
4171
|
},
|
|
4125
4172
|
isQuote: function isQuote(ctx, value) {
|
|
4126
|
-
return
|
|
4173
|
+
return (is.Object(value) || Array.isArray(value)) && value === ctx.rule.value;
|
|
4127
4174
|
},
|
|
4128
4175
|
refreshUpdate: function refreshUpdate(ctx, val) {
|
|
4129
4176
|
var _this4 = this;
|
|
@@ -4172,6 +4219,10 @@
|
|
|
4172
4219
|
});
|
|
4173
4220
|
}
|
|
4174
4221
|
|
|
4222
|
+
function strFn(key, val) {
|
|
4223
|
+
return typeof val === 'function' ? '' + val : val;
|
|
4224
|
+
}
|
|
4225
|
+
|
|
4175
4226
|
function toEmpty(obj) {
|
|
4176
4227
|
Object.keys(obj).forEach(function (k) {
|
|
4177
4228
|
return delete obj[k];
|
|
@@ -4275,7 +4326,7 @@
|
|
|
4275
4326
|
var vm = this.vm;
|
|
4276
4327
|
var none = ['field', 'value', 'vm', 'template', 'name', 'config', 'control', 'inject', 'sync', 'payload', 'optionsTo', 'update'];
|
|
4277
4328
|
Object.keys(ctx.rule).filter(function (k) {
|
|
4278
|
-
return none.indexOf(k) === -1;
|
|
4329
|
+
return k[0] !== '_' && k[0] !== '$' && none.indexOf(k) === -1;
|
|
4279
4330
|
}).forEach(function (key) {
|
|
4280
4331
|
var flag = key === 'children';
|
|
4281
4332
|
ctx.watch.push(vm.$watch(function () {
|
|
@@ -4460,10 +4511,21 @@
|
|
|
4460
4511
|
var _this3 = this;
|
|
4461
4512
|
|
|
4462
4513
|
var vm = this.vm;
|
|
4514
|
+
var effect = {};
|
|
4463
4515
|
Object.keys(ctx.rule.effect || {}).forEach(function (k) {
|
|
4464
|
-
|
|
4516
|
+
effect[k] = function () {
|
|
4465
4517
|
return ctx.rule.effect[k];
|
|
4466
|
-
}
|
|
4518
|
+
};
|
|
4519
|
+
});
|
|
4520
|
+
Object.keys(ctx.rule).forEach(function (k) {
|
|
4521
|
+
if (k[0] === '$') {
|
|
4522
|
+
effect[k.substr(1)] = function () {
|
|
4523
|
+
return ctx.rule[k];
|
|
4524
|
+
};
|
|
4525
|
+
}
|
|
4526
|
+
});
|
|
4527
|
+
Object.keys(effect || {}).forEach(function (k) {
|
|
4528
|
+
ctx.watch.push(vm.$watch(effect[k], function (n) {
|
|
4467
4529
|
_this3.effect(ctx, 'watch', _defineProperty({}, k, n));
|
|
4468
4530
|
}, {
|
|
4469
4531
|
deep: true
|
|
@@ -4487,7 +4549,12 @@
|
|
|
4487
4549
|
}, event);
|
|
4488
4550
|
},
|
|
4489
4551
|
getEffect: function getEffect(rule, name) {
|
|
4490
|
-
if (hasProperty(rule, '
|
|
4552
|
+
if (hasProperty(rule, '$' + name)) {
|
|
4553
|
+
return rule['$' + name];
|
|
4554
|
+
}
|
|
4555
|
+
|
|
4556
|
+
if (hasProperty(rule, 'effect') && hasProperty(rule.effect, name)) return rule.effect[name];
|
|
4557
|
+
return undefined;
|
|
4491
4558
|
},
|
|
4492
4559
|
emitEffect: function emitEffect(_ref, event, append) {
|
|
4493
4560
|
var _this4 = this;
|
|
@@ -4498,7 +4565,13 @@
|
|
|
4498
4565
|
type = _ref.type,
|
|
4499
4566
|
custom = _ref.custom;
|
|
4500
4567
|
if (!type || type === 'fcFragment') return;
|
|
4501
|
-
var effect = custom ? custom : rule.
|
|
4568
|
+
var effect = custom ? custom : Object.keys(rule).reduce(function (i, k) {
|
|
4569
|
+
if (k[0] === '$') {
|
|
4570
|
+
i[k.substr(1)] = rule[k];
|
|
4571
|
+
}
|
|
4572
|
+
|
|
4573
|
+
return i;
|
|
4574
|
+
}, _objectSpread2({}, rule.effect || {}));
|
|
4502
4575
|
Object.keys(effect).forEach(function (attr) {
|
|
4503
4576
|
var p = _this4.providers[attr];
|
|
4504
4577
|
if (!p || p.input && !input) return;
|
|
@@ -4842,6 +4915,42 @@
|
|
|
4842
4915
|
}
|
|
4843
4916
|
}
|
|
4844
4917
|
};
|
|
4918
|
+
var $required = {
|
|
4919
|
+
name: 'required',
|
|
4920
|
+
load: function load(inject, rule) {
|
|
4921
|
+
var val = parseVa(inject.getValue());
|
|
4922
|
+
|
|
4923
|
+
var validate = _objectSpread2(_objectSpread2({}, val), {}, {
|
|
4924
|
+
required: true,
|
|
4925
|
+
validator: function validator(_, v, c) {
|
|
4926
|
+
is.empty(v) ? c(validate.message) : c();
|
|
4927
|
+
}
|
|
4928
|
+
});
|
|
4929
|
+
|
|
4930
|
+
if (!validate.message) {
|
|
4931
|
+
validate.message = rule.title + ' is required';
|
|
4932
|
+
}
|
|
4933
|
+
|
|
4934
|
+
inject.getProp().validate = [validate];
|
|
4935
|
+
},
|
|
4936
|
+
watch: function watch() {
|
|
4937
|
+
$required.load.apply($required, arguments);
|
|
4938
|
+
}
|
|
4939
|
+
};
|
|
4940
|
+
|
|
4941
|
+
function parseVa(val) {
|
|
4942
|
+
if (is.Boolean(val)) {
|
|
4943
|
+
return {};
|
|
4944
|
+
} else if (is.String(val)) {
|
|
4945
|
+
return {
|
|
4946
|
+
message: val
|
|
4947
|
+
};
|
|
4948
|
+
} else if (!is.Object(val)) {
|
|
4949
|
+
return {};
|
|
4950
|
+
} else {
|
|
4951
|
+
return val;
|
|
4952
|
+
}
|
|
4953
|
+
}
|
|
4845
4954
|
|
|
4846
4955
|
function parseOpt(option) {
|
|
4847
4956
|
if (is.String(option)) {
|
|
@@ -4912,6 +5021,31 @@
|
|
|
4912
5021
|
return true;
|
|
4913
5022
|
}
|
|
4914
5023
|
|
|
5024
|
+
var $provider = {
|
|
5025
|
+
fetch: $fetch,
|
|
5026
|
+
required: $required
|
|
5027
|
+
};
|
|
5028
|
+
|
|
5029
|
+
var name = 'html';
|
|
5030
|
+
var html = {
|
|
5031
|
+
name: name,
|
|
5032
|
+
loadChildren: false,
|
|
5033
|
+
render: function render(children, ctx) {
|
|
5034
|
+
if (!ctx.prop.domProps) ctx.prop.domProps = {};
|
|
5035
|
+
ctx.prop.domProps.innerHTML = children;
|
|
5036
|
+
return ctx.vNode.make(ctx.prop.props.tag || 'div', ctx.prop);
|
|
5037
|
+
},
|
|
5038
|
+
renderChildren: function renderChildren(ctx) {
|
|
5039
|
+
if (Array.isArray(ctx.rule.children)) {
|
|
5040
|
+
return ctx.rule.children.filter(function (v) {
|
|
5041
|
+
return is.String(v);
|
|
5042
|
+
}).join('');
|
|
5043
|
+
}
|
|
5044
|
+
|
|
5045
|
+
return '';
|
|
5046
|
+
}
|
|
5047
|
+
};
|
|
5048
|
+
|
|
4915
5049
|
var _vue = typeof window !== 'undefined' && window.Vue ? window.Vue : Vue;
|
|
4916
5050
|
|
|
4917
5051
|
function _parseProp(name, id) {
|
|
@@ -4967,17 +5101,19 @@
|
|
|
4967
5101
|
arrayAttrs.push.apply(arrayAttrs, _toConsumableArray(array));
|
|
4968
5102
|
normalAttrs.push.apply(normalAttrs, _toConsumableArray(normal));
|
|
4969
5103
|
appendProto([].concat(_toConsumableArray(key), _toConsumableArray(array), _toConsumableArray(normal)));
|
|
4970
|
-
}
|
|
5104
|
+
}
|
|
4971
5105
|
|
|
5106
|
+
var id$1 = 1;
|
|
5107
|
+
var instance = {}; //todo 表单嵌套
|
|
4972
5108
|
|
|
4973
5109
|
function FormCreateFactory(config) {
|
|
4974
5110
|
var components = _defineProperty({}, fragment.name, fragment);
|
|
4975
5111
|
|
|
4976
5112
|
var parsers = {};
|
|
4977
5113
|
var directives = {};
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
5114
|
+
|
|
5115
|
+
var providers = _objectSpread2({}, $provider);
|
|
5116
|
+
|
|
4981
5117
|
var maker = makerFactory();
|
|
4982
5118
|
var globalConfig = {
|
|
4983
5119
|
global: {}
|
|
@@ -4986,6 +5122,10 @@
|
|
|
4986
5122
|
var CreateNode = CreateNodeFactory();
|
|
4987
5123
|
exportAttrs(config.attrs || {});
|
|
4988
5124
|
|
|
5125
|
+
function getApi(name) {
|
|
5126
|
+
return instance[name];
|
|
5127
|
+
}
|
|
5128
|
+
|
|
4989
5129
|
function directive() {
|
|
4990
5130
|
var data = nameProp.apply(void 0, arguments);
|
|
4991
5131
|
if (data.id && data.prop) directives[data.id] = data.prop;
|
|
@@ -5058,18 +5198,35 @@
|
|
|
5058
5198
|
return _this.api();
|
|
5059
5199
|
}
|
|
5060
5200
|
|
|
5061
|
-
function factory() {
|
|
5062
|
-
|
|
5201
|
+
function factory(inherit) {
|
|
5202
|
+
var _config = _objectSpread2({}, config);
|
|
5203
|
+
|
|
5204
|
+
if (inherit) {
|
|
5205
|
+
_config.inherit = {
|
|
5206
|
+
components: components,
|
|
5207
|
+
parsers: parsers,
|
|
5208
|
+
directives: directives,
|
|
5209
|
+
providers: providers,
|
|
5210
|
+
maker: maker,
|
|
5211
|
+
data: data
|
|
5212
|
+
};
|
|
5213
|
+
} else {
|
|
5214
|
+
delete _config.inherit;
|
|
5215
|
+
}
|
|
5216
|
+
|
|
5217
|
+
return FormCreateFactory(_config);
|
|
5063
5218
|
}
|
|
5064
5219
|
|
|
5065
5220
|
function FormCreate(vm, rules, options) {
|
|
5066
5221
|
extend(this, {
|
|
5222
|
+
id: id$1++,
|
|
5067
5223
|
vm: vm,
|
|
5068
5224
|
create: create,
|
|
5069
5225
|
manager: createManager(config.manager),
|
|
5070
5226
|
parsers: parsers,
|
|
5071
5227
|
providers: providers,
|
|
5072
5228
|
rules: Array.isArray(rules) ? rules : [],
|
|
5229
|
+
name: vm.$options.propsData.name,
|
|
5073
5230
|
prop: {
|
|
5074
5231
|
components: components,
|
|
5075
5232
|
directives: directives
|
|
@@ -5083,6 +5240,10 @@
|
|
|
5083
5240
|
});
|
|
5084
5241
|
this.init();
|
|
5085
5242
|
this.initOptions(options || {});
|
|
5243
|
+
|
|
5244
|
+
if (this.name) {
|
|
5245
|
+
instance[this.name] = this.api();
|
|
5246
|
+
}
|
|
5086
5247
|
}
|
|
5087
5248
|
|
|
5088
5249
|
extend(FormCreate.prototype, {
|
|
@@ -5118,6 +5279,10 @@
|
|
|
5118
5279
|
vm.destroyed = true;
|
|
5119
5280
|
_this2.unwatch && _this2.unwatch();
|
|
5120
5281
|
h.reloadRule([]);
|
|
5282
|
+
|
|
5283
|
+
if (_this2.name) {
|
|
5284
|
+
delete instance[_this2.name];
|
|
5285
|
+
}
|
|
5121
5286
|
});
|
|
5122
5287
|
vm.$on('hook:updated', function () {
|
|
5123
5288
|
h.bindNextTick(function () {
|
|
@@ -5195,6 +5360,7 @@
|
|
|
5195
5360
|
parseFn: parseFn,
|
|
5196
5361
|
parseJson: parseJson,
|
|
5197
5362
|
toJson: toJson,
|
|
5363
|
+
getApi: getApi,
|
|
5198
5364
|
init: function init(rules) {
|
|
5199
5365
|
var _opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
5200
5366
|
|
|
@@ -5248,7 +5414,19 @@
|
|
|
5248
5414
|
CreateNode.use({
|
|
5249
5415
|
fragment: 'fcFragment'
|
|
5250
5416
|
});
|
|
5417
|
+
parser(html);
|
|
5251
5418
|
if (config.install) create.use(config);
|
|
5419
|
+
|
|
5420
|
+
if (config.inherit) {
|
|
5421
|
+
var inherit = config.inherit;
|
|
5422
|
+
inherit.components && extend(components, inherit.components);
|
|
5423
|
+
inherit.parsers && extend(parsers, inherit.parsers);
|
|
5424
|
+
inherit.directives && extend(directives, inherit.directives);
|
|
5425
|
+
inherit.providers && extend(providers, inherit.providers);
|
|
5426
|
+
inherit.maker && extend(maker, inherit.maker);
|
|
5427
|
+
inherit.data && extend(data, inherit.data);
|
|
5428
|
+
}
|
|
5429
|
+
|
|
5252
5430
|
return create;
|
|
5253
5431
|
}
|
|
5254
5432
|
|
|
@@ -5258,12 +5436,12 @@
|
|
|
5258
5436
|
return date.toString() === 'Invalid Date' ? timeStamp : date;
|
|
5259
5437
|
}
|
|
5260
5438
|
}
|
|
5261
|
-
var name = 'datePicker';
|
|
5439
|
+
var name$1 = 'datePicker';
|
|
5262
5440
|
var datePicker = {
|
|
5263
|
-
name: name,
|
|
5441
|
+
name: name$1,
|
|
5264
5442
|
maker: function () {
|
|
5265
5443
|
return ['date', 'dateRange', 'datetime', 'datetimeRange', 'year', 'month'].reduce(function (maker, type) {
|
|
5266
|
-
maker[type] = creatorFactory(name, {
|
|
5444
|
+
maker[type] = creatorFactory(name$1, {
|
|
5267
5445
|
type: type.toLowerCase()
|
|
5268
5446
|
});
|
|
5269
5447
|
return maker;
|
|
@@ -5328,28 +5506,28 @@
|
|
|
5328
5506
|
}
|
|
5329
5507
|
};
|
|
5330
5508
|
|
|
5331
|
-
var name$
|
|
5509
|
+
var name$2 = 'hidden';
|
|
5332
5510
|
var hidden = {
|
|
5333
|
-
name: name$
|
|
5334
|
-
maker: _defineProperty({}, name$
|
|
5335
|
-
return creatorFactory(name$
|
|
5511
|
+
name: name$2,
|
|
5512
|
+
maker: _defineProperty({}, name$2, function (field, value) {
|
|
5513
|
+
return creatorFactory(name$2)('', field, value);
|
|
5336
5514
|
}),
|
|
5337
5515
|
render: function render() {
|
|
5338
5516
|
return [];
|
|
5339
5517
|
}
|
|
5340
5518
|
};
|
|
5341
5519
|
|
|
5342
|
-
var name$
|
|
5520
|
+
var name$3 = 'input';
|
|
5343
5521
|
var input = {
|
|
5344
|
-
name: name$
|
|
5522
|
+
name: name$3,
|
|
5345
5523
|
maker: function () {
|
|
5346
5524
|
var maker = ['password', 'url', 'email', 'text', 'textarea'].reduce(function (maker, type) {
|
|
5347
|
-
maker[type] = creatorFactory(name$
|
|
5525
|
+
maker[type] = creatorFactory(name$3, {
|
|
5348
5526
|
type: type
|
|
5349
5527
|
});
|
|
5350
5528
|
return maker;
|
|
5351
5529
|
}, {});
|
|
5352
|
-
maker.idate = creatorFactory(name$
|
|
5530
|
+
maker.idate = creatorFactory(name$3, {
|
|
5353
5531
|
type: 'date'
|
|
5354
5532
|
});
|
|
5355
5533
|
return maker;
|
|
@@ -5363,11 +5541,11 @@
|
|
|
5363
5541
|
}
|
|
5364
5542
|
};
|
|
5365
5543
|
|
|
5366
|
-
var name$
|
|
5544
|
+
var name$4 = 'slider';
|
|
5367
5545
|
var slider = {
|
|
5368
|
-
name: name$
|
|
5546
|
+
name: name$4,
|
|
5369
5547
|
maker: {
|
|
5370
|
-
sliderRange: creatorFactory(name$
|
|
5548
|
+
sliderRange: creatorFactory(name$4, {
|
|
5371
5549
|
range: true
|
|
5372
5550
|
})
|
|
5373
5551
|
},
|
|
@@ -5851,7 +6029,7 @@
|
|
|
5851
6029
|
useFrame(maker);
|
|
5852
6030
|
useTimePicker(maker);
|
|
5853
6031
|
|
|
5854
|
-
var css_248z$2 = ".form-create .form-create .ivu-form-item {\n margin-bottom: 24px;\n}\n\n.form-create .form-create .ivu-form-item .ivu-form-item {\n margin-bottom: 0px;\n}\n
|
|
6032
|
+
var css_248z$2 = ".form-create .form-create .ivu-form-item {\n margin-bottom: 24px;\n}\n\n.form-create .form-create .ivu-form-item .ivu-form-item {\n margin-bottom: 0px;\n}\n";
|
|
5855
6033
|
styleInject(css_248z$2);
|
|
5856
6034
|
|
|
5857
6035
|
function tidyBtnProp(btn, def) {
|
|
@@ -6091,7 +6269,7 @@
|
|
|
6091
6269
|
function ivuFormCreate() {
|
|
6092
6270
|
return FormCreateFactory({
|
|
6093
6271
|
ui: "".concat("iview"),
|
|
6094
|
-
version: "".concat("2.5.
|
|
6272
|
+
version: "".concat("2.5.18"),
|
|
6095
6273
|
manager: manager,
|
|
6096
6274
|
install: install,
|
|
6097
6275
|
extendApi: extendApi,
|