@narrative.io/jsonforms-provider-protocols 1.1.0-beta.7 → 1.1.0-beta.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.
- package/dist/index.js +10 -10
- package/dist/jsonforms-provider-protocols.css +0 -4
- package/dist/vue/index.js +6 -6
- package/dist/vue/primevue/JfBoolean.vue.d.ts +20 -32
- package/dist/vue/primevue/JfBoolean.vue.d.ts.map +1 -1
- package/dist/vue/primevue/JfBoolean.vue.js +31 -2
- package/dist/vue/primevue/JfBoolean.vue.js.map +1 -1
- package/dist/vue/primevue/JfEnum.vue.d.ts +20 -33
- package/dist/vue/primevue/JfEnum.vue.d.ts.map +1 -1
- package/dist/vue/primevue/JfEnum.vue.js +152 -5
- package/dist/vue/primevue/JfEnum.vue.js.map +1 -1
- package/dist/vue/primevue/JfEnum.vue2.js +1 -122
- package/dist/vue/primevue/JfEnum.vue2.js.map +1 -1
- package/dist/vue/primevue/JfEnumArray.vue.d.ts +20 -33
- package/dist/vue/primevue/JfEnumArray.vue.d.ts.map +1 -1
- package/dist/vue/primevue/JfEnumArray.vue.js +31 -2
- package/dist/vue/primevue/JfEnumArray.vue.js.map +1 -1
- package/dist/vue/primevue/JfNumber.vue.d.ts +20 -32
- package/dist/vue/primevue/JfNumber.vue.d.ts.map +1 -1
- package/dist/vue/primevue/JfNumber.vue.js +31 -2
- package/dist/vue/primevue/JfNumber.vue.js.map +1 -1
- package/dist/vue/primevue/JfText.vue.d.ts +20 -32
- package/dist/vue/primevue/JfText.vue.d.ts.map +1 -1
- package/dist/vue/primevue/JfText.vue.js +31 -2
- package/dist/vue/primevue/JfText.vue.js.map +1 -1
- package/dist/vue/primevue/JfTextArea.vue.d.ts +20 -32
- package/dist/vue/primevue/JfTextArea.vue.d.ts.map +1 -1
- package/dist/vue/primevue/JfTextArea.vue.js +31 -2
- package/dist/vue/primevue/JfTextArea.vue.js.map +1 -1
- package/dist/vue/primevue/index.d.ts +20 -31
- package/dist/vue/primevue/index.d.ts.map +1 -1
- package/dist/vue/primevue/index.js +9 -9
- package/dist/vue/primevue/index.js.map +1 -1
- package/package.json +1 -1
- package/src/vue/primevue/JfBoolean.vue +30 -4
- package/src/vue/primevue/JfEnum.vue +31 -11
- package/src/vue/primevue/JfEnumArray.vue +30 -4
- package/src/vue/primevue/JfNumber.vue +30 -4
- package/src/vue/primevue/JfText.vue +30 -4
- package/src/vue/primevue/JfTextArea.vue +30 -4
- package/src/vue/styles.css +5 -0
package/dist/index.js
CHANGED
|
@@ -8,13 +8,13 @@ import { default as default2 } from "./vue/components/ProviderAutocomplete.vue.j
|
|
|
8
8
|
import { default as default3 } from "./vue/primevue/JfText.vue.js";
|
|
9
9
|
import { default as default4 } from "./vue/primevue/JfTextArea.vue.js";
|
|
10
10
|
import { default as default5 } from "./vue/primevue/JfNumber.vue.js";
|
|
11
|
-
import { default as default6 } from "./vue/primevue/
|
|
12
|
-
import { default as default7 } from "./vue/primevue/
|
|
11
|
+
import { default as default6 } from "./vue/primevue/JfEnum.vue.js";
|
|
12
|
+
import { default as default7 } from "./vue/primevue/JfEnumArray.vue.js";
|
|
13
|
+
import { default as default8 } from "./vue/primevue/JfBoolean.vue.js";
|
|
13
14
|
import { primevueRenderers } from "./vue/primevue/index.js";
|
|
14
|
-
import { default as
|
|
15
|
-
import { default as
|
|
15
|
+
import { default as default9 } from "./vue/components/ProviderSelect.vue.js";
|
|
16
|
+
import { default as default10 } from "./vue/components/ProviderMultiSelect.vue.js";
|
|
16
17
|
import { useProvider } from "./vue/composables/useProvider.js";
|
|
17
|
-
import { default as default10 } from "./vue/primevue/JfEnum.vue.js";
|
|
18
18
|
const index = {
|
|
19
19
|
install(app, opts) {
|
|
20
20
|
const reg = registry;
|
|
@@ -29,15 +29,15 @@ const index = {
|
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
export {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
default8 as JfBoolean,
|
|
33
|
+
default6 as JfEnum,
|
|
34
|
+
default7 as JfEnumArray,
|
|
35
35
|
default5 as JfNumber,
|
|
36
36
|
default3 as JfText,
|
|
37
37
|
default4 as JfTextArea,
|
|
38
38
|
default2 as ProviderAutocomplete,
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
default10 as ProviderMultiSelect,
|
|
40
|
+
default9 as ProviderSelect,
|
|
41
41
|
RestApiProtocol,
|
|
42
42
|
cache,
|
|
43
43
|
index as default,
|
package/dist/vue/index.js
CHANGED
|
@@ -8,9 +8,9 @@ import { providerTester } from "./testers.js";
|
|
|
8
8
|
import { default as default2 } from "./primevue/JfText.vue.js";
|
|
9
9
|
import { default as default3 } from "./primevue/JfTextArea.vue.js";
|
|
10
10
|
import { default as default4 } from "./primevue/JfNumber.vue.js";
|
|
11
|
-
import { default as default5 } from "./primevue/
|
|
12
|
-
import { default as default6 } from "./primevue/
|
|
13
|
-
import { default as default7 } from "./primevue/
|
|
11
|
+
import { default as default5 } from "./primevue/JfEnum.vue.js";
|
|
12
|
+
import { default as default6 } from "./primevue/JfEnumArray.vue.js";
|
|
13
|
+
import { default as default7 } from "./primevue/JfBoolean.vue.js";
|
|
14
14
|
const hasProvider = (uischema) => {
|
|
15
15
|
return uischema?.options?.provider !== void 0;
|
|
16
16
|
};
|
|
@@ -53,9 +53,9 @@ const providerRenderers = [
|
|
|
53
53
|
{ tester: providerSelectTester, renderer: ProviderSelect }
|
|
54
54
|
];
|
|
55
55
|
export {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
default7 as JfBoolean,
|
|
57
|
+
default5 as JfEnum,
|
|
58
|
+
default6 as JfEnumArray,
|
|
59
59
|
default4 as JfNumber,
|
|
60
60
|
default2 as JfText,
|
|
61
61
|
default3 as JfTextArea,
|
|
@@ -1,75 +1,63 @@
|
|
|
1
|
-
import type { ControlElement } from "@jsonforms/core";
|
|
2
1
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
|
-
|
|
2
|
+
uischema: {
|
|
3
|
+
type: ObjectConstructor;
|
|
4
4
|
required: true;
|
|
5
|
-
type: import("vue").PropType<import("@jsonforms/core").JsonSchema>;
|
|
6
5
|
};
|
|
7
|
-
|
|
6
|
+
schema: {
|
|
7
|
+
type: ObjectConstructor;
|
|
8
8
|
required: true;
|
|
9
|
-
type: import("vue").PropType<ControlElement>;
|
|
10
9
|
};
|
|
11
10
|
path: {
|
|
12
|
-
required: true;
|
|
13
11
|
type: StringConstructor;
|
|
12
|
+
required: true;
|
|
14
13
|
};
|
|
15
14
|
enabled: {
|
|
16
|
-
required: false;
|
|
17
15
|
type: BooleanConstructor;
|
|
18
16
|
default: undefined;
|
|
19
17
|
};
|
|
20
18
|
renderers: {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
default: undefined;
|
|
19
|
+
type: ArrayConstructor;
|
|
20
|
+
required: false;
|
|
24
21
|
};
|
|
25
22
|
cells: {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
default: undefined;
|
|
23
|
+
type: ArrayConstructor;
|
|
24
|
+
required: false;
|
|
29
25
|
};
|
|
30
26
|
config: {
|
|
31
|
-
required: boolean;
|
|
32
27
|
type: ObjectConstructor;
|
|
33
|
-
|
|
28
|
+
required: false;
|
|
34
29
|
};
|
|
35
30
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
36
|
-
|
|
31
|
+
uischema: {
|
|
32
|
+
type: ObjectConstructor;
|
|
37
33
|
required: true;
|
|
38
|
-
type: import("vue").PropType<import("@jsonforms/core").JsonSchema>;
|
|
39
34
|
};
|
|
40
|
-
|
|
35
|
+
schema: {
|
|
36
|
+
type: ObjectConstructor;
|
|
41
37
|
required: true;
|
|
42
|
-
type: import("vue").PropType<ControlElement>;
|
|
43
38
|
};
|
|
44
39
|
path: {
|
|
45
|
-
required: true;
|
|
46
40
|
type: StringConstructor;
|
|
41
|
+
required: true;
|
|
47
42
|
};
|
|
48
43
|
enabled: {
|
|
49
|
-
required: false;
|
|
50
44
|
type: BooleanConstructor;
|
|
51
45
|
default: undefined;
|
|
52
46
|
};
|
|
53
47
|
renderers: {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
default: undefined;
|
|
48
|
+
type: ArrayConstructor;
|
|
49
|
+
required: false;
|
|
57
50
|
};
|
|
58
51
|
cells: {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
default: undefined;
|
|
52
|
+
type: ArrayConstructor;
|
|
53
|
+
required: false;
|
|
62
54
|
};
|
|
63
55
|
config: {
|
|
64
|
-
required: boolean;
|
|
65
56
|
type: ObjectConstructor;
|
|
66
|
-
|
|
57
|
+
required: false;
|
|
67
58
|
};
|
|
68
59
|
}>> & Readonly<{}>, {
|
|
69
|
-
config: Record<string, any>;
|
|
70
60
|
enabled: boolean;
|
|
71
|
-
renderers: import("@jsonforms/core").JsonFormsRendererRegistryEntry[];
|
|
72
|
-
cells: import("@jsonforms/core").JsonFormsCellRendererRegistryEntry[];
|
|
73
61
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
74
62
|
export default _default;
|
|
75
63
|
//# sourceMappingURL=JfBoolean.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JfBoolean.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/primevue/JfBoolean.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"JfBoolean.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/primevue/JfBoolean.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,wBA0JK"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, getCurrentInstance, createElementBlock, openBlock, createVNode, createCommentVNode, unref, toDisplayString } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { useJsonFormsControl } from "@jsonforms/vue";
|
|
3
3
|
import Checkbox from "primevue/checkbox";
|
|
4
4
|
const _hoisted_1 = { class: "flex items-center gap-2" };
|
|
5
5
|
const _hoisted_2 = { key: 0 };
|
|
@@ -9,7 +9,36 @@ const _hoisted_3 = {
|
|
|
9
9
|
};
|
|
10
10
|
const __default__ = {
|
|
11
11
|
name: "JfBoolean",
|
|
12
|
-
props:
|
|
12
|
+
props: {
|
|
13
|
+
uischema: {
|
|
14
|
+
type: Object,
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
schema: {
|
|
18
|
+
type: Object,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
path: {
|
|
22
|
+
type: String,
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
enabled: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
default: void 0
|
|
28
|
+
},
|
|
29
|
+
renderers: {
|
|
30
|
+
type: Array,
|
|
31
|
+
required: false
|
|
32
|
+
},
|
|
33
|
+
cells: {
|
|
34
|
+
type: Array,
|
|
35
|
+
required: false
|
|
36
|
+
},
|
|
37
|
+
config: {
|
|
38
|
+
type: Object,
|
|
39
|
+
required: false
|
|
40
|
+
}
|
|
41
|
+
}
|
|
13
42
|
};
|
|
14
43
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
15
44
|
...__default__,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JfBoolean.vue.js","sources":["../../../src/vue/primevue/JfBoolean.vue"],"sourcesContent":["<script lang=\"ts\">\
|
|
1
|
+
{"version":3,"file":"JfBoolean.vue.js","sources":["../../../src/vue/primevue/JfBoolean.vue"],"sourcesContent":["<script lang=\"ts\">\nexport default {\n name: \"JfBoolean\",\n props: {\n uischema: {\n type: Object,\n required: true,\n },\n schema: {\n type: Object,\n required: true,\n },\n path: {\n type: String,\n required: true,\n },\n enabled: {\n type: Boolean,\n default: undefined,\n },\n renderers: {\n type: Array,\n required: false,\n },\n cells: {\n type: Array,\n required: false,\n },\n config: {\n type: Object,\n required: false,\n },\n },\n};\n</script>\n\n<script setup lang=\"ts\">\nimport type { ControlProps } from \"@jsonforms/vue\";\nimport { useJsonFormsControl } from \"@jsonforms/vue\";\nimport { getCurrentInstance } from \"vue\";\nimport Checkbox from \"primevue/checkbox\";\n\n// Access props from the component instance\nconst instance = getCurrentInstance()!;\nconst props = instance.props as unknown as ControlProps;\nconst { control, handleChange } = useJsonFormsControl(props);\n\nconst onToggle = (val: boolean) => handleChange(control.value.path, val);\n</script>\n\n<template>\n <div class=\"flex items-center gap-2\">\n <Checkbox\n :binary=\"true\"\n :model-value=\"!!control.data\"\n :disabled=\"!control.enabled\"\n :aria-invalid=\"!!control.errors || undefined\"\n @update:model-value=\"onToggle\"\n />\n <label v-if=\"control.label\">{{ control.label }}</label>\n <small v-if=\"control.errors\" class=\"p-error\">{{ control.errors }}</small>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_unref","_toDisplayString"],"mappings":";;;;;;;;;AACA,MAAA,cAAe;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,IAEZ,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,IAEZ,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,IAEZ,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,IAEZ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,IAEZ,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EACZ;AAEJ;;;;AAUA,UAAM,WAAW,mBAAA;AACjB,UAAM,QAAQ,SAAS;AACvB,UAAM,EAAE,SAAS,iBAAiB,oBAAoB,KAAK;AAE3D,UAAM,WAAW,CAAC,QAAiB,aAAa,QAAQ,MAAM,MAAM,GAAG;;AAIrE,aAAAA,UAAA,GAAAC,mBAUM,OAVN,YAUM;AAAA,QATJC,YAMEC,MAAA,QAAA,GAAA;AAAA,UALC,QAAQ;AAAA,UACR,eAAW,CAAA,CAAIA,MAAA,OAAA,EAAQ;AAAA,UACvB,UAAQ,CAAGA,MAAA,OAAA,EAAQ;AAAA,UACnB,gBAAY,CAAA,CAAIA,MAAA,OAAA,EAAQ,UAAU;AAAA,UAClC,uBAAoB;AAAA,QAAA;QAEVA,MAAA,OAAA,EAAQ,sBAArBF,mBAAuD,SAAA,YAAAG,gBAAxBD,MAAA,OAAA,EAAQ,KAAK,GAAA,CAAA;QAC/BA,MAAA,OAAA,EAAQ,UAArBH,UAAA,GAAAC,mBAAyE,SAAzE,YAAyEG,gBAAzBD,MAAA,OAAA,EAAQ,MAAM,GAAA,CAAA;;;;;"}
|
|
@@ -1,76 +1,63 @@
|
|
|
1
|
-
import type { JsonSchema } from "@jsonforms/core";
|
|
2
|
-
import type { ControlElement } from "@jsonforms/core";
|
|
3
1
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
-
|
|
2
|
+
uischema: {
|
|
3
|
+
type: ObjectConstructor;
|
|
5
4
|
required: true;
|
|
6
|
-
type: import("vue").PropType<JsonSchema>;
|
|
7
5
|
};
|
|
8
|
-
|
|
6
|
+
schema: {
|
|
7
|
+
type: ObjectConstructor;
|
|
9
8
|
required: true;
|
|
10
|
-
type: import("vue").PropType<ControlElement>;
|
|
11
9
|
};
|
|
12
10
|
path: {
|
|
13
|
-
required: true;
|
|
14
11
|
type: StringConstructor;
|
|
12
|
+
required: true;
|
|
15
13
|
};
|
|
16
14
|
enabled: {
|
|
17
|
-
required: false;
|
|
18
15
|
type: BooleanConstructor;
|
|
19
16
|
default: undefined;
|
|
20
17
|
};
|
|
21
18
|
renderers: {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
default: undefined;
|
|
19
|
+
type: ArrayConstructor;
|
|
20
|
+
required: false;
|
|
25
21
|
};
|
|
26
22
|
cells: {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
default: undefined;
|
|
23
|
+
type: ArrayConstructor;
|
|
24
|
+
required: false;
|
|
30
25
|
};
|
|
31
26
|
config: {
|
|
32
|
-
required: boolean;
|
|
33
27
|
type: ObjectConstructor;
|
|
34
|
-
|
|
28
|
+
required: false;
|
|
35
29
|
};
|
|
36
30
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
37
|
-
|
|
31
|
+
uischema: {
|
|
32
|
+
type: ObjectConstructor;
|
|
38
33
|
required: true;
|
|
39
|
-
type: import("vue").PropType<JsonSchema>;
|
|
40
34
|
};
|
|
41
|
-
|
|
35
|
+
schema: {
|
|
36
|
+
type: ObjectConstructor;
|
|
42
37
|
required: true;
|
|
43
|
-
type: import("vue").PropType<ControlElement>;
|
|
44
38
|
};
|
|
45
39
|
path: {
|
|
46
|
-
required: true;
|
|
47
40
|
type: StringConstructor;
|
|
41
|
+
required: true;
|
|
48
42
|
};
|
|
49
43
|
enabled: {
|
|
50
|
-
required: false;
|
|
51
44
|
type: BooleanConstructor;
|
|
52
45
|
default: undefined;
|
|
53
46
|
};
|
|
54
47
|
renderers: {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
default: undefined;
|
|
48
|
+
type: ArrayConstructor;
|
|
49
|
+
required: false;
|
|
58
50
|
};
|
|
59
51
|
cells: {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
default: undefined;
|
|
52
|
+
type: ArrayConstructor;
|
|
53
|
+
required: false;
|
|
63
54
|
};
|
|
64
55
|
config: {
|
|
65
|
-
required: boolean;
|
|
66
56
|
type: ObjectConstructor;
|
|
67
|
-
|
|
57
|
+
required: false;
|
|
68
58
|
};
|
|
69
59
|
}>> & Readonly<{}>, {
|
|
70
|
-
config: Record<string, any>;
|
|
71
60
|
enabled: boolean;
|
|
72
|
-
renderers: import("@jsonforms/core").JsonFormsRendererRegistryEntry[];
|
|
73
|
-
cells: import("@jsonforms/core").JsonFormsCellRendererRegistryEntry[];
|
|
74
61
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
75
62
|
export default _default;
|
|
76
63
|
//# sourceMappingURL=JfEnum.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JfEnum.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/primevue/JfEnum.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"JfEnum.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/primevue/JfEnum.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8LA,wBA8SK"}
|
|
@@ -1,8 +1,155 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
|
|
1
|
+
import { defineComponent, getCurrentInstance, computed, inject, ref, createElementBlock, openBlock, createCommentVNode, createVNode, unref, toDisplayString } from "vue";
|
|
2
|
+
import { useJsonFormsControl } from "@jsonforms/vue";
|
|
3
|
+
import { useProvider } from "../composables/useProvider.js";
|
|
4
|
+
import { useDerive } from "../composables/useDerive.js";
|
|
5
|
+
import Dropdown from "primevue/dropdown";
|
|
6
|
+
const _hoisted_1 = { class: "flex flex-column gap-2" };
|
|
7
|
+
const _hoisted_2 = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "text-color text-left"
|
|
10
|
+
};
|
|
11
|
+
const _hoisted_3 = {
|
|
12
|
+
key: 1,
|
|
13
|
+
class: "text-color-secondary text-left"
|
|
14
|
+
};
|
|
15
|
+
const _hoisted_4 = {
|
|
16
|
+
key: 2,
|
|
17
|
+
class: "p-error",
|
|
18
|
+
role: "alert"
|
|
19
|
+
};
|
|
20
|
+
const _hoisted_5 = {
|
|
21
|
+
key: 3,
|
|
22
|
+
class: "p-error"
|
|
23
|
+
};
|
|
24
|
+
const __default__ = {
|
|
25
|
+
name: "JfEnum",
|
|
26
|
+
props: {
|
|
27
|
+
uischema: {
|
|
28
|
+
type: Object,
|
|
29
|
+
required: true
|
|
30
|
+
},
|
|
31
|
+
schema: {
|
|
32
|
+
type: Object,
|
|
33
|
+
required: true
|
|
34
|
+
},
|
|
35
|
+
path: {
|
|
36
|
+
type: String,
|
|
37
|
+
required: true
|
|
38
|
+
},
|
|
39
|
+
enabled: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
default: void 0
|
|
42
|
+
},
|
|
43
|
+
renderers: {
|
|
44
|
+
type: Array,
|
|
45
|
+
required: false
|
|
46
|
+
},
|
|
47
|
+
cells: {
|
|
48
|
+
type: Array,
|
|
49
|
+
required: false
|
|
50
|
+
},
|
|
51
|
+
config: {
|
|
52
|
+
type: Object,
|
|
53
|
+
required: false
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
58
|
+
...__default__,
|
|
59
|
+
setup(__props) {
|
|
60
|
+
const instance = getCurrentInstance();
|
|
61
|
+
const props = instance.props;
|
|
62
|
+
const { control, handleChange } = useJsonFormsControl(props);
|
|
63
|
+
const toOptions = (schema) => {
|
|
64
|
+
if (!schema) return [];
|
|
65
|
+
const s = schema;
|
|
66
|
+
if (Array.isArray(s.enum))
|
|
67
|
+
return s.enum.map((v) => ({ label: String(v), value: v }));
|
|
68
|
+
if (Array.isArray(s.oneOf))
|
|
69
|
+
return s.oneOf.map((o) => ({
|
|
70
|
+
label: o.title ?? String(o.const),
|
|
71
|
+
value: o.const
|
|
72
|
+
}));
|
|
73
|
+
return [];
|
|
74
|
+
};
|
|
75
|
+
const binding = computed(() => {
|
|
76
|
+
const provider = control.value.uischema?.options?.provider;
|
|
77
|
+
if (provider && typeof provider === "object" && !provider.load) {
|
|
78
|
+
return { ...provider, load: "mount" };
|
|
79
|
+
}
|
|
80
|
+
return provider;
|
|
81
|
+
});
|
|
82
|
+
const deps = computed(
|
|
83
|
+
() => control.value.schema?.["x-provider"]?.dependsOn ?? []
|
|
84
|
+
);
|
|
85
|
+
const depValues = computed(() => {
|
|
86
|
+
return deps.value.map((dep) => {
|
|
87
|
+
const path = dep.startsWith("#/") ? dep.slice(2) : dep;
|
|
88
|
+
const keys = path.replace(/\//g, ".").split(".");
|
|
89
|
+
let value = rootData.value;
|
|
90
|
+
for (const key of keys) {
|
|
91
|
+
if (value && typeof value === "object" && key in value) {
|
|
92
|
+
value = value[key];
|
|
93
|
+
} else {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return value;
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
const injectedFormData = inject("formData", { value: {} });
|
|
101
|
+
const rootData = computed(() => injectedFormData.value || {});
|
|
102
|
+
const {
|
|
103
|
+
items: providerItems,
|
|
104
|
+
loading,
|
|
105
|
+
error
|
|
106
|
+
} = useProvider(binding, {
|
|
107
|
+
data: rootData,
|
|
108
|
+
path: control.value.path,
|
|
109
|
+
dependsOnValues: depValues.value
|
|
110
|
+
});
|
|
111
|
+
const placeholder = computed(() => {
|
|
112
|
+
if (loading.value) return "Loading…";
|
|
113
|
+
return control.value.uischema?.options?.placeholder ?? control.value.description;
|
|
114
|
+
});
|
|
115
|
+
const options = computed(() => {
|
|
116
|
+
if (binding.value && providerItems.value.length > 0) {
|
|
117
|
+
return providerItems.value;
|
|
118
|
+
}
|
|
119
|
+
return toOptions(control.value.schema);
|
|
120
|
+
});
|
|
121
|
+
useDerive({ control, handleChange });
|
|
122
|
+
const hasInteracted = ref(false);
|
|
123
|
+
const showErrors = computed(() => hasInteracted.value && control.value.errors);
|
|
124
|
+
const onSelect = (val) => {
|
|
125
|
+
handleChange(control.value.path, val);
|
|
126
|
+
};
|
|
127
|
+
const onBlur = () => {
|
|
128
|
+
hasInteracted.value = true;
|
|
129
|
+
};
|
|
130
|
+
return (_ctx, _cache) => {
|
|
131
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
132
|
+
unref(control).label ? (openBlock(), createElementBlock("label", _hoisted_2, toDisplayString(unref(control).label), 1)) : createCommentVNode("", true),
|
|
133
|
+
unref(control).description ? (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString(unref(control).description), 1)) : createCommentVNode("", true),
|
|
134
|
+
createVNode(unref(Dropdown), {
|
|
135
|
+
class: "w-full",
|
|
136
|
+
options: options.value,
|
|
137
|
+
"option-label": "label",
|
|
138
|
+
"option-value": "value",
|
|
139
|
+
"model-value": unref(control).data ?? null,
|
|
140
|
+
placeholder: placeholder.value,
|
|
141
|
+
disabled: !unref(control).enabled || unref(loading),
|
|
142
|
+
"aria-invalid": !!showErrors.value || void 0,
|
|
143
|
+
"show-clear": true,
|
|
144
|
+
"onUpdate:modelValue": onSelect,
|
|
145
|
+
onBlur
|
|
146
|
+
}, null, 8, ["options", "model-value", "placeholder", "disabled", "aria-invalid"]),
|
|
147
|
+
unref(error) ? (openBlock(), createElementBlock("small", _hoisted_4, "Failed to load: " + toDisplayString(unref(error)), 1)) : showErrors.value ? (openBlock(), createElementBlock("small", _hoisted_5, toDisplayString(unref(control).errors), 1)) : createCommentVNode("", true)
|
|
148
|
+
]);
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
});
|
|
5
152
|
export {
|
|
6
|
-
|
|
153
|
+
_sfc_main as default
|
|
7
154
|
};
|
|
8
155
|
//# sourceMappingURL=JfEnum.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JfEnum.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
1
|
+
{"version":3,"file":"JfEnum.vue.js","sources":["../../../src/vue/primevue/JfEnum.vue"],"sourcesContent":["<script lang=\"ts\">\n// Define props manually to avoid any potential circular dependency issues\nexport default {\n name: \"JfEnum\",\n props: {\n uischema: {\n type: Object,\n required: true,\n },\n schema: {\n type: Object,\n required: true,\n },\n path: {\n type: String,\n required: true,\n },\n enabled: {\n type: Boolean,\n default: undefined,\n },\n renderers: {\n type: Array,\n required: false,\n },\n cells: {\n type: Array,\n required: false,\n },\n config: {\n type: Object,\n required: false,\n },\n },\n};\n</script>\n\n<script setup lang=\"ts\">\nimport type { JsonSchema } from \"@jsonforms/core\";\nimport type { ControlProps } from \"@jsonforms/vue\";\nimport { useJsonFormsControl } from \"@jsonforms/vue\";\nimport { computed, ref, inject, getCurrentInstance } from \"vue\";\nimport { useProvider } from \"../composables/useProvider\";\nimport { useDerive } from \"../composables/useDerive\";\nimport Dropdown from \"primevue/dropdown\";\n\n// Access props from the component instance\nconst instance = getCurrentInstance()!;\nconst props = instance.props as unknown as ControlProps;\nconst { control, handleChange } = useJsonFormsControl(props);\n\ntype Opt = { label: string; value: unknown };\nconst toOptions = (schema?: JsonSchema): Opt[] => {\n if (!schema) return [];\n const s = schema as {\n enum?: unknown[];\n oneOf?: Array<{ title?: string; const: unknown }>;\n };\n if (Array.isArray(s.enum))\n return s.enum.map((v: unknown) => ({ label: String(v), value: v }));\n if (Array.isArray(s.oneOf))\n return s.oneOf.map((o) => ({\n label: o.title ?? String(o.const),\n value: o.const,\n }));\n return [];\n};\n\n// Provider support\nconst binding = computed(() => {\n const provider = control.value.uischema?.options?.provider;\n // Ensure load property is set to 'mount' by default\n if (provider && typeof provider === \"object\" && !provider.load) {\n return { ...provider, load: \"mount\" };\n }\n return provider;\n});\n\nconst deps = computed(\n () =>\n ((\n (control.value.schema as Record<string, unknown>)?.[\n \"x-provider\"\n ] as Record<string, unknown>\n )?.dependsOn as string[]) ?? [],\n);\nconst depValues = computed(() => {\n return deps.value.map((dep) => {\n // Resolve dependency value from form data using JSON pointer-like path\n const path = dep.startsWith(\"#/\") ? dep.slice(2) : dep;\n const keys = path.replace(/\\//g, \".\").split(\".\");\n let value: unknown = rootData.value;\n for (const key of keys) {\n if (value && typeof value === \"object\" && key in value) {\n value = (value as Record<string, unknown>)[key];\n } else {\n return null;\n }\n }\n return value;\n });\n});\n\n// Get the root form data from JSONForms context for template URL resolution\nconst injectedFormData = inject<{ value: unknown }>(\"formData\", { value: {} });\nconst rootData = computed(() => injectedFormData.value || {});\n\n// Use provider if available, otherwise fall back to schema enum/oneOf\nconst {\n items: providerItems,\n loading,\n error,\n} = useProvider(binding, {\n data: rootData,\n path: control.value.path,\n dependsOnValues: depValues.value,\n});\n\nconst placeholder = computed<string | undefined>(() => {\n if (loading.value) return \"Loading…\";\n return (\n (control.value.uischema as { options?: { placeholder?: string } })?.options\n ?.placeholder ?? control.value.description\n );\n});\n\nconst options = computed(() => {\n // Use provider items if available, otherwise fall back to schema enum/oneOf\n if (binding.value && providerItems.value.length > 0) {\n return providerItems.value;\n }\n return toOptions(control.value.schema);\n});\n\n// Add derive functionality\nuseDerive({ control, handleChange });\n\n// Track user interaction\nconst hasInteracted = ref(false);\n\nconst showErrors = computed(() => hasInteracted.value && control.value.errors);\n\nconst onSelect = (val: unknown) => {\n handleChange(control.value.path, val);\n};\n\nconst onBlur = () => {\n hasInteracted.value = true;\n};\n</script>\n\n<template>\n <div class=\"flex flex-column gap-2\">\n <label v-if=\"control.label\" class=\"text-color text-left\">{{\n control.label\n }}</label>\n <div v-if=\"control.description\" class=\"text-color-secondary text-left\">\n {{ control.description }}\n </div>\n <Dropdown\n class=\"w-full\"\n :options=\"options\"\n option-label=\"label\"\n option-value=\"value\"\n :model-value=\"control.data ?? null\"\n :placeholder=\"placeholder\"\n :disabled=\"!control.enabled || loading\"\n :aria-invalid=\"!!showErrors || undefined\"\n :show-clear=\"true\"\n @update:model-value=\"onSelect\"\n @blur=\"onBlur\"\n />\n <small v-if=\"error\" class=\"p-error\" role=\"alert\"\n >Failed to load: {{ error }}</small\n >\n <small v-else-if=\"showErrors\" class=\"p-error\">{{ control.errors }}</small>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_unref","_toDisplayString","_createVNode"],"mappings":"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"}
|
|
@@ -1,125 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { rendererProps, useJsonFormsControl } from "@jsonforms/vue";
|
|
3
|
-
import { useProvider } from "../composables/useProvider.js";
|
|
4
|
-
import { useDerive } from "../composables/useDerive.js";
|
|
5
|
-
import Dropdown from "primevue/dropdown";
|
|
6
|
-
const _hoisted_1 = { class: "flex flex-column gap-2" };
|
|
7
|
-
const _hoisted_2 = {
|
|
8
|
-
key: 0,
|
|
9
|
-
class: "text-color text-left"
|
|
10
|
-
};
|
|
11
|
-
const _hoisted_3 = {
|
|
12
|
-
key: 1,
|
|
13
|
-
class: "text-color-secondary text-left"
|
|
14
|
-
};
|
|
15
|
-
const _hoisted_4 = {
|
|
16
|
-
key: 2,
|
|
17
|
-
class: "p-error",
|
|
18
|
-
role: "alert"
|
|
19
|
-
};
|
|
20
|
-
const _hoisted_5 = {
|
|
21
|
-
key: 3,
|
|
22
|
-
class: "p-error"
|
|
23
|
-
};
|
|
24
|
-
const __default__ = {
|
|
25
|
-
name: "JfEnum",
|
|
26
|
-
props: rendererProps()
|
|
27
|
-
};
|
|
28
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
29
|
-
...__default__,
|
|
30
|
-
setup(__props) {
|
|
31
|
-
const instance = getCurrentInstance();
|
|
32
|
-
const props = instance.props;
|
|
33
|
-
const { control, handleChange } = useJsonFormsControl(props);
|
|
34
|
-
const toOptions = (schema) => {
|
|
35
|
-
if (!schema) return [];
|
|
36
|
-
const s = schema;
|
|
37
|
-
if (Array.isArray(s.enum))
|
|
38
|
-
return s.enum.map((v) => ({ label: String(v), value: v }));
|
|
39
|
-
if (Array.isArray(s.oneOf))
|
|
40
|
-
return s.oneOf.map((o) => ({
|
|
41
|
-
label: o.title ?? String(o.const),
|
|
42
|
-
value: o.const
|
|
43
|
-
}));
|
|
44
|
-
return [];
|
|
45
|
-
};
|
|
46
|
-
const binding = computed(() => {
|
|
47
|
-
const provider = control.value.uischema?.options?.provider;
|
|
48
|
-
if (provider && typeof provider === "object" && !provider.load) {
|
|
49
|
-
return { ...provider, load: "mount" };
|
|
50
|
-
}
|
|
51
|
-
return provider;
|
|
52
|
-
});
|
|
53
|
-
const deps = computed(
|
|
54
|
-
() => control.value.schema?.["x-provider"]?.dependsOn ?? []
|
|
55
|
-
);
|
|
56
|
-
const depValues = computed(() => {
|
|
57
|
-
return deps.value.map((dep) => {
|
|
58
|
-
const path = dep.startsWith("#/") ? dep.slice(2) : dep;
|
|
59
|
-
const keys = path.replace(/\//g, ".").split(".");
|
|
60
|
-
let value = rootData.value;
|
|
61
|
-
for (const key of keys) {
|
|
62
|
-
if (value && typeof value === "object" && key in value) {
|
|
63
|
-
value = value[key];
|
|
64
|
-
} else {
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return value;
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
const injectedFormData = inject("formData", { value: {} });
|
|
72
|
-
const rootData = computed(() => injectedFormData.value || {});
|
|
73
|
-
const {
|
|
74
|
-
items: providerItems,
|
|
75
|
-
loading,
|
|
76
|
-
error
|
|
77
|
-
} = useProvider(binding, {
|
|
78
|
-
data: rootData,
|
|
79
|
-
path: control.value.path,
|
|
80
|
-
dependsOnValues: depValues.value
|
|
81
|
-
});
|
|
82
|
-
const placeholder = computed(() => {
|
|
83
|
-
if (loading.value) return "Loading…";
|
|
84
|
-
return control.value.uischema?.options?.placeholder ?? control.value.description;
|
|
85
|
-
});
|
|
86
|
-
const options = computed(() => {
|
|
87
|
-
if (binding.value && providerItems.value.length > 0) {
|
|
88
|
-
return providerItems.value;
|
|
89
|
-
}
|
|
90
|
-
return toOptions(control.value.schema);
|
|
91
|
-
});
|
|
92
|
-
useDerive({ control, handleChange });
|
|
93
|
-
const hasInteracted = ref(false);
|
|
94
|
-
const showErrors = computed(() => hasInteracted.value && control.value.errors);
|
|
95
|
-
const onSelect = (val) => {
|
|
96
|
-
handleChange(control.value.path, val);
|
|
97
|
-
};
|
|
98
|
-
const onBlur = () => {
|
|
99
|
-
hasInteracted.value = true;
|
|
100
|
-
};
|
|
101
|
-
return (_ctx, _cache) => {
|
|
102
|
-
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
103
|
-
unref(control).label ? (openBlock(), createElementBlock("label", _hoisted_2, toDisplayString(unref(control).label), 1)) : createCommentVNode("", true),
|
|
104
|
-
unref(control).description ? (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString(unref(control).description), 1)) : createCommentVNode("", true),
|
|
105
|
-
createVNode(unref(Dropdown), {
|
|
106
|
-
class: "w-full",
|
|
107
|
-
options: options.value,
|
|
108
|
-
"option-label": "label",
|
|
109
|
-
"option-value": "value",
|
|
110
|
-
"model-value": unref(control).data ?? null,
|
|
111
|
-
placeholder: placeholder.value,
|
|
112
|
-
disabled: !unref(control).enabled || unref(loading),
|
|
113
|
-
"aria-invalid": !!showErrors.value || void 0,
|
|
114
|
-
"show-clear": true,
|
|
115
|
-
"onUpdate:modelValue": onSelect,
|
|
116
|
-
onBlur
|
|
117
|
-
}, null, 8, ["options", "model-value", "placeholder", "disabled", "aria-invalid"]),
|
|
118
|
-
unref(error) ? (openBlock(), createElementBlock("small", _hoisted_4, "Failed to load: " + toDisplayString(unref(error)), 1)) : showErrors.value ? (openBlock(), createElementBlock("small", _hoisted_5, toDisplayString(unref(control).errors), 1)) : createCommentVNode("", true)
|
|
119
|
-
]);
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
});
|
|
1
|
+
import _sfc_main from "./JfEnum.vue.js";
|
|
123
2
|
export {
|
|
124
3
|
_sfc_main as default
|
|
125
4
|
};
|