@vxe-ui/plugin-render-antd 4.2.3 → 4.3.0

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 (42) hide show
  1. package/dist/index.umd.js +15 -12
  2. package/dist/index.umd.min.js +1 -1
  3. package/es/form/index.js +265 -0
  4. package/es/form-design/checkbox-widget.js +148 -0
  5. package/es/form-design/date-picker-widget.js +130 -0
  6. package/es/form-design/index.js +97 -0
  7. package/es/form-design/input-widget.js +130 -0
  8. package/es/form-design/number-input-widget.js +130 -0
  9. package/es/form-design/radio-widget.js +148 -0
  10. package/es/form-design/select-widget.js +140 -0
  11. package/es/form-design/switch-widget.js +126 -0
  12. package/es/form-design/textarea-widget.js +134 -0
  13. package/es/form-design/use.js +226 -0
  14. package/es/index.esm.js +105 -0
  15. package/es/index.js +105 -0
  16. package/es/store/index.js +2 -0
  17. package/es/style.css +63 -0
  18. package/es/style.min.css +1 -0
  19. package/es/table/index.js +472 -0
  20. package/es/util/comp.js +9 -0
  21. package/{dist → lib}/form/index.js +3 -0
  22. package/{dist → lib}/index.common.js +3 -3
  23. package/{dist → lib}/index.js +3 -3
  24. package/lib/index.umd.js +2731 -0
  25. package/lib/index.umd.min.js +1 -0
  26. package/lib/style.css +63 -0
  27. package/lib/style.min.css +1 -0
  28. package/package.json +14 -17
  29. package/src/form/index.ts +5 -2
  30. /package/{dist → lib}/form-design/checkbox-widget.js +0 -0
  31. /package/{dist → lib}/form-design/date-picker-widget.js +0 -0
  32. /package/{dist → lib}/form-design/index.js +0 -0
  33. /package/{dist → lib}/form-design/input-widget.js +0 -0
  34. /package/{dist → lib}/form-design/number-input-widget.js +0 -0
  35. /package/{dist → lib}/form-design/radio-widget.js +0 -0
  36. /package/{dist → lib}/form-design/select-widget.js +0 -0
  37. /package/{dist → lib}/form-design/switch-widget.js +0 -0
  38. /package/{dist → lib}/form-design/textarea-widget.js +0 -0
  39. /package/{dist → lib}/form-design/use.js +0 -0
  40. /package/{dist → lib}/store/index.js +0 -0
  41. /package/{dist → lib}/table/index.js +0 -0
  42. /package/{dist → lib}/util/comp.js +0 -0
