@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,148 +1,148 @@
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 WidgetElTextareaFormObjVO {
6
- placeholder: string
7
- }
8
-
9
- export function createWidgetElTextarea (VxeUI: VxeUIExport) {
10
- const getWidgetElTextareaConfig = (params: VxeGlobalRendererHandles.CreateFormDesignWidgetConfigParams): VxeGlobalRendererHandles.CreateFormDesignWidgetConfigObj<WidgetElTextareaFormObjVO> => {
11
- return {
12
- title: '文本域',
13
- icon: 'vxe-icon-textarea',
14
- options: {
15
- placeholder: '请输入'
16
- }
17
- }
18
- }
19
-
20
- const WidgetElTextareaFormComponent = defineComponent({
21
- props: {
22
- renderOpts: {
23
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewOptions>,
24
- default: () => ({})
25
- },
26
- renderParams: {
27
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewParams<WidgetElTextareaFormObjVO>>,
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
-
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(resolveComponent('el-input') as ComponentOptions, {
56
- modelValue: widget.title,
57
- 'onUpdate:modelValue' (val: any) {
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: any) {
75
- widget.required = val
76
- }
77
- })
78
- }
79
- })
80
- ]
81
- }
82
- })
83
- }
84
- }
85
- })
86
-
87
- const WidgetElTextareaViewComponent = defineComponent({
88
- props: {
89
- renderOpts: {
90
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewOptions>,
91
- default: () => ({})
92
- },
93
- renderParams: {
94
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewParams<WidgetElTextareaFormObjVO>>,
95
- default: () => ({})
96
- }
97
- },
98
- emits: [],
99
- setup (props) {
100
- const VxeUIFormItemComponent = VxeUI.getComponent<VxeFormItemComponent>('VxeFormItem')
101
-
102
- const changeEvent = () => {
103
- const { renderParams } = props
104
- const { widget, $formView } = renderParams
105
- if ($formView) {
106
- const itemValue = $formView ? $formView.getItemValue(widget) : null
107
- $formView.updateItemStatus(widget, itemValue)
108
- }
109
- }
110
-
111
- return () => {
112
- const { renderParams } = props
113
- const { widget, $formView } = renderParams
114
- const { options } = widget
115
-
116
- return h(VxeUIFormItemComponent, {
117
- class: ['vxe-form-design--widget-render-form-item'],
118
- field: widget.field,
119
- title: widget.title
120
- }, {
121
- default () {
122
- return h(resolveComponent('el-input') as ComponentOptions, {
123
- modelValue: $formView ? $formView.getItemValue(widget) : null,
124
- placeholder: options.placeholder,
125
- type: 'textarea',
126
- autosize: {
127
- minRows: 2,
128
- maxRows: 4
129
- },
130
- onChange: changeEvent,
131
- 'onUpdate:modelValue' (val: any) {
132
- if ($formView) {
133
- $formView.setItemValue(widget, val)
134
- }
135
- }
136
- })
137
- }
138
- })
139
- }
140
- }
141
- })
142
-
143
- return {
144
- getWidgetElTextareaConfig,
145
- WidgetElTextareaFormComponent,
146
- WidgetElTextareaViewComponent
147
- }
148
- }
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 WidgetElTextareaFormObjVO {
6
+ placeholder: string
7
+ }
8
+
9
+ export function createWidgetElTextarea (VxeUI: VxeUIExport) {
10
+ const getWidgetElTextareaConfig = (params: VxeGlobalRendererHandles.CreateFormDesignWidgetConfigParams): VxeGlobalRendererHandles.CreateFormDesignWidgetConfigObj<WidgetElTextareaFormObjVO> => {
11
+ return {
12
+ title: '文本域',
13
+ icon: 'vxe-icon-textarea',
14
+ options: {
15
+ placeholder: '请输入'
16
+ }
17
+ }
18
+ }
19
+
20
+ const WidgetElTextareaFormComponent = defineComponent({
21
+ props: {
22
+ renderOpts: {
23
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewOptions>,
24
+ default: () => ({})
25
+ },
26
+ renderParams: {
27
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewParams<WidgetElTextareaFormObjVO>>,
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
+
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(resolveComponent('el-input') as ComponentOptions, {
56
+ modelValue: widget.title,
57
+ 'onUpdate:modelValue' (val: any) {
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: any) {
75
+ widget.required = val
76
+ }
77
+ })
78
+ }
79
+ })
80
+ ]
81
+ }
82
+ })
83
+ }
84
+ }
85
+ })
86
+
87
+ const WidgetElTextareaViewComponent = defineComponent({
88
+ props: {
89
+ renderOpts: {
90
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewOptions>,
91
+ default: () => ({})
92
+ },
93
+ renderParams: {
94
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewParams<WidgetElTextareaFormObjVO>>,
95
+ default: () => ({})
96
+ }
97
+ },
98
+ emits: [],
99
+ setup (props) {
100
+ const VxeUIFormItemComponent = VxeUI.getComponent<VxeFormItemComponent>('VxeFormItem')
101
+
102
+ const changeEvent = () => {
103
+ const { renderParams } = props
104
+ const { widget, $formView } = renderParams
105
+ if ($formView) {
106
+ const itemValue = $formView ? $formView.getItemValue(widget) : null
107
+ $formView.updateWidgetStatus(widget, itemValue)
108
+ }
109
+ }
110
+
111
+ return () => {
112
+ const { renderParams } = props
113
+ const { widget, $formView } = renderParams
114
+ const { options } = widget
115
+
116
+ return h(VxeUIFormItemComponent, {
117
+ class: ['vxe-form-design--widget-render-form-item'],
118
+ field: widget.field,
119
+ title: widget.title
120
+ }, {
121
+ default () {
122
+ return h(resolveComponent('el-input') as ComponentOptions, {
123
+ modelValue: $formView ? $formView.getItemValue(widget) : null,
124
+ placeholder: options.placeholder,
125
+ type: 'textarea',
126
+ autosize: {
127
+ minRows: 2,
128
+ maxRows: 4
129
+ },
130
+ onChange: changeEvent,
131
+ 'onUpdate:modelValue' (val: any) {
132
+ if ($formView) {
133
+ $formView.setItemValue(widget, val)
134
+ }
135
+ }
136
+ })
137
+ }
138
+ })
139
+ }
140
+ }
141
+ })
142
+
143
+ return {
144
+ getWidgetElTextareaConfig,
145
+ WidgetElTextareaFormComponent,
146
+ WidgetElTextareaViewComponent
147
+ }
148
+ }