@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
|
@@ -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=JfTextArea.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JfTextArea.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/primevue/JfTextArea.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"JfTextArea.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/primevue/JfTextArea.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqGA,wBA+MK"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, getCurrentInstance, computed, ref, createElementBlock, openBlock, createCommentVNode, createVNode, unref, toDisplayString } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { useJsonFormsControl } from "@jsonforms/vue";
|
|
3
3
|
import Textarea from "primevue/textarea";
|
|
4
4
|
const _hoisted_1 = { class: "flex flex-column gap-2" };
|
|
5
5
|
const _hoisted_2 = {
|
|
@@ -16,7 +16,36 @@ const _hoisted_4 = {
|
|
|
16
16
|
};
|
|
17
17
|
const __default__ = {
|
|
18
18
|
name: "JfTextArea",
|
|
19
|
-
props:
|
|
19
|
+
props: {
|
|
20
|
+
uischema: {
|
|
21
|
+
type: Object,
|
|
22
|
+
required: true
|
|
23
|
+
},
|
|
24
|
+
schema: {
|
|
25
|
+
type: Object,
|
|
26
|
+
required: true
|
|
27
|
+
},
|
|
28
|
+
path: {
|
|
29
|
+
type: String,
|
|
30
|
+
required: true
|
|
31
|
+
},
|
|
32
|
+
enabled: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: void 0
|
|
35
|
+
},
|
|
36
|
+
renderers: {
|
|
37
|
+
type: Array,
|
|
38
|
+
required: false
|
|
39
|
+
},
|
|
40
|
+
cells: {
|
|
41
|
+
type: Array,
|
|
42
|
+
required: false
|
|
43
|
+
},
|
|
44
|
+
config: {
|
|
45
|
+
type: Object,
|
|
46
|
+
required: false
|
|
47
|
+
}
|
|
48
|
+
}
|
|
20
49
|
};
|
|
21
50
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
22
51
|
...__default__,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JfTextArea.vue.js","sources":["../../../src/vue/primevue/JfTextArea.vue"],"sourcesContent":["<script lang=\"ts\">\
|
|
1
|
+
{"version":3,"file":"JfTextArea.vue.js","sources":["../../../src/vue/primevue/JfTextArea.vue"],"sourcesContent":["<script lang=\"ts\">\nexport default {\n name: \"JfTextArea\",\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 { computed, ref, getCurrentInstance } from \"vue\";\nimport Textarea from \"primevue/textarea\";\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 placeholder = computed<string | undefined>(\n () =>\n (control.value.uischema as { options?: { placeholder?: string } })?.options\n ?.placeholder ?? control.value.description,\n);\n\n// Track user interaction\nconst hasInteracted = ref(false);\n\nconst showErrors = computed(() => hasInteracted.value && control.value.errors);\n\nfunction onInput(val: string | undefined) {\n // Convert empty strings to undefined for proper required field validation\n const newValue = val && val.trim() !== \"\" ? val : undefined;\n if (control.value.data !== newValue) {\n handleChange(control.value.path, newValue);\n }\n}\n\nfunction 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 <Textarea\n class=\"w-full\"\n :model-value=\"control.data ?? ''\"\n :disabled=\"!control.enabled\"\n :aria-invalid=\"!!showErrors || undefined\"\n :placeholder=\"placeholder\"\n :rows=\"4\"\n :auto-resize=\"true\"\n @update:model-value=\"onInput\"\n @blur=\"onBlur\"\n />\n <small v-if=\"showErrors\" class=\"p-error\">{{ control.errors }}</small>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_unref","_toDisplayString","_createVNode"],"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,cAAc;AAAA,MAClB,MACG,QAAQ,MAAM,UAAqD,SAChE,eAAe,QAAQ,MAAM;AAAA,IAAA;AAIrC,UAAM,gBAAgB,IAAI,KAAK;AAE/B,UAAM,aAAa,SAAS,MAAM,cAAc,SAAS,QAAQ,MAAM,MAAM;AAE7E,aAAS,QAAQ,KAAyB;AAExC,YAAM,WAAW,OAAO,IAAI,KAAA,MAAW,KAAK,MAAM;AAClD,UAAI,QAAQ,MAAM,SAAS,UAAU;AACnC,qBAAa,QAAQ,MAAM,MAAM,QAAQ;AAAA,MAC3C;AAAA,IACF;AAEA,aAAS,SAAS;AAChB,oBAAc,QAAQ;AAAA,IACxB;;AAIE,aAAAA,UAAA,GAAAC,mBAmBM,OAnBN,YAmBM;AAAA,QAlBSC,MAAA,OAAA,EAAQ,SAArBF,UAAA,GAAAC,mBAEU,SAFV,YAEUE,gBADRD,MAAA,OAAA,EAAQ,KAAK,GAAA,CAAA;QAEJA,MAAA,OAAA,EAAQ,eAAnBF,UAAA,GAAAC,mBAEM,OAFN,YAEME,gBADDD,MAAA,OAAA,EAAQ,WAAW,GAAA,CAAA;QAExBE,YAUEF,MAAA,QAAA,GAAA;AAAA,UATA,OAAM;AAAA,UACL,eAAaA,MAAA,OAAA,EAAQ,QAAI;AAAA,UACzB,UAAQ,CAAGA,MAAA,OAAA,EAAQ;AAAA,UACnB,gBAAY,CAAA,CAAI,WAAA,SAAc;AAAA,UAC9B,aAAa,YAAA;AAAA,UACb,MAAM;AAAA,UACN,eAAa;AAAA,UACb,uBAAoB;AAAA,UACpB;AAAA,QAAA;QAEU,WAAA,SAAbF,UAAA,GAAAC,mBAAqE,SAArE,YAAqEE,gBAAzBD,MAAA,OAAA,EAAQ,MAAM,GAAA,CAAA;;;;;"}
|
|
@@ -7,76 +7,65 @@ import JfBoolean from "./JfBoolean.vue";
|
|
|
7
7
|
export declare const primevueRenderers: {
|
|
8
8
|
tester: (uischema: import("@jsonforms/core").UISchemaElement, schema: import("@jsonforms/core").JsonSchema, context: import("@jsonforms/core").TesterContext) => number;
|
|
9
9
|
renderer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
10
|
-
|
|
10
|
+
uischema: {
|
|
11
|
+
type: ObjectConstructor;
|
|
11
12
|
required: true;
|
|
12
|
-
type: import("vue").PropType<import("@jsonforms/core").JsonSchema>;
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
schema: {
|
|
15
|
+
type: ObjectConstructor;
|
|
15
16
|
required: true;
|
|
16
|
-
type: import("vue").PropType<import("@jsonforms/core").ControlElement>;
|
|
17
17
|
};
|
|
18
18
|
path: {
|
|
19
|
-
required: true;
|
|
20
19
|
type: StringConstructor;
|
|
20
|
+
required: true;
|
|
21
21
|
};
|
|
22
22
|
enabled: {
|
|
23
|
-
required: false;
|
|
24
23
|
type: BooleanConstructor;
|
|
25
24
|
default: undefined;
|
|
26
25
|
};
|
|
27
26
|
renderers: {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
default: undefined;
|
|
27
|
+
type: ArrayConstructor;
|
|
28
|
+
required: false;
|
|
31
29
|
};
|
|
32
30
|
cells: {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
default: undefined;
|
|
31
|
+
type: ArrayConstructor;
|
|
32
|
+
required: false;
|
|
36
33
|
};
|
|
37
34
|
config: {
|
|
38
|
-
required: boolean;
|
|
39
35
|
type: ObjectConstructor;
|
|
40
|
-
|
|
36
|
+
required: false;
|
|
41
37
|
};
|
|
42
38
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
43
|
-
|
|
39
|
+
uischema: {
|
|
40
|
+
type: ObjectConstructor;
|
|
44
41
|
required: true;
|
|
45
|
-
type: import("vue").PropType<import("@jsonforms/core").JsonSchema>;
|
|
46
42
|
};
|
|
47
|
-
|
|
43
|
+
schema: {
|
|
44
|
+
type: ObjectConstructor;
|
|
48
45
|
required: true;
|
|
49
|
-
type: import("vue").PropType<import("@jsonforms/core").ControlElement>;
|
|
50
46
|
};
|
|
51
47
|
path: {
|
|
52
|
-
required: true;
|
|
53
48
|
type: StringConstructor;
|
|
49
|
+
required: true;
|
|
54
50
|
};
|
|
55
51
|
enabled: {
|
|
56
|
-
required: false;
|
|
57
52
|
type: BooleanConstructor;
|
|
58
53
|
default: undefined;
|
|
59
54
|
};
|
|
60
55
|
renderers: {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
default: undefined;
|
|
56
|
+
type: ArrayConstructor;
|
|
57
|
+
required: false;
|
|
64
58
|
};
|
|
65
59
|
cells: {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
default: undefined;
|
|
60
|
+
type: ArrayConstructor;
|
|
61
|
+
required: false;
|
|
69
62
|
};
|
|
70
63
|
config: {
|
|
71
|
-
required: boolean;
|
|
72
64
|
type: ObjectConstructor;
|
|
73
|
-
|
|
65
|
+
required: false;
|
|
74
66
|
};
|
|
75
67
|
}>> & Readonly<{}>, {
|
|
76
|
-
config: Record<string, any>;
|
|
77
68
|
enabled: boolean;
|
|
78
|
-
renderers: import("@jsonforms/core").JsonFormsRendererRegistryEntry[];
|
|
79
|
-
cells: import("@jsonforms/core").JsonFormsCellRendererRegistryEntry[];
|
|
80
69
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
81
70
|
}[];
|
|
82
71
|
export { JfText, JfTextArea, JfNumber, JfEnum, JfEnumArray, JfBoolean };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vue/primevue/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AA0ExC,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vue/primevue/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,SAAS,MAAM,iBAAiB,CAAC;AA0ExC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiB7B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import _sfc_main$1 from "./JfText.vue.js";
|
|
2
2
|
import _sfc_main from "./JfTextArea.vue.js";
|
|
3
3
|
import _sfc_main$2 from "./JfNumber.vue.js";
|
|
4
|
-
import
|
|
5
|
-
import _sfc_main$
|
|
6
|
-
import _sfc_main$
|
|
4
|
+
import _sfc_main$3 from "./JfEnum.vue.js";
|
|
5
|
+
import _sfc_main$4 from "./JfEnumArray.vue.js";
|
|
6
|
+
import _sfc_main$5 from "./JfBoolean.vue.js";
|
|
7
7
|
import { rankWith, isStringControl, or, isNumberControl, isIntegerControl, and, isControl, schemaMatches, isBooleanControl } from "@jsonforms/core";
|
|
8
8
|
const injectLayoutStyles = () => {
|
|
9
9
|
if (typeof window !== "undefined" && typeof document !== "undefined") {
|
|
@@ -51,18 +51,18 @@ const primevueRenderers = [
|
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
tester: rankWith(PRIME + 5, and(isControl, schemaMatches(isScalarEnum))),
|
|
54
|
-
renderer:
|
|
54
|
+
renderer: _sfc_main$3
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
tester: rankWith(PRIME + 6, and(isControl, schemaMatches(isEnumArray))),
|
|
58
|
-
renderer: _sfc_main$
|
|
58
|
+
renderer: _sfc_main$4
|
|
59
59
|
},
|
|
60
|
-
{ tester: rankWith(PRIME + 3, isBooleanControl), renderer: _sfc_main$
|
|
60
|
+
{ tester: rankWith(PRIME + 3, isBooleanControl), renderer: _sfc_main$5 }
|
|
61
61
|
];
|
|
62
62
|
export {
|
|
63
|
-
_sfc_main$
|
|
64
|
-
JfEnum,
|
|
65
|
-
_sfc_main$
|
|
63
|
+
_sfc_main$5 as JfBoolean,
|
|
64
|
+
_sfc_main$3 as JfEnum,
|
|
65
|
+
_sfc_main$4 as JfEnumArray,
|
|
66
66
|
_sfc_main$2 as JfNumber,
|
|
67
67
|
_sfc_main$1 as JfText,
|
|
68
68
|
_sfc_main as JfTextArea,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/vue/primevue/index.ts"],"sourcesContent":["import JfText from \"./JfText.vue\";\nimport JfTextArea from \"./JfTextArea.vue\";\nimport JfNumber from \"./JfNumber.vue\";\nimport JfEnum from \"./JfEnum.vue\";\nimport JfEnumArray from \"./JfEnumArray.vue\";\nimport JfBoolean from \"./JfBoolean.vue\";\n\n// Auto-inject layout styles\nconst injectLayoutStyles = () => {\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n if (!document.getElementById(\"jsonforms-primevue-styles\")) {\n const style = document.createElement(\"style\");\n style.id = \"jsonforms-primevue-styles\";\n style.textContent = `\n/* JSONForms PrimeVue Provider Protocols Layout Styles */\n.vertical-layout {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 1rem;\n width: 100%;\n}\n\n.vertical-layout-item {\n width: 100%;\n}\n `;\n document.head.appendChild(style);\n }\n }\n};\n\n// Inject styles when this module is imported\ninjectLayoutStyles();\n\nimport {\n rankWith,\n isStringControl,\n or,\n isNumberControl,\n isIntegerControl,\n and,\n isControl,\n schemaMatches,\n isBooleanControl,\n} from \"@jsonforms/core\";\n\n// helpers for enum detection\nconst isScalarEnum = (s?: object) => {\n const schema = s as { type?: string; enum?: unknown[]; oneOf?: unknown[] };\n return (\n schema &&\n schema.type !== \"array\" &&\n (Array.isArray(schema.enum) || Array.isArray(schema.oneOf))\n );\n};\n\nconst isEnumArray = (s?: object) => {\n const schema = s as {\n type?: string;\n items?: { enum?: unknown[]; oneOf?: unknown[] };\n };\n return (\n schema?.type === \"array\" &&\n (Array.isArray(schema.items?.enum) || Array.isArray(schema.items?.oneOf))\n );\n};\n\n// helper for multiline detection\nconst isMultilineString = (uischema: unknown, schema: unknown) => {\n return (\n isStringControl(uischema as never, schema as never, {} as never) &&\n (uischema as { options?: { multi?: boolean } })?.options?.multi === true\n );\n};\n\n// Give PrimeVue renderers a high base rank; vanilla commonly uses small ranks (2–5)\nconst PRIME = 100;\n\nexport const primevueRenderers = [\n // Multiline text has higher priority than regular text\n { tester: rankWith(PRIME + 4, isMultilineString), renderer: JfTextArea },\n { tester: rankWith(PRIME + 3, isStringControl), renderer: JfText },\n {\n tester: rankWith(PRIME + 4, or(isNumberControl, isIntegerControl)),\n renderer: JfNumber,\n },\n {\n tester: rankWith(PRIME + 5, and(isControl, schemaMatches(isScalarEnum))),\n renderer: JfEnum,\n },\n {\n tester: rankWith(PRIME + 6, and(isControl, schemaMatches(isEnumArray))),\n renderer: JfEnumArray,\n },\n { tester: rankWith(PRIME + 3, isBooleanControl), renderer: JfBoolean },\n];\n\nexport { JfText, JfTextArea, JfNumber, JfEnum, JfEnumArray, JfBoolean };\n"],"names":["JfTextArea","JfText","JfNumber","JfEnumArray","JfBoolean"],"mappings":";;;;;;;AAQA,MAAM,qBAAqB,MAAM;AAC/B,MAAI,OAAO,WAAW,eAAe,OAAO,aAAa,aAAa;AACpE,QAAI,CAAC,SAAS,eAAe,2BAA2B,GAAG;AACzD,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,YAAM,KAAK;AACX,YAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcpB,eAAS,KAAK,YAAY,KAAK;AAAA,IACjC;AAAA,EACF;AACF;AAGA,mBAAA;AAeA,MAAM,eAAe,CAAC,MAAe;AACnC,QAAM,SAAS;AACf,SACE,UACA,OAAO,SAAS,YACf,MAAM,QAAQ,OAAO,IAAI,KAAK,MAAM,QAAQ,OAAO,KAAK;AAE7D;AAEA,MAAM,cAAc,CAAC,MAAe;AAClC,QAAM,SAAS;AAIf,SACE,QAAQ,SAAS,YAChB,MAAM,QAAQ,OAAO,OAAO,IAAI,KAAK,MAAM,QAAQ,OAAO,OAAO,KAAK;AAE3E;AAGA,MAAM,oBAAoB,CAAC,UAAmB,WAAoB;AAChE,SACE,gBAAgB,UAAmB,QAAiB,CAAA,CAAW,KAC9D,UAAgD,SAAS,UAAU;AAExE;AAGA,MAAM,QAAQ;AAEP,MAAM,oBAAoB;AAAA;AAAA,EAE/B,EAAE,QAAQ,SAAS,QAAQ,GAAG,iBAAiB,GAAG,UAAUA,UAAA;AAAA,EAC5D,EAAE,QAAQ,SAAS,QAAQ,GAAG,eAAe,GAAG,UAAUC,YAAA;AAAA,EAC1D;AAAA,IACE,QAAQ,SAAS,QAAQ,GAAG,GAAG,iBAAiB,gBAAgB,CAAC;AAAA,IACjE,UAAUC;AAAAA,EAAA;AAAA,EAEZ;AAAA,IACE,QAAQ,SAAS,QAAQ,GAAG,IAAI,WAAW,cAAc,YAAY,CAAC,CAAC;AAAA,IACvE,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/vue/primevue/index.ts"],"sourcesContent":["import JfText from \"./JfText.vue\";\nimport JfTextArea from \"./JfTextArea.vue\";\nimport JfNumber from \"./JfNumber.vue\";\nimport JfEnum from \"./JfEnum.vue\";\nimport JfEnumArray from \"./JfEnumArray.vue\";\nimport JfBoolean from \"./JfBoolean.vue\";\n\n// Auto-inject layout styles\nconst injectLayoutStyles = () => {\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n if (!document.getElementById(\"jsonforms-primevue-styles\")) {\n const style = document.createElement(\"style\");\n style.id = \"jsonforms-primevue-styles\";\n style.textContent = `\n/* JSONForms PrimeVue Provider Protocols Layout Styles */\n.vertical-layout {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 1rem;\n width: 100%;\n}\n\n.vertical-layout-item {\n width: 100%;\n}\n `;\n document.head.appendChild(style);\n }\n }\n};\n\n// Inject styles when this module is imported\ninjectLayoutStyles();\n\nimport {\n rankWith,\n isStringControl,\n or,\n isNumberControl,\n isIntegerControl,\n and,\n isControl,\n schemaMatches,\n isBooleanControl,\n} from \"@jsonforms/core\";\n\n// helpers for enum detection\nconst isScalarEnum = (s?: object) => {\n const schema = s as { type?: string; enum?: unknown[]; oneOf?: unknown[] };\n return (\n schema &&\n schema.type !== \"array\" &&\n (Array.isArray(schema.enum) || Array.isArray(schema.oneOf))\n );\n};\n\nconst isEnumArray = (s?: object) => {\n const schema = s as {\n type?: string;\n items?: { enum?: unknown[]; oneOf?: unknown[] };\n };\n return (\n schema?.type === \"array\" &&\n (Array.isArray(schema.items?.enum) || Array.isArray(schema.items?.oneOf))\n );\n};\n\n// helper for multiline detection\nconst isMultilineString = (uischema: unknown, schema: unknown) => {\n return (\n isStringControl(uischema as never, schema as never, {} as never) &&\n (uischema as { options?: { multi?: boolean } })?.options?.multi === true\n );\n};\n\n// Give PrimeVue renderers a high base rank; vanilla commonly uses small ranks (2–5)\nconst PRIME = 100;\n\nexport const primevueRenderers = [\n // Multiline text has higher priority than regular text\n { tester: rankWith(PRIME + 4, isMultilineString), renderer: JfTextArea },\n { tester: rankWith(PRIME + 3, isStringControl), renderer: JfText },\n {\n tester: rankWith(PRIME + 4, or(isNumberControl, isIntegerControl)),\n renderer: JfNumber,\n },\n {\n tester: rankWith(PRIME + 5, and(isControl, schemaMatches(isScalarEnum))),\n renderer: JfEnum,\n },\n {\n tester: rankWith(PRIME + 6, and(isControl, schemaMatches(isEnumArray))),\n renderer: JfEnumArray,\n },\n { tester: rankWith(PRIME + 3, isBooleanControl), renderer: JfBoolean },\n];\n\nexport { JfText, JfTextArea, JfNumber, JfEnum, JfEnumArray, JfBoolean };\n"],"names":["JfTextArea","JfText","JfNumber","JfEnum","JfEnumArray","JfBoolean"],"mappings":";;;;;;;AAQA,MAAM,qBAAqB,MAAM;AAC/B,MAAI,OAAO,WAAW,eAAe,OAAO,aAAa,aAAa;AACpE,QAAI,CAAC,SAAS,eAAe,2BAA2B,GAAG;AACzD,YAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,YAAM,KAAK;AACX,YAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcpB,eAAS,KAAK,YAAY,KAAK;AAAA,IACjC;AAAA,EACF;AACF;AAGA,mBAAA;AAeA,MAAM,eAAe,CAAC,MAAe;AACnC,QAAM,SAAS;AACf,SACE,UACA,OAAO,SAAS,YACf,MAAM,QAAQ,OAAO,IAAI,KAAK,MAAM,QAAQ,OAAO,KAAK;AAE7D;AAEA,MAAM,cAAc,CAAC,MAAe;AAClC,QAAM,SAAS;AAIf,SACE,QAAQ,SAAS,YAChB,MAAM,QAAQ,OAAO,OAAO,IAAI,KAAK,MAAM,QAAQ,OAAO,OAAO,KAAK;AAE3E;AAGA,MAAM,oBAAoB,CAAC,UAAmB,WAAoB;AAChE,SACE,gBAAgB,UAAmB,QAAiB,CAAA,CAAW,KAC9D,UAAgD,SAAS,UAAU;AAExE;AAGA,MAAM,QAAQ;AAEP,MAAM,oBAAoB;AAAA;AAAA,EAE/B,EAAE,QAAQ,SAAS,QAAQ,GAAG,iBAAiB,GAAG,UAAUA,UAAA;AAAA,EAC5D,EAAE,QAAQ,SAAS,QAAQ,GAAG,eAAe,GAAG,UAAUC,YAAA;AAAA,EAC1D;AAAA,IACE,QAAQ,SAAS,QAAQ,GAAG,GAAG,iBAAiB,gBAAgB,CAAC;AAAA,IACjE,UAAUC;AAAAA,EAAA;AAAA,EAEZ;AAAA,IACE,QAAQ,SAAS,QAAQ,GAAG,IAAI,WAAW,cAAc,YAAY,CAAC,CAAC;AAAA,IACvE,UAAUC;AAAAA,EAAA;AAAA,EAEZ;AAAA,IACE,QAAQ,SAAS,QAAQ,GAAG,IAAI,WAAW,cAAc,WAAW,CAAC,CAAC;AAAA,IACtE,UAAUC;AAAAA,EAAA;AAAA,EAEZ,EAAE,QAAQ,SAAS,QAAQ,GAAG,gBAAgB,GAAG,UAAUC,YAAA;AAC7D;"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type { ControlElement } from "@jsonforms/core";
|
|
3
|
-
import { rendererProps } from "@jsonforms/vue";
|
|
4
|
-
|
|
5
2
|
export default {
|
|
6
3
|
name: "JfBoolean",
|
|
7
|
-
props:
|
|
4
|
+
props: {
|
|
5
|
+
uischema: {
|
|
6
|
+
type: Object,
|
|
7
|
+
required: true,
|
|
8
|
+
},
|
|
9
|
+
schema: {
|
|
10
|
+
type: Object,
|
|
11
|
+
required: true,
|
|
12
|
+
},
|
|
13
|
+
path: {
|
|
14
|
+
type: String,
|
|
15
|
+
required: true,
|
|
16
|
+
},
|
|
17
|
+
enabled: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: undefined,
|
|
20
|
+
},
|
|
21
|
+
renderers: {
|
|
22
|
+
type: Array,
|
|
23
|
+
required: false,
|
|
24
|
+
},
|
|
25
|
+
cells: {
|
|
26
|
+
type: Array,
|
|
27
|
+
required: false,
|
|
28
|
+
},
|
|
29
|
+
config: {
|
|
30
|
+
type: Object,
|
|
31
|
+
required: false,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
8
34
|
};
|
|
9
35
|
</script>
|
|
10
36
|
|
|
@@ -1,11 +1,37 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
|
|
3
|
-
import { rendererProps } from "@jsonforms/vue";
|
|
4
|
-
|
|
5
|
-
// Use normal script block to avoid hoisting issues
|
|
2
|
+
// Define props manually to avoid any potential circular dependency issues
|
|
6
3
|
export default {
|
|
7
4
|
name: "JfEnum",
|
|
8
|
-
props:
|
|
5
|
+
props: {
|
|
6
|
+
uischema: {
|
|
7
|
+
type: Object,
|
|
8
|
+
required: true,
|
|
9
|
+
},
|
|
10
|
+
schema: {
|
|
11
|
+
type: Object,
|
|
12
|
+
required: true,
|
|
13
|
+
},
|
|
14
|
+
path: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
enabled: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: undefined,
|
|
21
|
+
},
|
|
22
|
+
renderers: {
|
|
23
|
+
type: Array,
|
|
24
|
+
required: false,
|
|
25
|
+
},
|
|
26
|
+
cells: {
|
|
27
|
+
type: Array,
|
|
28
|
+
required: false,
|
|
29
|
+
},
|
|
30
|
+
config: {
|
|
31
|
+
type: Object,
|
|
32
|
+
required: false,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
9
35
|
};
|
|
10
36
|
</script>
|
|
11
37
|
|
|
@@ -150,9 +176,3 @@ const onBlur = () => {
|
|
|
150
176
|
<small v-else-if="showErrors" class="p-error">{{ control.errors }}</small>
|
|
151
177
|
</div>
|
|
152
178
|
</template>
|
|
153
|
-
|
|
154
|
-
<style scoped>
|
|
155
|
-
:deep(.p-dropdown-label) {
|
|
156
|
-
text-align: left;
|
|
157
|
-
}
|
|
158
|
-
</style>
|
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type { ControlElement } from "@jsonforms/core";
|
|
3
|
-
import { rendererProps } from "@jsonforms/vue";
|
|
4
|
-
|
|
5
2
|
export default {
|
|
6
3
|
name: "JfEnumArray",
|
|
7
|
-
props:
|
|
4
|
+
props: {
|
|
5
|
+
uischema: {
|
|
6
|
+
type: Object,
|
|
7
|
+
required: true,
|
|
8
|
+
},
|
|
9
|
+
schema: {
|
|
10
|
+
type: Object,
|
|
11
|
+
required: true,
|
|
12
|
+
},
|
|
13
|
+
path: {
|
|
14
|
+
type: String,
|
|
15
|
+
required: true,
|
|
16
|
+
},
|
|
17
|
+
enabled: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: undefined,
|
|
20
|
+
},
|
|
21
|
+
renderers: {
|
|
22
|
+
type: Array,
|
|
23
|
+
required: false,
|
|
24
|
+
},
|
|
25
|
+
cells: {
|
|
26
|
+
type: Array,
|
|
27
|
+
required: false,
|
|
28
|
+
},
|
|
29
|
+
config: {
|
|
30
|
+
type: Object,
|
|
31
|
+
required: false,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
8
34
|
};
|
|
9
35
|
</script>
|
|
10
36
|
|
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type { ControlElement } from "@jsonforms/core";
|
|
3
|
-
import { rendererProps } from "@jsonforms/vue";
|
|
4
|
-
|
|
5
2
|
export default {
|
|
6
3
|
name: "JfNumber",
|
|
7
|
-
props:
|
|
4
|
+
props: {
|
|
5
|
+
uischema: {
|
|
6
|
+
type: Object,
|
|
7
|
+
required: true,
|
|
8
|
+
},
|
|
9
|
+
schema: {
|
|
10
|
+
type: Object,
|
|
11
|
+
required: true,
|
|
12
|
+
},
|
|
13
|
+
path: {
|
|
14
|
+
type: String,
|
|
15
|
+
required: true,
|
|
16
|
+
},
|
|
17
|
+
enabled: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: undefined,
|
|
20
|
+
},
|
|
21
|
+
renderers: {
|
|
22
|
+
type: Array,
|
|
23
|
+
required: false,
|
|
24
|
+
},
|
|
25
|
+
cells: {
|
|
26
|
+
type: Array,
|
|
27
|
+
required: false,
|
|
28
|
+
},
|
|
29
|
+
config: {
|
|
30
|
+
type: Object,
|
|
31
|
+
required: false,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
8
34
|
};
|
|
9
35
|
</script>
|
|
10
36
|
|
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type { ControlElement } from "@jsonforms/core";
|
|
3
|
-
import { rendererProps } from "@jsonforms/vue";
|
|
4
|
-
|
|
5
2
|
export default {
|
|
6
3
|
name: "JfText",
|
|
7
|
-
props:
|
|
4
|
+
props: {
|
|
5
|
+
uischema: {
|
|
6
|
+
type: Object,
|
|
7
|
+
required: true,
|
|
8
|
+
},
|
|
9
|
+
schema: {
|
|
10
|
+
type: Object,
|
|
11
|
+
required: true,
|
|
12
|
+
},
|
|
13
|
+
path: {
|
|
14
|
+
type: String,
|
|
15
|
+
required: true,
|
|
16
|
+
},
|
|
17
|
+
enabled: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: undefined,
|
|
20
|
+
},
|
|
21
|
+
renderers: {
|
|
22
|
+
type: Array,
|
|
23
|
+
required: false,
|
|
24
|
+
},
|
|
25
|
+
cells: {
|
|
26
|
+
type: Array,
|
|
27
|
+
required: false,
|
|
28
|
+
},
|
|
29
|
+
config: {
|
|
30
|
+
type: Object,
|
|
31
|
+
required: false,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
8
34
|
};
|
|
9
35
|
</script>
|
|
10
36
|
|
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type { ControlElement } from "@jsonforms/core";
|
|
3
|
-
import { rendererProps } from "@jsonforms/vue";
|
|
4
|
-
|
|
5
2
|
export default {
|
|
6
3
|
name: "JfTextArea",
|
|
7
|
-
props:
|
|
4
|
+
props: {
|
|
5
|
+
uischema: {
|
|
6
|
+
type: Object,
|
|
7
|
+
required: true,
|
|
8
|
+
},
|
|
9
|
+
schema: {
|
|
10
|
+
type: Object,
|
|
11
|
+
required: true,
|
|
12
|
+
},
|
|
13
|
+
path: {
|
|
14
|
+
type: String,
|
|
15
|
+
required: true,
|
|
16
|
+
},
|
|
17
|
+
enabled: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: undefined,
|
|
20
|
+
},
|
|
21
|
+
renderers: {
|
|
22
|
+
type: Array,
|
|
23
|
+
required: false,
|
|
24
|
+
},
|
|
25
|
+
cells: {
|
|
26
|
+
type: Array,
|
|
27
|
+
required: false,
|
|
28
|
+
},
|
|
29
|
+
config: {
|
|
30
|
+
type: Object,
|
|
31
|
+
required: false,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
8
34
|
};
|
|
9
35
|
</script>
|
|
10
36
|
|