@xrenders/schema-builder 1.0.0-alpha.17 → 1.0.0-alpha.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.
Files changed (99) hide show
  1. package/es/createIframe.js +1 -1
  2. package/es/main.js +2 -1
  3. package/es/settings/index.d.ts +21 -0
  4. package/es/settings/index.js +24 -0
  5. package/es/settings/meta/card.d.ts +2 -0
  6. package/es/settings/meta/card.js +108 -0
  7. package/es/settings/meta/cardList.d.ts +2 -0
  8. package/es/settings/meta/cardList.js +203 -0
  9. package/es/settings/meta/checkbox.d.ts +2 -0
  10. package/es/settings/meta/checkbox.js +29 -0
  11. package/es/settings/meta/checkboxes.d.ts +2 -0
  12. package/es/settings/meta/checkboxes.js +66 -0
  13. package/es/settings/meta/color.d.ts +2 -0
  14. package/es/settings/meta/color.js +21 -0
  15. package/es/settings/meta/date.d.ts +2 -0
  16. package/es/settings/meta/date.js +28 -0
  17. package/es/settings/meta/dateRange.d.ts +2 -0
  18. package/es/settings/meta/dateRange.js +37 -0
  19. package/es/settings/meta/form.d.ts +2 -0
  20. package/es/settings/meta/form.js +115 -0
  21. package/es/settings/meta/imageInput.d.ts +2 -0
  22. package/es/settings/meta/imageInput.js +21 -0
  23. package/es/settings/meta/input.d.ts +2 -0
  24. package/es/settings/meta/input.js +62 -0
  25. package/es/settings/meta/number.d.ts +2 -0
  26. package/es/settings/meta/number.js +69 -0
  27. package/es/settings/meta/radio.d.ts +2 -0
  28. package/es/settings/meta/radio.js +65 -0
  29. package/es/settings/meta/rate.d.ts +2 -0
  30. package/es/settings/meta/rate.js +56 -0
  31. package/es/settings/meta/select.d.ts +2 -0
  32. package/es/settings/meta/select.js +58 -0
  33. package/es/settings/meta/slider.d.ts +2 -0
  34. package/es/settings/meta/slider.js +40 -0
  35. package/es/settings/meta/switch.d.ts +2 -0
  36. package/es/settings/meta/switch.js +48 -0
  37. package/es/settings/meta/textarea.d.ts +2 -0
  38. package/es/settings/meta/textarea.js +69 -0
  39. package/es/settings/meta/time.d.ts +2 -0
  40. package/es/settings/meta/time.js +29 -0
  41. package/es/settings/meta/timeRange.d.ts +2 -0
  42. package/es/settings/meta/timeRange.js +37 -0
  43. package/es/settings/meta/treeSelect.d.ts +2 -0
  44. package/es/settings/meta/treeSelect.js +85 -0
  45. package/es/settings/meta/urlInput.d.ts +2 -0
  46. package/es/settings/meta/urlInput.js +34 -0
  47. package/es/settings/utils.d.ts +110 -0
  48. package/es/settings/utils.js +251 -0
  49. package/es/type.d.ts +1 -0
  50. package/lib/createIframe.js +1 -1
  51. package/lib/main.js +2 -1
  52. package/lib/settings/index.d.ts +21 -0
  53. package/lib/settings/index.js +153 -0
  54. package/lib/settings/meta/card.d.ts +2 -0
  55. package/lib/settings/meta/card.js +114 -0
  56. package/lib/settings/meta/cardList.d.ts +2 -0
  57. package/lib/settings/meta/cardList.js +209 -0
  58. package/lib/settings/meta/checkbox.d.ts +2 -0
  59. package/lib/settings/meta/checkbox.js +35 -0
  60. package/lib/settings/meta/checkboxes.d.ts +2 -0
  61. package/lib/settings/meta/checkboxes.js +72 -0
  62. package/lib/settings/meta/color.d.ts +2 -0
  63. package/lib/settings/meta/color.js +27 -0
  64. package/lib/settings/meta/date.d.ts +2 -0
  65. package/lib/settings/meta/date.js +34 -0
  66. package/lib/settings/meta/dateRange.d.ts +2 -0
  67. package/lib/settings/meta/dateRange.js +43 -0
  68. package/lib/settings/meta/form.d.ts +2 -0
  69. package/lib/settings/meta/form.js +121 -0
  70. package/lib/settings/meta/imageInput.d.ts +2 -0
  71. package/lib/settings/meta/imageInput.js +27 -0
  72. package/lib/settings/meta/input.d.ts +2 -0
  73. package/lib/settings/meta/input.js +68 -0
  74. package/lib/settings/meta/number.d.ts +2 -0
  75. package/lib/settings/meta/number.js +75 -0
  76. package/lib/settings/meta/radio.d.ts +2 -0
  77. package/lib/settings/meta/radio.js +71 -0
  78. package/lib/settings/meta/rate.d.ts +2 -0
  79. package/lib/settings/meta/rate.js +62 -0
  80. package/lib/settings/meta/select.d.ts +2 -0
  81. package/lib/settings/meta/select.js +64 -0
  82. package/lib/settings/meta/slider.d.ts +2 -0
  83. package/lib/settings/meta/slider.js +46 -0
  84. package/lib/settings/meta/switch.d.ts +2 -0
  85. package/lib/settings/meta/switch.js +54 -0
  86. package/lib/settings/meta/textarea.d.ts +2 -0
  87. package/lib/settings/meta/textarea.js +75 -0
  88. package/lib/settings/meta/time.d.ts +2 -0
  89. package/lib/settings/meta/time.js +35 -0
  90. package/lib/settings/meta/timeRange.d.ts +2 -0
  91. package/lib/settings/meta/timeRange.js +43 -0
  92. package/lib/settings/meta/treeSelect.d.ts +2 -0
  93. package/lib/settings/meta/treeSelect.js +91 -0
  94. package/lib/settings/meta/urlInput.d.ts +2 -0
  95. package/lib/settings/meta/urlInput.js +40 -0
  96. package/lib/settings/utils.d.ts +110 -0
  97. package/lib/settings/utils.js +258 -0
  98. package/lib/type.d.ts +1 -0
  99. package/package.json +1 -1
