@form-create/iview 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 +344 -167
- 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.19
|
|
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
|
};
|
|
@@ -1289,6 +1306,81 @@
|
|
|
1289
1306
|
imgUpIcon: 'image'
|
|
1290
1307
|
});
|
|
1291
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
|
+
|
|
1292
1384
|
var NAME$6 = 'fcGroup';
|
|
1293
1385
|
function createGroup(config) {
|
|
1294
1386
|
return {
|
|
@@ -1321,6 +1413,7 @@
|
|
|
1321
1413
|
return [];
|
|
1322
1414
|
}
|
|
1323
1415
|
},
|
|
1416
|
+
defaultValue: Object,
|
|
1324
1417
|
disabled: {
|
|
1325
1418
|
type: Boolean,
|
|
1326
1419
|
"default": false
|
|
@@ -1466,7 +1559,13 @@
|
|
|
1466
1559
|
submitBtn: false,
|
|
1467
1560
|
resetBtn: false
|
|
1468
1561
|
};
|
|
1469
|
-
|
|
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
|
+
|
|
1470
1569
|
this.$set(this.cacheRule, ++this.len, {
|
|
1471
1570
|
rule: rule,
|
|
1472
1571
|
options: options
|
|
@@ -1483,6 +1582,7 @@
|
|
|
1483
1582
|
|
|
1484
1583
|
this.cacheRule[key].$f = $f;
|
|
1485
1584
|
this.subForm();
|
|
1585
|
+
this.formData(key, $f.formData());
|
|
1486
1586
|
this.$nextTick(function () {
|
|
1487
1587
|
if (_this4.syncDisabled) {
|
|
1488
1588
|
$f.disabled(_this4.disabled);
|
|
@@ -1659,6 +1759,7 @@
|
|
|
1659
1759
|
}
|
|
1660
1760
|
}, {
|
|
1661
1761
|
"attrs": {
|
|
1762
|
+
"value": _this9.field ? _defineProperty({}, _this9.field, _this9._value(_this9.value[index])) : _this9.value[index],
|
|
1662
1763
|
"rule": rule,
|
|
1663
1764
|
"option": options,
|
|
1664
1765
|
"extendOption": true
|
|
@@ -1801,27 +1902,6 @@
|
|
|
1801
1902
|
|
|
1802
1903
|
var components = [Checkbox, Radio, Select, Tree, Sub, frame, upload, group];
|
|
1803
1904
|
|
|
1804
|
-
function $set(target, field, value) {
|
|
1805
|
-
Vue.set(target, field, value);
|
|
1806
|
-
}
|
|
1807
|
-
function $del(target, field) {
|
|
1808
|
-
Vue["delete"](target, field);
|
|
1809
|
-
}
|
|
1810
|
-
|
|
1811
|
-
var _extends$1 = Object.assign || function (a) {
|
|
1812
|
-
for (var b, c = 1; c < arguments.length; c++) {
|
|
1813
|
-
for (var d in b = arguments[c], b) {
|
|
1814
|
-
Object.prototype.hasOwnProperty.call(b, d) && $set(a, d, b[d]);
|
|
1815
|
-
}
|
|
1816
|
-
}
|
|
1817
|
-
|
|
1818
|
-
return a;
|
|
1819
|
-
};
|
|
1820
|
-
|
|
1821
|
-
function extend() {
|
|
1822
|
-
return _extends$1.apply(this, arguments);
|
|
1823
|
-
}
|
|
1824
|
-
|
|
1825
1905
|
var NAME$8 = 'FormCreate';
|
|
1826
1906
|
function $FormCreate(FormCreate) {
|
|
1827
1907
|
return {
|
|
@@ -1853,7 +1933,8 @@
|
|
|
1853
1933
|
},
|
|
1854
1934
|
extendOption: Boolean,
|
|
1855
1935
|
value: Object,
|
|
1856
|
-
api: Object
|
|
1936
|
+
api: Object,
|
|
1937
|
+
name: String
|
|
1857
1938
|
},
|
|
1858
1939
|
data: function data() {
|
|
1859
1940
|
return {
|
|
@@ -2015,60 +2096,6 @@
|
|
|
2015
2096
|
console.error(e);
|
|
2016
2097
|
}
|
|
2017
2098
|
|
|
2018
|
-
function deepExtend(origin) {
|
|
2019
|
-
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
2020
|
-
var mode = arguments.length > 2 ? arguments[2] : undefined;
|
|
2021
|
-
var isArr = false;
|
|
2022
|
-
|
|
2023
|
-
for (var key in target) {
|
|
2024
|
-
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
2025
|
-
var clone = target[key];
|
|
2026
|
-
|
|
2027
|
-
if ((isArr = Array.isArray(clone)) || is.Object(clone)) {
|
|
2028
|
-
var nst = origin[key] === undefined;
|
|
2029
|
-
|
|
2030
|
-
if (isArr) {
|
|
2031
|
-
isArr = false;
|
|
2032
|
-
nst && $set(origin, key, []);
|
|
2033
|
-
} else if (clone._clone && mode !== undefined) {
|
|
2034
|
-
if (mode) {
|
|
2035
|
-
clone = clone.getRule();
|
|
2036
|
-
nst && $set(origin, key, {});
|
|
2037
|
-
} else {
|
|
2038
|
-
$set(origin, key, clone._clone());
|
|
2039
|
-
continue;
|
|
2040
|
-
}
|
|
2041
|
-
} else {
|
|
2042
|
-
nst && $set(origin, key, {});
|
|
2043
|
-
}
|
|
2044
|
-
|
|
2045
|
-
origin[key] = deepExtend(origin[key], clone, mode);
|
|
2046
|
-
} else {
|
|
2047
|
-
$set(origin, key, clone);
|
|
2048
|
-
|
|
2049
|
-
if (!is.Undef(clone)) {
|
|
2050
|
-
if (clone.__json !== undefined) {
|
|
2051
|
-
origin[key].__json = clone.__json;
|
|
2052
|
-
}
|
|
2053
|
-
|
|
2054
|
-
if (clone.__origin !== undefined) {
|
|
2055
|
-
origin[key].__origin = clone.__origin;
|
|
2056
|
-
}
|
|
2057
|
-
}
|
|
2058
|
-
}
|
|
2059
|
-
}
|
|
2060
|
-
}
|
|
2061
|
-
|
|
2062
|
-
return mode !== undefined && Array.isArray(origin) ? origin.filter(function (v) {
|
|
2063
|
-
return !v || !v.__ctrl;
|
|
2064
|
-
}) : origin;
|
|
2065
|
-
}
|
|
2066
|
-
function deepCopy(value) {
|
|
2067
|
-
return deepExtend({}, {
|
|
2068
|
-
value: value
|
|
2069
|
-
}).value;
|
|
2070
|
-
}
|
|
2071
|
-
|
|
2072
2099
|
var PREFIX = '[[FORM-CREATE-PREFIX-';
|
|
2073
2100
|
var SUFFIX = '-FORM-CREATE-SUFFIX]]';
|
|
2074
2101
|
var $T = '$FN:';
|
|
@@ -2082,7 +2109,7 @@
|
|
|
2082
2109
|
return val;
|
|
2083
2110
|
}
|
|
2084
2111
|
|
|
2085
|
-
if (
|
|
2112
|
+
if (val.__json) {
|
|
2086
2113
|
return val.__json;
|
|
2087
2114
|
}
|
|
2088
2115
|
|
|
@@ -2193,39 +2220,6 @@
|
|
|
2193
2220
|
return def;
|
|
2194
2221
|
}
|
|
2195
2222
|
|
|
2196
|
-
function toString$1(val) {
|
|
2197
|
-
return val == null ? '' : _typeof(val) === 'object' ? JSON.stringify(val, null, 2) : String(val);
|
|
2198
|
-
}
|
|
2199
|
-
|
|
2200
|
-
function toLine(name) {
|
|
2201
|
-
var line = name.replace(/([A-Z])/g, '-$1').toLocaleLowerCase();
|
|
2202
|
-
if (line.indexOf('-') === 0) line = line.substr(1);
|
|
2203
|
-
return line;
|
|
2204
|
-
}
|
|
2205
|
-
|
|
2206
|
-
var id = 0;
|
|
2207
|
-
function uniqueId() {
|
|
2208
|
-
return Math.random().toString(36).substr(3, 3) + Number("".concat(Date.now()).concat(++id)).toString(36);
|
|
2209
|
-
}
|
|
2210
|
-
|
|
2211
|
-
function deepSet(data, idx, val) {
|
|
2212
|
-
var _data = data,
|
|
2213
|
-
to;
|
|
2214
|
-
(idx || '').split('.').forEach(function (v) {
|
|
2215
|
-
if (to) {
|
|
2216
|
-
if (!_data[to] || _typeof(_data[to]) != 'object') {
|
|
2217
|
-
_data[to] = {};
|
|
2218
|
-
}
|
|
2219
|
-
|
|
2220
|
-
_data = _data[to];
|
|
2221
|
-
}
|
|
2222
|
-
|
|
2223
|
-
to = v;
|
|
2224
|
-
});
|
|
2225
|
-
_data[to] = val;
|
|
2226
|
-
return _data;
|
|
2227
|
-
}
|
|
2228
|
-
|
|
2229
2223
|
function baseRule() {
|
|
2230
2224
|
return {
|
|
2231
2225
|
props: {},
|
|
@@ -2475,7 +2469,7 @@
|
|
|
2475
2469
|
disabled: function disabled(_disabled, fields) {
|
|
2476
2470
|
tidyFields(fields).forEach(function (field) {
|
|
2477
2471
|
h.getCtxs(field).forEach(function (ctx) {
|
|
2478
|
-
$set(ctx.rule.props, 'disabled', !!_disabled);
|
|
2472
|
+
ctx.rule.props && $set(ctx.rule.props, 'disabled', !!_disabled);
|
|
2479
2473
|
});
|
|
2480
2474
|
});
|
|
2481
2475
|
h.refresh();
|
|
@@ -2747,6 +2741,39 @@
|
|
|
2747
2741
|
return str.replace(str[0], str[0].toLowerCase());
|
|
2748
2742
|
}
|
|
2749
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
|
+
|
|
2750
2777
|
function useRender(Render) {
|
|
2751
2778
|
extend(Render.prototype, {
|
|
2752
2779
|
initRender: function initRender() {
|
|
@@ -2767,6 +2794,23 @@
|
|
|
2767
2794
|
clearOrgChildren: function clearOrgChildren() {
|
|
2768
2795
|
this.orgChildren = {};
|
|
2769
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
|
+
},
|
|
2770
2814
|
render: function render() {
|
|
2771
2815
|
var _this = this;
|
|
2772
2816
|
|
|
@@ -2962,10 +3006,10 @@
|
|
|
2962
3006
|
children = this.renderChildren(ctx);
|
|
2963
3007
|
}
|
|
2964
3008
|
|
|
2965
|
-
var slot =
|
|
3009
|
+
var slot = this.getTypeSlot(ctx.type);
|
|
2966
3010
|
|
|
2967
|
-
if (
|
|
2968
|
-
vn =
|
|
3011
|
+
if (slot) {
|
|
3012
|
+
vn = slot({
|
|
2969
3013
|
rule: rule,
|
|
2970
3014
|
prop: prop,
|
|
2971
3015
|
preview: preview,
|
|
@@ -3092,15 +3136,13 @@
|
|
|
3092
3136
|
}];
|
|
3093
3137
|
|
|
3094
3138
|
if (!custom && ctx.input) {
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
}
|
|
3103
|
-
});
|
|
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
|
+
};
|
|
3104
3146
|
}
|
|
3105
3147
|
|
|
3106
3148
|
mergeProps(props, ctx.prop);
|
|
@@ -4019,7 +4061,7 @@
|
|
|
4019
4061
|
this.setFormData(ctx, formValue);
|
|
4020
4062
|
this.syncValue();
|
|
4021
4063
|
this.valueChange(ctx, value);
|
|
4022
|
-
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);
|
|
4023
4065
|
this.effect(ctx, 'value');
|
|
4024
4066
|
},
|
|
4025
4067
|
onInput: function onInput(ctx, value) {
|
|
@@ -4030,7 +4072,7 @@
|
|
|
4030
4072
|
}
|
|
4031
4073
|
},
|
|
4032
4074
|
setFormData: function setFormData(ctx, value) {
|
|
4033
|
-
$set(this.formData, ctx.id, value);
|
|
4075
|
+
$set(this.formData, ctx.id, value === null ? undefined : value);
|
|
4034
4076
|
},
|
|
4035
4077
|
getFormData: function getFormData(ctx) {
|
|
4036
4078
|
return this.formData[ctx.id];
|
|
@@ -4284,7 +4326,7 @@
|
|
|
4284
4326
|
var vm = this.vm;
|
|
4285
4327
|
var none = ['field', 'value', 'vm', 'template', 'name', 'config', 'control', 'inject', 'sync', 'payload', 'optionsTo', 'update'];
|
|
4286
4328
|
Object.keys(ctx.rule).filter(function (k) {
|
|
4287
|
-
return none.indexOf(k) === -1;
|
|
4329
|
+
return k[0] !== '_' && k[0] !== '$' && none.indexOf(k) === -1;
|
|
4288
4330
|
}).forEach(function (key) {
|
|
4289
4331
|
var flag = key === 'children';
|
|
4290
4332
|
ctx.watch.push(vm.$watch(function () {
|
|
@@ -4469,10 +4511,21 @@
|
|
|
4469
4511
|
var _this3 = this;
|
|
4470
4512
|
|
|
4471
4513
|
var vm = this.vm;
|
|
4514
|
+
var effect = {};
|
|
4472
4515
|
Object.keys(ctx.rule.effect || {}).forEach(function (k) {
|
|
4473
|
-
|
|
4516
|
+
effect[k] = function () {
|
|
4474
4517
|
return ctx.rule.effect[k];
|
|
4475
|
-
}
|
|
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) {
|
|
4476
4529
|
_this3.effect(ctx, 'watch', _defineProperty({}, k, n));
|
|
4477
4530
|
}, {
|
|
4478
4531
|
deep: true
|
|
@@ -4496,7 +4549,12 @@
|
|
|
4496
4549
|
}, event);
|
|
4497
4550
|
},
|
|
4498
4551
|
getEffect: function getEffect(rule, name) {
|
|
4499
|
-
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;
|
|
4500
4558
|
},
|
|
4501
4559
|
emitEffect: function emitEffect(_ref, event, append) {
|
|
4502
4560
|
var _this4 = this;
|
|
@@ -4507,7 +4565,13 @@
|
|
|
4507
4565
|
type = _ref.type,
|
|
4508
4566
|
custom = _ref.custom;
|
|
4509
4567
|
if (!type || type === 'fcFragment') return;
|
|
4510
|
-
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 || {}));
|
|
4511
4575
|
Object.keys(effect).forEach(function (attr) {
|
|
4512
4576
|
var p = _this4.providers[attr];
|
|
4513
4577
|
if (!p || p.input && !input) return;
|
|
@@ -4851,6 +4915,50 @@
|
|
|
4851
4915
|
}
|
|
4852
4916
|
}
|
|
4853
4917
|
};
|
|
4918
|
+
var $required = {
|
|
4919
|
+
name: 'required',
|
|
4920
|
+
load: function load(inject, rule, api) {
|
|
4921
|
+
var val = parseVa(inject.getValue());
|
|
4922
|
+
|
|
4923
|
+
if (val.required === false) {
|
|
4924
|
+
inject.clearProp();
|
|
4925
|
+
} else {
|
|
4926
|
+
var validate = _objectSpread2(_objectSpread2({}, val), {}, {
|
|
4927
|
+
required: true,
|
|
4928
|
+
validator: function validator(_, v, call) {
|
|
4929
|
+
is.empty(v) ? call(validate.message) : call();
|
|
4930
|
+
}
|
|
4931
|
+
});
|
|
4932
|
+
|
|
4933
|
+
if (!validate.message) {
|
|
4934
|
+
validate.message = rule.title + ' is required';
|
|
4935
|
+
}
|
|
4936
|
+
|
|
4937
|
+
inject.getProp().validate = [validate];
|
|
4938
|
+
}
|
|
4939
|
+
|
|
4940
|
+
api.sync(rule);
|
|
4941
|
+
},
|
|
4942
|
+
watch: function watch() {
|
|
4943
|
+
$required.load.apply($required, arguments);
|
|
4944
|
+
}
|
|
4945
|
+
};
|
|
4946
|
+
|
|
4947
|
+
function parseVa(val) {
|
|
4948
|
+
if (is.Boolean(val)) {
|
|
4949
|
+
return {
|
|
4950
|
+
required: val
|
|
4951
|
+
};
|
|
4952
|
+
} else if (is.String(val)) {
|
|
4953
|
+
return {
|
|
4954
|
+
message: val
|
|
4955
|
+
};
|
|
4956
|
+
} else if (!is.Object(val)) {
|
|
4957
|
+
return {};
|
|
4958
|
+
} else {
|
|
4959
|
+
return val;
|
|
4960
|
+
}
|
|
4961
|
+
}
|
|
4854
4962
|
|
|
4855
4963
|
function parseOpt(option) {
|
|
4856
4964
|
if (is.String(option)) {
|
|
@@ -4921,6 +5029,31 @@
|
|
|
4921
5029
|
return true;
|
|
4922
5030
|
}
|
|
4923
5031
|
|
|
5032
|
+
var $provider = {
|
|
5033
|
+
fetch: $fetch,
|
|
5034
|
+
required: $required
|
|
5035
|
+
};
|
|
5036
|
+
|
|
5037
|
+
var name = 'html';
|
|
5038
|
+
var html = {
|
|
5039
|
+
name: name,
|
|
5040
|
+
loadChildren: false,
|
|
5041
|
+
render: function render(children, ctx) {
|
|
5042
|
+
if (!ctx.prop.domProps) ctx.prop.domProps = {};
|
|
5043
|
+
ctx.prop.domProps.innerHTML = children;
|
|
5044
|
+
return ctx.vNode.make(ctx.prop.props.tag || 'div', ctx.prop);
|
|
5045
|
+
},
|
|
5046
|
+
renderChildren: function renderChildren(ctx) {
|
|
5047
|
+
if (Array.isArray(ctx.rule.children)) {
|
|
5048
|
+
return ctx.rule.children.filter(function (v) {
|
|
5049
|
+
return is.String(v);
|
|
5050
|
+
}).join('');
|
|
5051
|
+
}
|
|
5052
|
+
|
|
5053
|
+
return '';
|
|
5054
|
+
}
|
|
5055
|
+
};
|
|
5056
|
+
|
|
4924
5057
|
var _vue = typeof window !== 'undefined' && window.Vue ? window.Vue : Vue;
|
|
4925
5058
|
|
|
4926
5059
|
function _parseProp(name, id) {
|
|
@@ -4976,17 +5109,19 @@
|
|
|
4976
5109
|
arrayAttrs.push.apply(arrayAttrs, _toConsumableArray(array));
|
|
4977
5110
|
normalAttrs.push.apply(normalAttrs, _toConsumableArray(normal));
|
|
4978
5111
|
appendProto([].concat(_toConsumableArray(key), _toConsumableArray(array), _toConsumableArray(normal)));
|
|
4979
|
-
}
|
|
5112
|
+
}
|
|
4980
5113
|
|
|
5114
|
+
var id$1 = 1;
|
|
5115
|
+
var instance = {}; //todo 表单嵌套
|
|
4981
5116
|
|
|
4982
5117
|
function FormCreateFactory(config) {
|
|
4983
5118
|
var components = _defineProperty({}, fragment.name, fragment);
|
|
4984
5119
|
|
|
4985
5120
|
var parsers = {};
|
|
4986
5121
|
var directives = {};
|
|
4987
|
-
|
|
4988
|
-
|
|
4989
|
-
|
|
5122
|
+
|
|
5123
|
+
var providers = _objectSpread2({}, $provider);
|
|
5124
|
+
|
|
4990
5125
|
var maker = makerFactory();
|
|
4991
5126
|
var globalConfig = {
|
|
4992
5127
|
global: {}
|
|
@@ -4995,6 +5130,10 @@
|
|
|
4995
5130
|
var CreateNode = CreateNodeFactory();
|
|
4996
5131
|
exportAttrs(config.attrs || {});
|
|
4997
5132
|
|
|
5133
|
+
function getApi(name) {
|
|
5134
|
+
return instance[name];
|
|
5135
|
+
}
|
|
5136
|
+
|
|
4998
5137
|
function directive() {
|
|
4999
5138
|
var data = nameProp.apply(void 0, arguments);
|
|
5000
5139
|
if (data.id && data.prop) directives[data.id] = data.prop;
|
|
@@ -5067,18 +5206,35 @@
|
|
|
5067
5206
|
return _this.api();
|
|
5068
5207
|
}
|
|
5069
5208
|
|
|
5070
|
-
function factory() {
|
|
5071
|
-
|
|
5209
|
+
function factory(inherit) {
|
|
5210
|
+
var _config = _objectSpread2({}, config);
|
|
5211
|
+
|
|
5212
|
+
if (inherit) {
|
|
5213
|
+
_config.inherit = {
|
|
5214
|
+
components: components,
|
|
5215
|
+
parsers: parsers,
|
|
5216
|
+
directives: directives,
|
|
5217
|
+
providers: providers,
|
|
5218
|
+
maker: maker,
|
|
5219
|
+
data: data
|
|
5220
|
+
};
|
|
5221
|
+
} else {
|
|
5222
|
+
delete _config.inherit;
|
|
5223
|
+
}
|
|
5224
|
+
|
|
5225
|
+
return FormCreateFactory(_config);
|
|
5072
5226
|
}
|
|
5073
5227
|
|
|
5074
5228
|
function FormCreate(vm, rules, options) {
|
|
5075
5229
|
extend(this, {
|
|
5230
|
+
id: id$1++,
|
|
5076
5231
|
vm: vm,
|
|
5077
5232
|
create: create,
|
|
5078
5233
|
manager: createManager(config.manager),
|
|
5079
5234
|
parsers: parsers,
|
|
5080
5235
|
providers: providers,
|
|
5081
5236
|
rules: Array.isArray(rules) ? rules : [],
|
|
5237
|
+
name: vm.$options.propsData.name,
|
|
5082
5238
|
prop: {
|
|
5083
5239
|
components: components,
|
|
5084
5240
|
directives: directives
|
|
@@ -5092,6 +5248,10 @@
|
|
|
5092
5248
|
});
|
|
5093
5249
|
this.init();
|
|
5094
5250
|
this.initOptions(options || {});
|
|
5251
|
+
|
|
5252
|
+
if (this.name) {
|
|
5253
|
+
instance[this.name] = this.api();
|
|
5254
|
+
}
|
|
5095
5255
|
}
|
|
5096
5256
|
|
|
5097
5257
|
extend(FormCreate.prototype, {
|
|
@@ -5127,6 +5287,10 @@
|
|
|
5127
5287
|
vm.destroyed = true;
|
|
5128
5288
|
_this2.unwatch && _this2.unwatch();
|
|
5129
5289
|
h.reloadRule([]);
|
|
5290
|
+
|
|
5291
|
+
if (_this2.name) {
|
|
5292
|
+
delete instance[_this2.name];
|
|
5293
|
+
}
|
|
5130
5294
|
});
|
|
5131
5295
|
vm.$on('hook:updated', function () {
|
|
5132
5296
|
h.bindNextTick(function () {
|
|
@@ -5204,6 +5368,7 @@
|
|
|
5204
5368
|
parseFn: parseFn,
|
|
5205
5369
|
parseJson: parseJson,
|
|
5206
5370
|
toJson: toJson,
|
|
5371
|
+
getApi: getApi,
|
|
5207
5372
|
init: function init(rules) {
|
|
5208
5373
|
var _opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
5209
5374
|
|
|
@@ -5257,7 +5422,19 @@
|
|
|
5257
5422
|
CreateNode.use({
|
|
5258
5423
|
fragment: 'fcFragment'
|
|
5259
5424
|
});
|
|
5425
|
+
parser(html);
|
|
5260
5426
|
if (config.install) create.use(config);
|
|
5427
|
+
|
|
5428
|
+
if (config.inherit) {
|
|
5429
|
+
var inherit = config.inherit;
|
|
5430
|
+
inherit.components && extend(components, inherit.components);
|
|
5431
|
+
inherit.parsers && extend(parsers, inherit.parsers);
|
|
5432
|
+
inherit.directives && extend(directives, inherit.directives);
|
|
5433
|
+
inherit.providers && extend(providers, inherit.providers);
|
|
5434
|
+
inherit.maker && extend(maker, inherit.maker);
|
|
5435
|
+
inherit.data && extend(data, inherit.data);
|
|
5436
|
+
}
|
|
5437
|
+
|
|
5261
5438
|
return create;
|
|
5262
5439
|
}
|
|
5263
5440
|
|
|
@@ -5267,12 +5444,12 @@
|
|
|
5267
5444
|
return date.toString() === 'Invalid Date' ? timeStamp : date;
|
|
5268
5445
|
}
|
|
5269
5446
|
}
|
|
5270
|
-
var name = 'datePicker';
|
|
5447
|
+
var name$1 = 'datePicker';
|
|
5271
5448
|
var datePicker = {
|
|
5272
|
-
name: name,
|
|
5449
|
+
name: name$1,
|
|
5273
5450
|
maker: function () {
|
|
5274
5451
|
return ['date', 'dateRange', 'datetime', 'datetimeRange', 'year', 'month'].reduce(function (maker, type) {
|
|
5275
|
-
maker[type] = creatorFactory(name, {
|
|
5452
|
+
maker[type] = creatorFactory(name$1, {
|
|
5276
5453
|
type: type.toLowerCase()
|
|
5277
5454
|
});
|
|
5278
5455
|
return maker;
|
|
@@ -5337,28 +5514,28 @@
|
|
|
5337
5514
|
}
|
|
5338
5515
|
};
|
|
5339
5516
|
|
|
5340
|
-
var name$
|
|
5517
|
+
var name$2 = 'hidden';
|
|
5341
5518
|
var hidden = {
|
|
5342
|
-
name: name$
|
|
5343
|
-
maker: _defineProperty({}, name$
|
|
5344
|
-
return creatorFactory(name$
|
|
5519
|
+
name: name$2,
|
|
5520
|
+
maker: _defineProperty({}, name$2, function (field, value) {
|
|
5521
|
+
return creatorFactory(name$2)('', field, value);
|
|
5345
5522
|
}),
|
|
5346
5523
|
render: function render() {
|
|
5347
5524
|
return [];
|
|
5348
5525
|
}
|
|
5349
5526
|
};
|
|
5350
5527
|
|
|
5351
|
-
var name$
|
|
5528
|
+
var name$3 = 'input';
|
|
5352
5529
|
var input = {
|
|
5353
|
-
name: name$
|
|
5530
|
+
name: name$3,
|
|
5354
5531
|
maker: function () {
|
|
5355
5532
|
var maker = ['password', 'url', 'email', 'text', 'textarea'].reduce(function (maker, type) {
|
|
5356
|
-
maker[type] = creatorFactory(name$
|
|
5533
|
+
maker[type] = creatorFactory(name$3, {
|
|
5357
5534
|
type: type
|
|
5358
5535
|
});
|
|
5359
5536
|
return maker;
|
|
5360
5537
|
}, {});
|
|
5361
|
-
maker.idate = creatorFactory(name$
|
|
5538
|
+
maker.idate = creatorFactory(name$3, {
|
|
5362
5539
|
type: 'date'
|
|
5363
5540
|
});
|
|
5364
5541
|
return maker;
|
|
@@ -5372,11 +5549,11 @@
|
|
|
5372
5549
|
}
|
|
5373
5550
|
};
|
|
5374
5551
|
|
|
5375
|
-
var name$
|
|
5552
|
+
var name$4 = 'slider';
|
|
5376
5553
|
var slider = {
|
|
5377
|
-
name: name$
|
|
5554
|
+
name: name$4,
|
|
5378
5555
|
maker: {
|
|
5379
|
-
sliderRange: creatorFactory(name$
|
|
5556
|
+
sliderRange: creatorFactory(name$4, {
|
|
5380
5557
|
range: true
|
|
5381
5558
|
})
|
|
5382
5559
|
},
|
|
@@ -5860,7 +6037,7 @@
|
|
|
5860
6037
|
useFrame(maker);
|
|
5861
6038
|
useTimePicker(maker);
|
|
5862
6039
|
|
|
5863
|
-
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
|
|
6040
|
+
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";
|
|
5864
6041
|
styleInject(css_248z$2);
|
|
5865
6042
|
|
|
5866
6043
|
function tidyBtnProp(btn, def) {
|
|
@@ -6100,7 +6277,7 @@
|
|
|
6100
6277
|
function ivuFormCreate() {
|
|
6101
6278
|
return FormCreateFactory({
|
|
6102
6279
|
ui: "".concat("iview"),
|
|
6103
|
-
version: "".concat("2.5.
|
|
6280
|
+
version: "".concat("2.5.19"),
|
|
6104
6281
|
manager: manager,
|
|
6105
6282
|
install: install,
|
|
6106
6283
|
extendApi: extendApi,
|