@@ -0,0 +1,148 @@
1
+ import { defineComponent, h, computed } from 'vue';
2
+ import { useWidgetPropDataSource } from './use';
3
+ import { getCurrComponent } from '../util/comp';
4
+ import XEUtils from 'xe-utils';
5
+ export function createWidgetARadio(VxeUI) {
6
+ const getWidgetARadioConfig = (params) => {
7
+ return {
8
+ title: '单选框',
9
+ icon: 'vxe-icon-radio-checked',
10
+ options: {
11
+ options: XEUtils.range(0, 3).map((v, i) => {
12
+ return {
13
+ value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
14
+ };
15
+ })
16
+ }
17
+ };
18
+ };
19
+ const WidgetARadioFormComponent = defineComponent({
20
+ props: {
21
+ renderOpts: {
22
+ type: Object,
23
+ default: () => ({})
24
+ },
25
+ renderParams: {
26
+ type: Object,
27
+ default: () => ({})
28
+ }
29
+ },
30
+ emits: [],
31
+ setup(props) {
32
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
33
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
34
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
35
+ const VxeUIInputComponent = VxeUI.getComponent('VxeInput');
36
+ const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false);
37
+ return () => {
38
+ const { renderParams } = props;
39
+ const { widget } = renderParams;
40
+ return h(VxeUIFormComponent, {
41
+ class: 'vxe-form-design--widget-render-form-wrapper',
42
+ vertical: true,
43
+ span: 24,
44
+ titleBold: true,
45
+ titleOverflow: true,
46
+ data: widget.options
47
+ }, {
48
+ default() {
49
+ return [
50
+ h(VxeUIFormItemComponent, {
51
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
52
+ }, {
53
+ default() {
54
+ return h(VxeUIInputComponent, {
55
+ modelValue: widget.title,
56
+ 'onUpdate:modelValue'(val) {
57
+ widget.title = val;
58
+ }
59
+ });
60
+ }
61
+ }),
62
+ h(VxeUIFormItemComponent, {
63
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
64
+ field: 'placeholder',
65
+ itemRender: { name: 'ElInput' }
66
+ }),
67
+ h(VxeUIFormItemComponent, {
68
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
69
+ }, {
70
+ default() {
71
+ return h(VxeUISwitchComponent, {
72
+ modelValue: widget.required,
73
+ 'onUpdate:modelValue'(val) {
74
+ widget.required = val;
75
+ }
76
+ });
77
+ }
78
+ }),
79
+ renderDataSourceFormItem()
80
+ ];
81
+ }
82
+ });
83
+ };
84
+ }
85
+ });
86
+ const WidgetARadioViewComponent = defineComponent({
87
+ props: {
88
+ renderOpts: {
89
+ type: Object,
90
+ default: () => ({})
91
+ },
92
+ renderParams: {
93
+ type: Object,
94
+ default: () => ({})
95
+ }
96
+ },
97
+ emits: [],
98
+ setup(props) {
99
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
100
+ const radioOptions = computed(() => {
101
+ const { renderParams } = props;
102
+ const { widget } = renderParams;
103
+ const { options } = widget;
104
+ return options.options.map(item => {
105
+ return {
106
+ label: item.value,
107
+ value: item.value
108
+ };
109
+ });
110
+ });
111
+ const changeEvent = () => {
112
+ const { renderParams } = props;
113
+ const { widget, $formView } = renderParams;
114
+ if ($formView) {
115
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
116
+ $formView.updateWidgetStatus(widget, itemValue);
117
+ }
118
+ };
119
+ return () => {
120
+ const { renderParams } = props;
121
+ const { widget, $formView } = renderParams;
122
+ return h(VxeUIFormItemComponent, {
123
+ class: ['vxe-form-design--widget-render-form-item'],
124
+ field: widget.field,
125
+ title: widget.title
126
+ }, {
127
+ default() {
128
+ return h(getCurrComponent('a-radio-group'), {
129
+ value: $formView ? $formView.getItemValue(widget) : null,
130
+ options: radioOptions.value,
131
+ onChange: changeEvent,
132
+ 'onUpdate:value'(val) {
133
+ if ($formView) {
134
+ $formView.setItemValue(widget, val);
135
+ }
136
+ }
137
+ });
138
+ }
139
+ });
140
+ };
141
+ }
142
+ });
143
+ return {
144
+ getWidgetARadioConfig,
145
+ WidgetARadioFormComponent,
146
+ WidgetARadioViewComponent
147
+ };
148
+ }
@@ -0,0 +1,140 @@
1
+ import { defineComponent, h } from 'vue';
2
+ import { useWidgetPropDataSource } from './use';
3
+ import { getCurrComponent } from '../util/comp';
4
+ import XEUtils from 'xe-utils';
5
+ export function createWidgetASelect(VxeUI) {
6
+ const getWidgetASelectConfig = (params) => {
7
+ return {
8
+ title: '下拉框',
9
+ icon: 'vxe-icon-select',
10
+ options: {
11
+ placeholder: '请选择',
12
+ options: XEUtils.range(0, 3).map((v, i) => {
13
+ return {
14
+ value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
15
+ };
16
+ })
17
+ }
18
+ };
19
+ };
20
+ const WidgetASelectFormComponent = defineComponent({
21
+ props: {
22
+ renderOpts: {
23
+ type: Object,
24
+ default: () => ({})
25
+ },
26
+ renderParams: {
27
+ type: Object,
28
+ default: () => ({})
29
+ }
30
+ },
31
+ emits: [],
32
+ setup(props) {
33
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
34
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
35
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
36
+ const VxeUIInputComponent = VxeUI.getComponent('VxeInput');
37
+ const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false);
38
+ return () => {
39
+ const { renderParams } = props;
40
+ const { widget } = renderParams;
41
+ return h(VxeUIFormComponent, {
42
+ class: 'vxe-form-design--widget-render-form-wrapper',
43
+ vertical: true,
44
+ span: 24,
45
+ titleBold: true,
46
+ titleOverflow: true,
47
+ data: widget.options
48
+ }, {
49
+ default() {
50
+ return [
51
+ h(VxeUIFormItemComponent, {
52
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
53
+ }, {
54
+ default() {
55
+ return h(VxeUIInputComponent, {
56
+ modelValue: widget.title,
57
+ 'onUpdate:modelValue'(val) {
58
+ widget.title = val;
59
+ }
60
+ });
61
+ }
62
+ }),
63
+ h(VxeUIFormItemComponent, {
64
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
65
+ field: 'placeholder',
66
+ itemRender: { name: 'ElInput' }
67
+ }),
68
+ h(VxeUIFormItemComponent, {
69
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
70
+ }, {
71
+ default() {
72
+ return h(VxeUISwitchComponent, {
73
+ modelValue: widget.required,
74
+ 'onUpdate:modelValue'(val) {
75
+ widget.required = val;
76
+ }
77
+ });
78
+ }
79
+ }),
80
+ renderDataSourceFormItem()
81
+ ];
82
+ }
83
+ });
84
+ };
85
+ }
86
+ });
87
+ const WidgetASelectViewComponent = defineComponent({
88
+ props: {
89
+ renderOpts: {
90
+ type: Object,
91
+ default: () => ({})
92
+ },
93
+ renderParams: {
94
+ type: Object,
95
+ default: () => ({})
96
+ }
97
+ },
98
+ emits: [],
99
+ setup(props) {
100
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
101
+ const changeEvent = () => {
102
+ const { renderParams } = props;
103
+ const { widget, $formView } = renderParams;
104
+ if ($formView) {
105
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
106
+ $formView.updateWidgetStatus(widget, itemValue);
107
+ }
108
+ };
109
+ return () => {
110
+ const { renderParams } = props;
111
+ const { widget, $formView } = renderParams;
112
+ const { options } = widget;
113
+ return h(VxeUIFormItemComponent, {
114
+ class: ['vxe-form-design--widget-render-form-item'],
115
+ field: widget.field,
116
+ title: widget.title
117
+ }, {
118
+ default() {
119
+ return h(getCurrComponent('a-select'), {
120
+ value: $formView ? $formView.getItemValue(widget) : null,
121
+ options: options.options,
122
+ placeholder: options.placeholder,
123
+ onChange: changeEvent,
124
+ 'onUpdate:value'(val) {
125
+ if ($formView) {
126
+ $formView.setItemValue(widget, val);
127
+ }
128
+ }
129
+ });
130
+ }
131
+ });
132
+ };
133
+ }
134
+ });
135
+ return {
136
+ getWidgetASelectConfig,
137
+ WidgetASelectFormComponent,
138
+ WidgetASelectViewComponent
139
+ };
140
+ }
@@ -0,0 +1,126 @@
1
+ import { defineComponent, h } from 'vue';
2
+ import { getCurrComponent } from '../util/comp';
3
+ export function createWidgetASwitch(VxeUI) {
4
+ const getWidgetASwitchConfig = (params) => {
5
+ return {
6
+ title: '是/否',
7
+ icon: 'vxe-icon-switch',
8
+ options: {}
9
+ };
10
+ };
11
+ const WidgetASwitchFormComponent = defineComponent({
12
+ props: {
13
+ renderOpts: {
14
+ type: Object,
15
+ default: () => ({})
16
+ },
17
+ renderParams: {
18
+ type: Object,
19
+ default: () => ({})
20
+ }
21
+ },
22
+ emits: [],
23
+ setup(props) {
24
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
25
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
26
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
27
+ const VxeUIInputComponent = VxeUI.getComponent('VxeInput');
28
+ return () => {
29
+ const { renderParams } = props;
30
+ const { widget } = renderParams;
31
+ return h(VxeUIFormComponent, {
32
+ class: 'vxe-form-design--widget-render-form-wrapper',
33
+ vertical: true,
34
+ span: 24,
35
+ titleBold: true,
36
+ titleOverflow: true,
37
+ data: widget.options
38
+ }, {
39
+ default() {
40
+ return [
41
+ h(VxeUIFormItemComponent, {
42
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
43
+ }, {
44
+ default() {
45
+ return h(VxeUIInputComponent, {
46
+ modelValue: widget.title,
47
+ 'onUpdate:modelValue'(val) {
48
+ widget.title = val;
49
+ }
50
+ });
51
+ }
52
+ }),
53
+ h(VxeUIFormItemComponent, {
54
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
55
+ field: 'placeholder',
56
+ itemRender: { name: 'ElInput' }
57
+ }),
58
+ h(VxeUIFormItemComponent, {
59
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
60
+ }, {
61
+ default() {
62
+ return h(VxeUISwitchComponent, {
63
+ modelValue: widget.required,
64
+ 'onUpdate:modelValue'(val) {
65
+ widget.required = val;
66
+ }
67
+ });
68
+ }
69
+ })
70
+ ];
71
+ }
72
+ });
73
+ };
74
+ }
75
+ });
76
+ const WidgetASwitchViewComponent = defineComponent({
77
+ props: {
78
+ renderOpts: {
79
+ type: Object,
80
+ default: () => ({})
81
+ },
82
+ renderParams: {
83
+ type: Object,
84
+ default: () => ({})
85
+ }
86
+ },
87
+ emits: [],
88
+ setup(props) {
89
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
90
+ const changeEvent = () => {
91
+ const { renderParams } = props;
92
+ const { widget, $formView } = renderParams;
93
+ if ($formView) {
94
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
95
+ $formView.updateWidgetStatus(widget, itemValue);
96
+ }
97
+ };
98
+ return () => {
99
+ const { renderParams } = props;
100
+ const { widget, $formView } = renderParams;
101
+ return h(VxeUIFormItemComponent, {
102
+ class: ['vxe-form-design--widget-render-form-item'],
103
+ field: widget.field,
104
+ title: widget.title
105
+ }, {
106
+ default() {
107
+ return h(getCurrComponent('a-switch'), {
108
+ checked: $formView ? $formView.getItemValue(widget) : null,
109
+ onChange: changeEvent,
110
+ 'onUpdate:checked'(val) {
111
+ if ($formView) {
112
+ $formView.setItemValue(widget, val);
113
+ }
114
+ }
115
+ });
116
+ }
117
+ });
118
+ };
119
+ }
120
+ });
121
+ return {
122
+ getWidgetASwitchConfig,
123
+ WidgetASwitchFormComponent,
124
+ WidgetASwitchViewComponent
125
+ };
126
+ }
@@ -0,0 +1,134 @@
1
+ import { defineComponent, h } from 'vue';
2
+ import { getCurrComponent } from '../util/comp';
3
+ export function createWidgetATextarea(VxeUI) {
4
+ const getWidgetATextareaConfig = (params) => {
5
+ return {
6
+ title: '文本域',
7
+ icon: 'vxe-icon-textarea',
8
+ options: {
9
+ placeholder: '请输入'
10
+ }
11
+ };
12
+ };
13
+ const WidgetATextareaFormComponent = defineComponent({
14
+ props: {
15
+ renderOpts: {
16
+ type: Object,
17
+ default: () => ({})
18
+ },
19
+ renderParams: {
20
+ type: Object,
21
+ default: () => ({})
22
+ }
23
+ },
24
+ emits: [],
25
+ setup(props) {
26
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
27
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
28
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
29
+ const VxeUIInputComponent = VxeUI.getComponent('VxeInput');
30
+ return () => {
31
+ const { renderParams } = props;
32
+ const { widget } = renderParams;
33
+ return h(VxeUIFormComponent, {
34
+ class: 'vxe-form-design--widget-render-form-wrapper',
35
+ vertical: true,
36
+ span: 24,
37
+ titleBold: true,
38
+ titleOverflow: true,
39
+ data: widget.options
40
+ }, {
41
+ default() {
42
+ return [
43
+ h(VxeUIFormItemComponent, {
44
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
45
+ }, {
46
+ default() {
47
+ return h(VxeUIInputComponent, {
48
+ modelValue: widget.title,
49
+ 'onUpdate:modelValue'(val) {
50
+ widget.title = val;
51
+ }
52
+ });
53
+ }
54
+ }),
55
+ h(VxeUIFormItemComponent, {
56
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
57
+ field: 'placeholder',
58
+ itemRender: { name: 'ElInput' }
59
+ }),
60
+ h(VxeUIFormItemComponent, {
61
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
62
+ }, {
63
+ default() {
64
+ return h(VxeUISwitchComponent, {
65
+ modelValue: widget.required,
66
+ 'onUpdate:modelValue'(val) {
67
+ widget.required = val;
68
+ }
69
+ });
70
+ }
71
+ })
72
+ ];
73
+ }
74
+ });
75
+ };
76
+ }
77
+ });
78
+ const WidgetATextareaViewComponent = defineComponent({
79
+ props: {
80
+ renderOpts: {
81
+ type: Object,
82
+ default: () => ({})
83
+ },
84
+ renderParams: {
85
+ type: Object,
86
+ default: () => ({})
87
+ }
88
+ },
89
+ emits: [],
90
+ setup(props) {
91
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
92
+ const changeEvent = () => {
93
+ const { renderParams } = props;
94
+ const { widget, $formView } = renderParams;
95
+ if ($formView) {
96
+ const itemValue = $formView ? $formView.getItemValue(widget) : null;
97
+ $formView.updateWidgetStatus(widget, itemValue);
98
+ }
99
+ };
100
+ return () => {
101
+ const { renderParams } = props;
102
+ const { widget, $formView } = renderParams;
103
+ const { options } = widget;
104
+ return h(VxeUIFormItemComponent, {
105
+ class: ['vxe-form-design--widget-render-form-item'],
106
+ field: widget.field,
107
+ title: widget.title
108
+ }, {
109
+ default() {
110
+ return h(getCurrComponent('a-textarea'), {
111
+ value: $formView ? $formView.getItemValue(widget) : null,
112
+ placeholder: options.placeholder,
113
+ autoSize: {
114
+ minRows: 2,
115
+ maxRows: 4
116
+ },
117
+ onChange: changeEvent,
118
+ 'onUpdate:value'(val) {
119
+ if ($formView) {
120
+ $formView.setItemValue(widget, val);
121
+ }
122
+ }
123
+ });
124
+ }
125
+ });
126
+ };
127
+ }
128
+ });
129
+ return {
130
+ getWidgetATextareaConfig,
131
+ WidgetATextareaFormComponent,
132
+ WidgetATextareaViewComponent
133
+ };
134
+ }