@@ -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,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -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,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -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,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -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
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,40 @@
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)('UrlInput', {
9
+ title: '链接输入框',
10
+ category: '其他',
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.addonText',
22
+ title: {
23
+ label: '按钮文案',
24
+ tip: '跳转按钮的文案配置'
25
+ },
26
+ defaultValue: '测试链接',
27
+ setter: 'StringSetter'
28
+ }]
29
+ }],
30
+ snippets: [{
31
+ title: '链接输入框',
32
+ screenshot: 'icon-link',
33
+ schema: {
34
+ componentName: 'UrlInput',
35
+ props: {
36
+ title: '链接输入框'
37
+ }
38
+ }
39
+ }]
40
+ });
@@ -0,0 +1,110 @@
1
+ export declare const inputPropsBasic: ({
2
+ name: string;
3
+ title: {
4
+ label: string;
5
+ tip: string;
6
+ };
7
+ setter: string;
8
+ condition?: undefined;
9
+ } | {
10
+ name: string;
11
+ title: {
12
+ label: string;
13
+ tip: string;
14
+ };
15
+ setter: string;
16
+ condition: (target: any) => boolean;
17
+ })[];
18
+ export declare const notInputPropsBasic: ({
19
+ name: string;
20
+ title: {
21
+ label: string;
22
+ tip: string;
23
+ };
24
+ setter: string;
25
+ condition?: undefined;
26
+ } | {
27
+ name: string;
28
+ title: {
29
+ label: string;
30
+ tip: string;
31
+ };
32
+ setter: string;
33
+ condition: (target: any) => boolean;
34
+ })[];
35
+ export declare const optionsProp: {
36
+ display: string;
37
+ name: string;
38
+ title: {
39
+ label: string;
40
+ tip: string;
41
+ };
42
+ setter: {
43
+ componentName: string;
44
+ props: {
45
+ itemSetter: {
46
+ componentName: string;
47
+ initialValue: () => {
48
+ label: string;
49
+ value: string;
50
+ };
51
+ props: {
52
+ config: {
53
+ items: ({
54
+ name: string;
55
+ title: string;
56
+ important: boolean;
57
+ setter: string;
58
+ } | {
59
+ name: string;
60
+ title: string;
61
+ setter: string[];
62
+ important: boolean;
63
+ } | {
64
+ name: string;
65
+ title: string;
66
+ setter: string;
67
+ important?: undefined;
68
+ })[];
69
+ };
70
+ };
71
+ };
72
+ };
73
+ };
74
+ };
75
+ export declare const getInputPropsBasic: (defaultValueProp: any, placeholder?: any) => ({
76
+ name: string;
77
+ title: {
78
+ label: string;
79
+ tip: string;
80
+ };
81
+ setter: string;
82
+ condition?: undefined;
83
+ } | {
84
+ name: string;
85
+ title: {
86
+ label: string;
87
+ tip: string;
88
+ };
89
+ setter: string;
90
+ condition: (target: any) => boolean;
91
+ })[];
92
+ export declare const getNotInputPropsBasic: (defaultValueProp: any) => ({
93
+ name: string;
94
+ title: {
95
+ label: string;
96
+ tip: string;
97
+ };
98
+ setter: string;
99
+ condition?: undefined;
100
+ } | {
101
+ name: string;
102
+ title: {
103
+ label: string;
104
+ tip: string;
105
+ };
106
+ setter: string;
107
+ condition: (target: any) => boolean;
108
+ })[];
109
+ export declare const uuid: () => string;
110
+ export declare const createMeta: (componentName: string, params: any) => any;
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.uuid = exports.optionsProp = exports.notInputPropsBasic = exports.inputPropsBasic = exports.getNotInputPropsBasic = exports.getInputPropsBasic = exports.createMeta = void 0;
7
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ var inputPropsBasic = exports.inputPropsBasic = [{
16
+ name: 'title',
17
+ title: {
18
+ label: '标题',
19
+ tip: 'title | 标题'
20
+ },
21
+ setter: 'StringSetter'
22
+ }, {
23
+ name: 'code',
24
+ title: {
25
+ label: '字段名',
26
+ tip: 'key | 字段名'
27
+ },
28
+ setter: 'StringSetter'
29
+ }, {
30
+ name: 'defaultValue',
31
+ title: {
32
+ label: '默认值',
33
+ tip: 'defaultValue | 默认值'
34
+ },
35
+ setter: 'StringSetter'
36
+ }, {
37
+ name: 'props.placeholder',
38
+ title: {
39
+ label: '提示文案',
40
+ tip: 'placeholder | 提示文案'
41
+ },
42
+ setter: 'StringSetter'
43
+ }, {
44
+ name: 'description',
45
+ title: {
46
+ label: '补充说明',
47
+ tip: 'description | 补充说明'
48
+ },
49
+ setter: 'StringSetter'
50
+ }, {
51
+ name: 'tooltip.title',
52
+ title: {
53
+ label: '气泡提示',
54
+ tip: 'tooltip.title | 气泡提示文案'
55
+ },
56
+ setter: 'StringSetter'
57
+ }, {
58
+ name: 'extra',
59
+ title: {
60
+ label: '额外提示',
61
+ tip: 'extra | 额外的提示信息'
62
+ },
63
+ setter: 'StringSetter'
64
+ }, {
65
+ name: 'disabled',
66
+ title: {
67
+ label: '禁用',
68
+ tip: 'disabled | 禁用'
69
+ },
70
+ setter: 'FrExpressionSetter'
71
+ }, {
72
+ name: 'hidden',
73
+ title: {
74
+ label: '隐藏',
75
+ tip: 'hidden | 隐藏'
76
+ },
77
+ setter: 'FrExpressionSetter'
78
+ }, {
79
+ name: 'readOnly',
80
+ title: {
81
+ label: '只读',
82
+ tip: 'readOnly | 只读'
83
+ },
84
+ setter: 'FrExpressionSetter'
85
+ }, {
86
+ name: 'readOnlyWidget',
87
+ title: {
88
+ label: '只读组件',
89
+ tip: 'readOnlyWidget | 只读组件'
90
+ },
91
+ setter: 'StringSetter',
92
+ condition: function condition(target) {
93
+ return !!target.getProps().getPropValue('readOnly');
94
+ }
95
+ }];
96
+ var notInputPropsBasic = exports.notInputPropsBasic = [{
97
+ name: 'title',
98
+ title: {
99
+ label: '标题',
100
+ tip: 'title | 标题'
101
+ },
102
+ setter: 'StringSetter'
103
+ }, {
104
+ name: 'code',
105
+ title: {
106
+ label: '字段名',
107
+ tip: 'key | 字段名'
108
+ },
109
+ setter: 'StringSetter'
110
+ }, {
111
+ name: 'defaultValue',
112
+ title: {
113
+ label: '默认值',
114
+ tip: 'defaultValue | 默认值'
115
+ },
116
+ setter: 'StringSetter'
117
+ }, {
118
+ name: 'description',
119
+ title: {
120
+ label: '补充说明',
121
+ tip: 'description | 补充说明'
122
+ },
123
+ setter: 'StringSetter'
124
+ }, {
125
+ name: 'tooltip',
126
+ title: {
127
+ label: '气泡提示',
128
+ tip: 'tooltip | 气泡提示文案'
129
+ },
130
+ setter: 'StringSetter'
131
+ }, {
132
+ name: 'extra',
133
+ title: {
134
+ label: '额外提示',
135
+ tip: 'extra | 额外的提示信息'
136
+ },
137
+ setter: 'StringSetter'
138
+ }, {
139
+ name: 'disabled',
140
+ title: {
141
+ label: '禁用',
142
+ tip: 'disabled | 禁用'
143
+ },
144
+ setter: 'FrExpressionSetter'
145
+ }, {
146
+ name: 'hidden',
147
+ title: {
148
+ label: '隐藏',
149
+ tip: 'hidden | 隐藏'
150
+ },
151
+ setter: 'FrExpressionSetter'
152
+ }, {
153
+ name: 'readOnly',
154
+ title: {
155
+ label: '只读',
156
+ tip: 'readOnly | 只读'
157
+ },
158
+ setter: 'FrExpressionSetter'
159
+ }, {
160
+ name: 'readOnlyWidget',
161
+ title: {
162
+ label: '只读组件',
163
+ tip: 'readOnlyWidget | 只读组件'
164
+ },
165
+ setter: 'StringSetter',
166
+ condition: function condition(target) {
167
+ return !!target.getProps().getPropValue('readOnly');
168
+ }
169
+ }];
170
+ var optionsProp = exports.optionsProp = {
171
+ display: 'accordion',
172
+ name: 'props.options',
173
+ title: {
174
+ label: '选项配置',
175
+ tip: 'options | 选项配置'
176
+ },
177
+ setter: {
178
+ componentName: 'ArraySetter',
179
+ props: {
180
+ itemSetter: {
181
+ componentName: 'ObjectSetter',
182
+ initialValue: function initialValue() {
183
+ return {
184
+ label: '选项名',
185
+ value: uuid()
186
+ };
187
+ },
188
+ props: {
189
+ config: {
190
+ items: [{
191
+ name: 'label',
192
+ title: '选项名',
193
+ important: true,
194
+ setter: 'StringSetter'
195
+ }, {
196
+ name: 'value',
197
+ title: '选项值',
198
+ setter: ['StringSetter', 'NumberSetter'],
199
+ important: true
200
+ }, {
201
+ name: 'disabled',
202
+ title: '禁用',
203
+ setter: 'JsonSetter'
204
+ }]
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ };
211
+ var getInputPropsBasic = exports.getInputPropsBasic = function getInputPropsBasic(defaultValueProp, placeholder) {
212
+ var result = (0, _cloneDeep.default)(inputPropsBasic);
213
+ result.splice(2, 0, defaultValueProp);
214
+ if (placeholder) {
215
+ result.splice(3, 0, defaultValueProp);
216
+ }
217
+ return result;
218
+ };
219
+ var getNotInputPropsBasic = exports.getNotInputPropsBasic = function getNotInputPropsBasic(defaultValueProp) {
220
+ var result = (0, _cloneDeep.default)(notInputPropsBasic);
221
+ result.splice(2, 0, defaultValueProp);
222
+ return result;
223
+ };
224
+ var uuid = exports.uuid = function uuid() {
225
+ return (Math.random() * 1e6 >> 0).toString(36);
226
+ };
227
+ var createMeta = exports.createMeta = function createMeta(componentName, params) {
228
+ return _objectSpread({
229
+ componentName: componentName,
230
+ docUrl: '',
231
+ screenshot: '',
232
+ devMode: 'proCode',
233
+ npm: {
234
+ package: '@ali/form-render-material',
235
+ version: '1.0.0',
236
+ exportName: componentName,
237
+ main: 'src/index.tsx',
238
+ destructuring: true,
239
+ subName: ''
240
+ },
241
+ configure: {
242
+ supports: {
243
+ loop: false,
244
+ condition: false
245
+ },
246
+ component: {
247
+ isContainer: false,
248
+ isModal: false,
249
+ nestingRule: {
250
+ parentWhitelist: ['FormRender', 'Card', 'CardList', 'TableList']
251
+ }
252
+ }
253
+ },
254
+ group: '基础组件',
255
+ category: '常用',
256
+ icon: 'https://img.alicdn.com/imgextra/i4/O1CN01gxzRdT1hm9KXRbZkU_!!6000000004319-2-tps-200-200.png'
257
+ }, params);
258
+ };
package/lib/type.d.ts CHANGED
@@ -26,6 +26,7 @@ export interface TSchemaBuilder {
26
26
  defaultValue?: TSchema;
27
27
  widgets?: any;
28
28
  settings?: any;
29
+ editorWidgets?: any;
29
30
  onMount?: () => void;
30
31
  [key: string]: any;
31
32
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xrenders/schema-builder",
3
- "version": "1.0.0-alpha.17",
3
+ "version": "1.0.0-alpha.19",
4
4
  "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成",
5
5
  "keywords": [
6
6
  "Form",