@vxe-ui/plugin-render-element 4.0.7 → 4.0.9

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.
@@ -1,101 +1,101 @@
1
- import { h } from 'vue'
2
- import { createWidgetElInput } from './input-widget'
3
- import { createWidgetElTextarea } from './textarea-widget'
4
- import { createWidgetElInputNumber } from './number-input-widget'
5
- import { createWidgetElDatePicker } from './date-picker-widget'
6
- import { createWidgetElSelect } from './select-widget'
7
- import { createWidgetElRadio } from './radio-widget'
8
- import { createWidgetElCheckbox } from './checkbox-widget'
9
- import { createWidgetElSwitch } from './switch-widget'
10
-
11
- import type { VxeUIExport } from 'vxe-pc-ui'
12
-
13
- /**
14
- * 表单设计器 - 渲染器
15
- */
16
- export function defineFormDesignRender (VxeUI: VxeUIExport) {
17
- const { getWidgetElInputConfig, WidgetElInputViewComponent, WidgetElInputFormComponent } = createWidgetElInput(VxeUI)
18
- const { getWidgetElTextareaConfig, WidgetElTextareaViewComponent, WidgetElTextareaFormComponent } = createWidgetElTextarea(VxeUI)
19
- const { getWidgetElInputNumberConfig, WidgetElInputNumberViewComponent, WidgetElInputNumberFormComponent } = createWidgetElInputNumber(VxeUI)
20
- const { getWidgetElDatePickerConfig, WidgetElDatePickerViewComponent, WidgetElDatePickerFormComponent } = createWidgetElDatePicker(VxeUI)
21
- const { getWidgetElSelectConfig, WidgetElSelectViewComponent, WidgetElSelectFormComponent } = createWidgetElSelect(VxeUI)
22
- const { getWidgetElRadioConfig, WidgetElRadioViewComponent, WidgetElRadioFormComponent } = createWidgetElRadio(VxeUI)
23
- const { getWidgetElCheckboxConfig, WidgetElCheckboxViewComponent, WidgetElCheckboxFormComponent } = createWidgetElCheckbox(VxeUI)
24
- const { getWidgetElSwitchConfig, WidgetElSwitchViewComponent, WidgetElSwitchFormComponent } = createWidgetElSwitch(VxeUI)
25
-
26
- VxeUI.renderer.mixin({
27
- ElInputWidget: {
28
- createFormDesignWidgetConfig: getWidgetElInputConfig,
29
- renderFormDesignWidgetView (renderOpts, renderParams) {
30
- return h(WidgetElInputViewComponent, { renderOpts, renderParams })
31
- },
32
- renderFormDesignWidgetFormView (renderOpts, renderParams) {
33
- return h(WidgetElInputFormComponent, { renderOpts, renderParams })
34
- }
35
- },
36
- ElTextareaWidget: {
37
- createFormDesignWidgetConfig: getWidgetElTextareaConfig,
38
- renderFormDesignWidgetView (renderOpts, renderParams) {
39
- return h(WidgetElTextareaViewComponent, { renderOpts, renderParams })
40
- },
41
- renderFormDesignWidgetFormView (renderOpts, renderParams) {
42
- return h(WidgetElTextareaFormComponent, { renderOpts, renderParams })
43
- }
44
- },
45
- ElNumberInputWidget: {
46
- createFormDesignWidgetConfig: getWidgetElInputNumberConfig,
47
- renderFormDesignWidgetView (renderOpts, renderParams) {
48
- return h(WidgetElInputNumberViewComponent, { renderOpts, renderParams })
49
- },
50
- renderFormDesignWidgetFormView (renderOpts, renderParams) {
51
- return h(WidgetElInputNumberFormComponent, { renderOpts, renderParams })
52
- }
53
- },
54
- ElDatePickerWidget: {
55
- createFormDesignWidgetConfig: getWidgetElDatePickerConfig,
56
- renderFormDesignWidgetView (renderOpts, renderParams) {
57
- return h(WidgetElDatePickerViewComponent, { renderOpts, renderParams })
58
- },
59
- renderFormDesignWidgetFormView (renderOpts, renderParams) {
60
- return h(WidgetElDatePickerFormComponent, { renderOpts, renderParams })
61
- }
62
- },
63
- ElSelectWidget: {
64
- createFormDesignWidgetConfig: getWidgetElSelectConfig,
65
- renderFormDesignWidgetView (renderOpts, renderParams) {
66
- return h(WidgetElSelectViewComponent, { renderOpts, renderParams })
67
- },
68
- renderFormDesignWidgetFormView (renderOpts, renderParams) {
69
- return h(WidgetElSelectFormComponent, { renderOpts, renderParams })
70
- }
71
- },
72
- ElRadioWidget: {
73
- createFormDesignWidgetConfig: getWidgetElRadioConfig,
74
- renderFormDesignWidgetView (renderOpts, renderParams) {
75
- return h(WidgetElRadioViewComponent, { renderOpts, renderParams })
76
- },
77
- renderFormDesignWidgetFormView (renderOpts, renderParams) {
78
- return h(WidgetElRadioFormComponent, { renderOpts, renderParams })
79
- }
80
- },
81
- ElCheckboxWidget: {
82
- createFormDesignWidgetConfig: getWidgetElCheckboxConfig,
83
- createFormDesignWidgetFieldValue: () => [],
84
- renderFormDesignWidgetView (renderOpts: any, renderParams: any) {
85
- return h(WidgetElCheckboxViewComponent, { renderOpts, renderParams })
86
- },
87
- renderFormDesignWidgetFormView (renderOpts: any, renderParams: any) {
88
- return h(WidgetElCheckboxFormComponent, { renderOpts, renderParams })
89
- }
90
- },
91
- ElSwitchWidget: {
92
- createFormDesignWidgetConfig: getWidgetElSwitchConfig,
93
- renderFormDesignWidgetView (renderOpts, renderParams) {
94
- return h(WidgetElSwitchViewComponent, { renderOpts, renderParams })
95
- },
96
- renderFormDesignWidgetFormView (renderOpts, renderParams) {
97
- return h(WidgetElSwitchFormComponent, { renderOpts, renderParams })
98
- }
99
- }
100
- })
101
- }
1
+ import { h } from 'vue'
2
+ import { createWidgetElInput } from './input-widget'
3
+ import { createWidgetElTextarea } from './textarea-widget'
4
+ import { createWidgetElInputNumber } from './number-input-widget'
5
+ import { createWidgetElDatePicker } from './date-picker-widget'
6
+ import { createWidgetElSelect } from './select-widget'
7
+ import { createWidgetElRadio } from './radio-widget'
8
+ import { createWidgetElCheckbox } from './checkbox-widget'
9
+ import { createWidgetElSwitch } from './switch-widget'
10
+
11
+ import type { VxeUIExport } from 'vxe-pc-ui'
12
+
13
+ /**
14
+ * 表单设计器 - 渲染器
15
+ */
16
+ export function defineFormDesignRender (VxeUI: VxeUIExport) {
17
+ const { getWidgetElInputConfig, WidgetElInputViewComponent, WidgetElInputFormComponent } = createWidgetElInput(VxeUI)
18
+ const { getWidgetElTextareaConfig, WidgetElTextareaViewComponent, WidgetElTextareaFormComponent } = createWidgetElTextarea(VxeUI)
19
+ const { getWidgetElInputNumberConfig, WidgetElInputNumberViewComponent, WidgetElInputNumberFormComponent } = createWidgetElInputNumber(VxeUI)
20
+ const { getWidgetElDatePickerConfig, WidgetElDatePickerViewComponent, WidgetElDatePickerFormComponent } = createWidgetElDatePicker(VxeUI)
21
+ const { getWidgetElSelectConfig, WidgetElSelectViewComponent, WidgetElSelectFormComponent } = createWidgetElSelect(VxeUI)
22
+ const { getWidgetElRadioConfig, WidgetElRadioViewComponent, WidgetElRadioFormComponent } = createWidgetElRadio(VxeUI)
23
+ const { getWidgetElCheckboxConfig, WidgetElCheckboxViewComponent, WidgetElCheckboxFormComponent } = createWidgetElCheckbox(VxeUI)
24
+ const { getWidgetElSwitchConfig, WidgetElSwitchViewComponent, WidgetElSwitchFormComponent } = createWidgetElSwitch(VxeUI)
25
+
26
+ VxeUI.renderer.mixin({
27
+ ElInputWidget: {
28
+ createFormDesignWidgetConfig: getWidgetElInputConfig,
29
+ renderFormDesignWidgetView (renderOpts, renderParams) {
30
+ return h(WidgetElInputViewComponent, { renderOpts, renderParams })
31
+ },
32
+ renderFormDesignWidgetFormView (renderOpts, renderParams) {
33
+ return h(WidgetElInputFormComponent, { renderOpts, renderParams })
34
+ }
35
+ },
36
+ ElTextareaWidget: {
37
+ createFormDesignWidgetConfig: getWidgetElTextareaConfig,
38
+ renderFormDesignWidgetView (renderOpts, renderParams) {
39
+ return h(WidgetElTextareaViewComponent, { renderOpts, renderParams })
40
+ },
41
+ renderFormDesignWidgetFormView (renderOpts, renderParams) {
42
+ return h(WidgetElTextareaFormComponent, { renderOpts, renderParams })
43
+ }
44
+ },
45
+ ElNumberInputWidget: {
46
+ createFormDesignWidgetConfig: getWidgetElInputNumberConfig,
47
+ renderFormDesignWidgetView (renderOpts, renderParams) {
48
+ return h(WidgetElInputNumberViewComponent, { renderOpts, renderParams })
49
+ },
50
+ renderFormDesignWidgetFormView (renderOpts, renderParams) {
51
+ return h(WidgetElInputNumberFormComponent, { renderOpts, renderParams })
52
+ }
53
+ },
54
+ ElDatePickerWidget: {
55
+ createFormDesignWidgetConfig: getWidgetElDatePickerConfig,
56
+ renderFormDesignWidgetView (renderOpts, renderParams) {
57
+ return h(WidgetElDatePickerViewComponent, { renderOpts, renderParams })
58
+ },
59
+ renderFormDesignWidgetFormView (renderOpts, renderParams) {
60
+ return h(WidgetElDatePickerFormComponent, { renderOpts, renderParams })
61
+ }
62
+ },
63
+ ElSelectWidget: {
64
+ createFormDesignWidgetConfig: getWidgetElSelectConfig,
65
+ renderFormDesignWidgetView (renderOpts, renderParams) {
66
+ return h(WidgetElSelectViewComponent, { renderOpts, renderParams })
67
+ },
68
+ renderFormDesignWidgetFormView (renderOpts, renderParams) {
69
+ return h(WidgetElSelectFormComponent, { renderOpts, renderParams })
70
+ }
71
+ },
72
+ ElRadioWidget: {
73
+ createFormDesignWidgetConfig: getWidgetElRadioConfig,
74
+ renderFormDesignWidgetView (renderOpts, renderParams) {
75
+ return h(WidgetElRadioViewComponent, { renderOpts, renderParams })
76
+ },
77
+ renderFormDesignWidgetFormView (renderOpts, renderParams) {
78
+ return h(WidgetElRadioFormComponent, { renderOpts, renderParams })
79
+ }
80
+ },
81
+ ElCheckboxWidget: {
82
+ createFormDesignWidgetConfig: getWidgetElCheckboxConfig,
83
+ createFormDesignWidgetFieldValue: () => [],
84
+ renderFormDesignWidgetView (renderOpts: any, renderParams: any) {
85
+ return h(WidgetElCheckboxViewComponent, { renderOpts, renderParams })
86
+ },
87
+ renderFormDesignWidgetFormView (renderOpts: any, renderParams: any) {
88
+ return h(WidgetElCheckboxFormComponent, { renderOpts, renderParams })
89
+ }
90
+ },
91
+ ElSwitchWidget: {
92
+ createFormDesignWidgetConfig: getWidgetElSwitchConfig,
93
+ renderFormDesignWidgetView (renderOpts, renderParams) {
94
+ return h(WidgetElSwitchViewComponent, { renderOpts, renderParams })
95
+ },
96
+ renderFormDesignWidgetFormView (renderOpts, renderParams) {
97
+ return h(WidgetElSwitchFormComponent, { renderOpts, renderParams })
98
+ }
99
+ }
100
+ })
101
+ }
@@ -1,144 +1,144 @@
1
- import { defineComponent, h, PropType, resolveComponent, ComponentOptions } from 'vue'
2
-
3
- import type { VxeUIExport, VxeGlobalRendererHandles, VxeFormComponent, VxeFormItemComponent, VxeSwitchComponent } from 'vxe-pc-ui'
4
-
5
- interface WidgetElInputFormObjVO {
6
- placeholder: string
7
- }
8
-
9
- export function createWidgetElInput (VxeUI: VxeUIExport) {
10
- const getWidgetElInputConfig = (params: VxeGlobalRendererHandles.CreateFormDesignWidgetConfigParams): VxeGlobalRendererHandles.CreateFormDesignWidgetConfigObj<WidgetElInputFormObjVO> => {
11
- return {
12
- title: '输入框',
13
- icon: 'vxe-icon-input',
14
- options: {
15
- placeholder: '请输入'
16
- }
17
- }
18
- }
19
-
20
- const WidgetElInputFormComponent = defineComponent({
21
- props: {
22
- renderOpts: {
23
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewOptions>,
24
- default: () => ({})
25
- },
26
- renderParams: {
27
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewParams<WidgetElInputFormObjVO>>,
28
- default: () => ({})
29
- }
30
- },
31
- emits: [],
32
- setup (props) {
33
- const VxeUIFormComponent = VxeUI.getComponent<VxeFormComponent>('VxeForm')
34
- const VxeUIFormItemComponent = VxeUI.getComponent<VxeFormItemComponent>('VxeFormItem')
35
- const VxeUISwitchComponent = VxeUI.getComponent<VxeSwitchComponent>('VxeSwitch')
36
-
37
- return () => {
38
- const { renderParams } = props
39
- const { widget } = renderParams
40
- const { options } = widget
41
-
42
- return h(VxeUIFormComponent, {
43
- class: 'vxe-form-design--widget-render-form-wrapper',
44
- vertical: true,
45
- span: 24,
46
- titleBold: true,
47
- titleOverflow: true,
48
- data: options
49
- }, {
50
- default () {
51
- return [
52
- h(VxeUIFormItemComponent, {
53
- title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
54
- }, {
55
- default () {
56
- return h(resolveComponent('el-input') as ComponentOptions, {
57
- modelValue: widget.title,
58
- 'onUpdate:modelValue' (val: any) {
59
- widget.title = val
60
- }
61
- })
62
- }
63
- }),
64
- h(VxeUIFormItemComponent, {
65
- title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
66
- field: 'placeholder',
67
- itemRender: { name: 'ElInput' }
68
- }),
69
- h(VxeUIFormItemComponent, {
70
- title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
71
- }, {
72
- default () {
73
- return h(VxeUISwitchComponent, {
74
- modelValue: widget.required,
75
- 'onUpdate:modelValue' (val: any) {
76
- widget.required = val
77
- }
78
- })
79
- }
80
- })
81
- ]
82
- }
83
- })
84
- }
85
- }
86
- })
87
-
88
- const WidgetElInputViewComponent = defineComponent({
89
- props: {
90
- renderOpts: {
91
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewOptions>,
92
- default: () => ({})
93
- },
94
- renderParams: {
95
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewParams<WidgetElInputFormObjVO>>,
96
- default: () => ({})
97
- }
98
- },
99
- emits: [],
100
- setup (props) {
101
- const VxeUIFormItemComponent = VxeUI.getComponent<VxeFormItemComponent>('VxeFormItem')
102
-
103
- const changeEvent = () => {
104
- const { renderParams } = props
105
- const { widget, $formView } = renderParams
106
- if ($formView) {
107
- const itemValue = $formView ? $formView.getItemValue(widget) : null
108
- $formView.updateItemStatus(widget, itemValue)
109
- }
110
- }
111
-
112
- return () => {
113
- const { renderParams } = props
114
- const { widget, $formView } = renderParams
115
- const { options } = widget
116
-
117
- return h(VxeUIFormItemComponent, {
118
- class: ['vxe-form-design--widget-render-form-item'],
119
- field: widget.field,
120
- title: widget.title
121
- }, {
122
- default () {
123
- return h(resolveComponent('el-input') as ComponentOptions, {
124
- modelValue: $formView ? $formView.getItemValue(widget) : null,
125
- placeholder: options.placeholder,
126
- onChange: changeEvent,
127
- 'onUpdate:modelValue' (val: any) {
128
- if ($formView) {
129
- $formView.setItemValue(widget, val)
130
- }
131
- }
132
- })
133
- }
134
- })
135
- }
136
- }
137
- })
138
-
139
- return {
140
- getWidgetElInputConfig,
141
- WidgetElInputFormComponent,
142
- WidgetElInputViewComponent
143
- }
144
- }
1
+ import { defineComponent, h, PropType, resolveComponent, ComponentOptions } from 'vue'
2
+
3
+ import type { VxeUIExport, VxeGlobalRendererHandles, VxeFormComponent, VxeFormItemComponent, VxeSwitchComponent } from 'vxe-pc-ui'
4
+
5
+ interface WidgetElInputFormObjVO {
6
+ placeholder: string
7
+ }
8
+
9
+ export function createWidgetElInput (VxeUI: VxeUIExport) {
10
+ const getWidgetElInputConfig = (params: VxeGlobalRendererHandles.CreateFormDesignWidgetConfigParams): VxeGlobalRendererHandles.CreateFormDesignWidgetConfigObj<WidgetElInputFormObjVO> => {
11
+ return {
12
+ title: '输入框',
13
+ icon: 'vxe-icon-input',
14
+ options: {
15
+ placeholder: '请输入'
16
+ }
17
+ }
18
+ }
19
+
20
+ const WidgetElInputFormComponent = defineComponent({
21
+ props: {
22
+ renderOpts: {
23
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewOptions>,
24
+ default: () => ({})
25
+ },
26
+ renderParams: {
27
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewParams<WidgetElInputFormObjVO>>,
28
+ default: () => ({})
29
+ }
30
+ },
31
+ emits: [],
32
+ setup (props) {
33
+ const VxeUIFormComponent = VxeUI.getComponent<VxeFormComponent>('VxeForm')
34
+ const VxeUIFormItemComponent = VxeUI.getComponent<VxeFormItemComponent>('VxeFormItem')
35
+ const VxeUISwitchComponent = VxeUI.getComponent<VxeSwitchComponent>('VxeSwitch')
36
+
37
+ return () => {
38
+ const { renderParams } = props
39
+ const { widget } = renderParams
40
+ const { options } = widget
41
+
42
+ return h(VxeUIFormComponent, {
43
+ class: 'vxe-form-design--widget-render-form-wrapper',
44
+ vertical: true,
45
+ span: 24,
46
+ titleBold: true,
47
+ titleOverflow: true,
48
+ data: options
49
+ }, {
50
+ default () {
51
+ return [
52
+ h(VxeUIFormItemComponent, {
53
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
54
+ }, {
55
+ default () {
56
+ return h(resolveComponent('el-input') as ComponentOptions, {
57
+ modelValue: widget.title,
58
+ 'onUpdate:modelValue' (val: any) {
59
+ widget.title = val
60
+ }
61
+ })
62
+ }
63
+ }),
64
+ h(VxeUIFormItemComponent, {
65
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
66
+ field: 'placeholder',
67
+ itemRender: { name: 'ElInput' }
68
+ }),
69
+ h(VxeUIFormItemComponent, {
70
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
71
+ }, {
72
+ default () {
73
+ return h(VxeUISwitchComponent, {
74
+ modelValue: widget.required,
75
+ 'onUpdate:modelValue' (val: any) {
76
+ widget.required = val
77
+ }
78
+ })
79
+ }
80
+ })
81
+ ]
82
+ }
83
+ })
84
+ }
85
+ }
86
+ })
87
+
88
+ const WidgetElInputViewComponent = defineComponent({
89
+ props: {
90
+ renderOpts: {
91
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewOptions>,
92
+ default: () => ({})
93
+ },
94
+ renderParams: {
95
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewParams<WidgetElInputFormObjVO>>,
96
+ default: () => ({})
97
+ }
98
+ },
99
+ emits: [],
100
+ setup (props) {
101
+ const VxeUIFormItemComponent = VxeUI.getComponent<VxeFormItemComponent>('VxeFormItem')
102
+
103
+ const changeEvent = () => {
104
+ const { renderParams } = props
105
+ const { widget, $formView } = renderParams
106
+ if ($formView) {
107
+ const itemValue = $formView ? $formView.getItemValue(widget) : null
108
+ $formView.updateWidgetStatus(widget, itemValue)
109
+ }
110
+ }
111
+
112
+ return () => {
113
+ const { renderParams } = props
114
+ const { widget, $formView } = renderParams
115
+ const { options } = widget
116
+
117
+ return h(VxeUIFormItemComponent, {
118
+ class: ['vxe-form-design--widget-render-form-item'],
119
+ field: widget.field,
120
+ title: widget.title
121
+ }, {
122
+ default () {
123
+ return h(resolveComponent('el-input') as ComponentOptions, {
124
+ modelValue: $formView ? $formView.getItemValue(widget) : null,
125
+ placeholder: options.placeholder,
126
+ onChange: changeEvent,
127
+ 'onUpdate:modelValue' (val: any) {
128
+ if ($formView) {
129
+ $formView.setItemValue(widget, val)
130
+ }
131
+ }
132
+ })
133
+ }
134
+ })
135
+ }
136
+ }
137
+ })
138
+
139
+ return {
140
+ getWidgetElInputConfig,
141
+ WidgetElInputFormComponent,
142
+ WidgetElInputViewComponent
143
+ }
144
+ }