UNPKG

2.13 kBJavaScriptView Raw
1import {creatorFactory} from '@form-create/core/src/index';
2
3const maker = {};
4
5useAlias(maker);
6useSelect(maker);
7useTree(maker);
8useUpload(maker);
9useFrame(maker);
10
11function 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
20function 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
27function 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
37function 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
55function 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
76export default maker;