@zzdadelu/schema-builder 1.0.0-alpha.1

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.
Files changed (58) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE +21 -0
  3. package/README.md +39 -0
  4. package/es/createIframe.js +12 -0
  5. package/es/index.js +2 -0
  6. package/es/main.js +64 -0
  7. package/es/settings/index.js +26 -0
  8. package/es/settings/meta/card.js +108 -0
  9. package/es/settings/meta/cardList.js +203 -0
  10. package/es/settings/meta/checkbox.js +29 -0
  11. package/es/settings/meta/checkboxes.js +66 -0
  12. package/es/settings/meta/color.js +21 -0
  13. package/es/settings/meta/date.js +28 -0
  14. package/es/settings/meta/dateRange.js +37 -0
  15. package/es/settings/meta/form.js +115 -0
  16. package/es/settings/meta/imageInput.js +21 -0
  17. package/es/settings/meta/input.js +62 -0
  18. package/es/settings/meta/number.js +69 -0
  19. package/es/settings/meta/radio.js +65 -0
  20. package/es/settings/meta/rate.js +56 -0
  21. package/es/settings/meta/select.js +58 -0
  22. package/es/settings/meta/slider.js +40 -0
  23. package/es/settings/meta/switch.js +48 -0
  24. package/es/settings/meta/textarea.js +69 -0
  25. package/es/settings/meta/time.js +29 -0
  26. package/es/settings/meta/timeRange.js +37 -0
  27. package/es/settings/meta/treeSelect.js +85 -0
  28. package/es/settings/meta/urlInput.js +34 -0
  29. package/es/settings/utils.js +251 -0
  30. package/es/type.js +1 -0
  31. package/lib/createIframe.js +18 -0
  32. package/lib/index.js +9 -0
  33. package/lib/main.js +72 -0
  34. package/lib/settings/index.js +153 -0
  35. package/lib/settings/meta/card.js +114 -0
  36. package/lib/settings/meta/cardList.js +209 -0
  37. package/lib/settings/meta/checkbox.js +35 -0
  38. package/lib/settings/meta/checkboxes.js +72 -0
  39. package/lib/settings/meta/color.js +27 -0
  40. package/lib/settings/meta/date.js +34 -0
  41. package/lib/settings/meta/dateRange.js +43 -0
  42. package/lib/settings/meta/form.js +121 -0
  43. package/lib/settings/meta/imageInput.js +27 -0
  44. package/lib/settings/meta/input.js +68 -0
  45. package/lib/settings/meta/number.js +75 -0
  46. package/lib/settings/meta/radio.js +71 -0
  47. package/lib/settings/meta/rate.js +62 -0
  48. package/lib/settings/meta/select.js +64 -0
  49. package/lib/settings/meta/slider.js +46 -0
  50. package/lib/settings/meta/switch.js +54 -0
  51. package/lib/settings/meta/textarea.js +75 -0
  52. package/lib/settings/meta/time.js +35 -0
  53. package/lib/settings/meta/timeRange.js +43 -0
  54. package/lib/settings/meta/treeSelect.js +91 -0
  55. package/lib/settings/meta/urlInput.js +40 -0
  56. package/lib/settings/utils.js +258 -0
  57. package/lib/type.js +1 -0
  58. package/package.json +95 -0
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('Input', {
9
+ title: '单行文本',
10
+ priority: 1000,
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: _utils.inputPropsBasic
16
+ }, {
17
+ title: '其他配置',
18
+ type: 'group',
19
+ display: 'accordion',
20
+ items: [{
21
+ name: 'props.prefix',
22
+ title: {
23
+ label: '前缀',
24
+ tip: 'prefix | 前缀'
25
+ },
26
+ setter: 'StringSetter'
27
+ }, {
28
+ name: 'props.suffix',
29
+ title: {
30
+ label: '后缀',
31
+ tip: 'suffix | 后缀'
32
+ },
33
+ setter: 'StringSetter'
34
+ }, {
35
+ name: 'props.addonBefore',
36
+ title: {
37
+ label: '前置标签',
38
+ tip: 'addonBefore | 前置标签'
39
+ },
40
+ setter: 'StringSetter'
41
+ }, {
42
+ name: 'props.addonAfter',
43
+ title: {
44
+ label: '后置标签',
45
+ tip: 'addonAfter | 后置标签'
46
+ },
47
+ setter: 'StringSetter'
48
+ }, {
49
+ name: 'props.allowClear',
50
+ title: {
51
+ label: '支持清除',
52
+ tip: 'allowClear | 支持清除'
53
+ },
54
+ setter: 'BoolSetter'
55
+ }]
56
+ }],
57
+ snippets: [{
58
+ label: '单行文本',
59
+ screenshot: 'icon-input',
60
+ schema: {
61
+ componentName: 'Input',
62
+ props: {
63
+ title: '单行文本',
64
+ type: 'string'
65
+ }
66
+ }
67
+ }]
68
+ });
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('InputNumber', {
9
+ title: '数字输入框',
10
+ priority: 999,
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: (0, _utils.getInputPropsBasic)({
16
+ name: 'defaultValue',
17
+ title: {
18
+ label: '默认值',
19
+ tip: 'defaultValue | 默认值'
20
+ },
21
+ setter: 'NumberSetter'
22
+ })
23
+ }, {
24
+ title: '其他配置',
25
+ display: 'accordion',
26
+ type: 'group',
27
+ items: [{
28
+ name: 'props.prefix',
29
+ title: {
30
+ label: '前缀',
31
+ tip: 'prefix | 前缀'
32
+ },
33
+ setter: 'StringSetter'
34
+ }, {
35
+ name: 'props.addonBefore',
36
+ title: {
37
+ label: '前置标签',
38
+ tip: 'addonBefore | 前置标签'
39
+ },
40
+ setter: 'StringSetter'
41
+ }, {
42
+ name: 'props.addonAfter',
43
+ title: {
44
+ label: '后置标签',
45
+ tip: 'addonAfter | 后置标签'
46
+ },
47
+ setter: 'StringSetter'
48
+ }, {
49
+ name: 'props.precision',
50
+ title: {
51
+ label: '数值精度',
52
+ tip: 'precision | 数值精度'
53
+ },
54
+ setter: 'NumberSetter'
55
+ }, {
56
+ name: 'props.step',
57
+ title: {
58
+ label: '单步步长',
59
+ tip: 'step | 每次改变步数,可以为小数'
60
+ },
61
+ setter: ['NumberSetter', 'StringSetter']
62
+ }]
63
+ }],
64
+ snippets: [{
65
+ label: '数字输入框',
66
+ screenshot: 'icon-inputNumber',
67
+ schema: {
68
+ componentName: 'InputNumber',
69
+ props: {
70
+ title: '数字输入框',
71
+ type: 'number'
72
+ }
73
+ }
74
+ }]
75
+ });
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('Radio', {
9
+ title: '点击单选',
10
+ priority: 997,
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: (0, _utils.getNotInputPropsBasic)({
16
+ name: 'defaultValue',
17
+ title: {
18
+ label: '默认值',
19
+ tip: 'defaultValue | 默认值'
20
+ },
21
+ setter: 'JsonSetter'
22
+ })
23
+ }, _utils.optionsProp, {
24
+ title: '其他配置',
25
+ display: 'accordion',
26
+ type: 'group',
27
+ items: [{
28
+ name: 'props.direction',
29
+ title: {
30
+ label: '排列方向',
31
+ tip: '选项的排列方向'
32
+ },
33
+ defaultValue: 'row',
34
+ setter: {
35
+ componentName: 'RadioGroupSetter',
36
+ props: {
37
+ options: [{
38
+ title: '水平',
39
+ value: 'row'
40
+ }, {
41
+ title: '垂直',
42
+ value: 'column'
43
+ }]
44
+ }
45
+ }
46
+ }]
47
+ }],
48
+ snippets: [{
49
+ title: '点击单选',
50
+ screenshot: 'icon-radio',
51
+ schema: {
52
+ componentName: 'Radio',
53
+ props: {
54
+ title: '点击单选',
55
+ type: 'string',
56
+ props: {
57
+ options: [{
58
+ label: 'A',
59
+ value: 'A'
60
+ }, {
61
+ label: 'B',
62
+ value: 'B'
63
+ }, {
64
+ label: 'C',
65
+ value: 'C'
66
+ }]
67
+ }
68
+ }
69
+ }
70
+ }]
71
+ });
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('Rate', {
9
+ title: '评分',
10
+ priority: 992,
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: (0, _utils.getNotInputPropsBasic)({
16
+ name: 'defaultValue',
17
+ title: {
18
+ label: '默认值',
19
+ tip: 'defaultValue | 默认值'
20
+ },
21
+ setter: 'NumberSetter'
22
+ })
23
+ }, {
24
+ title: '其他配置',
25
+ display: 'accordion',
26
+ type: 'group',
27
+ items: [{
28
+ name: 'props.allowClear',
29
+ title: {
30
+ label: '支持清除',
31
+ tip: '是否允许清除'
32
+ },
33
+ setter: 'BoolSetter',
34
+ defaultValue: true
35
+ }, {
36
+ name: 'props.allowHalf',
37
+ title: {
38
+ label: '支持半选',
39
+ tip: '支持半选'
40
+ },
41
+ setter: 'BoolSetter'
42
+ }, {
43
+ name: 'props.count',
44
+ title: {
45
+ label: '总数',
46
+ tip: 'star 总数'
47
+ },
48
+ setter: 'NumberSetter',
49
+ defaultValue: 5
50
+ }]
51
+ }],
52
+ snippets: [{
53
+ label: '评分',
54
+ screenshot: 'icon-rate',
55
+ schema: {
56
+ componentName: 'Rate',
57
+ props: {
58
+ title: '评分'
59
+ }
60
+ }
61
+ }]
62
+ });
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('Select', {
9
+ title: '下拉选择',
10
+ priority: 998,
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: (0, _utils.getInputPropsBasic)({
16
+ name: 'defaultValue',
17
+ title: {
18
+ label: '默认值',
19
+ tip: 'defaultValue | 默认值'
20
+ },
21
+ setter: 'JsonSetter'
22
+ })
23
+ }, _utils.optionsProp],
24
+ snippets: [{
25
+ title: '下拉单选',
26
+ screenshot: 'icon-select',
27
+ schema: {
28
+ componentName: 'Select',
29
+ props: {
30
+ title: '下拉单选',
31
+ type: 'string',
32
+ props: {
33
+ options: [{
34
+ label: 'A',
35
+ value: 'A'
36
+ }, {
37
+ label: 'B',
38
+ value: 'B'
39
+ }]
40
+ }
41
+ }
42
+ }
43
+ }, {
44
+ title: '下拉多选',
45
+ screenshot: 'icon-multiSelect',
46
+ schema: {
47
+ componentName: 'Select',
48
+ props: {
49
+ title: '下拉多选',
50
+ type: 'array',
51
+ widget: 'multiSelect',
52
+ props: {
53
+ options: [{
54
+ label: 'A',
55
+ value: 'A'
56
+ }, {
57
+ label: 'B',
58
+ value: 'B'
59
+ }]
60
+ }
61
+ }
62
+ }
63
+ }]
64
+ });
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('Slider', {
9
+ title: '滑动条',
10
+ priority: 991,
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: (0, _utils.getNotInputPropsBasic)({
16
+ name: 'defaultValue',
17
+ title: {
18
+ label: '默认值',
19
+ tip: 'defaultValue | 默认值'
20
+ },
21
+ setter: 'NumberSetter'
22
+ })
23
+ }, {
24
+ title: '其他配置',
25
+ display: 'accordion',
26
+ type: 'group',
27
+ items: [{
28
+ name: 'props.hideInput',
29
+ title: {
30
+ label: '隐藏输入框',
31
+ tip: '隐藏输入框'
32
+ },
33
+ setter: 'BoolSetter'
34
+ }]
35
+ }],
36
+ snippets: [{
37
+ label: '滑动条',
38
+ screenshot: 'icon-slider',
39
+ schema: {
40
+ componentName: 'Slider',
41
+ props: {
42
+ title: '滑动条'
43
+ }
44
+ }
45
+ }]
46
+ });
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('Switch', {
9
+ title: '开关',
10
+ priority: 993,
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: (0, _utils.getNotInputPropsBasic)({
16
+ name: 'defaultValue',
17
+ title: {
18
+ label: '默认值',
19
+ tip: 'defaultValue | 默认值'
20
+ },
21
+ setter: 'BoolSetter'
22
+ })
23
+ }, {
24
+ title: '其他配置',
25
+ display: 'accordion',
26
+ type: 'group',
27
+ items: [{
28
+ name: 'props.checkedChildren',
29
+ title: {
30
+ label: '选中时内容',
31
+ tip: 'checkedChildren | 选中时内容'
32
+ },
33
+ setter: 'StringSetter'
34
+ }, {
35
+ name: 'props.unCheckedChildren',
36
+ title: {
37
+ label: '非选中时内容',
38
+ tip: 'unCheckedChildren | 非选中时内容'
39
+ },
40
+ setter: 'StringSetter'
41
+ }]
42
+ }],
43
+ snippets: [{
44
+ label: '开关',
45
+ screenshot: 'icon-switch',
46
+ schema: {
47
+ componentName: 'Switch',
48
+ props: {
49
+ title: '开关',
50
+ type: 'boolean'
51
+ }
52
+ }
53
+ }]
54
+ });
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('TextArea', {
9
+ title: '多行文本',
10
+ priority: 995,
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: _utils.inputPropsBasic
16
+ }, {
17
+ title: '其他配置',
18
+ display: 'accordion',
19
+ type: 'group',
20
+ items: [{
21
+ name: 'props.allowClear',
22
+ title: {
23
+ label: '支持清除',
24
+ tip: 'allowClear | 支持清除'
25
+ },
26
+ setter: 'BoolSetter'
27
+ }, {
28
+ name: 'props.showCount',
29
+ title: {
30
+ label: '展示字数',
31
+ tip: 'showCount | 是否展示字数'
32
+ },
33
+ setter: 'BoolSetter'
34
+ }, {
35
+ name: 'props.autoSize',
36
+ title: {
37
+ label: '高度自动',
38
+ tip: 'autoSize | 文本域高度自适应内容'
39
+ },
40
+ setter: 'BoolSetter'
41
+ }, {
42
+ name: 'props.rows',
43
+ title: {
44
+ label: '指定行数',
45
+ tip: 'minRows | 指定显示的行数'
46
+ },
47
+ setter: 'NumberSetter'
48
+ }, {
49
+ name: 'props.minLength',
50
+ title: {
51
+ label: '最小长度',
52
+ tip: 'minLength | 内容最小长度'
53
+ },
54
+ setter: 'NumberSetter'
55
+ }, {
56
+ name: 'props.maxLength',
57
+ title: {
58
+ label: '最大长度',
59
+ tip: 'maxLength | 内容最大长度'
60
+ },
61
+ setter: 'NumberSetter'
62
+ }]
63
+ }],
64
+ snippets: [{
65
+ label: '多行文本',
66
+ screenshot: 'icon-textarea',
67
+ schema: {
68
+ componentName: 'TextArea',
69
+ props: {
70
+ title: '多行文本',
71
+ type: 'string'
72
+ }
73
+ }
74
+ }]
75
+ });
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('TimePicker', {
9
+ title: '时间选择',
10
+ props: [{
11
+ title: '基础配置',
12
+ type: 'group',
13
+ display: 'accordion',
14
+ items: (0, _utils.getInputPropsBasic)({
15
+ name: 'defaultValue',
16
+ title: {
17
+ label: '默认值',
18
+ tip: 'default | 默认值'
19
+ },
20
+ setter: 'CustomTimeSetter'
21
+ })
22
+ }],
23
+ snippets: [{
24
+ title: '时间选择',
25
+ screenshot: 'icon-time',
26
+ schema: {
27
+ componentName: 'TimePicker',
28
+ props: {
29
+ title: '时间选择',
30
+ type: 'string',
31
+ format: 'time'
32
+ }
33
+ }
34
+ }]
35
+ });
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('TimeRange', {
9
+ title: '时间区间选择',
10
+ props: [{
11
+ title: '基础配置',
12
+ type: 'group',
13
+ display: 'accordion',
14
+ items: (0, _utils.getInputPropsBasic)({
15
+ name: 'defaultValue',
16
+ title: {
17
+ label: '默认值',
18
+ tip: 'default | 默认值'
19
+ },
20
+ setter: 'CustomTimeRangeSetter'
21
+ }, {
22
+ name: 'props.placeholder',
23
+ title: {
24
+ label: '提示文字',
25
+ tip: 'placeholder | 输入框提示文字'
26
+ },
27
+ defaultValue: ['开始时间', '结束时间'],
28
+ setter: 'JsonSetter'
29
+ })
30
+ }],
31
+ snippets: [{
32
+ title: '时间区间选择',
33
+ screenshot: 'icon-time',
34
+ schema: {
35
+ componentName: 'TimeRange',
36
+ props: {
37
+ title: '时间区间',
38
+ type: 'range',
39
+ format: 'time'
40
+ }
41
+ }
42
+ }]
43
+ });
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _utils = require("../utils");
8
+ var _default = exports.default = (0, _utils.createMeta)('TreeSelect', {
9
+ title: '树选择',
10
+ category: '其他',
11
+ props: [{
12
+ title: '基础配置',
13
+ type: 'group',
14
+ display: 'accordion',
15
+ items: (0, _utils.getInputPropsBasic)({
16
+ name: 'defaultValue',
17
+ title: {
18
+ label: '默认值',
19
+ tip: 'defaultValue | 默认值'
20
+ },
21
+ setter: 'JsonSetter'
22
+ })
23
+ }, {
24
+ title: '其他配置',
25
+ display: 'accordion',
26
+ type: 'group',
27
+ items: [{
28
+ name: 'props.treeData',
29
+ title: {
30
+ label: '数据源',
31
+ tip: '数据源'
32
+ },
33
+ setter: 'JsonSetter'
34
+ }, {
35
+ name: 'props.multiple',
36
+ title: {
37
+ label: '支持多选',
38
+ tip: '支持多选(当设置 treeCheckable 时自动变为 true)'
39
+ },
40
+ setter: 'BoolSetter'
41
+ }, {
42
+ name: 'props.allowClear',
43
+ title: {
44
+ label: '支持清除',
45
+ tip: '是否允许清除'
46
+ },
47
+ setter: 'BoolSetter'
48
+ }, {
49
+ name: 'props.treeCheckable',
50
+ title: {
51
+ label: '显示勾选框',
52
+ tip: '显示勾选框'
53
+ },
54
+ setter: 'BoolSetter'
55
+ }, {
56
+ name: 'props.treeDefaultExpandAll',
57
+ title: {
58
+ label: '默认展开所有树节点',
59
+ tip: '默认展开所有树节点'
60
+ },
61
+ setter: 'BoolSetter'
62
+ }]
63
+ }],
64
+ snippets: [{
65
+ label: '树选择',
66
+ screenshot: 'icon-tree',
67
+ schema: {
68
+ componentName: 'TreeSelect',
69
+ props: {
70
+ title: '树选择',
71
+ props: {
72
+ treeData: [{
73
+ value: 'parent 1',
74
+ title: 'parent 1',
75
+ children: [{
76
+ value: 'parent 1-0',
77
+ title: 'parent 1-0',
78
+ children: [{
79
+ value: 'leaf1',
80
+ title: 'leaf1'
81
+ }, {
82
+ value: 'leaf2',
83
+ title: 'leaf2'
84
+ }]
85
+ }]
86
+ }]
87
+ }
88
+ }
89
+ }
90
+ }]
91
+ });