@vxe-ui/plugin-render-element 4.3.1 → 4.4.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.
@@ -1,144 +1,144 @@
1
- import { defineComponent, h, PropType, ComponentOptions } from 'vue'
2
- import { getCurrComponent } from '../util/comp'
3
-
4
- import type { VxeUIExport, VxeGlobalRendererHandles } from 'vxe-pc-ui'
5
-
6
- interface WidgetElInputNumberFormObjVO {
7
- placeholder: string
8
- }
9
-
10
- export function createWidgetElInputNumber (VxeUI: VxeUIExport) {
11
- const getWidgetElInputNumberConfig = (params: VxeGlobalRendererHandles.CreateFormDesignWidgetConfigParams): VxeGlobalRendererHandles.CreateFormDesignWidgetConfigObj<WidgetElInputNumberFormObjVO> => {
12
- return {
13
- title: '数字',
14
- icon: 'vxe-icon-number',
15
- options: {
16
- placeholder: '请输入'
17
- }
18
- }
19
- }
20
-
21
- const WidgetElInputNumberFormComponent = defineComponent({
22
- props: {
23
- renderOpts: {
24
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewOptions>,
25
- default: () => ({})
26
- },
27
- renderParams: {
28
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewParams<WidgetElInputNumberFormObjVO>>,
29
- default: () => ({})
30
- }
31
- },
32
- emits: [],
33
- setup (props) {
34
- const VxeUIFormComponent = VxeUI.getComponent('VxeForm')
35
- const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem')
36
- const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch')
37
-
38
- return () => {
39
- const { renderParams } = props
40
- const { widget } = renderParams
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: widget.options
49
- }, {
50
- default () {
51
- return [
52
- h(VxeUIFormItemComponent, {
53
- title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
54
- }, {
55
- default () {
56
- return h(getCurrComponent('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 WidgetElInputNumberViewComponent = defineComponent({
89
- props: {
90
- renderOpts: {
91
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewOptions>,
92
- default: () => ({})
93
- },
94
- renderParams: {
95
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewParams<WidgetElInputNumberFormObjVO>>,
96
- default: () => ({})
97
- }
98
- },
99
- emits: [],
100
- setup (props) {
101
- const VxeUIFormItemComponent = VxeUI.getComponent('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(getCurrComponent('el-input-number') 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
- getWidgetElInputNumberConfig,
141
- WidgetElInputNumberFormComponent,
142
- WidgetElInputNumberViewComponent
143
- }
144
- }
1
+ import { defineComponent, h, PropType, ComponentOptions } from 'vue'
2
+ import { getCurrComponent } from '../util/comp'
3
+
4
+ import type { VxeUIExport, VxeGlobalRendererHandles } from 'vxe-pc-ui'
5
+
6
+ interface WidgetElInputNumberFormObjVO {
7
+ placeholder: string
8
+ }
9
+
10
+ export function createWidgetElInputNumber (VxeUI: VxeUIExport) {
11
+ const getWidgetElInputNumberConfig = (params: VxeGlobalRendererHandles.CreateFormDesignWidgetConfigParams): VxeGlobalRendererHandles.CreateFormDesignWidgetConfigObj<WidgetElInputNumberFormObjVO> => {
12
+ return {
13
+ title: '数字',
14
+ icon: 'vxe-icon-number',
15
+ options: {
16
+ placeholder: '请输入'
17
+ }
18
+ }
19
+ }
20
+
21
+ const WidgetElInputNumberFormComponent = defineComponent({
22
+ props: {
23
+ renderOpts: {
24
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewOptions>,
25
+ default: () => ({})
26
+ },
27
+ renderParams: {
28
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewParams<WidgetElInputNumberFormObjVO>>,
29
+ default: () => ({})
30
+ }
31
+ },
32
+ emits: [],
33
+ setup (props) {
34
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm')
35
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem')
36
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch')
37
+
38
+ return () => {
39
+ const { renderParams } = props
40
+ const { widget } = renderParams
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: widget.options
49
+ }, {
50
+ default () {
51
+ return [
52
+ h(VxeUIFormItemComponent, {
53
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
54
+ }, {
55
+ default () {
56
+ return h(getCurrComponent('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 WidgetElInputNumberViewComponent = defineComponent({
89
+ props: {
90
+ renderOpts: {
91
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewOptions>,
92
+ default: () => ({})
93
+ },
94
+ renderParams: {
95
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewParams<WidgetElInputNumberFormObjVO>>,
96
+ default: () => ({})
97
+ }
98
+ },
99
+ emits: [],
100
+ setup (props) {
101
+ const VxeUIFormItemComponent = VxeUI.getComponent('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(getCurrComponent('el-input-number') 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
+ getWidgetElInputNumberConfig,
141
+ WidgetElInputNumberFormComponent,
142
+ WidgetElInputNumberViewComponent
143
+ }
144
+ }
@@ -1,167 +1,167 @@
1
- import { defineComponent, h, PropType, ComponentOptions } from 'vue'
2
- import { useWidgetPropDataSource, WidgetDataSourceOptionObjVO } from './use'
3
- import { getCurrComponent } from '../util/comp'
4
- import XEUtils from 'xe-utils'
5
-
6
- import type { VxeUIExport, VxeGlobalRendererHandles } from 'vxe-pc-ui'
7
-
8
- interface WidgetElRadioFormObjVO {
9
- options: WidgetDataSourceOptionObjVO[]
10
- }
11
-
12
- export function createWidgetElRadio (VxeUI: VxeUIExport) {
13
- const getWidgetElRadioConfig = (params: VxeGlobalRendererHandles.CreateFormDesignWidgetConfigParams): VxeGlobalRendererHandles.CreateFormDesignWidgetConfigObj<WidgetElRadioFormObjVO> => {
14
- return {
15
- title: '单选框',
16
- icon: 'vxe-icon-radio-checked',
17
- options: {
18
- options: XEUtils.range(0, 3).map((v, i) => {
19
- return {
20
- value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
21
- }
22
- })
23
- }
24
- }
25
- }
26
-
27
- const WidgetElRadioFormComponent = defineComponent({
28
- props: {
29
- renderOpts: {
30
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewOptions>,
31
- default: () => ({})
32
- },
33
- renderParams: {
34
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewParams<WidgetElRadioFormObjVO>>,
35
- default: () => ({})
36
- }
37
- },
38
- emits: [],
39
- setup (props) {
40
- const VxeUIFormComponent = VxeUI.getComponent('VxeForm')
41
- const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem')
42
- const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch')
43
-
44
- const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false)
45
-
46
- return () => {
47
- const { renderParams } = props
48
- const { widget } = renderParams
49
-
50
- return h(VxeUIFormComponent, {
51
- class: 'vxe-form-design--widget-render-form-wrapper',
52
- vertical: true,
53
- span: 24,
54
- titleBold: true,
55
- titleOverflow: true,
56
- data: widget.options
57
- }, {
58
- default () {
59
- return [
60
- h(VxeUIFormItemComponent, {
61
- title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
62
- }, {
63
- default () {
64
- return h(getCurrComponent('el-input') as ComponentOptions, {
65
- modelValue: widget.title,
66
- 'onUpdate:modelValue' (val: any) {
67
- widget.title = val
68
- }
69
- })
70
- }
71
- }),
72
- h(VxeUIFormItemComponent, {
73
- title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
74
- field: 'placeholder',
75
- itemRender: { name: 'ElInput' }
76
- }),
77
- h(VxeUIFormItemComponent, {
78
- title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
79
- }, {
80
- default () {
81
- return h(VxeUISwitchComponent, {
82
- modelValue: widget.required,
83
- 'onUpdate:modelValue' (val: any) {
84
- widget.required = val
85
- }
86
- })
87
- }
88
- }),
89
- renderDataSourceFormItem()
90
- ]
91
- }
92
- })
93
- }
94
- }
95
- })
96
-
97
- const WidgetElRadioViewComponent = defineComponent({
98
- props: {
99
- renderOpts: {
100
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewOptions>,
101
- default: () => ({})
102
- },
103
- renderParams: {
104
- type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewParams<WidgetElRadioFormObjVO>>,
105
- default: () => ({})
106
- }
107
- },
108
- emits: [],
109
- setup (props) {
110
- const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem')
111
-
112
- const changeEvent = () => {
113
- const { renderParams } = props
114
- const { widget, $formView } = renderParams
115
- if ($formView) {
116
- const itemValue = $formView ? $formView.getItemValue(widget) : null
117
- $formView.updateWidgetStatus(widget, itemValue)
118
- }
119
- }
120
-
121
- return () => {
122
- const { renderParams } = props
123
- const { widget, $formView } = renderParams
124
- const { options } = widget
125
-
126
- return h(VxeUIFormItemComponent, {
127
- class: ['vxe-form-design--widget-render-form-item'],
128
- field: widget.field,
129
- title: widget.title
130
- }, {
131
- default () {
132
- return h(getCurrComponent('el-radio-group') as ComponentOptions, {
133
- modelValue: $formView ? $formView.getItemValue(widget) : null,
134
- onChange: changeEvent,
135
- 'onUpdate:modelValue' (val: any) {
136
- if ($formView) {
137
- $formView.setItemValue(widget, val)
138
- }
139
- }
140
- }, {
141
- default: () => {
142
- return options.options
143
- ? options.options.map((item, index) => {
144
- return h(getCurrComponent('el-radio') as ComponentOptions, {
145
- key: index,
146
- value: item.value
147
- }, {
148
- default () {
149
- return `${item.value || ''}`
150
- }
151
- })
152
- })
153
- : []
154
- }
155
- })
156
- }
157
- })
158
- }
159
- }
160
- })
161
-
162
- return {
163
- getWidgetElRadioConfig,
164
- WidgetElRadioFormComponent,
165
- WidgetElRadioViewComponent
166
- }
167
- }
1
+ import { defineComponent, h, PropType, ComponentOptions } from 'vue'
2
+ import { useWidgetPropDataSource, WidgetDataSourceOptionObjVO } from './use'
3
+ import { getCurrComponent } from '../util/comp'
4
+ import XEUtils from 'xe-utils'
5
+
6
+ import type { VxeUIExport, VxeGlobalRendererHandles } from 'vxe-pc-ui'
7
+
8
+ interface WidgetElRadioFormObjVO {
9
+ options: WidgetDataSourceOptionObjVO[]
10
+ }
11
+
12
+ export function createWidgetElRadio (VxeUI: VxeUIExport) {
13
+ const getWidgetElRadioConfig = (params: VxeGlobalRendererHandles.CreateFormDesignWidgetConfigParams): VxeGlobalRendererHandles.CreateFormDesignWidgetConfigObj<WidgetElRadioFormObjVO> => {
14
+ return {
15
+ title: '单选框',
16
+ icon: 'vxe-icon-radio-checked',
17
+ options: {
18
+ options: XEUtils.range(0, 3).map((v, i) => {
19
+ return {
20
+ value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
21
+ }
22
+ })
23
+ }
24
+ }
25
+ }
26
+
27
+ const WidgetElRadioFormComponent = defineComponent({
28
+ props: {
29
+ renderOpts: {
30
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewOptions>,
31
+ default: () => ({})
32
+ },
33
+ renderParams: {
34
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetFormViewParams<WidgetElRadioFormObjVO>>,
35
+ default: () => ({})
36
+ }
37
+ },
38
+ emits: [],
39
+ setup (props) {
40
+ const VxeUIFormComponent = VxeUI.getComponent('VxeForm')
41
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem')
42
+ const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch')
43
+
44
+ const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false)
45
+
46
+ return () => {
47
+ const { renderParams } = props
48
+ const { widget } = renderParams
49
+
50
+ return h(VxeUIFormComponent, {
51
+ class: 'vxe-form-design--widget-render-form-wrapper',
52
+ vertical: true,
53
+ span: 24,
54
+ titleBold: true,
55
+ titleOverflow: true,
56
+ data: widget.options
57
+ }, {
58
+ default () {
59
+ return [
60
+ h(VxeUIFormItemComponent, {
61
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
62
+ }, {
63
+ default () {
64
+ return h(getCurrComponent('el-input') as ComponentOptions, {
65
+ modelValue: widget.title,
66
+ 'onUpdate:modelValue' (val: any) {
67
+ widget.title = val
68
+ }
69
+ })
70
+ }
71
+ }),
72
+ h(VxeUIFormItemComponent, {
73
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
74
+ field: 'placeholder',
75
+ itemRender: { name: 'ElInput' }
76
+ }),
77
+ h(VxeUIFormItemComponent, {
78
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
79
+ }, {
80
+ default () {
81
+ return h(VxeUISwitchComponent, {
82
+ modelValue: widget.required,
83
+ 'onUpdate:modelValue' (val: any) {
84
+ widget.required = val
85
+ }
86
+ })
87
+ }
88
+ }),
89
+ renderDataSourceFormItem()
90
+ ]
91
+ }
92
+ })
93
+ }
94
+ }
95
+ })
96
+
97
+ const WidgetElRadioViewComponent = defineComponent({
98
+ props: {
99
+ renderOpts: {
100
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewOptions>,
101
+ default: () => ({})
102
+ },
103
+ renderParams: {
104
+ type: Object as PropType<VxeGlobalRendererHandles.RenderFormDesignWidgetViewParams<WidgetElRadioFormObjVO>>,
105
+ default: () => ({})
106
+ }
107
+ },
108
+ emits: [],
109
+ setup (props) {
110
+ const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem')
111
+
112
+ const changeEvent = () => {
113
+ const { renderParams } = props
114
+ const { widget, $formView } = renderParams
115
+ if ($formView) {
116
+ const itemValue = $formView ? $formView.getItemValue(widget) : null
117
+ $formView.updateWidgetStatus(widget, itemValue)
118
+ }
119
+ }
120
+
121
+ return () => {
122
+ const { renderParams } = props
123
+ const { widget, $formView } = renderParams
124
+ const { options } = widget
125
+
126
+ return h(VxeUIFormItemComponent, {
127
+ class: ['vxe-form-design--widget-render-form-item'],
128
+ field: widget.field,
129
+ title: widget.title
130
+ }, {
131
+ default () {
132
+ return h(getCurrComponent('el-radio-group') as ComponentOptions, {
133
+ modelValue: $formView ? $formView.getItemValue(widget) : null,
134
+ onChange: changeEvent,
135
+ 'onUpdate:modelValue' (val: any) {
136
+ if ($formView) {
137
+ $formView.setItemValue(widget, val)
138
+ }
139
+ }
140
+ }, {
141
+ default: () => {
142
+ return options.options
143
+ ? options.options.map((item, index) => {
144
+ return h(getCurrComponent('el-radio') as ComponentOptions, {
145
+ key: index,
146
+ value: item.value
147
+ }, {
148
+ default () {
149
+ return `${item.value || ''}`
150
+ }
151
+ })
152
+ })
153
+ : []
154
+ }
155
+ })
156
+ }
157
+ })
158
+ }
159
+ }
160
+ })
161
+
162
+ return {
163
+ getWidgetElRadioConfig,
164
+ WidgetElRadioFormComponent,
165
+ WidgetElRadioViewComponent
166
+ }
167
+ }