1 | import {creatorFactory} from '@form-create/core/src/index';
|
2 |
|
3 | const maker = {};
|
4 |
|
5 | useAlias(maker);
|
6 | useSelect(maker);
|
7 | useTree(maker);
|
8 | useUpload(maker);
|
9 | useFrame(maker);
|
10 |
|
11 | function useAlias(maker) {
|
12 | ['group', 'tree', 'switch', 'upload', 'autoComplete', 'checkbox', 'cascader', 'colorPicker', 'datePicker', 'frame', 'inputNumber', 'radio', 'rate'].forEach(name => {
|
13 | maker[name] = creatorFactory(name);
|
14 | });
|
15 | maker.auto = maker.autoComplete;
|
16 | maker.number = maker.inputNumber;
|
17 | maker.color = maker.colorPicker;
|
18 | }
|
19 |
|
20 | function useSelect(maker) {
|
21 | const select = 'select';
|
22 | const multiple = 'multiple';
|
23 | maker['selectMultiple'] = creatorFactory(select, {[multiple]:true});
|
24 | maker['selectOne'] = creatorFactory(select, {[multiple]:false});
|
25 | }
|
26 |
|
27 | function useTree(maker) {
|
28 | const name = 'tree';
|
29 | const types = {'treeSelected': 'selected', 'treeChecked': 'checked'};
|
30 |
|
31 | Object.keys(types).reduce((m, key) => {
|
32 | m[key] = creatorFactory(name, {type:types[key]});
|
33 | return m;
|
34 | }, maker);
|
35 | }
|
36 |
|
37 | function useUpload(maker) {
|
38 | const name = 'upload';
|
39 | const types = {
|
40 | image: ['image', 0],
|
41 | file: ['file', 0],
|
42 | uploadFileOne: ['file', 1],
|
43 | uploadImageOne: ['image', 1],
|
44 | };
|
45 |
|
46 | Object.keys(types).reduce((m, key) => {
|
47 | m[key] = creatorFactory(name, m => m.props({uploadType: types[key][0], maxLength: types[key][1]}));
|
48 | return m
|
49 | }, maker);
|
50 |
|
51 | maker.uploadImage = maker.image;
|
52 | maker.uploadFile = maker.file;
|
53 | }
|
54 |
|
55 | function useFrame(maker) {
|
56 | const types = {
|
57 | frameInputs: ['input', 0],
|
58 | frameFiles: ['file', 0],
|
59 | frameImages: ['image', 0],
|
60 | frameInputOne: ['input', 1],
|
61 | frameFileOne: ['file', 1],
|
62 | frameImageOne: ['image', 1]
|
63 | };
|
64 |
|
65 | Object.keys(types).reduce((maker, key) => {
|
66 | maker[key] = creatorFactory('frame', m => m.props({type: types[key][0], maxLength: types[key][1]}));
|
67 | return maker
|
68 | }, maker);
|
69 |
|
70 | maker.frameInput = maker.frameInputs;
|
71 | maker.frameFile = maker.frameFiles;
|
72 | maker.frameImage = maker.frameImages;
|
73 | return maker;
|
74 | }
|
75 |
|
76 | export default maker;
|