@gravitee/ui-components 5.0.1 → 5.0.2
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 +1 -1
- package/src/lib/schema-form-oneof.d.ts +24 -0
- package/src/lib/schema-form-oneof.js +156 -0
- package/src/lib/schema-form-oneof.js.map +1 -0
- package/src/lib/schema-form.d.ts +17 -1
- package/src/lib/schema-form.js +149 -1
- package/src/lib/schema-form.js.map +1 -1
- package/src/mixins/schema-form-oneof.d.ts +20 -0
- package/src/mixins/schema-form-oneof.js +93 -0
- package/src/mixins/schema-form-oneof.js.map +1 -0
- package/src/organisms/gv-schema-form/gv-schema-form.d.ts +23 -69
- package/src/organisms/gv-schema-form/gv-schema-form.js +23 -61
- package/src/organisms/gv-schema-form/gv-schema-form.js.map +1 -1
- package/src/organisms/gv-schema-form/gv-schema-form.stories.d.ts +19 -0
- package/src/organisms/gv-schema-form/gv-schema-form.stories.js +41 -4
- package/src/organisms/gv-schema-form/gv-schema-form.stories.js.map +1 -1
- package/src/organisms/gv-schema-form/gv-schema-form.test.js +32 -0
- package/src/organisms/gv-schema-form/gv-schema-form.test.js.map +1 -1
- package/src/organisms/gv-schema-form-control/gv-schema-form-control.d.ts +2 -1
- package/src/organisms/gv-schema-form-control/gv-schema-form-control.js +44 -18
- package/src/organisms/gv-schema-form-control/gv-schema-form-control.js.map +1 -1
- package/src/organisms/gv-schema-form-group/gv-schema-form-group.d.ts +21 -52
- package/src/organisms/gv-schema-form-group/gv-schema-form-group.js +23 -57
- package/src/organisms/gv-schema-form-group/gv-schema-form-group.js.map +1 -1
- package/src/organisms/gv-schema-form-group/gv-schema-form-group.test.js +65 -0
- package/src/organisms/gv-schema-form-group/gv-schema-form-group.test.js.map +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function renderSchemaFormControl({ key, controlOverride, requiredOverride, schema, errors, skeleton, readonly, value, evaluateCondition, onHidden, }: {
|
|
2
|
+
key: any;
|
|
3
|
+
controlOverride?: null | undefined;
|
|
4
|
+
requiredOverride?: null | undefined;
|
|
5
|
+
schema: any;
|
|
6
|
+
errors: any;
|
|
7
|
+
skeleton: any;
|
|
8
|
+
readonly: any;
|
|
9
|
+
value: any;
|
|
10
|
+
evaluateCondition: any;
|
|
11
|
+
onHidden: any;
|
|
12
|
+
}): import("lit-html").TemplateResult<1>;
|
|
13
|
+
export function syncSelectedOneOfIndex(values: any, oneOf: any, currentIndex: any, rootSchema?: {}): any;
|
|
14
|
+
export function switchOneOfBranch(values: any, oneOf: any, prevIndex: any, nextIndex: any, rootSchema?: {}): any;
|
|
15
|
+
export function renderFormLevelErrors(errors: any): import("lit-html").TemplateResult<1>[];
|
|
16
|
+
export function renderRootOneOfPart({ schema, selectedIndex, readonly, onSelect, renderControl }: {
|
|
17
|
+
schema: any;
|
|
18
|
+
selectedIndex: any;
|
|
19
|
+
readonly: any;
|
|
20
|
+
onSelect: any;
|
|
21
|
+
renderControl: any;
|
|
22
|
+
}): import("lit-html").TemplateResult<1>;
|
|
23
|
+
export function renderGroupedSchemaControls(groups: any, keys: any, renderControl: any, renderOneOfPart: any): unknown;
|
|
24
|
+
export const schemaFormOneOfStyles: import("lit").CSSResult;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { css, html } from 'lit';
|
|
17
|
+
import { repeat } from 'lit/directives/repeat.js';
|
|
18
|
+
import { del } from 'object-path';
|
|
19
|
+
import { formatFormLevelError, getFormLevelErrors, inferOneOfIndex, normalizeControlForSchemaForm, resolveSchemaNode } from './schema-form';
|
|
20
|
+
export function renderSchemaFormControl({ key, controlOverride = null, requiredOverride = null, schema, errors, skeleton, readonly, value, evaluateCondition, onHidden, }) {
|
|
21
|
+
var _a, _b, _c;
|
|
22
|
+
const source = controlOverride || ((_a = schema.properties) === null || _a === void 0 ? void 0 : _a[key]);
|
|
23
|
+
const control = normalizeControlForSchemaForm(source) || {};
|
|
24
|
+
const isRequired = (requiredOverride != null ? requiredOverride : (_b = schema.required) === null || _b === void 0 ? void 0 : _b.includes(key)) || evaluateCondition(control, 'required');
|
|
25
|
+
const isDisabled = ((_c = schema.disabled) === null || _c === void 0 ? void 0 : _c.includes(key)) || evaluateCondition(control, 'disabled');
|
|
26
|
+
const isHidden = evaluateCondition(control, 'hidden');
|
|
27
|
+
if (isHidden) {
|
|
28
|
+
onHidden === null || onHidden === void 0 ? void 0 : onHidden(key);
|
|
29
|
+
}
|
|
30
|
+
const isReadonly = readonly || control.readOnly === true;
|
|
31
|
+
const isWriteOnly = control.writeOnly === true;
|
|
32
|
+
return html `<gv-schema-form-control
|
|
33
|
+
.id="${key}"
|
|
34
|
+
.errors="${errors}"
|
|
35
|
+
.control="${control}"
|
|
36
|
+
.skeleton="${skeleton}"
|
|
37
|
+
.value="${value}"
|
|
38
|
+
?readonly="${isReadonly}"
|
|
39
|
+
?writeonly="${isWriteOnly}"
|
|
40
|
+
?required="${isRequired}"
|
|
41
|
+
?disabled="${isDisabled}"
|
|
42
|
+
?hidden="${isHidden}"
|
|
43
|
+
></gv-schema-form-control>`;
|
|
44
|
+
}
|
|
45
|
+
export const schemaFormOneOfStyles = css `
|
|
46
|
+
.form-level-error {
|
|
47
|
+
margin: 0.4rem;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.oneof-select {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
gap: 0.25rem;
|
|
54
|
+
margin: var(--gv-schema-form-control--m, var(--gv-schema-form-group-control--m, 0.4rem));
|
|
55
|
+
width: calc(100% - 0.8rem);
|
|
56
|
+
align-self: center;
|
|
57
|
+
box-sizing: border-box;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.oneof-select__label {
|
|
61
|
+
font-size: 0.85rem;
|
|
62
|
+
font-weight: 600;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.oneof-select select {
|
|
66
|
+
width: 100%;
|
|
67
|
+
padding: 0.45rem 0.5rem;
|
|
68
|
+
border: 1px solid var(--gv-theme-neutral-color-dark, #d9d9d9);
|
|
69
|
+
border-radius: 2px;
|
|
70
|
+
background: var(--bgc);
|
|
71
|
+
color: inherit;
|
|
72
|
+
font: inherit;
|
|
73
|
+
}
|
|
74
|
+
`;
|
|
75
|
+
export function syncSelectedOneOfIndex(values, oneOf, currentIndex, rootSchema = {}) {
|
|
76
|
+
if (!Array.isArray(oneOf) || oneOf.length === 0) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
const inferred = inferOneOfIndex(values, oneOf, rootSchema);
|
|
80
|
+
return inferred != null ? inferred : currentIndex;
|
|
81
|
+
}
|
|
82
|
+
export function switchOneOfBranch(values, oneOf, prevIndex, nextIndex, rootSchema = {}) {
|
|
83
|
+
if (!Array.isArray(oneOf) || oneOf[nextIndex] == null) {
|
|
84
|
+
return prevIndex;
|
|
85
|
+
}
|
|
86
|
+
if (prevIndex != null && prevIndex !== nextIndex && oneOf[prevIndex]) {
|
|
87
|
+
const previousBranch = resolveSchemaNode(oneOf[prevIndex], rootSchema);
|
|
88
|
+
const nextBranch = resolveSchemaNode(oneOf[nextIndex], rootSchema);
|
|
89
|
+
const nextProps = new Set(Object.keys(nextBranch.properties || {}));
|
|
90
|
+
for (const key of Object.keys(previousBranch.properties || {})) {
|
|
91
|
+
if (!nextProps.has(key)) {
|
|
92
|
+
del(values, key);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return nextIndex;
|
|
97
|
+
}
|
|
98
|
+
export function renderFormLevelErrors(errors) {
|
|
99
|
+
return getFormLevelErrors(errors).map((error) => html `<gv-input-message class="form-level-error" level="warning">${formatFormLevelError(error)}</gv-input-message>`);
|
|
100
|
+
}
|
|
101
|
+
export function renderRootOneOfPart({ schema, selectedIndex, readonly, onSelect, renderControl }) {
|
|
102
|
+
const oneOf = schema === null || schema === void 0 ? void 0 : schema.oneOf;
|
|
103
|
+
if (!Array.isArray(oneOf) || oneOf.length === 0) {
|
|
104
|
+
return html ``;
|
|
105
|
+
}
|
|
106
|
+
const titles = oneOf.map((branch, i) => {
|
|
107
|
+
const resolved = resolveSchemaNode(branch, schema);
|
|
108
|
+
return (resolved.title || branch.title || `Option ${i + 1}`).trim();
|
|
109
|
+
});
|
|
110
|
+
let branchControls = html ``;
|
|
111
|
+
if (selectedIndex != null && oneOf[selectedIndex]) {
|
|
112
|
+
const branch = resolveSchemaNode(oneOf[selectedIndex], schema);
|
|
113
|
+
const properties = branch.properties || {};
|
|
114
|
+
const required = branch.required || [];
|
|
115
|
+
branchControls = html `${repeat(Object.keys(properties), (key) => `${selectedIndex}:${key}`, (key) => renderControl(key, properties[key], required.includes(key)))}`;
|
|
116
|
+
}
|
|
117
|
+
return html `
|
|
118
|
+
<label class="oneof-select">
|
|
119
|
+
<span class="oneof-select__label">Select option</span>
|
|
120
|
+
<select .value="${selectedIndex != null ? String(selectedIndex) : ''}" ?disabled="${readonly}" @change="${onSelect}">
|
|
121
|
+
<option value="" disabled ?selected="${selectedIndex == null}">Select option</option>
|
|
122
|
+
${titles.map((title, index) => html `<option value="${index}" ?selected="${selectedIndex === index}">${title}</option>`)}
|
|
123
|
+
</select>
|
|
124
|
+
</label>
|
|
125
|
+
${branchControls}
|
|
126
|
+
`;
|
|
127
|
+
}
|
|
128
|
+
export function renderGroupedSchemaControls(groups, keys, renderControl, renderOneOfPart) {
|
|
129
|
+
const groupsCleaned = groups.reduce((prev, group) => {
|
|
130
|
+
const itemsExistingInSchemaKeys = keys.filter((key) => [...(group.items || [])].includes(key));
|
|
131
|
+
prev.push(Object.assign(Object.assign({}, group), { items: itemsExistingInSchemaKeys || [] }));
|
|
132
|
+
return prev;
|
|
133
|
+
}, []);
|
|
134
|
+
let defaultGroup = groupsCleaned.find((g) => g.default);
|
|
135
|
+
if (!defaultGroup) {
|
|
136
|
+
defaultGroup = { default: true, items: [] };
|
|
137
|
+
groupsCleaned.push(defaultGroup);
|
|
138
|
+
}
|
|
139
|
+
const zipGroupedItems = groupsCleaned.reduce((prev, group) => {
|
|
140
|
+
if (group === defaultGroup) {
|
|
141
|
+
return prev;
|
|
142
|
+
}
|
|
143
|
+
return [...prev, ...group.items];
|
|
144
|
+
}, []);
|
|
145
|
+
defaultGroup.items = keys.filter((key) => !zipGroupedItems.includes(key));
|
|
146
|
+
return repeat(groupsCleaned, (group) => {
|
|
147
|
+
const controls = html `${repeat(group.items, (key) => key, (key) => renderControl(key))}
|
|
148
|
+
${group.default ? renderOneOfPart() : ''}`;
|
|
149
|
+
if (group.name) {
|
|
150
|
+
return html `<h2 class="group-title">${group.name}</h2>
|
|
151
|
+
${controls}`;
|
|
152
|
+
}
|
|
153
|
+
return controls;
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=schema-form-oneof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-form-oneof.js","sourceRoot":"","sources":["../../../src/lib/schema-form-oneof.js"],"names":[],"mappings":"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"}
|
package/src/lib/schema-form.d.ts
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
export function isCodemirror(control: any):
|
|
1
|
+
export function isCodemirror(control: any): boolean;
|
|
2
|
+
export function resolveSchemaNode(node: any, rootSchema: any, seen?: Set<any>): any;
|
|
3
|
+
export function normalizeControlForSchemaForm(control: any, seen?: Set<any>): any;
|
|
4
|
+
export function inferOneOfIndex(values: any, oneOf: any, rootSchema?: {}): number | null;
|
|
2
5
|
export function isObject(control: any): boolean;
|
|
3
6
|
export function isComplexArray(control: any): boolean;
|
|
4
7
|
export function canInline(schema: any): boolean;
|
|
5
8
|
export function canGrid(schema: any): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Returns validation errors that don't map to any single control: root
|
|
11
|
+
* oneOf/anyOf failures report property === 'instance' with an array argument.
|
|
12
|
+
* They would otherwise be silently dropped by gv-schema-form-control, leaving
|
|
13
|
+
* the user with no feedback on why the form is invalid.
|
|
14
|
+
*/
|
|
15
|
+
export function getFormLevelErrors(errors: any): any[];
|
|
16
|
+
/**
|
|
17
|
+
* `jsonschema` builds error.argument as an array of JSON-stringified titles
|
|
18
|
+
* (e.g. '"My title "'). Surface them as a readable comma list rather than the
|
|
19
|
+
* raw `JSON.stringify`'d message.
|
|
20
|
+
*/
|
|
21
|
+
export function formatFormLevelError(error: any): any;
|
package/src/lib/schema-form.js
CHANGED
|
@@ -14,7 +14,116 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
export function isCodemirror(control) {
|
|
17
|
-
|
|
17
|
+
var _a;
|
|
18
|
+
return ((_a = control['x-schema-form']) === null || _a === void 0 ? void 0 : _a.type) === 'codemirror';
|
|
19
|
+
}
|
|
20
|
+
export function resolveSchemaNode(node, rootSchema, seen = new Set()) {
|
|
21
|
+
if (node == null || typeof node !== 'object') {
|
|
22
|
+
return node;
|
|
23
|
+
}
|
|
24
|
+
if (typeof node.$ref === 'string') {
|
|
25
|
+
const ref = node.$ref;
|
|
26
|
+
if (seen.has(ref)) {
|
|
27
|
+
return {};
|
|
28
|
+
}
|
|
29
|
+
seen.add(ref);
|
|
30
|
+
const path = ref.replace(/^#\//, '').split('/');
|
|
31
|
+
let target = rootSchema;
|
|
32
|
+
for (const segment of path) {
|
|
33
|
+
target = target === null || target === void 0 ? void 0 : target[segment];
|
|
34
|
+
}
|
|
35
|
+
const rest = Object.assign({}, node);
|
|
36
|
+
delete rest.$ref;
|
|
37
|
+
return resolveSchemaNode(Object.assign(Object.assign({}, target), rest), rootSchema, seen);
|
|
38
|
+
}
|
|
39
|
+
if (node.properties) {
|
|
40
|
+
const properties = {};
|
|
41
|
+
for (const [key, value] of Object.entries(node.properties)) {
|
|
42
|
+
properties[key] = resolveSchemaNode(value, rootSchema, new Set(seen));
|
|
43
|
+
}
|
|
44
|
+
return Object.assign(Object.assign({}, node), { properties });
|
|
45
|
+
}
|
|
46
|
+
if (node.items) {
|
|
47
|
+
return Object.assign(Object.assign({}, node), { items: resolveSchemaNode(node.items, rootSchema, new Set(seen)) });
|
|
48
|
+
}
|
|
49
|
+
return node;
|
|
50
|
+
}
|
|
51
|
+
const normalizedControls = new WeakMap();
|
|
52
|
+
export function normalizeControlForSchemaForm(control, seen = new Set()) {
|
|
53
|
+
var _a, _b, _c, _d;
|
|
54
|
+
if (control == null || typeof control !== 'object') {
|
|
55
|
+
return control;
|
|
56
|
+
}
|
|
57
|
+
const cached = normalizedControls.get(control);
|
|
58
|
+
if (cached) {
|
|
59
|
+
return cached;
|
|
60
|
+
}
|
|
61
|
+
if (seen.has(control)) {
|
|
62
|
+
return control;
|
|
63
|
+
}
|
|
64
|
+
seen.add(control);
|
|
65
|
+
let next = Object.assign({}, control);
|
|
66
|
+
if (next.format === 'gio-code-editor') {
|
|
67
|
+
const language = ((_b = (_a = next.gioConfig) === null || _a === void 0 ? void 0 : _a.monacoEditorConfig) === null || _b === void 0 ? void 0 : _b.language) || 'javascript';
|
|
68
|
+
const existing = next['x-schema-form'];
|
|
69
|
+
next = Object.assign(Object.assign({}, next), { 'x-schema-form': Object.assign(Object.assign({}, existing), { type: 'codemirror', codemirrorOptions: Object.assign({ mode: language, lineNumbers: true }, existing === null || existing === void 0 ? void 0 : existing.codemirrorOptions) }) });
|
|
70
|
+
}
|
|
71
|
+
if (((_c = next.gioConfig) === null || _c === void 0 ? void 0 : _c.uiType) === 'resource-type') {
|
|
72
|
+
const resourceType = (_d = next.gioConfig.uiTypeProps) === null || _d === void 0 ? void 0 : _d.resourceType;
|
|
73
|
+
const existing = next['x-schema-form'];
|
|
74
|
+
next = Object.assign(Object.assign({}, next), { 'x-schema-form': Object.assign(Object.assign({}, existing), { event: {
|
|
75
|
+
name: 'fetch-resources',
|
|
76
|
+
regexTypes: resourceType || '.*',
|
|
77
|
+
} }) });
|
|
78
|
+
}
|
|
79
|
+
if (next.type === 'object' && next.properties) {
|
|
80
|
+
const properties = {};
|
|
81
|
+
for (const [key, value] of Object.entries(next.properties)) {
|
|
82
|
+
properties[key] = normalizeControlForSchemaForm(value, seen);
|
|
83
|
+
}
|
|
84
|
+
next = Object.assign(Object.assign({}, next), { properties });
|
|
85
|
+
}
|
|
86
|
+
normalizedControls.set(control, next);
|
|
87
|
+
return next;
|
|
88
|
+
}
|
|
89
|
+
function matchesBranchDiscriminators(model, branch) {
|
|
90
|
+
const properties = branch.properties || {};
|
|
91
|
+
for (const [key, property] of Object.entries(properties)) {
|
|
92
|
+
if (property == null || typeof property !== 'object') {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
if (Object.hasOwn(property, 'const') && model[key] != null && model[key] !== property.const) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if (Array.isArray(property.enum) && model[key] != null && !property.enum.includes(model[key])) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
export function inferOneOfIndex(values, oneOf, rootSchema = {}) {
|
|
105
|
+
if (!Array.isArray(oneOf) || oneOf.length === 0) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
const model = values || {};
|
|
109
|
+
const resolved = oneOf.map((branch) => resolveSchemaNode(branch, rootSchema));
|
|
110
|
+
for (let i = 0; i < resolved.length; i++) {
|
|
111
|
+
const branch = resolved[i];
|
|
112
|
+
const required = branch.required || [];
|
|
113
|
+
if (required.length > 0 &&
|
|
114
|
+
required.every((key) => model[key] != null && model[key] !== '') &&
|
|
115
|
+
matchesBranchDiscriminators(model, branch)) {
|
|
116
|
+
return i;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
for (let i = 0; i < resolved.length; i++) {
|
|
120
|
+
const props = Object.keys(resolved[i].properties || {});
|
|
121
|
+
const exclusive = props.filter((key) => resolved.every((branch, j) => { var _a; return j === i || ((_a = branch.properties) === null || _a === void 0 ? void 0 : _a[key]) == null; }));
|
|
122
|
+
if (exclusive.some((key) => model[key] != null && model[key] !== '') && matchesBranchDiscriminators(model, resolved[i])) {
|
|
123
|
+
return i;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
18
127
|
}
|
|
19
128
|
export function isObject(control) {
|
|
20
129
|
return control.type === 'object';
|
|
@@ -37,4 +146,43 @@ export function canGrid(schema) {
|
|
|
37
146
|
const keys = Object.keys(schema.properties || {});
|
|
38
147
|
return keys.length > 2 && keys.filter((key) => _canInline(schema, key)).length === keys.length;
|
|
39
148
|
}
|
|
149
|
+
const FORM_LEVEL_PREFIXES = {
|
|
150
|
+
oneOf: 'Select exactly one of',
|
|
151
|
+
anyOf: 'Select at least one of',
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Returns validation errors that don't map to any single control: root
|
|
155
|
+
* oneOf/anyOf failures report property === 'instance' with an array argument.
|
|
156
|
+
* They would otherwise be silently dropped by gv-schema-form-control, leaving
|
|
157
|
+
* the user with no feedback on why the form is invalid.
|
|
158
|
+
*/
|
|
159
|
+
export function getFormLevelErrors(errors) {
|
|
160
|
+
if (!Array.isArray(errors))
|
|
161
|
+
return [];
|
|
162
|
+
return errors.filter((error) => (error === null || error === void 0 ? void 0 : error.property) === 'instance' && (error.name === 'oneOf' || error.name === 'anyOf') && Array.isArray(error.argument));
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* `jsonschema` builds error.argument as an array of JSON-stringified titles
|
|
166
|
+
* (e.g. '"My title "'). Surface them as a readable comma list rather than the
|
|
167
|
+
* raw `JSON.stringify`'d message.
|
|
168
|
+
*/
|
|
169
|
+
export function formatFormLevelError(error) {
|
|
170
|
+
const titles = error.argument
|
|
171
|
+
.map(stripJsonStringifyWrap)
|
|
172
|
+
.map((title) => title.trim())
|
|
173
|
+
.filter((title) => title.length > 0);
|
|
174
|
+
if (titles.length === 0) {
|
|
175
|
+
return error.message;
|
|
176
|
+
}
|
|
177
|
+
const prefix = FORM_LEVEL_PREFIXES[error.name];
|
|
178
|
+
return prefix ? `${prefix}: ${titles.join(', ')}` : titles.join(', ');
|
|
179
|
+
}
|
|
180
|
+
// Strips the surrounding double-quotes JSON.stringify(title) adds, while
|
|
181
|
+
// leaving non-string entries (e.g. '<#/defs/Foo>', '[subschema 0]') intact.
|
|
182
|
+
function stripJsonStringifyWrap(entry) {
|
|
183
|
+
if (typeof entry !== 'string')
|
|
184
|
+
return String(entry);
|
|
185
|
+
const match = /^"(.*)"$/s.exec(entry);
|
|
186
|
+
return match ? match[1] : entry;
|
|
187
|
+
}
|
|
40
188
|
//# sourceMappingURL=schema-form.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-form.js","sourceRoot":"","sources":["../../../src/lib/schema-form.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAAC,OAAO
|
|
1
|
+
{"version":3,"file":"schema-form.js","sourceRoot":"","sources":["../../../src/lib/schema-form.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAAC,OAAO;;IAClC,OAAO,CAAA,MAAA,OAAO,CAAC,eAAe,CAAC,0CAAE,IAAI,MAAK,YAAY,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;IAClE,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,MAAM,GAAG,UAAU,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,qBAAQ,IAAI,CAAE,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC;QACjB,OAAO,iBAAiB,iCAAM,MAAM,GAAK,IAAI,GAAI,UAAU,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,UAAU,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,uCAAY,IAAI,KAAE,UAAU,IAAG;IACjC,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,uCAAY,IAAI,KAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAG;IACtF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAE,CAAC;AAEzC,MAAM,UAAU,6BAA6B,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;;IACrE,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClB,IAAI,IAAI,qBAAQ,OAAO,CAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,kBAAkB,0CAAE,QAAQ,KAAI,YAAY,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,IAAI,mCACC,IAAI,KACP,eAAe,kCACV,QAAQ,KACX,IAAI,EAAE,YAAY,EAClB,iBAAiB,kBACf,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,IAAI,IACd,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,iBAAiB,OAGnC,CAAC;IACJ,CAAC;IACD,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,MAAK,eAAe,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,WAAW,0CAAE,YAAY,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,IAAI,mCACC,IAAI,KACP,eAAe,kCACV,QAAQ,KACX,KAAK,EAAE;oBACL,IAAI,EAAE,iBAAiB;oBACvB,UAAU,EAAE,YAAY,IAAI,IAAI;iBACjC,MAEJ,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,UAAU,CAAC,GAAG,CAAC,GAAG,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,mCAAQ,IAAI,KAAE,UAAU,GAAE,CAAC;IACjC,CAAC;IACD,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrD,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC5F,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9F,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IACE,QAAQ,CAAC,MAAM,GAAG,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAChE,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,EAC1C,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,KAAK,CAAC,IAAI,CAAA,MAAA,MAAM,CAAC,UAAU,0CAAG,GAAG,CAAC,KAAI,IAAI,CAAA,EAAA,CAAC,CAAC,CAAC;QACpH,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,2BAA2B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxH,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAO;IAC9B,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAO;IACpC,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAM;IAC9B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;IACnG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,MAAM,EAAE,GAAG;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAM;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;AACjG,CAAC;AAED,MAAM,mBAAmB,GAAG;IAC1B,KAAK,EAAE,uBAAuB;IAC9B,KAAK,EAAE,wBAAwB;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAM;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,MAAK,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CACjI,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAK;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ;SAC1B,GAAG,CAAC,sBAAsB,CAAC;SAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,yEAAyE;AACzE,4EAA4E;AAC5E,SAAS,sBAAsB,CAAC,KAAK;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared root-oneOf behaviour for gv-schema-form and gv-schema-form-group.
|
|
3
|
+
* Hosts must implement `_getSchemaFormModel()` and `_afterOneOfBranchChange()`.
|
|
4
|
+
* @mixinFunction
|
|
5
|
+
*/
|
|
6
|
+
export function SchemaFormOneOf(ParentClass: any): {
|
|
7
|
+
new (): {
|
|
8
|
+
[x: string]: any;
|
|
9
|
+
_selectedOneOfIndex: any;
|
|
10
|
+
_getSchemaFormModel(): void;
|
|
11
|
+
_afterOneOfBranchChange(): void;
|
|
12
|
+
_syncOneOfIndex(forceReinfer?: boolean): void;
|
|
13
|
+
willUpdate(changedProperties: any): void;
|
|
14
|
+
_onOneOfSelect(e: any): void;
|
|
15
|
+
_renderControl(key: any, controlOverride?: null, requiredOverride?: null): import("lit-html").TemplateResult<1>;
|
|
16
|
+
_renderOneOfPart(): import("lit-html").TemplateResult<1>;
|
|
17
|
+
};
|
|
18
|
+
[x: string]: any;
|
|
19
|
+
get properties(): any;
|
|
20
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { get } from 'object-path';
|
|
17
|
+
import { renderRootOneOfPart, renderSchemaFormControl, switchOneOfBranch, syncSelectedOneOfIndex } from '../lib/schema-form-oneof';
|
|
18
|
+
/**
|
|
19
|
+
* Shared root-oneOf behaviour for gv-schema-form and gv-schema-form-group.
|
|
20
|
+
* Hosts must implement `_getSchemaFormModel()` and `_afterOneOfBranchChange()`.
|
|
21
|
+
* @mixinFunction
|
|
22
|
+
*/
|
|
23
|
+
export function SchemaFormOneOf(ParentClass) {
|
|
24
|
+
/**
|
|
25
|
+
* @mixinClass
|
|
26
|
+
*/
|
|
27
|
+
return class extends ParentClass {
|
|
28
|
+
static get properties() {
|
|
29
|
+
return Object.assign(Object.assign({}, super.properties), { _selectedOneOfIndex: { type: Number, attribute: false } });
|
|
30
|
+
}
|
|
31
|
+
constructor() {
|
|
32
|
+
super();
|
|
33
|
+
this._selectedOneOfIndex = null;
|
|
34
|
+
}
|
|
35
|
+
_getSchemaFormModel() {
|
|
36
|
+
throw new Error('_getSchemaFormModel() must be implemented');
|
|
37
|
+
}
|
|
38
|
+
_afterOneOfBranchChange() {
|
|
39
|
+
throw new Error('_afterOneOfBranchChange() must be implemented');
|
|
40
|
+
}
|
|
41
|
+
_syncOneOfIndex(forceReinfer = false) {
|
|
42
|
+
var _a;
|
|
43
|
+
this._selectedOneOfIndex = syncSelectedOneOfIndex(this._getSchemaFormModel(), (_a = this.schema) === null || _a === void 0 ? void 0 : _a.oneOf, forceReinfer ? null : this._selectedOneOfIndex, this.schema);
|
|
44
|
+
}
|
|
45
|
+
willUpdate(changedProperties) {
|
|
46
|
+
var _a;
|
|
47
|
+
if (changedProperties.has('schema')) {
|
|
48
|
+
this._syncOneOfIndex(true);
|
|
49
|
+
}
|
|
50
|
+
(_a = super.willUpdate) === null || _a === void 0 ? void 0 : _a.call(this, changedProperties);
|
|
51
|
+
}
|
|
52
|
+
_onOneOfSelect(e) {
|
|
53
|
+
var _a;
|
|
54
|
+
const next = Number(e.target.value);
|
|
55
|
+
if (Number.isNaN(next)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const oneOf = (_a = this.schema) === null || _a === void 0 ? void 0 : _a.oneOf;
|
|
59
|
+
if (!Array.isArray(oneOf) || oneOf[next] == null) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const previous = this._selectedOneOfIndex;
|
|
63
|
+
this._selectedOneOfIndex = switchOneOfBranch(this._getSchemaFormModel(), oneOf, previous, next, this.schema);
|
|
64
|
+
if (this._selectedOneOfIndex !== previous) {
|
|
65
|
+
this._afterOneOfBranchChange();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
_renderControl(key, controlOverride = null, requiredOverride = null) {
|
|
69
|
+
return renderSchemaFormControl({
|
|
70
|
+
key,
|
|
71
|
+
controlOverride,
|
|
72
|
+
requiredOverride,
|
|
73
|
+
schema: this.schema,
|
|
74
|
+
errors: this.errors,
|
|
75
|
+
skeleton: this.skeleton,
|
|
76
|
+
readonly: this.readonly,
|
|
77
|
+
value: get(this._getSchemaFormModel(), key),
|
|
78
|
+
evaluateCondition: (control, attribute) => this._evaluateCondition(control, attribute),
|
|
79
|
+
onHidden: (hiddenKey) => this._ignoreProperties.push(hiddenKey),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
_renderOneOfPart() {
|
|
83
|
+
return renderRootOneOfPart({
|
|
84
|
+
schema: this.schema,
|
|
85
|
+
selectedIndex: this._selectedOneOfIndex,
|
|
86
|
+
readonly: this.readonly,
|
|
87
|
+
onSelect: this._onOneOfSelect.bind(this),
|
|
88
|
+
renderControl: this._renderControl.bind(this),
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=schema-form-oneof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-form-oneof.js","sourceRoot":"","sources":["../../../src/mixins/schema-form-oneof.js"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
declare const GvSchemaForm_base: {
|
|
2
|
+
new (): {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
_selectedOneOfIndex: any;
|
|
5
|
+
_getSchemaFormModel(): void;
|
|
6
|
+
_afterOneOfBranchChange(): void;
|
|
7
|
+
_syncOneOfIndex(forceReinfer?: boolean): void;
|
|
8
|
+
willUpdate(changedProperties: any): void;
|
|
9
|
+
_onOneOfSelect(e: any): void;
|
|
10
|
+
_renderControl(key: any, controlOverride?: null, requiredOverride?: null): import("lit-html").TemplateResult<1>;
|
|
11
|
+
_renderOneOfPart(): import("lit-html").TemplateResult<1>;
|
|
12
|
+
};
|
|
13
|
+
[x: string]: any;
|
|
14
|
+
get properties(): any;
|
|
15
|
+
};
|
|
1
16
|
/**
|
|
2
17
|
* Schema form component
|
|
3
18
|
*
|
|
@@ -16,69 +31,7 @@
|
|
|
16
31
|
* @cssprop {Color} [--gv-schema-form--bgc=#ffffff] - Background color
|
|
17
32
|
* @cssprop {Length} [--gv-schema-form-control--m=0.4rem] - Control margin
|
|
18
33
|
*/
|
|
19
|
-
export class GvSchemaForm extends
|
|
20
|
-
static get properties(): {
|
|
21
|
-
schema: {
|
|
22
|
-
type: ObjectConstructor;
|
|
23
|
-
};
|
|
24
|
-
errors: {
|
|
25
|
-
type: ObjectConstructor;
|
|
26
|
-
};
|
|
27
|
-
values: {
|
|
28
|
-
type: ObjectConstructor;
|
|
29
|
-
};
|
|
30
|
-
submitLabel: {
|
|
31
|
-
type: StringConstructor;
|
|
32
|
-
};
|
|
33
|
-
hasFooter: {
|
|
34
|
-
type: BooleanConstructor;
|
|
35
|
-
attribute: string;
|
|
36
|
-
};
|
|
37
|
-
hasHeader: {
|
|
38
|
-
type: BooleanConstructor;
|
|
39
|
-
attribute: string;
|
|
40
|
-
};
|
|
41
|
-
_confirm: {
|
|
42
|
-
type: ObjectConstructor;
|
|
43
|
-
};
|
|
44
|
-
_values: {
|
|
45
|
-
type: ObjectConstructor;
|
|
46
|
-
attribute: boolean;
|
|
47
|
-
};
|
|
48
|
-
dirty: {
|
|
49
|
-
type: BooleanConstructor;
|
|
50
|
-
reflect: boolean;
|
|
51
|
-
};
|
|
52
|
-
hideDeprecated: {
|
|
53
|
-
type: BooleanConstructor;
|
|
54
|
-
attribute: string;
|
|
55
|
-
};
|
|
56
|
-
validateOnRender: {
|
|
57
|
-
type: BooleanConstructor;
|
|
58
|
-
attribute: string;
|
|
59
|
-
};
|
|
60
|
-
_validatorResults: {
|
|
61
|
-
type: ObjectConstructor;
|
|
62
|
-
};
|
|
63
|
-
skeleton: {
|
|
64
|
-
type: BooleanConstructor;
|
|
65
|
-
reflect: boolean;
|
|
66
|
-
};
|
|
67
|
-
touch: {
|
|
68
|
-
type: BooleanConstructor;
|
|
69
|
-
};
|
|
70
|
-
readonly: {
|
|
71
|
-
type: BooleanConstructor;
|
|
72
|
-
reflect: boolean;
|
|
73
|
-
};
|
|
74
|
-
scrollable: {
|
|
75
|
-
type: BooleanConstructor;
|
|
76
|
-
reflect: boolean;
|
|
77
|
-
};
|
|
78
|
-
groups: {
|
|
79
|
-
type: ArrayConstructor;
|
|
80
|
-
};
|
|
81
|
-
};
|
|
34
|
+
export class GvSchemaForm extends GvSchemaForm_base {
|
|
82
35
|
static get styles(): import("lit").CSSResult[];
|
|
83
36
|
hideDeprecated: boolean;
|
|
84
37
|
_values: {};
|
|
@@ -92,6 +45,7 @@ export class GvSchemaForm extends LitElement {
|
|
|
92
45
|
_dynamicControls: any[];
|
|
93
46
|
_dynamicAttributes: string[];
|
|
94
47
|
groups: any;
|
|
48
|
+
_getSchemaFormModel(): {};
|
|
95
49
|
set values(values: {});
|
|
96
50
|
get values(): {};
|
|
97
51
|
_initialValues: any;
|
|
@@ -113,8 +67,8 @@ export class GvSchemaForm extends LitElement {
|
|
|
113
67
|
} | null | undefined;
|
|
114
68
|
_onConfirmReset(): void;
|
|
115
69
|
_onConfirmEdit(): void;
|
|
116
|
-
_getSubmitBtn():
|
|
117
|
-
_getResetBtn():
|
|
70
|
+
_getSubmitBtn(): any;
|
|
71
|
+
_getResetBtn(): any;
|
|
118
72
|
_dispatchChange(): void;
|
|
119
73
|
_changeTimeout: NodeJS.Timeout | undefined;
|
|
120
74
|
_onDefaultValue({ detail: { currentTarget, value, control } }: {
|
|
@@ -135,7 +89,6 @@ export class GvSchemaForm extends LitElement {
|
|
|
135
89
|
_updateDynamicControls(): void;
|
|
136
90
|
_updateDynamicControl(controlElement: any): null;
|
|
137
91
|
performUpdate(): Promise<void>;
|
|
138
|
-
_renderControl(key: any): import("lit-html").TemplateResult<1>;
|
|
139
92
|
_hasCondition(control: any): boolean;
|
|
140
93
|
_evaluateCondition(control: any, conditionKey: any): boolean;
|
|
141
94
|
_evaluateNotEqualsCondition(control: any, condition: any): boolean;
|
|
@@ -143,8 +96,8 @@ export class GvSchemaForm extends LitElement {
|
|
|
143
96
|
_evaluateNotDefCondition(control: any, condition: any): boolean;
|
|
144
97
|
_evaluateDefCondition(control: any, condition: any): boolean;
|
|
145
98
|
_renderPart(): unknown;
|
|
146
|
-
getControls():
|
|
147
|
-
getControl(id: any):
|
|
99
|
+
getControls(): any[];
|
|
100
|
+
getControl(id: any): any;
|
|
148
101
|
_getErrors(): any;
|
|
149
102
|
validate(): {};
|
|
150
103
|
errors: any;
|
|
@@ -155,7 +108,8 @@ export class GvSchemaForm extends LitElement {
|
|
|
155
108
|
_updateChildren(withValidation: any): void;
|
|
156
109
|
_updateActionsTimeout: NodeJS.Timeout | undefined;
|
|
157
110
|
updated(changedProperties: any): Promise<void>;
|
|
111
|
+
getUpdateComplete(): Promise<boolean>;
|
|
158
112
|
render(): import("lit-html").TemplateResult<1>;
|
|
159
113
|
}
|
|
160
|
-
import { LitElement } from 'lit';
|
|
161
114
|
import { Validator } from 'jsonschema';
|
|
115
|
+
export {};
|