@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.
Files changed (43) hide show
  1. package/package.json +26 -0
  2. package/src/common/event.ts +9 -0
  3. package/src/common/index.ts +2 -0
  4. package/src/common/provider.ts +14 -0
  5. package/src/index.ts +3 -0
  6. package/src/locale/Language.ts +10 -0
  7. package/src/locale/LanguageProvider.ts +427 -0
  8. package/src/locale/index.ts +2 -0
  9. package/src/option/Button.ts +38 -0
  10. package/src/option/Column.ts +19 -0
  11. package/src/option/Dialog.ts +10 -0
  12. package/src/option/Form.ts +16 -0
  13. package/src/option/Input.ts +18 -0
  14. package/src/option/Menu.ts +31 -0
  15. package/src/option/Row.ts +19 -0
  16. package/src/option/index.ts +7 -0
  17. package/src/preset/ElTable.ts +425 -0
  18. package/src/preset/index.ts +14 -0
  19. package/src/service/global/index.ts +1 -0
  20. package/src/service/global/scripts/index.ts +60 -0
  21. package/src/service/index.ts +53 -0
  22. package/src/service/inspector/ElButton.vue +98 -0
  23. package/src/service/inspector/ElCascader.vue +98 -0
  24. package/src/service/inspector/ElCheckbox.vue +91 -0
  25. package/src/service/inspector/ElCol.vue +32 -0
  26. package/src/service/inspector/ElDatePicker.vue +92 -0
  27. package/src/service/inspector/ElDialog.vue +33 -0
  28. package/src/service/inspector/ElForm.vue +44 -0
  29. package/src/service/inspector/ElInput.vue +134 -0
  30. package/src/service/inspector/ElInputNumber.vue +78 -0
  31. package/src/service/inspector/ElMenu.vue +60 -0
  32. package/src/service/inspector/ElMenuItem.vue +46 -0
  33. package/src/service/inspector/ElPagination.vue +103 -0
  34. package/src/service/inspector/ElRadio.vue +91 -0
  35. package/src/service/inspector/ElRow.vue +36 -0
  36. package/src/service/inspector/ElSelect.vue +98 -0
  37. package/src/service/inspector/ElSubMenu.vue +32 -0
  38. package/src/service/inspector/ElSwitch.vue +58 -0
  39. package/src/service/inspector/ElTable.vue +47 -0
  40. package/src/service/inspector/ElTableColumn.vue +107 -0
  41. package/src/service/inspector/VueViewer.vue +65 -0
  42. package/src/service/inspector/index.ts +23 -0
  43. package/src/shims-vue.d.ts +10 -0
