UNPKG

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