@vyr/element-plus 0.0.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.
- package/package.json +24 -0
- package/src/actor/ElButtonActor.ts +42 -0
- package/src/actor/ElCascaderActor.ts +43 -0
- package/src/actor/ElCheckboxActor.ts +46 -0
- package/src/actor/ElColActor.ts +36 -0
- package/src/actor/ElDatePickerActor.ts +42 -0
- package/src/actor/ElDialogActor.ts +38 -0
- package/src/actor/ElFormActor.ts +46 -0
- package/src/actor/ElFormItemActor.ts +81 -0
- package/src/actor/ElInputActor.ts +47 -0
- package/src/actor/ElInputNumberActor.ts +38 -0
- package/src/actor/ElMenuActor.ts +35 -0
- package/src/actor/ElMenuItemActor.ts +46 -0
- package/src/actor/ElPaginationActor.ts +83 -0
- package/src/actor/ElRadioActor.ts +46 -0
- package/src/actor/ElRowActor.ts +37 -0
- package/src/actor/ElSelectActor.ts +49 -0
- package/src/actor/ElSubMenuActor.ts +46 -0
- package/src/actor/ElSwitchActor.ts +26 -0
- package/src/actor/ElTableActor.ts +35 -0
- package/src/actor/ElTableColumnActor.ts +72 -0
- package/src/actor/index.ts +20 -0
- package/src/asset/index.ts +17 -0
- package/src/descriptor/ElButtonDescriptor.ts +36 -0
- package/src/descriptor/ElCascaderDescriptor.ts +43 -0
- package/src/descriptor/ElCheckboxDescriptor.ts +41 -0
- package/src/descriptor/ElColDescriptor.ts +20 -0
- package/src/descriptor/ElDatePickerDescriptor.ts +43 -0
- package/src/descriptor/ElDialogDescriptor.ts +24 -0
- package/src/descriptor/ElFormDescriptor.ts +60 -0
- package/src/descriptor/ElFormItemDescriptor.ts +14 -0
- package/src/descriptor/ElInputDescriptor.ts +56 -0
- package/src/descriptor/ElInputNumberDescriptor.ts +38 -0
- package/src/descriptor/ElMenuDescriptor.ts +26 -0
- package/src/descriptor/ElMenuItemDescriptor.ts +22 -0
- package/src/descriptor/ElPaginationDescriptor.ts +52 -0
- package/src/descriptor/ElRadioDescriptor.ts +41 -0
- package/src/descriptor/ElRowDescriptor.ts +22 -0
- package/src/descriptor/ElSelectDescriptor.ts +43 -0
- package/src/descriptor/ElSubMenuDescriptor.ts +20 -0
- package/src/descriptor/ElSwitchDescriptor.ts +35 -0
- package/src/descriptor/ElTableColumnDescriptor.ts +41 -0
- package/src/descriptor/ElTableDescriptor.ts +26 -0
- package/src/descriptor/index.ts +20 -0
- package/src/index.ts +7 -0
- package/src/interpreter/ElButtonInterpreter.ts +18 -0
- package/src/interpreter/ElCascaderInterpreter.ts +18 -0
- package/src/interpreter/ElCheckboxInterpreter.ts +18 -0
- package/src/interpreter/ElColInterpreter.ts +18 -0
- package/src/interpreter/ElDatePickerInterpreter.ts +18 -0
- package/src/interpreter/ElDialogInterpreter.ts +18 -0
- package/src/interpreter/ElFormInterpreter.ts +18 -0
- package/src/interpreter/ElInputInterpreter.ts +18 -0
- package/src/interpreter/ElInputNumberInterpreter.ts +18 -0
- package/src/interpreter/ElMenuInterpreter.ts +18 -0
- package/src/interpreter/ElMenuItemInterpreter.ts +18 -0
- package/src/interpreter/ElPaginationInterpreter.ts +18 -0
- package/src/interpreter/ElRadioInterpreter.ts +18 -0
- package/src/interpreter/ElRowInterpreter.ts +18 -0
- package/src/interpreter/ElSelectInterpreter.ts +18 -0
- package/src/interpreter/ElSubMenuInterpreter.ts +18 -0
- package/src/interpreter/ElSwitchInterpreter.ts +18 -0
- package/src/interpreter/ElTableColumnInterpreter.ts +18 -0
- package/src/interpreter/ElTableInterpreter.ts +18 -0
- package/src/interpreter/index.ts +33 -0
- package/src/locale/Language.ts +10 -0
- package/src/locale/LanguageProvider.ts +64 -0
- package/src/locale/index.ts +2 -0
- package/src/preset/execute/ElDialog/close.ts +48 -0
- package/src/preset/execute/ElDialog/index.ts +2 -0
- package/src/preset/execute/ElDialog/open.ts +51 -0
- package/src/preset/execute/ElForm/branch.ts +47 -0
- package/src/preset/execute/ElForm/create.ts +31 -0
- package/src/preset/execute/ElForm/edit.ts +31 -0
- package/src/preset/execute/ElForm/getData.ts +51 -0
- package/src/preset/execute/ElForm/index.ts +5 -0
- package/src/preset/execute/ElForm/reset.ts +55 -0
- package/src/preset/execute/ElPagination/getData.ts +48 -0
- package/src/preset/execute/ElPagination/index.ts +2 -0
- package/src/preset/execute/ElPagination/reset.ts +46 -0
- package/src/preset/execute/ElTable/create.ts +38 -0
- package/src/preset/execute/ElTable/delete.ts +53 -0
- package/src/preset/execute/ElTable/edit.ts +38 -0
- package/src/preset/execute/ElTable/index.ts +3 -0
- package/src/preset/execute/ElTableColumn/formatter.ts +74 -0
- package/src/preset/execute/ElTableColumn/index.ts +1 -0
- package/src/preset/execute/index.ts +5 -0
- package/src/preset/index.ts +7 -0
- package/src/preset/routine/ElDialog/close.ts +26 -0
- package/src/preset/routine/ElDialog/index.ts +1 -0
- package/src/preset/routine/ElTable/create.ts +31 -0
- package/src/preset/routine/ElTable/delete.ts +31 -0
- package/src/preset/routine/ElTable/edit.ts +33 -0
- package/src/preset/routine/ElTable/index.ts +6 -0
- package/src/preset/routine/ElTable/list.ts +32 -0
- package/src/preset/routine/ElTable/reset.ts +31 -0
- package/src/preset/routine/ElTable/submit.ts +45 -0
- package/src/preset/routine/index.ts +2 -0
- package/src/shims-vue.d.ts +5 -0
- package/src/utils/form.ts +72 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/style.ts +9 -0
- package/src/utils/validator.ts +30 -0
package/package.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vyr/element-plus",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "./src/index.ts",
|
|
6
|
+
"author": "",
|
|
7
|
+
"sideEffects": true,
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@vyr/locale": "0.0.1",
|
|
11
|
+
"@vyr/engine": "0.0.1",
|
|
12
|
+
"@vyr/vue": "0.0.1",
|
|
13
|
+
"element-plus": "2.10.1",
|
|
14
|
+
"vue": "3.5.22"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"package.json",
|
|
18
|
+
"src/"
|
|
19
|
+
],
|
|
20
|
+
"vyr": {
|
|
21
|
+
"type": "universal",
|
|
22
|
+
"order": 11
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, Text, VNode } from "vue";
|
|
2
|
+
import { UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VueActor, VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElButtonDescriptor } from "../descriptor";
|
|
5
|
+
import { mergeStyle } from "../utils";
|
|
6
|
+
|
|
7
|
+
class ElButtonActor extends VueActor {
|
|
8
|
+
|
|
9
|
+
getProps(descriptor: ElButtonDescriptor, args: UpdateArgs): VyrVueProps {
|
|
10
|
+
const props = super.getProps(descriptor, args)
|
|
11
|
+
|
|
12
|
+
return {
|
|
13
|
+
...props,
|
|
14
|
+
type: descriptor.buttonType,
|
|
15
|
+
plain: descriptor.plain,
|
|
16
|
+
circle: descriptor.circle,
|
|
17
|
+
round: descriptor.round,
|
|
18
|
+
size: descriptor.size,
|
|
19
|
+
text: descriptor.textMode,
|
|
20
|
+
disabled: descriptor.disabled,
|
|
21
|
+
loading: descriptor.loading,
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
getComponent() {
|
|
26
|
+
return resolveDynamicComponent('el-button') as VNode
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElButtonDescriptor) {
|
|
30
|
+
const component = this.getComponent()
|
|
31
|
+
const attrs = this.getComponentAttrs(instance, descriptor)
|
|
32
|
+
mergeStyle({ width: '100%' }, attrs)
|
|
33
|
+
|
|
34
|
+
if (descriptor.text) children.default().push(h(Text, descriptor.text))
|
|
35
|
+
|
|
36
|
+
return h(component, attrs, children)
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export {
|
|
41
|
+
ElButtonActor
|
|
42
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { resolveDynamicComponent, VNode, h } from "vue";
|
|
2
|
+
import { DatasetDescriptor, UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElCascaderDescriptor } from "../descriptor";
|
|
5
|
+
import { mergeStyle } from "../utils";
|
|
6
|
+
import { ElFormItemActor } from "./ElFormItemActor";
|
|
7
|
+
|
|
8
|
+
class ElCascaderActor extends ElFormItemActor {
|
|
9
|
+
|
|
10
|
+
getProps(descriptor: ElCascaderDescriptor, args: UpdateArgs): VyrVueProps {
|
|
11
|
+
const props = super.getProps(descriptor, args)
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
...props,
|
|
15
|
+
placeholder: descriptor.placeholder,
|
|
16
|
+
props: {
|
|
17
|
+
label: descriptor.label,
|
|
18
|
+
value: descriptor.value,
|
|
19
|
+
},
|
|
20
|
+
clearable: descriptor.clearable,
|
|
21
|
+
disabled: descriptor.disabled,
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
getComponent() {
|
|
26
|
+
return resolveDynamicComponent('el-cascader') as VNode
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElCascaderDescriptor) {
|
|
30
|
+
const options = DatasetDescriptor.getCollection(descriptor.options)
|
|
31
|
+
const inputComponent = this.getComponent()
|
|
32
|
+
const inputAttrs = this.getComponentAttrs(instance, descriptor, this.getArrayByJoinValue(descriptor.modelValue))
|
|
33
|
+
mergeStyle({ width: '100%', 'min-width': '200px' }, inputAttrs)
|
|
34
|
+
const inputVnode = h(inputComponent, { ...inputAttrs, options }, { default: () => [] })
|
|
35
|
+
this.currentVnode = inputVnode
|
|
36
|
+
|
|
37
|
+
return this.getItemComponent(descriptor, inputVnode)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export {
|
|
42
|
+
ElCascaderActor
|
|
43
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode } from "vue";
|
|
2
|
+
import { DatasetDescriptor, UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElCheckboxDescriptor } from "../descriptor";
|
|
5
|
+
import { ElFormItemActor } from "./ElFormItemActor";
|
|
6
|
+
|
|
7
|
+
class ElCheckboxActor extends ElFormItemActor {
|
|
8
|
+
|
|
9
|
+
getProps(descriptor: ElCheckboxDescriptor, args: UpdateArgs): VyrVueProps {
|
|
10
|
+
const props = super.getProps(descriptor, args)
|
|
11
|
+
|
|
12
|
+
return {
|
|
13
|
+
...props,
|
|
14
|
+
disabled: descriptor.disabled,
|
|
15
|
+
border: descriptor.border,
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
getComponent() {
|
|
20
|
+
return resolveDynamicComponent('el-checkbox-group') as VNode
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
getContent(instance: VyrVueInstance, _children: VyrVueChildren, descriptor: ElCheckboxDescriptor) {
|
|
24
|
+
const children: VNode[] = []
|
|
25
|
+
|
|
26
|
+
const options = DatasetDescriptor.getCollection(descriptor.options)
|
|
27
|
+
if (options.length > 0) {
|
|
28
|
+
for (const option of options) {
|
|
29
|
+
const checkbox = resolveDynamicComponent('el-checkbox') as VNode
|
|
30
|
+
const labelAttrs = { value: option[descriptor.value] }
|
|
31
|
+
children.push(h(checkbox, labelAttrs, () => option[descriptor.label]))
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const inputComponent = this.getComponent()
|
|
36
|
+
const inputAttrs = this.getComponentAttrs(instance, descriptor, this.getArrayByJoinValue(descriptor.modelValue))
|
|
37
|
+
const inputVnode = h(inputComponent, inputAttrs, { default: () => children })
|
|
38
|
+
this.currentVnode = inputVnode
|
|
39
|
+
|
|
40
|
+
return this.getItemComponent(descriptor, inputVnode)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export {
|
|
45
|
+
ElCheckboxActor
|
|
46
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode } from "vue";
|
|
2
|
+
import { UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VueActor, VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElColDescriptor } from "../descriptor";
|
|
5
|
+
|
|
6
|
+
class ElColActor extends VueActor {
|
|
7
|
+
|
|
8
|
+
getProps(descriptor: ElColDescriptor, args: UpdateArgs): VyrVueProps {
|
|
9
|
+
const props = super.getProps(descriptor, args)
|
|
10
|
+
|
|
11
|
+
return {
|
|
12
|
+
...props,
|
|
13
|
+
span: descriptor.span,
|
|
14
|
+
offset: descriptor.offset,
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
getWrapperVNode(instance: VyrVueInstance, content: VNode) {
|
|
19
|
+
return content
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getComponent() {
|
|
23
|
+
return resolveDynamicComponent('el-col') as VNode
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElColDescriptor) {
|
|
27
|
+
const component = this.getComponent()
|
|
28
|
+
const attrs = this.getComponentAttrs(instance, descriptor)
|
|
29
|
+
|
|
30
|
+
return h(component, attrs, children)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
ElColActor
|
|
36
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode } from "vue";
|
|
2
|
+
import { UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElDatePickerDescriptor } from "../descriptor";
|
|
5
|
+
import { mergeStyle } from "../utils";
|
|
6
|
+
import { ElFormItemActor } from "./ElFormItemActor";
|
|
7
|
+
|
|
8
|
+
class ElDatePickerActor extends ElFormItemActor {
|
|
9
|
+
|
|
10
|
+
getProps(descriptor: ElDatePickerDescriptor, args: UpdateArgs): VyrVueProps {
|
|
11
|
+
const props = super.getProps(descriptor, args)
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
...props,
|
|
15
|
+
type: descriptor.dateType,
|
|
16
|
+
placeholder: descriptor.placeholder,
|
|
17
|
+
readonly: descriptor.readonly,
|
|
18
|
+
disabled: descriptor.disabled,
|
|
19
|
+
clearable: descriptor.clearable,
|
|
20
|
+
format: descriptor.format,
|
|
21
|
+
valueFormat: descriptor.format,
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
getComponent() {
|
|
26
|
+
return resolveDynamicComponent('el-datePicker') as VNode
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElDatePickerDescriptor) {
|
|
30
|
+
const inputComponent = this.getComponent()
|
|
31
|
+
const inputAttrs = this.getComponentAttrs(instance, descriptor, descriptor.modelValue)
|
|
32
|
+
mergeStyle({ width: '100%', 'min-width': '200px' }, inputAttrs)
|
|
33
|
+
const inputVnode = h(inputComponent, inputAttrs, { default: () => [] })
|
|
34
|
+
this.currentVnode = inputVnode
|
|
35
|
+
|
|
36
|
+
return this.getItemComponent(descriptor, inputVnode)
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export {
|
|
41
|
+
ElDatePickerActor
|
|
42
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode } from "vue";
|
|
2
|
+
import { UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VueActor, VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElDialogDescriptor } from "../descriptor"
|
|
5
|
+
|
|
6
|
+
class ElDialogActor extends VueActor {
|
|
7
|
+
|
|
8
|
+
getProps(descriptor: ElDialogDescriptor, args: UpdateArgs): VyrVueProps {
|
|
9
|
+
const props = super.getProps(descriptor, args)
|
|
10
|
+
|
|
11
|
+
return {
|
|
12
|
+
...props,
|
|
13
|
+
title: descriptor.title,
|
|
14
|
+
modelValue: descriptor.visible,
|
|
15
|
+
width: descriptor.width + descriptor.wUnit,
|
|
16
|
+
closeOnClickModal: descriptor.closeOnClickModal,
|
|
17
|
+
onClose() {
|
|
18
|
+
descriptor.visible = false
|
|
19
|
+
descriptor.setNeedsUpdate()
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
getComponent() {
|
|
25
|
+
return resolveDynamicComponent('el-dialog') as VNode
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElDialogDescriptor) {
|
|
29
|
+
const component = this.getComponent()
|
|
30
|
+
const attrs = this.getComponentAttrs(instance, descriptor)
|
|
31
|
+
|
|
32
|
+
return h(component, attrs, children)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
ElDialogActor
|
|
38
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode, getCurrentInstance } from "vue";
|
|
2
|
+
import { UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VueActor, VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElFormDescriptor } from "../descriptor";
|
|
5
|
+
|
|
6
|
+
class ElFormActor extends VueActor {
|
|
7
|
+
|
|
8
|
+
methods!: any
|
|
9
|
+
|
|
10
|
+
getProps(descriptor: ElFormDescriptor, args: UpdateArgs): VyrVueProps {
|
|
11
|
+
const props = super.getProps(descriptor, args)
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
...props,
|
|
15
|
+
model: {},
|
|
16
|
+
labelWidth: descriptor.labelWidth,
|
|
17
|
+
labelPosition: descriptor.labelPosition,
|
|
18
|
+
inline: descriptor.inline,
|
|
19
|
+
disabled: descriptor.disabled,
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
getComponent() {
|
|
24
|
+
return resolveDynamicComponent('el-form') as VNode
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElFormDescriptor) {
|
|
28
|
+
const self = this
|
|
29
|
+
const component = this.getComponent()
|
|
30
|
+
|
|
31
|
+
const attrs = this.getComponentAttrs(instance, descriptor)
|
|
32
|
+
|
|
33
|
+
const formComponent = {
|
|
34
|
+
...component,
|
|
35
|
+
mounted() {
|
|
36
|
+
self.methods = getCurrentInstance()?.exposed ?? null
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return h(formComponent, attrs, children)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export {
|
|
45
|
+
ElFormActor
|
|
46
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode } from "vue";
|
|
2
|
+
import { VueActor, VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
3
|
+
import { ElFormDescriptor, ElFormItemDescriptor } from "../descriptor";
|
|
4
|
+
import { getValidators, mergeStyle } from "../utils";
|
|
5
|
+
|
|
6
|
+
abstract class ElFormItemActor extends VueActor {
|
|
7
|
+
private _modelValue: string | number | boolean | null = null
|
|
8
|
+
protected currentVnode!: VNode
|
|
9
|
+
|
|
10
|
+
getItemComponentAttrs(descriptor: ElFormItemDescriptor) {
|
|
11
|
+
const rules = getValidators(descriptor, this)
|
|
12
|
+
const props: VyrVueProps = {
|
|
13
|
+
rules,
|
|
14
|
+
prop: descriptor.columnName,
|
|
15
|
+
label: descriptor.columnComment,
|
|
16
|
+
style: {
|
|
17
|
+
'margin-bottom': '0',
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return props
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
getItemComponent(descriptor: ElFormItemDescriptor, inputVnode: VNode) {
|
|
24
|
+
const ItemComponent = resolveDynamicComponent('el-form-item') as VNode
|
|
25
|
+
const attrs = this.getItemComponentAttrs(descriptor)
|
|
26
|
+
const { parent } = descriptor.traceAncestor(false)
|
|
27
|
+
if (parent instanceof ElFormDescriptor) {
|
|
28
|
+
if (parent.inline) {
|
|
29
|
+
let width = parseInt(parent.labelWidth.toString())
|
|
30
|
+
if (isNaN(width)) width = 80
|
|
31
|
+
mergeStyle({ width: width + 200 + 'px' }, attrs)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return h(ItemComponent, attrs, () => inputVnode)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
getComponentAttrs(instance: VyrVueInstance, descriptor: ElFormItemDescriptor, modelValue?: any) {
|
|
38
|
+
const self = this
|
|
39
|
+
const formatValue = self.formatModelValue(modelValue)
|
|
40
|
+
self._modelValue = formatValue
|
|
41
|
+
return {
|
|
42
|
+
...super.getComponentAttrs(instance, descriptor),
|
|
43
|
+
modelValue: modelValue,
|
|
44
|
+
'onUpdate:modelValue'(value: string) {
|
|
45
|
+
if (self.currentVnode.props) self.currentVnode.props.modelValue = value
|
|
46
|
+
if (self.currentVnode.component === undefined || self.currentVnode.component === null) return
|
|
47
|
+
self.currentVnode.component.props.modelValue = value
|
|
48
|
+
self._modelValue = self.formatModelValue(value)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElFormItemDescriptor) {
|
|
54
|
+
const inputComponent = this.getComponent()
|
|
55
|
+
const inputAttrs = this.getComponentAttrs(instance, descriptor, descriptor.modelValue)
|
|
56
|
+
const inputVnode = h(inputComponent, inputAttrs, children)
|
|
57
|
+
this.currentVnode = inputVnode
|
|
58
|
+
|
|
59
|
+
return this.getItemComponent(descriptor, inputVnode)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
formatModelValue(modelValue: string | null = null) {
|
|
63
|
+
return Array.isArray(modelValue) ? modelValue.filter(item => item !== '').join(',') : modelValue
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
getArrayByJoinValue(modelValue?: string) {
|
|
67
|
+
if (modelValue === undefined) return []
|
|
68
|
+
|
|
69
|
+
if (typeof modelValue !== 'string') return [modelValue]
|
|
70
|
+
|
|
71
|
+
return modelValue.split(',').filter(item => item !== "")
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
getModelValue() {
|
|
75
|
+
return this._modelValue
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export {
|
|
80
|
+
ElFormItemActor
|
|
81
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode } from "vue";
|
|
2
|
+
import { UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VyrVueChildren, VyrVueInstance } from "@vyr/vue";
|
|
4
|
+
import { ElInputDescriptor } from "../descriptor";
|
|
5
|
+
import { mergeStyle } from "../utils";
|
|
6
|
+
import { ElFormItemActor } from "./ElFormItemActor";
|
|
7
|
+
|
|
8
|
+
class ElInputActor extends ElFormItemActor {
|
|
9
|
+
|
|
10
|
+
getProps(descriptor: ElInputDescriptor, args: UpdateArgs) {
|
|
11
|
+
const props = super.getProps(descriptor, args)
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
...props,
|
|
15
|
+
type: descriptor.inputType,
|
|
16
|
+
placeholder: descriptor.placeholder,
|
|
17
|
+
rows: descriptor.rows,
|
|
18
|
+
step: descriptor.step,
|
|
19
|
+
readonly: descriptor.readonly,
|
|
20
|
+
clearable: descriptor.clearable,
|
|
21
|
+
showPassword: descriptor.showPassword,
|
|
22
|
+
showWordLimit: descriptor.showWordLimit,
|
|
23
|
+
disabled: descriptor.disabled,
|
|
24
|
+
autofocus: descriptor.autofocus,
|
|
25
|
+
maxlength: descriptor.maxlength,
|
|
26
|
+
minlength: descriptor.minlength,
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
getComponent() {
|
|
31
|
+
return resolveDynamicComponent('el-input') as VNode
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElInputDescriptor) {
|
|
35
|
+
const inputComponent = this.getComponent()
|
|
36
|
+
const inputAttrs = this.getComponentAttrs(instance, descriptor, descriptor.modelValue)
|
|
37
|
+
mergeStyle({ width: '100%' }, inputAttrs)
|
|
38
|
+
const inputVnode = h(inputComponent, inputAttrs, children)
|
|
39
|
+
this.currentVnode = inputVnode
|
|
40
|
+
|
|
41
|
+
return this.getItemComponent(descriptor, inputVnode)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export {
|
|
46
|
+
ElInputActor
|
|
47
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode } from "vue";
|
|
2
|
+
import { UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElInputNumberDescriptor } from "../descriptor";
|
|
5
|
+
import { mergeStyle } from "../utils";
|
|
6
|
+
import { ElFormItemActor } from "./ElFormItemActor";
|
|
7
|
+
|
|
8
|
+
class ElInputNumberActor extends ElFormItemActor {
|
|
9
|
+
getProps(descriptor: ElInputNumberDescriptor, args: UpdateArgs): VyrVueProps {
|
|
10
|
+
const props = super.getProps(descriptor, args)
|
|
11
|
+
|
|
12
|
+
return {
|
|
13
|
+
...props,
|
|
14
|
+
min: descriptor.min,
|
|
15
|
+
max: descriptor.max,
|
|
16
|
+
step: descriptor.step,
|
|
17
|
+
disabled: descriptor.disabled,
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getComponent() {
|
|
22
|
+
return resolveDynamicComponent('el-input-number') as VNode
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElInputNumberDescriptor) {
|
|
26
|
+
const inputComponent = this.getComponent()
|
|
27
|
+
const inputAttrs = this.getComponentAttrs(instance, descriptor, descriptor.modelValue || null)
|
|
28
|
+
mergeStyle({ width: '100%', 'min-width': '200px' }, inputAttrs)
|
|
29
|
+
const inputVnode = h(inputComponent, inputAttrs, children)
|
|
30
|
+
this.currentVnode = inputVnode
|
|
31
|
+
|
|
32
|
+
return this.getItemComponent(descriptor, inputVnode)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
ElInputNumberActor
|
|
38
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode } from "vue";
|
|
2
|
+
import { UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VueActor, VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElMenuDescriptor } from "../descriptor";
|
|
5
|
+
|
|
6
|
+
class ElMenuActor extends VueActor {
|
|
7
|
+
|
|
8
|
+
getProps(descriptor: ElMenuDescriptor, args: UpdateArgs): VyrVueProps {
|
|
9
|
+
const props = super.getProps(descriptor, args)
|
|
10
|
+
|
|
11
|
+
return {
|
|
12
|
+
...props,
|
|
13
|
+
mode: descriptor.mode,
|
|
14
|
+
defaultActive: descriptor.defaultActive,
|
|
15
|
+
backgroundColor: descriptor.backgroundColor.getColor(),
|
|
16
|
+
textColor: descriptor.textColor,
|
|
17
|
+
activeTextColor: descriptor.activeTextColor,
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getComponent() {
|
|
22
|
+
return resolveDynamicComponent('el-menu') as VNode
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElMenuDescriptor) {
|
|
26
|
+
const component = this.getComponent()
|
|
27
|
+
const attrs = this.getComponentAttrs(instance, descriptor)
|
|
28
|
+
|
|
29
|
+
return h(component, attrs, children)
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
ElMenuActor
|
|
35
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode, Text } from "vue"
|
|
2
|
+
import { Generate, UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VueActor, VyrVueChildren, VyrVueInstance } from "@vyr/vue";
|
|
4
|
+
import { ElMenuItemDescriptor } from "../descriptor";
|
|
5
|
+
|
|
6
|
+
class ElMenuItemActor extends VueActor {
|
|
7
|
+
|
|
8
|
+
getWrapper() {
|
|
9
|
+
return null
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
getProps(descriptor: ElMenuItemDescriptor, args: UpdateArgs) {
|
|
13
|
+
const props = super.getProps(descriptor, args)
|
|
14
|
+
|
|
15
|
+
return {
|
|
16
|
+
...props,
|
|
17
|
+
index: descriptor.uuid,
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getWrapperVNode(instance: VyrVueInstance, content: VNode) {
|
|
22
|
+
return content
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
getComponent() {
|
|
26
|
+
return resolveDynamicComponent('el-menu-item') as VNode
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElMenuItemDescriptor) {
|
|
30
|
+
const component = this.getComponent()
|
|
31
|
+
const attrs = this.getComponentAttrs(instance, descriptor)
|
|
32
|
+
|
|
33
|
+
if (descriptor.label) {
|
|
34
|
+
const title = h(Text, descriptor.label)
|
|
35
|
+
children.title = () => title
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const content = h(component, { ...attrs, key: Generate.uuid() }, children)
|
|
39
|
+
|
|
40
|
+
return content
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export {
|
|
45
|
+
ElMenuItemActor
|
|
46
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { h, resolveDynamicComponent, VNode } from "vue";
|
|
2
|
+
import { UpdateArgs } from "@vyr/engine";
|
|
3
|
+
import { VueActor, VyrVueProps, VyrVueInstance, VyrVueChildren } from "@vyr/vue";
|
|
4
|
+
import { ElPaginationDescriptor } from "../descriptor";
|
|
5
|
+
|
|
6
|
+
class ElPaginationActor extends VueActor {
|
|
7
|
+
protected currentVnode!: VNode
|
|
8
|
+
|
|
9
|
+
getProps(descriptor: ElPaginationDescriptor, args: UpdateArgs): VyrVueProps {
|
|
10
|
+
const props = super.getProps(descriptor, args)
|
|
11
|
+
const layout: string[] = []
|
|
12
|
+
if (descriptor.layoutSizes) layout.push('sizes')
|
|
13
|
+
if (descriptor.layoutPrev) layout.push('prev')
|
|
14
|
+
if (descriptor.layoutPager) layout.push('pager')
|
|
15
|
+
if (descriptor.layoutNext) layout.push('next')
|
|
16
|
+
if (descriptor.layoutJumper) layout.push('jumper')
|
|
17
|
+
if (descriptor.layoutArrow) layout.push(' ->')
|
|
18
|
+
if (descriptor.layoutTotal) layout.push('total')
|
|
19
|
+
|
|
20
|
+
return {
|
|
21
|
+
...props,
|
|
22
|
+
total: descriptor.total,
|
|
23
|
+
background: descriptor.background,
|
|
24
|
+
layout: layout.join(', '),
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
getComponent() {
|
|
29
|
+
return resolveDynamicComponent('el-pagination') as VNode
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
getComponentAttrs(instance: VyrVueInstance, descriptor: ElPaginationDescriptor, ...args: any[]) {
|
|
33
|
+
const attrs = super.getComponentAttrs(instance, descriptor, ...args)
|
|
34
|
+
const pageSizes = descriptor.pageSizes.split(',').filter(clip => clip).map(clip => parseInt(clip))
|
|
35
|
+
|
|
36
|
+
const self = this
|
|
37
|
+
Object.assign(attrs, {
|
|
38
|
+
pageSizes,
|
|
39
|
+
pageSize: descriptor.pageSize,
|
|
40
|
+
'onUpdate:pageSize'(value: number) {
|
|
41
|
+
if (self.currentVnode.props) self.currentVnode.props.pageSize = value
|
|
42
|
+
if (self.currentVnode.component === undefined || self.currentVnode.component === null) return
|
|
43
|
+
self.currentVnode.component.props.pageSize = value
|
|
44
|
+
},
|
|
45
|
+
currentPage: descriptor.currentPage,
|
|
46
|
+
'onUpdate:currentPage'(value: number) {
|
|
47
|
+
if (self.currentVnode.props) self.currentVnode.props.currentPage = value
|
|
48
|
+
if (self.currentVnode.component === undefined || self.currentVnode.component === null) return
|
|
49
|
+
self.currentVnode.component.props.currentPage = value
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
return attrs
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
getContent(instance: VyrVueInstance, children: VyrVueChildren, descriptor: ElPaginationDescriptor) {
|
|
57
|
+
const component = this.getComponent()
|
|
58
|
+
const attrs = this.getComponentAttrs(instance, descriptor)
|
|
59
|
+
this.currentVnode = h(component, attrs, children)
|
|
60
|
+
return this.currentVnode
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
getData() {
|
|
64
|
+
//@ts-ignore
|
|
65
|
+
const { pageSize, currentPage } = this.currentVnode.component.props
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
pageSize,
|
|
69
|
+
currentPage,
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
reset() {
|
|
74
|
+
const value = 1
|
|
75
|
+
if (this.currentVnode.props) this.currentVnode.props.currentPage = value
|
|
76
|
+
if (this.currentVnode.component === undefined || this.currentVnode.component === null) return
|
|
77
|
+
this.currentVnode.component.props.currentPage = value
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export {
|
|
82
|
+
ElPaginationActor
|
|
83
|
+
}
|