@@ -0,0 +1,425 @@
1
+ import { ArrayUtils, Descriptor, Generate, executePreset as _executePreset } from '@vyr/engine'
2
+ import { ElDialogDescriptor, ElFormDescriptor, ElPaginationDescriptor, executePreset, routinePreset } from '@vyr/element-plus'
3
+ import { DataService, Preset, runtime } from '@vyr/runtime'
4
+ import { dialog, DialogOptions, Option } from '@vyr/design'
5
+ import { language as builtinLanguage, option } from '@vyr/builtin'
6
+ import { language } from '../locale'
7
+
8
+ const getSelectOptions = () => {
9
+ const dataService = runtime.get<DataService>('data')
10
+ const navigator = dataService.sidebar.get(dataService.sidebar.active)
11
+ const forms: Option[] = []
12
+ const dialogs: Option[] = []
13
+ const paginations: Option[] = []
14
+
15
+ if (navigator) {
16
+ const interactionIds: string[] = []
17
+ navigator.root.traverse(child => {
18
+ if (child.interactions.length > 0) {
19
+ for (const interaction of child.interactions) {
20
+ ArrayUtils.insert(interactionIds, interaction.type)
21
+ }
22
+ }
23
+ if (child instanceof ElFormDescriptor) {
24
+ forms.push({ label: child.name, value: child.uuid })
25
+ } else if (child instanceof ElDialogDescriptor) {
26
+ dialogs.push({ label: child.name, value: child.uuid })
27
+ } else if (child instanceof ElPaginationDescriptor) {
28
+ paginations.push({ label: child.name, value: child.uuid })
29
+ }
30
+ })
31
+ }
32
+
33
+ return {
34
+ forms,
35
+ dialogs,
36
+ paginations,
37
+ }
38
+ }
39
+
40
+ const listPreset: Preset = {
41
+ type: 'interaction',
42
+ label: language.get('preset.ElTable.list'),
43
+ value: 'preset.ElTable.list',
44
+ executor: async (descriptor: Descriptor) => {
45
+ const { forms, paginations } = getSelectOptions()
46
+ const { datasets } = option.Preset.getSelectOptions()
47
+
48
+ const options: DialogOptions = [
49
+ {
50
+ name: 'url',
51
+ label: language.get('preset.ElTable.list.url'),
52
+ componentType: 'input',
53
+ componentProps: {}
54
+ },
55
+ {
56
+ name: 'form',
57
+ label: language.get('preset.ElTable.list.form'),
58
+ componentType: 'select',
59
+ componentProps: {},
60
+ componentData: forms
61
+ },
62
+ {
63
+ name: 'pagination',
64
+ label: language.get('preset.ElTable.list.pagination'),
65
+ componentType: 'select',
66
+ componentProps: {},
67
+ componentData: paginations,
68
+ },
69
+ {
70
+ name: 'dataset',
71
+ label: language.get('preset.ElTable.list.dataset'),
72
+ componentType: 'select',
73
+ componentProps: {},
74
+ componentData: datasets
75
+ },
76
+ ]
77
+
78
+ const result = await dialog({ title: builtinLanguage.get('preset.dialog.title'), options })
79
+ if (result.success === false) return
80
+
81
+ const requestArgs = {
82
+ url: result.value.url,
83
+ type: _executePreset.net.request.RequestType.GET,
84
+ data: `${routinePreset.ElTable.list.nodes.form},${routinePreset.ElTable.list.nodes.pagination}`
85
+ }
86
+ const inputs = {
87
+ [routinePreset.ElTable.list.nodes.form]: executePreset.ElForm.getData.createExecuteInput({ form: result.value.form }),
88
+ [routinePreset.ElTable.list.nodes.pagination]: executePreset.ElPagination.getData.createExecuteInput({ pagination: result.value.pagination }),
89
+ [routinePreset.ElTable.list.nodes.request]: _executePreset.net.request.createExecuteInput(requestArgs),
90
+ [routinePreset.ElTable.list.nodes.dataset]: _executePreset.dataset.update.createExecuteInput({ url: result.value.dataset }),
91
+ }
92
+ const config = { uuid: Generate.uuid(), type: 'click', url: routinePreset.ElTable.list.url, inputs }
93
+ descriptor.interactions.push(config)
94
+ }
95
+ }
96
+
97
+ const resetPreset: Preset = {
98
+ type: 'interaction',
99
+ label: language.get('preset.ElTable.reset'),
100
+ value: 'preset.ElTable.reset',
101
+ executor: async (descriptor: Descriptor) => {
102
+ const { forms, paginations } = getSelectOptions()
103
+ const { interactionTargets } = option.Preset.getSelectOptions()
104
+
105
+ const options: DialogOptions = [
106
+ {
107
+ name: 'form',
108
+ label: language.get('preset.ElTable.list.form'),
109
+ componentType: 'select',
110
+ componentProps: {},
111
+ componentData: forms,
112
+ },
113
+ {
114
+ name: 'pagination',
115
+ label: language.get('preset.ElTable.list.pagination'),
116
+ componentType: 'select',
117
+ componentProps: {},
118
+ componentData: paginations
119
+ },
120
+ {
121
+ name: 'target',
122
+ label: builtinLanguage.get('preset.scheduler.invoke.target'),
123
+ componentType: 'select',
124
+ componentProps: {},
125
+ componentData: interactionTargets
126
+ },
127
+ {
128
+ name: 'interaction',
129
+ label: builtinLanguage.get('preset.scheduler.invoke.interaction'),
130
+ componentType: 'select',
131
+ componentProps: {},
132
+ componentData: (result) => {
133
+ const descriptor = Descriptor.get<Descriptor>(result.target)
134
+ if (descriptor === null) return []
135
+ return option.Preset.getInteractionOptionsByTarget(descriptor)
136
+ },
137
+ },
138
+ ]
139
+
140
+ const result = await dialog({ title: builtinLanguage.get('preset.dialog.title'), options })
141
+ if (result.success === false) return
142
+
143
+ const inputs = {
144
+ [routinePreset.ElTable.reset.nodes.form]: executePreset.ElForm.reset.createExecuteInput({ form: result.value.form }),
145
+ [routinePreset.ElTable.reset.nodes.pagination]: executePreset.ElPagination.reset.createExecuteInput({ pagination: result.value.pagination }),
146
+ [routinePreset.ElTable.reset.nodes.refresh]: _executePreset.graphics.invoke.createExecuteInput({
147
+ target: result.value.target,
148
+ interaction: result.value.interaction,
149
+ })
150
+ }
151
+ const config = { uuid: Generate.uuid(), type: 'click', url: routinePreset.ElTable.reset.url, inputs }
152
+ descriptor.interactions.push(config)
153
+ }
154
+ }
155
+
156
+ const createPreset: Preset = {
157
+ type: 'interaction',
158
+ label: language.get('preset.ElTable.create'),
159
+ value: 'preset.ElTable.create',
160
+ executor: async (descriptor: Descriptor) => {
161
+ const { dialogs } = getSelectOptions()
162
+ const { datasets } = option.Preset.getSelectOptions()
163
+ const options: DialogOptions = [
164
+ {
165
+ name: 'dataset',
166
+ label: language.get('preset.ElTable.create.dataset'),
167
+ componentType: 'select',
168
+ componentProps: {},
169
+ componentData: datasets
170
+ },
171
+ {
172
+ name: 'dialog',
173
+ label: language.get('preset.ElTable.create.dialog'),
174
+ componentType: 'select',
175
+ componentProps: {},
176
+ componentData: dialogs,
177
+ },
178
+ {
179
+ name: 'title',
180
+ label: language.get('preset.ElTable.create.dialog.title'),
181
+ componentType: 'input',
182
+ componentProps: {}
183
+ },
184
+ ]
185
+
186
+ const result = await dialog({ title: builtinLanguage.get('preset.dialog.title'), options, })
187
+ if (result.success === false) return
188
+
189
+ const inputs = {
190
+ [routinePreset.ElTable.create.nodes.create]: executePreset.ElTable.create.createExecuteInput({}),
191
+ [routinePreset.ElTable.create.nodes.dataset]: _executePreset.dataset.update.createExecuteInput({ url: result.value.dataset }),
192
+ [routinePreset.ElTable.create.nodes.dialog]: executePreset.ElDialog.open.createExecuteInput({
193
+ dialog: result.value.dialog,
194
+ title: result.value.title
195
+ })
196
+ }
197
+ const config = { uuid: Generate.uuid(), type: 'click', url: routinePreset.ElTable.create.url, inputs }
198
+ descriptor.interactions.push(config)
199
+ }
200
+ }
201
+
202
+ const editPreset: Preset = {
203
+ type: 'interaction',
204
+ label: language.get('preset.ElTable.edit'),
205
+ value: 'preset.ElTable.edit',
206
+ executor: async (descriptor: Descriptor) => {
207
+ const { dialogs } = getSelectOptions()
208
+ const { datasets } = option.Preset.getSelectOptions()
209
+ const options: DialogOptions = [
210
+ {
211
+ name: 'url',
212
+ label: language.get('preset.ElTable.edit.url'),
213
+ componentType: 'input',
214
+ componentProps: {}
215
+ },
216
+ {
217
+ name: 'dataset',
218
+ label: language.get('preset.ElTable.edit.dataset'),
219
+ componentType: 'select',
220
+ componentProps: {},
221
+ componentData: datasets
222
+ },
223
+ {
224
+ name: 'dialog',
225
+ label: language.get('preset.ElTable.edit.dialog'),
226
+ componentType: 'select',
227
+ componentProps: {},
228
+ componentData: dialogs
229
+ },
230
+ {
231
+ name: 'title',
232
+ label: language.get('preset.ElTable.edit.dialog.title'),
233
+ componentType: 'input',
234
+ componentProps: {}
235
+ },
236
+ ]
237
+
238
+ const result = await dialog({ title: builtinLanguage.get('preset.dialog.title'), options, })
239
+ if (result.success === false) return
240
+
241
+ const inputs = {
242
+ [routinePreset.ElTable.edit.nodes.edit]: executePreset.ElTable.edit.createExecuteInput({}),
243
+ [routinePreset.ElTable.edit.nodes.request]: _executePreset.net.request.createExecuteInput({
244
+ url: result.value.url,
245
+ type: _executePreset.net.request.RequestType.GET
246
+ }),
247
+ [routinePreset.ElTable.edit.nodes.dataset]: _executePreset.dataset.update.createExecuteInput({ url: result.value.dataset }),
248
+ [routinePreset.ElTable.edit.nodes.dialog]: executePreset.ElDialog.open.createExecuteInput({
249
+ dialog: result.value.dialog,
250
+ title: result.value.title
251
+ })
252
+ }
253
+ const config = { uuid: Generate.uuid(), type: 'click', url: routinePreset.ElTable.edit.url, inputs }
254
+ descriptor.interactions.push(config)
255
+ }
256
+ }
257
+
258
+ const deletePreset: Preset = {
259
+ type: 'interaction',
260
+ label: language.get('preset.ElTable.delete'),
261
+ value: 'preset.ElTable.delete',
262
+ executor: async (descriptor: Descriptor) => {
263
+ const { interactionTargets } = option.Preset.getSelectOptions()
264
+ const options: DialogOptions = [
265
+ {
266
+ name: 'url',
267
+ label: language.get('preset.ElTable.delete.url'),
268
+ componentType: 'input',
269
+ componentProps: {}
270
+ },
271
+ {
272
+ name: 'target',
273
+ label: builtinLanguage.get('preset.scheduler.invoke.target'),
274
+ componentType: 'select',
275
+ componentProps: {},
276
+ componentData: interactionTargets
277
+ },
278
+ {
279
+ name: 'interaction',
280
+ label: builtinLanguage.get('preset.scheduler.invoke.interaction'),
281
+ componentType: 'select',
282
+ componentProps: {},
283
+ componentData: (result) => {
284
+ const descriptor = Descriptor.get<Descriptor>(result.target)
285
+ if (descriptor === null) return []
286
+ return option.Preset.getInteractionOptionsByTarget(descriptor)
287
+ },
288
+ },
289
+ ]
290
+
291
+ const result = await dialog({ title: builtinLanguage.get('preset.dialog.title'), options, })
292
+ if (result.success === false) return
293
+
294
+ const inputs = {
295
+ [routinePreset.ElTable.delete.nodes.delete]: executePreset.ElTable.delete.createExecuteInput({}),
296
+ [routinePreset.ElTable.delete.nodes.request]: _executePreset.net.request.createExecuteInput({
297
+ url: result.value.url,
298
+ type: _executePreset.net.request.RequestType.DELETE,
299
+ }),
300
+ [routinePreset.ElTable.delete.nodes.refresh]: _executePreset.graphics.invoke.createExecuteInput({
301
+ target: result.value.target,
302
+ interaction: result.value.interaction,
303
+ })
304
+ }
305
+ const config = { uuid: Generate.uuid(), type: 'click', url: routinePreset.ElTable.delete.url, inputs }
306
+ descriptor.interactions.push(config)
307
+ }
308
+ }
309
+
310
+ const submitPreset: Preset = {
311
+ type: 'interaction',
312
+ label: language.get('preset.ElTable.submit'),
313
+ value: 'preset.ElTable.submit',
314
+ executor: async (descriptor: Descriptor) => {
315
+ const { forms, dialogs } = getSelectOptions()
316
+ const { interactionTargets } = option.Preset.getSelectOptions()
317
+
318
+ const options: DialogOptions = [
319
+ {
320
+ name: 'url',
321
+ label: language.get('preset.ElTable.submit.url'),
322
+ componentType: 'input',
323
+ componentProps: {}
324
+ },
325
+ {
326
+ name: 'form',
327
+ label: language.get('preset.ElTable.submit.form'),
328
+ componentType: 'select',
329
+ componentProps: {},
330
+ componentData: forms,
331
+ },
332
+ {
333
+ name: 'dialog',
334
+ label: language.get('preset.ElTable.submit.dialog'),
335
+ componentType: 'select',
336
+ componentProps: {},
337
+ componentData: dialogs
338
+ },
339
+ {
340
+ name: 'target',
341
+ label: builtinLanguage.get('preset.scheduler.invoke.target'),
342
+ componentType: 'select',
343
+ componentProps: {},
344
+ componentData: interactionTargets
345
+ },
346
+ {
347
+ name: 'interaction',
348
+ label: builtinLanguage.get('preset.scheduler.invoke.interaction'),
349
+ componentType: 'select',
350
+ componentProps: {},
351
+ componentData: (result) => {
352
+ const descriptor = Descriptor.get<Descriptor>(result.target)
353
+ if (descriptor === null) return []
354
+ return option.Preset.getInteractionOptionsByTarget(descriptor)
355
+ },
356
+ },
357
+ ]
358
+
359
+ const result = await dialog({ title: builtinLanguage.get('preset.dialog.title'), options })
360
+ if (result.success === false) return
361
+
362
+ const inputs = {
363
+ [routinePreset.ElTable.submit.nodes.form]: executePreset.ElForm.getData.createExecuteInput({ form: result.value.form, validate: '1' }),
364
+ [routinePreset.ElTable.submit.nodes.branch]: executePreset.ElForm.branch.createExecuteInput({ primaryKey: 'id', }),
365
+ [routinePreset.ElTable.submit.nodes.create]: executePreset.ElForm.create.createExecuteInput({}),
366
+ [routinePreset.ElTable.submit.nodes.edit]: executePreset.ElForm.edit.createExecuteInput({}),
367
+ [routinePreset.ElTable.submit.nodes.createRequest]: _executePreset.net.request.createExecuteInput({
368
+ url: result.value.url,
369
+ type: _executePreset.net.request.RequestType.POST,
370
+ data: routinePreset.ElTable.submit.nodes.form,
371
+ }),
372
+ [routinePreset.ElTable.submit.nodes.editRequest]: _executePreset.net.request.createExecuteInput({
373
+ url: result.value.url,
374
+ type: _executePreset.net.request.RequestType.PUT,
375
+ data: routinePreset.ElTable.submit.nodes.form,
376
+ }),
377
+ [routinePreset.ElTable.submit.nodes.dialog]: executePreset.ElDialog.close.createExecuteInput({ dialog: result.value.dialog }),
378
+ [routinePreset.ElTable.submit.nodes.refresh]: _executePreset.graphics.invoke.createExecuteInput({
379
+ target: result.value.target,
380
+ interaction: result.value.interaction,
381
+ })
382
+ }
383
+ const config = { uuid: Generate.uuid(), type: 'click', url: routinePreset.ElTable.submit.url, inputs }
384
+ descriptor.interactions.push(config)
385
+ }
386
+ }
387
+
388
+ const closePreset: Preset = {
389
+ type: 'interaction',
390
+ label: language.get('preset.ElTable.close'),
391
+ value: 'preset.ElTable.close',
392
+ executor: async (descriptor: Descriptor) => {
393
+ const { dialogs } = getSelectOptions()
394
+
395
+ const options: DialogOptions = [
396
+ {
397
+ name: 'dialog',
398
+ label: language.get('preset.ElTable.close.dialog'),
399
+ componentType: 'select',
400
+ componentProps: {
401
+ data: dialogs,
402
+ }
403
+ },
404
+ ]
405
+
406
+ const result = await dialog({ title: builtinLanguage.get('preset.dialog.title'), options, })
407
+ if (result.success === false) return
408
+
409
+ const inputs = {
410
+ [routinePreset.ElDialog.close.nodes.dialog]: executePreset.ElDialog.close.createExecuteInput({ dialog: result.value.dialog })
411
+ }
412
+ const config = { uuid: Generate.uuid(), type: 'click', url: routinePreset.ElDialog.close.url, inputs }
413
+ descriptor.interactions.push(config)
414
+ }
415
+ }
416
+
417
+ export {
418
+ listPreset,
419
+ resetPreset,
420
+ createPreset,
421
+ editPreset,
422
+ deletePreset,
423
+ submitPreset,
424
+ closePreset,
425
+ }
@@ -0,0 +1,14 @@
1
+ import { Preset } from '@vyr/runtime'
2
+ import * as ElTable from './ElTable'
3
+
4
+ const preset: Preset[] = [
5
+ ElTable.listPreset,
6
+ ElTable.resetPreset,
7
+ ElTable.createPreset,
8
+ ElTable.editPreset,
9
+ ElTable.deletePreset,
10
+ ElTable.submitPreset,
11
+ ElTable.closePreset,
12
+ ]
13
+
14
+ export { preset }
@@ -0,0 +1 @@
1
+ export { scripts } from './scripts'
@@ -0,0 +1,60 @@
1
+ import { executePreset, language } from '@vyr/element-plus'
2
+
3
+ const scripts = [
4
+ {
5
+ label: language.get(executePreset.ElForm.branch.scriptable as any),
6
+ value: executePreset.ElForm.branch.scriptable,
7
+ },
8
+ {
9
+ label: language.get(executePreset.ElForm.create.scriptable as any),
10
+ value: executePreset.ElForm.create.scriptable,
11
+ },
12
+ {
13
+ label: language.get(executePreset.ElForm.edit.scriptable as any),
14
+ value: executePreset.ElForm.edit.scriptable,
15
+ },
16
+ {
17
+ label: language.get(executePreset.ElForm.getData.scriptable as any),
18
+ value: executePreset.ElForm.getData.scriptable,
19
+ },
20
+ {
21
+ label: language.get(executePreset.ElForm.reset.scriptable as any),
22
+ value: executePreset.ElForm.reset.scriptable,
23
+ },
24
+ {
25
+ label: language.get(executePreset.ElPagination.getData.scriptable as any),
26
+ value: executePreset.ElPagination.getData.scriptable,
27
+ },
28
+ {
29
+ label: language.get(executePreset.ElPagination.reset.scriptable as any),
30
+ value: executePreset.ElPagination.reset.scriptable,
31
+ },
32
+ {
33
+ label: language.get(executePreset.ElTable.create.scriptable as any),
34
+ value: executePreset.ElTable.create.scriptable,
35
+ },
36
+ {
37
+ label: language.get(executePreset.ElTable.delete.scriptable as any),
38
+ value: executePreset.ElTable.delete.scriptable,
39
+ },
40
+ {
41
+ label: language.get(executePreset.ElTable.edit.scriptable as any),
42
+ value: executePreset.ElTable.edit.scriptable,
43
+ },
44
+ {
45
+ label: language.get(executePreset.ElTableColumn.formatter.scriptable as any),
46
+ value: executePreset.ElTableColumn.formatter.scriptable,
47
+ },
48
+ {
49
+ label: language.get(executePreset.ElDialog.open.scriptable as any),
50
+ value: executePreset.ElDialog.open.scriptable,
51
+ },
52
+ {
53
+ label: language.get(executePreset.ElDialog.close.scriptable as any),
54
+ value: executePreset.ElDialog.close.scriptable,
55
+ },
56
+ ]
57
+
58
+ export {
59
+ scripts
60
+ }
@@ -0,0 +1,53 @@
1
+ import { runtime, ShortcutkeyService, InspectorService, PresetService, DataService } from "@vyr/runtime";
2
+ import { ElButtonDescriptor, ElCascaderDescriptor, ElCheckboxDescriptor, ElColDescriptor, ElDatePickerDescriptor, ElDialogDescriptor, ElFormDescriptor, ElInputDescriptor, ElInputNumberDescriptor, ElMenuDescriptor, ElMenuItemDescriptor, ElPaginationDescriptor, ElRadioDescriptor, ElRowDescriptor, ElSelectDescriptor, ElSubMenuDescriptor, ElSwitchDescriptor, ElTableColumnDescriptor, ElTableDescriptor } from '@vyr/element-plus'
3
+ import { events } from "../common";
4
+ import { language } from "../locale";
5
+ import { preset } from '../preset'
6
+ import * as global from './global'
7
+ import inspectorViewer from './inspector'
8
+
9
+ const setup = async () => {
10
+ const dataService = runtime.get<DataService>('data')
11
+ const inspectorService = runtime.get<InspectorService>('inspector')
12
+ const shortcutkeyService = runtime.get<ShortcutkeyService>('shortcutkey')
13
+
14
+ const sidebar = shortcutkeyService.get('sidebar')
15
+ const addComponent = sidebar.get('sidebar.addComponent')
16
+ if (addComponent) {
17
+ //@ts-ignore
18
+ const generate = addComponent.generate
19
+ addComponent.children.push(generate(language.get('descriptor.type.ElButton'), ElButtonDescriptor))
20
+ addComponent.children.push(generate(language.get('descriptor.type.ElForm'), ElFormDescriptor))
21
+ addComponent.children.push(generate(language.get('descriptor.type.ElInput'), ElInputDescriptor))
22
+ addComponent.children.push(generate(language.get('descriptor.type.ElInputNumber'), ElInputNumberDescriptor))
23
+ addComponent.children.push(generate(language.get('descriptor.type.ElSelect'), ElSelectDescriptor))
24
+ addComponent.children.push(generate(language.get('descriptor.type.ElCascader'), ElCascaderDescriptor))
25
+ addComponent.children.push(generate(language.get('descriptor.type.ElDatePicker'), ElDatePickerDescriptor))
26
+ addComponent.children.push(generate(language.get('descriptor.type.ElSwitch'), ElSwitchDescriptor))
27
+ addComponent.children.push(generate(language.get('descriptor.type.ElCheckbox'), ElCheckboxDescriptor))
28
+ addComponent.children.push(generate(language.get('descriptor.type.ElRadio'), ElRadioDescriptor))
29
+ addComponent.children.push(generate(language.get('descriptor.type.ElTable'), ElTableDescriptor))
30
+ addComponent.children.push(generate(language.get('descriptor.type.ElTableColumn'), ElTableColumnDescriptor))
31
+ addComponent.children.push(generate(language.get('descriptor.type.ElPagination'), ElPaginationDescriptor))
32
+ addComponent.children.push(generate(language.get('descriptor.type.ElRow'), ElRowDescriptor))
33
+ addComponent.children.push(generate(language.get('descriptor.type.ElCol'), ElColDescriptor))
34
+ addComponent.children.push(generate(language.get('descriptor.type.ElDialog'), ElDialogDescriptor))
35
+ addComponent.children.push(generate(language.get('descriptor.type.ElMenu'), ElMenuDescriptor))
36
+ addComponent.children.push(generate(language.get('descriptor.type.ElSubMenu'), ElSubMenuDescriptor))
37
+ addComponent.children.push(generate(language.get('descriptor.type.ElMenuItem'), ElMenuItemDescriptor))
38
+ }
39
+
40
+ const presetService = runtime.get<PresetService>('preset')
41
+ for (const event of events) {
42
+ for (const id of event.ids) presetService.addInteractionProvider({ id, label: language.get(`preset.Interaction.id.${id}` as any), ignore: event.ignore })
43
+ }
44
+ for (const item of preset) presetService.set(item)
45
+
46
+ for (const script of global.scripts) dataService.addScripte(script)
47
+
48
+ for (const viewer of inspectorViewer) {
49
+ inspectorService.set(viewer.type, viewer.import)
50
+ }
51
+ }
52
+
53
+ export { setup }
@@ -0,0 +1,98 @@
1
+ <template>
2
+ <vyr-row>
3
+ <vyr-label :label="language.get('inspector.ElButton.type')">
4
+ <vyr-col>
5
+ <vyr-select v-model="descriptor.buttonType" :data="Button.typeOptions"></vyr-select>
6
+ </vyr-col>
7
+ </vyr-label>
8
+ </vyr-row>
9
+ <vyr-row>
10
+ <vyr-label :label="language.get('inspector.ElButton.text')">
11
+ <vyr-col>
12
+ <vyr-input v-model="descriptor.text" :clearable="true" trigger="blur"></vyr-input>
13
+ </vyr-col>
14
+ </vyr-label>
15
+ </vyr-row>
16
+ <vyr-row>
17
+ <vyr-label :label="language.get('inspector.ElButton.size')">
18
+ <vyr-col>
19
+ <vyr-select v-model="descriptor.size" :data="Button.sizeOptions"></vyr-select>
20
+ </vyr-col>
21
+ </vyr-label>
22
+ </vyr-row>
23
+ <vyr-row>
24
+ <vyr-label :label="language.get('inspector.ElButton.shape')">
25
+ <vyr-col>
26
+ <vyr-select v-model="currentShape" :data="Button.shapeOptions"
27
+ @update:modelValue="changeShape"></vyr-select>
28
+ </vyr-col>
29
+ </vyr-label>
30
+ </vyr-row>
31
+ <vyr-row>
32
+ <vyr-label :label="language.get('inspector.ElButton.state')">
33
+ <vyr-col>
34
+ <vyr-select v-model="currentState" :data="Button.stateOptions"
35
+ @update:modelValue="changeState"></vyr-select>
36
+ </vyr-col>
37
+ </vyr-label>
38
+ </vyr-row>
39
+ <vyr-row>
40
+ <vyr-label :label="language.get('inspector.ElButton.plain')">
41
+ <vyr-col>
42
+ <vyr-select v-model="descriptor.plain" :data="Button.plainOptions"></vyr-select>
43
+ </vyr-col>
44
+ </vyr-label>
45
+ </vyr-row>
46
+ </template>
47
+
48
+
49
+ <script lang="ts" setup>
50
+ import { computed } from 'vue';
51
+ import { DraggableService, runtime } from '@vyr/runtime';
52
+ import { VyrInput, VyrRow, VyrCol, VyrLabel, VyrSelect } from '@vyr/design';
53
+ import { ElButtonDescriptor } from '@vyr/element-plus';
54
+ import { language } from '../../locale'
55
+ import { useDescriptor } from '../../common'
56
+ import { Button } from '../../option'
57
+
58
+ const descriptor = useDescriptor<ElButtonDescriptor>()
59
+ const draggableService = runtime.get<DraggableService>('draggable')
60
+ const draggable = draggableService.get(draggableService.key.inspector)
61
+
62
+ const currentState = computed(() => {
63
+ if (descriptor.value.loading) return 2
64
+ return descriptor.value.disabled ? 3 : 1
65
+ })
66
+ const changeState = (state: number) => {
67
+ if (state === 3) {
68
+ descriptor.value.disabled = true
69
+ descriptor.value.loading = false
70
+ } else if (state === 2) {
71
+ descriptor.value.disabled = false
72
+ descriptor.value.loading = true
73
+ } else if (state === 1) {
74
+ descriptor.value.disabled = false
75
+ descriptor.value.loading = false
76
+ }
77
+ }
78
+
79
+ const currentShape = computed(() => {
80
+ if (descriptor.value.round) return 3
81
+ return descriptor.value.circle ? 2 : 1
82
+ })
83
+
84
+ const changeShape = (shape: number) => {
85
+ if (shape === 3) {
86
+ descriptor.value.round = true
87
+ descriptor.value.circle = false
88
+ } else if (shape === 2) {
89
+ descriptor.value.round = false
90
+ descriptor.value.circle = true
91
+ } else if (shape === 1) {
92
+ descriptor.value.round = false
93
+ descriptor.value.circle = false
94
+ }
95
+ }
96
+ </script>
97
+
98
+ <style lang="less" scoped></style>