@vyr/element-plus-browser 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 +26 -0
- package/src/common/event.ts +9 -0
- package/src/common/index.ts +2 -0
- package/src/common/provider.ts +14 -0
- package/src/index.ts +3 -0
- package/src/locale/Language.ts +10 -0
- package/src/locale/LanguageProvider.ts +427 -0
- package/src/locale/index.ts +2 -0
- package/src/option/Button.ts +38 -0
- package/src/option/Column.ts +19 -0
- package/src/option/Dialog.ts +10 -0
- package/src/option/Form.ts +16 -0
- package/src/option/Input.ts +18 -0
- package/src/option/Menu.ts +31 -0
- package/src/option/Row.ts +19 -0
- package/src/option/index.ts +7 -0
- package/src/preset/ElTable.ts +425 -0
- package/src/preset/index.ts +14 -0
- package/src/service/global/index.ts +1 -0
- package/src/service/global/scripts/index.ts +60 -0
- package/src/service/index.ts +53 -0
- package/src/service/inspector/ElButton.vue +98 -0
- package/src/service/inspector/ElCascader.vue +98 -0
- package/src/service/inspector/ElCheckbox.vue +91 -0
- package/src/service/inspector/ElCol.vue +32 -0
- package/src/service/inspector/ElDatePicker.vue +92 -0
- package/src/service/inspector/ElDialog.vue +33 -0
- package/src/service/inspector/ElForm.vue +44 -0
- package/src/service/inspector/ElInput.vue +134 -0
- package/src/service/inspector/ElInputNumber.vue +78 -0
- package/src/service/inspector/ElMenu.vue +60 -0
- package/src/service/inspector/ElMenuItem.vue +46 -0
- package/src/service/inspector/ElPagination.vue +103 -0
- package/src/service/inspector/ElRadio.vue +91 -0
- package/src/service/inspector/ElRow.vue +36 -0
- package/src/service/inspector/ElSelect.vue +98 -0
- package/src/service/inspector/ElSubMenu.vue +32 -0
- package/src/service/inspector/ElSwitch.vue +58 -0
- package/src/service/inspector/ElTable.vue +47 -0
- package/src/service/inspector/ElTableColumn.vue +107 -0
- package/src/service/inspector/VueViewer.vue +65 -0
- package/src/service/inspector/index.ts +23 -0
- package/src/shims-vue.d.ts +10 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<vyr-card v-if="descriptor" :title="language.get(`descriptor.type.${descriptor.type}` as any)" :scroll="true">
|
|
3
|
+
<BaseFragment :raw="raw" />
|
|
4
|
+
<HTMLFragment v-if="ignore.includes(descriptor.type) === false" :raw="raw" />
|
|
5
|
+
<component :is="PropsViewer" :raw="raw"></component>
|
|
6
|
+
</vyr-card>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
<script lang="ts" setup>
|
|
11
|
+
import { computed, defineAsyncComponent, ref, Ref, watch } from 'vue';
|
|
12
|
+
import { VyrCard } from '@vyr/design';
|
|
13
|
+
import { BaseFragment, HTMLFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
|
|
14
|
+
import { VueDescriptor } from '@vyr/vue'
|
|
15
|
+
import { ElButtonDescriptor, ElCascaderDescriptor, ElCheckboxDescriptor, ElDatePickerDescriptor, ElFormDescriptor, ElInputDescriptor, ElInputNumberDescriptor, ElRadioDescriptor, ElColDescriptor, ElRowDescriptor, ElSelectDescriptor, ElSwitchDescriptor, ElTableColumnDescriptor, ElTableDescriptor, ElDialogDescriptor, ElPaginationDescriptor, ElMenuDescriptor, ElSubMenuDescriptor, ElMenuItemDescriptor } from '@vyr/element-plus';
|
|
16
|
+
import { language } from '../../locale'
|
|
17
|
+
import { providerDescriptor } from '../../common'
|
|
18
|
+
|
|
19
|
+
const props = defineProps<{ raw: string, uuid: string }>()
|
|
20
|
+
|
|
21
|
+
const ignore = [ElRowDescriptor.type, ElColDescriptor.type, ElTableColumnDescriptor.type, ElDialogDescriptor.type]
|
|
22
|
+
const components = [
|
|
23
|
+
{ type: ElButtonDescriptor.type, import: defineAsyncComponent(() => import('./ElButton.vue')) },
|
|
24
|
+
{ type: ElRowDescriptor.type, import: defineAsyncComponent(() => import('./ElRow.vue')) },
|
|
25
|
+
{ type: ElColDescriptor.type, import: defineAsyncComponent(() => import('./ElCol.vue')) },
|
|
26
|
+
{ type: ElFormDescriptor.type, import: defineAsyncComponent(() => import('./ElForm.vue')) },
|
|
27
|
+
{ type: ElCascaderDescriptor.type, import: defineAsyncComponent(() => import('./ElCascader.vue')) },
|
|
28
|
+
{ type: ElCheckboxDescriptor.type, import: defineAsyncComponent(() => import('./ElCheckbox.vue')) },
|
|
29
|
+
{ type: ElDatePickerDescriptor.type, import: defineAsyncComponent(() => import('./ElDatePicker.vue')) },
|
|
30
|
+
{ type: ElInputDescriptor.type, import: defineAsyncComponent(() => import('./ElInput.vue')) },
|
|
31
|
+
{ type: ElInputNumberDescriptor.type, import: defineAsyncComponent(() => import('./ElInputNumber.vue')) },
|
|
32
|
+
{ type: ElRadioDescriptor.type, import: defineAsyncComponent(() => import('./ElRadio.vue')) },
|
|
33
|
+
{ type: ElSelectDescriptor.type, import: defineAsyncComponent(() => import('./ElSelect.vue')) },
|
|
34
|
+
{ type: ElSwitchDescriptor.type, import: defineAsyncComponent(() => import('./ElSwitch.vue')) },
|
|
35
|
+
{ type: ElTableDescriptor.type, import: defineAsyncComponent(() => import('./ElTable.vue')) },
|
|
36
|
+
{ type: ElTableColumnDescriptor.type, import: defineAsyncComponent(() => import('./ElTableColumn.vue')) },
|
|
37
|
+
{ type: ElDialogDescriptor.type, import: defineAsyncComponent(() => import('./ElDialog.vue')) },
|
|
38
|
+
{ type: ElPaginationDescriptor.type, import: defineAsyncComponent(() => import('./ElPagination.vue')) },
|
|
39
|
+
{ type: ElMenuDescriptor.type, import: defineAsyncComponent(() => import('./ElMenu.vue')) },
|
|
40
|
+
{ type: ElSubMenuDescriptor.type, import: defineAsyncComponent(() => import('./ElSubMenu.vue')) },
|
|
41
|
+
{ type: ElMenuItemDescriptor.type, import: defineAsyncComponent(() => import('./ElMenuItem.vue')) },
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
const descriptor = ref(null) as Ref<VueDescriptor | null>
|
|
45
|
+
const watchEditItem = (cur: string) => {
|
|
46
|
+
if (!cur) return descriptor.value = null
|
|
47
|
+
descriptor.value = VueDescriptor.get<VueDescriptor>(cur)
|
|
48
|
+
}
|
|
49
|
+
watch(() => props.uuid, watchEditItem, { immediate: true })
|
|
50
|
+
|
|
51
|
+
providerDescriptor(descriptor)
|
|
52
|
+
builtinProviderDescriptor(descriptor)
|
|
53
|
+
|
|
54
|
+
const PropsViewer = computed(() => {
|
|
55
|
+
if (descriptor.value === null) return null
|
|
56
|
+
|
|
57
|
+
for (const component of components) {
|
|
58
|
+
if (component.type === descriptor.value.type) return component.import
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return null
|
|
62
|
+
})
|
|
63
|
+
</script>
|
|
64
|
+
|
|
65
|
+
<style lang="less" scoped></style>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ElButtonDescriptor, ElCascaderDescriptor, ElCheckboxDescriptor, ElColDescriptor, ElDatePickerDescriptor, ElDialogDescriptor, ElFormDescriptor, ElInputDescriptor, ElInputNumberDescriptor, ElMenuDescriptor, ElMenuItemDescriptor, ElPaginationDescriptor, ElRadioDescriptor, ElRowDescriptor, ElSelectDescriptor, ElSubMenuDescriptor, ElSwitchDescriptor, ElTableColumnDescriptor, ElTableDescriptor } from '@vyr/element-plus'
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
{ type: ElButtonDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
5
|
+
{ type: ElRowDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
6
|
+
{ type: ElColDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
7
|
+
{ type: ElFormDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
8
|
+
{ type: ElCascaderDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
9
|
+
{ type: ElCheckboxDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
10
|
+
{ type: ElDatePickerDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
11
|
+
{ type: ElInputDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
12
|
+
{ type: ElInputNumberDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
13
|
+
{ type: ElRadioDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
14
|
+
{ type: ElSelectDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
15
|
+
{ type: ElSwitchDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
16
|
+
{ type: ElTableDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
17
|
+
{ type: ElTableColumnDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
18
|
+
{ type: ElDialogDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
19
|
+
{ type: ElPaginationDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
20
|
+
{ type: ElMenuDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
21
|
+
{ type: ElSubMenuDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
22
|
+
{ type: ElMenuItemDescriptor.type, import: () => import('./VueViewer.vue') },
|
|
23
|
+
]
|