@genesislcap/foundation-forms 9.0.1-alpha-b5c5eb7.0
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/MODULE_FEDERATION.md +11 -0
- package/README.md +56 -0
- package/dist/1.0.0.remoteEntry.js +1 -0
- package/dist/160.160.124ed2c5959b53210cbd.js +2 -0
- package/dist/160.190aff29e1d6cef60fa941e3ecd169b4.js.map +1 -0
- package/dist/191.191.0325d5c8852ae4921bad.js +2 -0
- package/dist/191.cfb3865153509ec434d0ee1d06702e06.js.map +1 -0
- package/dist/211.211.9bb272a936b1d1e91e6d.js +2 -0
- package/dist/211.618f438c5ae26e2eca20a00121c574ad.js.map +1 -0
- package/dist/259.259.2d238ae3cf8d8bdeba08.js +2 -0
- package/dist/259.550ac263c3f91b2416d000cf2f255ebb.js.map +1 -0
- package/dist/338.338.124651324d743221ad7e.js +3 -0
- package/dist/338.338.124651324d743221ad7e.js.LICENSE.txt +1 -0
- package/dist/338.d187d80c4b3697c68e08e173075547f8.js.map +1 -0
- package/dist/623.2132bb44d6962138c26ec8c716abfb8c.js.map +1 -0
- package/dist/623.623.4eb55ef851cb4acfb42d.js +3 -0
- package/dist/623.623.4eb55ef851cb4acfb42d.js.LICENSE.txt +4 -0
- package/dist/691.56a1e267854b877284b2dde11aae483b.js.map +1 -0
- package/dist/691.691.94bd71f12961486f4d8d.js +308 -0
- package/dist/730.730.d1c0de79e754bac881cb.js +2 -0
- package/dist/730.a7dfb868a3009f72a7daed20f5f05cd4.js.map +1 -0
- package/dist/755.755.d9777bd59664cac307f8.js +2 -0
- package/dist/755.ef9ff39a1d56dfd14bc47cd9f22cfc9f.js.map +1 -0
- package/dist/817.817.09800be1f64f8771bf91.js +2 -0
- package/dist/817.c03de73750c9e91e022d445f10572b93.js.map +1 -0
- package/dist/914.3464d6aedd1272b9a7824381f8c69dc5.js.map +1 -0
- package/dist/914.914.9c2af15b0145e5b35752.js +3 -0
- package/dist/914.914.9c2af15b0145e5b35752.js.LICENSE.txt +4 -0
- package/dist/dashboard.json +1 -0
- package/dist/dts/form.d.ts +103 -0
- package/dist/dts/form.d.ts.map +1 -0
- package/dist/dts/form.styles.d.ts +2 -0
- package/dist/dts/form.styles.d.ts.map +1 -0
- package/dist/dts/form.template.d.ts +3 -0
- package/dist/dts/form.template.d.ts.map +1 -0
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/index.federated.d.ts +1 -0
- package/dist/dts/index.federated.d.ts.map +1 -0
- package/dist/dts/jsonforms/json-forms.d.ts +33 -0
- package/dist/dts/jsonforms/json-forms.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/BooleanControlRenderer.d.ts +5 -0
- package/dist/dts/jsonforms/renderers/BooleanControlRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/ConnectedMultiselectControlRenderer.d.ts +5 -0
- package/dist/dts/jsonforms/renderers/ConnectedMultiselectControlRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/ConnectedSelectControlRenderer.d.ts +4 -0
- package/dist/dts/jsonforms/renderers/ConnectedSelectControlRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/ControlWrapperRenderer.d.ts +9 -0
- package/dist/dts/jsonforms/renderers/ControlWrapperRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/DateControlRenderer.d.ts +3 -0
- package/dist/dts/jsonforms/renderers/DateControlRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/EnumControlRenderer.d.ts +5 -0
- package/dist/dts/jsonforms/renderers/EnumControlRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/LayoutRenderer.d.ts +3 -0
- package/dist/dts/jsonforms/renderers/LayoutRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/LayoutVertical2ColumnsRenderer.d.ts +3 -0
- package/dist/dts/jsonforms/renderers/LayoutVertical2ColumnsRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/NumberControlRenderer.d.ts +3 -0
- package/dist/dts/jsonforms/renderers/NumberControlRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/RenderersRanks.d.ts +9 -0
- package/dist/dts/jsonforms/renderers/RenderersRanks.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/StringControlRenderer.d.ts +3 -0
- package/dist/dts/jsonforms/renderers/StringControlRenderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/renderers/dispatch-renderer.d.ts +18 -0
- package/dist/dts/jsonforms/renderers/dispatch-renderer.d.ts.map +1 -0
- package/dist/dts/jsonforms/testers/isDate.d.ts +2 -0
- package/dist/dts/jsonforms/testers/isDate.d.ts.map +1 -0
- package/dist/dts/jsonforms/testers/isOneOfBoolean.d.ts +2 -0
- package/dist/dts/jsonforms/testers/isOneOfBoolean.d.ts.map +1 -0
- package/dist/dts/jsonforms/testers/isOneOfEnum.d.ts +2 -0
- package/dist/dts/jsonforms/testers/isOneOfEnum.d.ts.map +1 -0
- package/dist/dts/jsonforms/testers/isOneOfNumber.d.ts +2 -0
- package/dist/dts/jsonforms/testers/isOneOfNumber.d.ts.map +1 -0
- package/dist/dts/jsonforms/testers/isOneOfOptionMultiselect.d.ts +2 -0
- package/dist/dts/jsonforms/testers/isOneOfOptionMultiselect.d.ts.map +1 -0
- package/dist/dts/jsonforms/testers/optionIs.d.ts +3 -0
- package/dist/dts/jsonforms/testers/optionIs.d.ts.map +1 -0
- package/dist/dts/tsdoc-metadata.json +11 -0
- package/dist/dts/types.d.ts +30 -0
- package/dist/dts/types.d.ts.map +1 -0
- package/dist/dts/utils/index.d.ts +3 -0
- package/dist/dts/utils/index.d.ts.map +1 -0
- package/dist/dts/utils/translation.d.ts +3 -0
- package/dist/dts/utils/translation.d.ts.map +1 -0
- package/dist/dts/utils/validation.d.ts +13 -0
- package/dist/dts/utils/validation.d.ts.map +1 -0
- package/dist/esm/form.js +166 -0
- package/dist/esm/form.js.map +1 -0
- package/dist/esm/form.styles.js +62 -0
- package/dist/esm/form.styles.js.map +1 -0
- package/dist/esm/form.template.js +34 -0
- package/dist/esm/form.template.js.map +1 -0
- package/dist/esm/index.federated.js +2 -0
- package/dist/esm/index.federated.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/jsonforms/json-forms.js +175 -0
- package/dist/esm/jsonforms/json-forms.js.map +1 -0
- package/dist/esm/jsonforms/renderers/BooleanControlRenderer.js +30 -0
- package/dist/esm/jsonforms/renderers/BooleanControlRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/ConnectedMultiselectControlRenderer.js +34 -0
- package/dist/esm/jsonforms/renderers/ConnectedMultiselectControlRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/ConnectedSelectControlRenderer.js +40 -0
- package/dist/esm/jsonforms/renderers/ConnectedSelectControlRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/ControlWrapperRenderer.js +76 -0
- package/dist/esm/jsonforms/renderers/ControlWrapperRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/DateControlRenderer.js +37 -0
- package/dist/esm/jsonforms/renderers/DateControlRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/EnumControlRenderer.js +45 -0
- package/dist/esm/jsonforms/renderers/EnumControlRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/LayoutRenderer.js +29 -0
- package/dist/esm/jsonforms/renderers/LayoutRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/LayoutVertical2ColumnsRenderer.js +37 -0
- package/dist/esm/jsonforms/renderers/LayoutVertical2ColumnsRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/NumberControlRenderer.js +34 -0
- package/dist/esm/jsonforms/renderers/NumberControlRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/RenderersRanks.js +9 -0
- package/dist/esm/jsonforms/renderers/RenderersRanks.js.map +1 -0
- package/dist/esm/jsonforms/renderers/StringControlRenderer.js +25 -0
- package/dist/esm/jsonforms/renderers/StringControlRenderer.js.map +1 -0
- package/dist/esm/jsonforms/renderers/dispatch-renderer.js +90 -0
- package/dist/esm/jsonforms/renderers/dispatch-renderer.js.map +1 -0
- package/dist/esm/jsonforms/testers/isDate.js +3 -0
- package/dist/esm/jsonforms/testers/isDate.js.map +1 -0
- package/dist/esm/jsonforms/testers/isOneOfBoolean.js +3 -0
- package/dist/esm/jsonforms/testers/isOneOfBoolean.js.map +1 -0
- package/dist/esm/jsonforms/testers/isOneOfEnum.js +4 -0
- package/dist/esm/jsonforms/testers/isOneOfEnum.js.map +1 -0
- package/dist/esm/jsonforms/testers/isOneOfNumber.js +6 -0
- package/dist/esm/jsonforms/testers/isOneOfNumber.js.map +1 -0
- package/dist/esm/jsonforms/testers/isOneOfOptionMultiselect.js +4 -0
- package/dist/esm/jsonforms/testers/isOneOfOptionMultiselect.js.map +1 -0
- package/dist/esm/jsonforms/testers/optionIs.js +10 -0
- package/dist/esm/jsonforms/testers/optionIs.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/translation.js +18 -0
- package/dist/esm/utils/translation.js.map +1 -0
- package/dist/esm/utils/validation.js +25 -0
- package/dist/esm/utils/validation.js.map +1 -0
- package/dist/favicon.ico +0 -0
- package/dist/foundation-forms.api.json +723 -0
- package/dist/foundation-forms.d.ts +176 -0
- package/dist/foundation-forms.iife.min.js +28 -0
- package/dist/foundation-forms.js +30835 -0
- package/dist/foundation-forms.min.js +26 -0
- package/dist/foundationForms.a7013ba9c5c4a97d9a7e2d8a551752ba.js.map +1 -0
- package/dist/index.ejs +23 -0
- package/dist/index.html +18 -0
- package/dist/info.ejs +13 -0
- package/dist/main.89d08fe81e0159f212e5f7880954ae70.js.map +1 -0
- package/dist/main.99a0affb273b317b04e7.js +2 -0
- package/dist/npm.ajv.213.0edf0dee76a3e8e16fa5.js +8 -0
- package/dist/npm.ajv.a70ac538476d2b86b0c95c3cddc46db2.js.map +1 -0
- package/dist/npm.analytics.343.c50e91b7d34234ff5598.js +2 -0
- package/dist/npm.analytics.9350473da68aa7584e1ffd2293d7eb64.js.map +1 -0
- package/dist/npm.consola.713.0a877d79045b2ced4b28.js +2 -0
- package/dist/npm.consola.b723f5d54df2d007a63f167647d0db4f.js.map +1 -0
- package/dist/npm.finos.690.a9cbfbb544d61a77cb75.js +2 -0
- package/dist/npm.finos.d24836382e0fd4c82511da38f1e2d712.js.map +1 -0
- package/dist/npm.jsonforms.832.135f578bfa3e3426340a.js +2 -0
- package/dist/npm.jsonforms.d742a744d53545575dc0f741c7f95a16.js.map +1 -0
- package/dist/npm.lodash.913.2f761568d7b7540de80a.js +2 -0
- package/dist/npm.lodash.a3a76c8fca5de460b782c77b99c930c9.js.map +1 -0
- package/dist/npm.microsoft.127.c2ce55cc34c771dd0e4f.js +1469 -0
- package/dist/npm.microsoft.127.c2ce55cc34c771dd0e4f.js.LICENSE.txt +14 -0
- package/dist/npm.microsoft.351f8b8b5cd6f2b1872524cc47c1a893.js.map +1 -0
- package/dist/npm.rxjs.271.c9ec2153535d20987f67.js +2 -0
- package/dist/npm.rxjs.d2fed746c0fef18592a807dcc82cba1c.js.map +1 -0
- package/dist/npm.uri-js.2c30a8d9b49ce1474de4ba46d0bc69a6.js.map +1 -0
- package/dist/npm.uri-js.415.4ffa54936c8e552b506d.js +3 -0
- package/dist/npm.uri-js.415.4ffa54936c8e552b506d.js.LICENSE.txt +1 -0
- package/dist/remoteEntry.js +2 -0
- package/dist/serve.json +3 -0
- package/docs/.gitattributes +2 -0
- package/docs/api/foundation-forms.form.data.md +13 -0
- package/docs/api/foundation-forms.form.disconnectedcallback.md +18 -0
- package/docs/api/foundation-forms.form.jsonschema.md +18 -0
- package/docs/api/foundation-forms.form.md +35 -0
- package/docs/api/foundation-forms.form.readonly.md +14 -0
- package/docs/api/foundation-forms.form.renderers.md +13 -0
- package/docs/api/foundation-forms.form.resourcename.md +13 -0
- package/docs/api/foundation-forms.form.uischema.md +50 -0
- package/docs/api/foundation-forms.genesiserrortranslator.md +11 -0
- package/docs/api/foundation-forms.logger.md +11 -0
- package/docs/api/foundation-forms.md +30 -0
- package/docs/api/foundation-forms.mustmatch.md +19 -0
- package/docs/api/foundation-forms.rendererentry.md +15 -0
- package/docs/api/foundation-forms.uischema.md +16 -0
- package/docs/api/foundation-forms.uischemaelement.md +18 -0
- package/docs/api/foundation-forms.uischemaelementoptions.md +20 -0
- package/docs/api/foundation-forms.uischemaelementtype.md +11 -0
- package/docs/api/index.md +12 -0
- package/docs/api-report.md +104 -0
- package/jsdom.setup.ts +1 -0
- package/license.txt +46 -0
- package/package.json +124 -0
package/dist/esm/form.js
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { __awaiter, __decorate } from "tslib";
|
|
2
|
+
import { Connect } from '@genesislcap/foundation-comms';
|
|
3
|
+
import { attr, customElement, observable } from '@microsoft/fast-element';
|
|
4
|
+
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
5
|
+
import { foundationFormStyles as styles } from './form.styles';
|
|
6
|
+
import { foundationFormTemplate as template } from './form.template';
|
|
7
|
+
import { createLogger } from '@genesislcap/foundation-utils';
|
|
8
|
+
import { isControl, isStringControl, mapStateToControlProps, rankWith, } from '@jsonforms/core';
|
|
9
|
+
import { BooleanControlEntry } from './jsonforms/renderers/BooleanControlRenderer';
|
|
10
|
+
import { ConnectedMultiselectControlRendererEntry } from './jsonforms/renderers/ConnectedMultiselectControlRenderer';
|
|
11
|
+
import { ConnectedSelectControlRendererEntry } from './jsonforms/renderers/ConnectedSelectControlRenderer';
|
|
12
|
+
import { DateControlRendererEntry } from './jsonforms/renderers/DateControlRenderer';
|
|
13
|
+
import { EnumControlRendererEntry } from './jsonforms/renderers/EnumControlRenderer';
|
|
14
|
+
import { LayoutRendererEntry } from './jsonforms/renderers/LayoutRenderer';
|
|
15
|
+
import { LayoutVertical2ColumnsEntry } from './jsonforms/renderers/LayoutVertical2ColumnsRenderer';
|
|
16
|
+
import { NumberControlRendererEntry } from './jsonforms/renderers/NumberControlRenderer';
|
|
17
|
+
import { StringControlRendererTemplate } from './jsonforms/renderers/StringControlRenderer';
|
|
18
|
+
export const logger = createLogger('foundation-form');
|
|
19
|
+
const stringEntry = {
|
|
20
|
+
renderer: StringControlRendererTemplate,
|
|
21
|
+
tester: rankWith(2, isStringControl),
|
|
22
|
+
mapper: mapStateToControlProps,
|
|
23
|
+
};
|
|
24
|
+
const fallbackEntry = {
|
|
25
|
+
renderer: StringControlRendererTemplate,
|
|
26
|
+
tester: rankWith(1, isControl),
|
|
27
|
+
mapper: mapStateToControlProps,
|
|
28
|
+
};
|
|
29
|
+
const renderers = [
|
|
30
|
+
fallbackEntry,
|
|
31
|
+
stringEntry,
|
|
32
|
+
BooleanControlEntry,
|
|
33
|
+
LayoutVertical2ColumnsEntry,
|
|
34
|
+
LayoutRendererEntry,
|
|
35
|
+
NumberControlRendererEntry,
|
|
36
|
+
ConnectedMultiselectControlRendererEntry,
|
|
37
|
+
EnumControlRendererEntry,
|
|
38
|
+
ConnectedSelectControlRendererEntry,
|
|
39
|
+
DateControlRendererEntry,
|
|
40
|
+
];
|
|
41
|
+
/**
|
|
42
|
+
* Foundation form component for automatically generated forms based on json schema
|
|
43
|
+
* obtained from the api, supplied initial data or supplied JSON schema.
|
|
44
|
+
* Allowing customisable form elements using UI schema and set of custom renderers
|
|
45
|
+
* @beta
|
|
46
|
+
*/
|
|
47
|
+
let Form = class Form extends FoundationElement {
|
|
48
|
+
constructor() {
|
|
49
|
+
super(...arguments);
|
|
50
|
+
/**
|
|
51
|
+
* Allows to provide set of renderers used by the form. If not provided it will default to text-field inputs
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
this.renderers = renderers;
|
|
55
|
+
this.errors = [];
|
|
56
|
+
/**
|
|
57
|
+
* Initial data for the form
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
this.data = {};
|
|
61
|
+
}
|
|
62
|
+
resourceNameChanged() {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
if (this.resourceName) {
|
|
66
|
+
const jsonSchemaResponse = yield this.connect.getJSONSchema(this.resourceName);
|
|
67
|
+
this.jsonSchema = (_b = (_a = jsonSchemaResponse === null || jsonSchemaResponse === void 0 ? void 0 : jsonSchemaResponse.INBOUND) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.DETAILS;
|
|
68
|
+
}
|
|
69
|
+
this.removeDataProperties();
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
removeDataProperties() {
|
|
73
|
+
if (!this.jsonSchema || !this.data) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
// removes data provided to the form that isn't part of the schema
|
|
77
|
+
const properties = Object.keys(this.jsonSchema.properties);
|
|
78
|
+
Object.keys(this.data).forEach((key) => {
|
|
79
|
+
if (!properties.includes(key)) {
|
|
80
|
+
delete this.data[key];
|
|
81
|
+
logger.debug('Removing key ', key, 'from provided data because it is not part of the payload');
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
_submit() {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
const payload = Object.assign({}, this.data);
|
|
91
|
+
this.submissionErrors = '';
|
|
92
|
+
this.submitted = true;
|
|
93
|
+
logger.debug({ payload, errors: this.errors });
|
|
94
|
+
this.$emit('submit', { payload, errors: this.errors });
|
|
95
|
+
if (Object.entries(payload).length !== 0 && !this.errors.length && this.resourceName) {
|
|
96
|
+
this.submitting = true;
|
|
97
|
+
const formSubmitReq = yield this.connect.commitEvent(this.resourceName, { DETAILS: payload });
|
|
98
|
+
this.submitting = false;
|
|
99
|
+
if (formSubmitReq.ERROR) {
|
|
100
|
+
this.$emit('submit-failure', { payload, errors: formSubmitReq.ERROR });
|
|
101
|
+
this.submissionErrors = formSubmitReq.ERROR.map((x) => x.CODE + ': ' + x.TEXT).toString();
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.$emit('submit-success', { payload });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
onChange(event) {
|
|
113
|
+
logger.debug({ event });
|
|
114
|
+
if (event.detail) {
|
|
115
|
+
this.data = event.detail.data;
|
|
116
|
+
this.errors = event.detail.errors;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
disconnectedCallback() {
|
|
120
|
+
super.disconnectedCallback();
|
|
121
|
+
this.submitted = false;
|
|
122
|
+
this.submissionErrors = '';
|
|
123
|
+
this.jsonSchema = undefined;
|
|
124
|
+
this.resourceName = undefined;
|
|
125
|
+
this.data = {};
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
__decorate([
|
|
129
|
+
attr
|
|
130
|
+
], Form.prototype, "resourceName", void 0);
|
|
131
|
+
__decorate([
|
|
132
|
+
observable
|
|
133
|
+
], Form.prototype, "uischema", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
observable
|
|
136
|
+
], Form.prototype, "renderers", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
observable
|
|
139
|
+
], Form.prototype, "jsonSchema", void 0);
|
|
140
|
+
__decorate([
|
|
141
|
+
Connect
|
|
142
|
+
], Form.prototype, "connect", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
observable
|
|
145
|
+
], Form.prototype, "data", void 0);
|
|
146
|
+
__decorate([
|
|
147
|
+
observable
|
|
148
|
+
], Form.prototype, "submitting", void 0);
|
|
149
|
+
__decorate([
|
|
150
|
+
observable
|
|
151
|
+
], Form.prototype, "submitted", void 0);
|
|
152
|
+
__decorate([
|
|
153
|
+
observable
|
|
154
|
+
], Form.prototype, "submissionErrors", void 0);
|
|
155
|
+
__decorate([
|
|
156
|
+
attr({ mode: 'boolean' })
|
|
157
|
+
], Form.prototype, "readonly", void 0);
|
|
158
|
+
Form = __decorate([
|
|
159
|
+
customElement({
|
|
160
|
+
name: 'foundation-form',
|
|
161
|
+
template,
|
|
162
|
+
styles,
|
|
163
|
+
})
|
|
164
|
+
], Form);
|
|
165
|
+
export { Form };
|
|
166
|
+
//# sourceMappingURL=form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/form.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { controlCornerRadius, designUnit, strokeWidth } from '@microsoft/fast-components';
|
|
2
|
+
import { css } from '@microsoft/fast-element';
|
|
3
|
+
import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation';
|
|
4
|
+
import { SystemColors } from '@microsoft/fast-web-utilities';
|
|
5
|
+
export const foundationFormStyles = css `
|
|
6
|
+
${display('block')}
|
|
7
|
+
:host {
|
|
8
|
+
border: calc(${strokeWidth} * 1px) solid transparent;
|
|
9
|
+
margin: 0;
|
|
10
|
+
border-radius: calc(${controlCornerRadius} * 1px);
|
|
11
|
+
padding: calc(${designUnit} * 1px);
|
|
12
|
+
min-width: 64px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.form-controls {
|
|
16
|
+
display: grid;
|
|
17
|
+
grid-gap: calc(${designUnit} * 1px);
|
|
18
|
+
grid-column-gap: calc(${designUnit} * 7px);
|
|
19
|
+
grid-template-columns: repeat(2, 1fr);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.form-group {
|
|
23
|
+
display: flex;
|
|
24
|
+
flex-direction: column;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.required::after {
|
|
28
|
+
content: ' *';
|
|
29
|
+
color: #f00;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.label {
|
|
33
|
+
font-size: calc(${designUnit} * 1px + 0.7vmin);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.actions {
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
padding: calc(${designUnit} * 2px);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.error {
|
|
44
|
+
border-bottom: 2px solid red;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.errors {
|
|
48
|
+
color: #f00;
|
|
49
|
+
font-size: 11px;
|
|
50
|
+
width: calc(100% - 70px);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.submit-button {
|
|
54
|
+
width: 70px;
|
|
55
|
+
}
|
|
56
|
+
`.withBehaviors(forcedColorsStylesheetBehavior(css `
|
|
57
|
+
:host {
|
|
58
|
+
background: ${SystemColors.Canvas};
|
|
59
|
+
border-color: ${SystemColors.CanvasText};
|
|
60
|
+
}
|
|
61
|
+
`));
|
|
62
|
+
//# sourceMappingURL=form.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.styles.js","sourceRoot":"","sources":["../../src/form.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;IACnC,OAAO,CAAC,OAAO,CAAC;;mBAED,WAAW;;0BAEJ,mBAAmB;oBACzB,UAAU;;;;;;qBAMT,UAAU;4BACH,UAAU;;;;;;;;;;;;;;;sBAehB,UAAU;;;;;;;oBAOZ,UAAU;;;;;;;;;;;;;;;;CAgB7B,CAAC,aAAa,CACb,8BAA8B,CAAC,GAAG,CAAA;;oBAEhB,YAAY,CAAC,MAAM;sBACjB,YAAY,CAAC,UAAU;;GAE1C,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { html, when } from '@microsoft/fast-element';
|
|
2
|
+
import { JSONForms } from './jsonforms/json-forms';
|
|
3
|
+
import { ControlWrapper } from './jsonforms/renderers/ControlWrapperRenderer';
|
|
4
|
+
import { DispatchRenderer } from './jsonforms/renderers/dispatch-renderer';
|
|
5
|
+
JSONForms;
|
|
6
|
+
ControlWrapper;
|
|
7
|
+
DispatchRenderer;
|
|
8
|
+
export const foundationFormTemplate = html `
|
|
9
|
+
<template>
|
|
10
|
+
<json-forms
|
|
11
|
+
?readonly=${(x) => x.readonly}
|
|
12
|
+
?submitted=${(x) => x.submitted}
|
|
13
|
+
:renderers=${(x) => x.renderers}
|
|
14
|
+
:uischema=${(x) => x.uischema}
|
|
15
|
+
:schema=${(x) => x.jsonSchema}
|
|
16
|
+
:data=${(x) => x.data}
|
|
17
|
+
@data-change=${(x, c) => x.onChange(c.event)}
|
|
18
|
+
></json-forms>
|
|
19
|
+
${when((x) => !x.readonly, html `
|
|
20
|
+
<div class="actions">
|
|
21
|
+
<div class="errors">${(x) => x.submissionErrors}</div>
|
|
22
|
+
<fast-button
|
|
23
|
+
@click="${(x) => x._submit()}"
|
|
24
|
+
?disable=${(x) => !x.submitting}
|
|
25
|
+
class="submit-button"
|
|
26
|
+
appearance="accent"
|
|
27
|
+
>
|
|
28
|
+
Submit
|
|
29
|
+
</fast-button>
|
|
30
|
+
</div>
|
|
31
|
+
`)}
|
|
32
|
+
</template>
|
|
33
|
+
`;
|
|
34
|
+
//# sourceMappingURL=form.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.template.js","sourceRoot":"","sources":["../../src/form.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,SAAS,CAAC;AACV,cAAc,CAAC;AACf,gBAAgB,CAAC;AAEjB,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAM;;;kBAG9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ;mBAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;mBAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;kBACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ;gBACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;cACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;qBACN,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAoB,CAAC;;MAE3D,IAAI,CACJ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAClB,IAAI,CAAM;;gCAEgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB;;sBAEnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;uBACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU;;;;;;;OAOpC,CACF;;CAEJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.federated.js","sourceRoot":"","sources":["../../src/index.federated.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Actions, configReducer, coreReducer, Generate, i18nReducer, } from '@jsonforms/core';
|
|
3
|
+
import { attr, css, customElement, FASTElement, html, observable, when, } from '@microsoft/fast-element';
|
|
4
|
+
import { genesisErrorTranslator } from '../utils/translation';
|
|
5
|
+
const template = html `
|
|
6
|
+
<template>
|
|
7
|
+
${when((x) => x.jsonforms && x.dispatch && x.props, html `
|
|
8
|
+
<dispatch-renderer
|
|
9
|
+
:jsonforms=${(x) => x.jsonforms}
|
|
10
|
+
:dispatch=${(x) => x.dispatch}
|
|
11
|
+
:props=${(x) => x.props}
|
|
12
|
+
?submitted=${(x) => x.submitted}
|
|
13
|
+
/>
|
|
14
|
+
`)}
|
|
15
|
+
</template>
|
|
16
|
+
`;
|
|
17
|
+
const styles = css ``;
|
|
18
|
+
const isObject = (elem) => {
|
|
19
|
+
return elem && typeof elem === 'object';
|
|
20
|
+
};
|
|
21
|
+
const errorTranslator = (error, t, uischema) => {
|
|
22
|
+
var _a, _b, _c, _d;
|
|
23
|
+
return ((_d = (_c = (_b = (_a = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _a === void 0 ? void 0 : _a.i18n) === null || _b === void 0 ? void 0 : _b.error) === null || _c === void 0 ? void 0 : _c[error.keyword]) !== null && _d !== void 0 ? _d : genesisErrorTranslator(error, t, uischema));
|
|
24
|
+
};
|
|
25
|
+
let JSONForms = class JSONForms extends FASTElement {
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
28
|
+
this.dispatch = (action) => {
|
|
29
|
+
this.jsonforms = Object.assign(Object.assign({}, this.jsonforms), { core: coreReducer(this.jsonforms.core, action) });
|
|
30
|
+
this.$emit('data-change', {
|
|
31
|
+
data: this.jsonforms.core.data,
|
|
32
|
+
errors: this.jsonforms.core.errors,
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Performs client-side validation by running the validator defined in the UI schema.
|
|
37
|
+
* @param uischema the UI schema
|
|
38
|
+
* @returns ErrorObject[] that will be passed to JsonFormsCore as additionalErrors
|
|
39
|
+
*/
|
|
40
|
+
this.validate = (uischema) => {
|
|
41
|
+
var _a, _b, _c;
|
|
42
|
+
const data = (_b = (_a = this.jsonforms) === null || _a === void 0 ? void 0 : _a.core) === null || _b === void 0 ? void 0 : _b.data;
|
|
43
|
+
if (!data)
|
|
44
|
+
return [];
|
|
45
|
+
const errors = [];
|
|
46
|
+
(_c = uischema === null || uischema === void 0 ? void 0 : uischema.elements) === null || _c === void 0 ? void 0 : _c.forEach((e) => {
|
|
47
|
+
var _a, _b, _c, _d;
|
|
48
|
+
const validator = (_a = e === null || e === void 0 ? void 0 : e.options) === null || _a === void 0 ? void 0 : _a.validateFn;
|
|
49
|
+
if (typeof validator !== 'function')
|
|
50
|
+
return;
|
|
51
|
+
const path = (_c = (_b = e === null || e === void 0 ? void 0 : e.scope) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop();
|
|
52
|
+
const label = e === null || e === void 0 ? void 0 : e.label;
|
|
53
|
+
let newErrors = (_d = validator(data, path, label)) !== null && _d !== void 0 ? _d : [];
|
|
54
|
+
// the validator function is supposed to return an array of errors but let's not explode if it returns a single one
|
|
55
|
+
if (!Array.isArray(newErrors)) {
|
|
56
|
+
newErrors = [newErrors];
|
|
57
|
+
}
|
|
58
|
+
errors.push(...newErrors);
|
|
59
|
+
});
|
|
60
|
+
return errors;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
schemaChanged() {
|
|
64
|
+
var _a, _b, _c, _d;
|
|
65
|
+
if (!this.schema) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const uischemaToUse = (_a = this.uischema) !== null && _a !== void 0 ? _a : Generate.uiSchema(this.schema);
|
|
69
|
+
if (!this.uischema) {
|
|
70
|
+
console.log('UI schema not provided. Auto generated schema:', uischemaToUse);
|
|
71
|
+
}
|
|
72
|
+
const additionalErrors = this.validate(uischemaToUse);
|
|
73
|
+
const initCore = () => {
|
|
74
|
+
const initialCore = {
|
|
75
|
+
data: this.data,
|
|
76
|
+
schema: this.schema,
|
|
77
|
+
uischema: uischemaToUse,
|
|
78
|
+
};
|
|
79
|
+
const core = coreReducer(initialCore, Actions.init(this.data, this.schema, uischemaToUse, {
|
|
80
|
+
validationMode: this.validationMode || 'ValidateAndShow',
|
|
81
|
+
ajv: this.ajv,
|
|
82
|
+
additionalErrors,
|
|
83
|
+
}));
|
|
84
|
+
return core;
|
|
85
|
+
};
|
|
86
|
+
this.jsonforms = {
|
|
87
|
+
core: initCore(),
|
|
88
|
+
config: configReducer(undefined, Actions.setConfig(this.config)),
|
|
89
|
+
i18n: i18nReducer(this.i18n, Actions.updateI18n((_b = this.i18n) === null || _b === void 0 ? void 0 : _b.locale, (_c = this.i18n) === null || _c === void 0 ? void 0 : _c.translate, ((_d = this.i18n) === null || _d === void 0 ? void 0 : _d.translateError) || errorTranslator)),
|
|
90
|
+
renderers: this.renderers,
|
|
91
|
+
readonly: this.readonly,
|
|
92
|
+
};
|
|
93
|
+
this.$emit('data-change', {
|
|
94
|
+
data: this.jsonforms.core.data,
|
|
95
|
+
errors: this.jsonforms.core.errors,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
uischemaChanged() {
|
|
99
|
+
this.schemaChanged();
|
|
100
|
+
}
|
|
101
|
+
dataChanged() {
|
|
102
|
+
this.schemaChanged();
|
|
103
|
+
}
|
|
104
|
+
renderersChanged() {
|
|
105
|
+
this.schemaChanged();
|
|
106
|
+
}
|
|
107
|
+
validationModeChanged() {
|
|
108
|
+
this.schemaChanged();
|
|
109
|
+
}
|
|
110
|
+
ajvChanged() {
|
|
111
|
+
this.schemaChanged();
|
|
112
|
+
}
|
|
113
|
+
readonlyChanged() {
|
|
114
|
+
this.schemaChanged();
|
|
115
|
+
}
|
|
116
|
+
configChanged() {
|
|
117
|
+
this.schemaChanged();
|
|
118
|
+
}
|
|
119
|
+
get props() {
|
|
120
|
+
var _a;
|
|
121
|
+
if (!this.schema && !this.uischema) {
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
const uischema = (_a = this.uischema) !== null && _a !== void 0 ? _a : Generate.uiSchema(this.schema);
|
|
125
|
+
return {
|
|
126
|
+
uischema,
|
|
127
|
+
schema: this.schema,
|
|
128
|
+
path: '',
|
|
129
|
+
enabled: true,
|
|
130
|
+
visible: true,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
__decorate([
|
|
135
|
+
attr({ mode: 'boolean' })
|
|
136
|
+
], JSONForms.prototype, "submitted", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
observable
|
|
139
|
+
], JSONForms.prototype, "jsonforms", void 0);
|
|
140
|
+
__decorate([
|
|
141
|
+
observable
|
|
142
|
+
], JSONForms.prototype, "i18n", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
observable
|
|
145
|
+
], JSONForms.prototype, "schema", void 0);
|
|
146
|
+
__decorate([
|
|
147
|
+
observable
|
|
148
|
+
], JSONForms.prototype, "uischema", void 0);
|
|
149
|
+
__decorate([
|
|
150
|
+
observable
|
|
151
|
+
], JSONForms.prototype, "data", void 0);
|
|
152
|
+
__decorate([
|
|
153
|
+
observable
|
|
154
|
+
], JSONForms.prototype, "renderers", void 0);
|
|
155
|
+
__decorate([
|
|
156
|
+
observable
|
|
157
|
+
], JSONForms.prototype, "validationMode", void 0);
|
|
158
|
+
__decorate([
|
|
159
|
+
observable
|
|
160
|
+
], JSONForms.prototype, "ajv", void 0);
|
|
161
|
+
__decorate([
|
|
162
|
+
attr({ mode: 'boolean' })
|
|
163
|
+
], JSONForms.prototype, "readonly", void 0);
|
|
164
|
+
__decorate([
|
|
165
|
+
observable
|
|
166
|
+
], JSONForms.prototype, "config", void 0);
|
|
167
|
+
JSONForms = __decorate([
|
|
168
|
+
customElement({
|
|
169
|
+
name: 'json-forms',
|
|
170
|
+
template: template,
|
|
171
|
+
styles: styles,
|
|
172
|
+
})
|
|
173
|
+
], JSONForms);
|
|
174
|
+
export { JSONForms };
|
|
175
|
+
//# sourceMappingURL=json-forms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-forms.js","sourceRoot":"","sources":["../../../src/jsonforms/json-forms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { html } from '@microsoft/fast-element';
|
|
2
|
+
import { mapStateToControlProps, rankWith } from '@jsonforms/core';
|
|
3
|
+
import { isOneOfBoolean } from '../testers/isOneOfBoolean';
|
|
4
|
+
import { BOOLEAN_CONTROL_RANK } from './RenderersRanks';
|
|
5
|
+
export const BooleanControlRendererTemplate = html `
|
|
6
|
+
<template>
|
|
7
|
+
<control-wrapper
|
|
8
|
+
:control=${(x) => x.control}
|
|
9
|
+
:touched=${(x) => x.touched}
|
|
10
|
+
?submitted=${(x) => x.submitted}
|
|
11
|
+
>
|
|
12
|
+
<zero-checkbox
|
|
13
|
+
:checked=${(x) => x.control.data}
|
|
14
|
+
?disabled=${(x) => !x.control.enabled}
|
|
15
|
+
:autofocus=${(x) => x.control.config.focus}
|
|
16
|
+
:placeholder=${(x) => x.control.config.placeholder}
|
|
17
|
+
@change=${(x, c) => {
|
|
18
|
+
x.control.handleChange(x.control.path, c.event.target.checked);
|
|
19
|
+
x.onBlur();
|
|
20
|
+
}}
|
|
21
|
+
></zero-checkbox>
|
|
22
|
+
</control-wrapper>
|
|
23
|
+
</template>
|
|
24
|
+
`;
|
|
25
|
+
export const BooleanControlEntry = {
|
|
26
|
+
renderer: BooleanControlRendererTemplate,
|
|
27
|
+
tester: rankWith(BOOLEAN_CONTROL_RANK, isOneOfBoolean),
|
|
28
|
+
mapper: mapStateToControlProps,
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=BooleanControlRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BooleanControlRenderer.js","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/BooleanControlRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAkB;;;iBAGnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;iBAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;mBACd,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;;;mBAGlB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;oBACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;qBACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;uBAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;kBACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IACjB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAG,CAAC,CAAC,KAAK,CAAC,MAAc,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC,CAAC,MAAM,EAAE,CAAC;AACb,CAAC;;;;CAIR,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,QAAQ,EAAE,8BAA8B;IACxC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,EAAE,cAAc,CAAC;IACtD,MAAM,EAAE,sBAAsB;CAC/B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { mapStateToControlProps, rankWith } from '@jsonforms/core';
|
|
2
|
+
import { html } from '@microsoft/fast-element';
|
|
3
|
+
import { isOneOfOptionMultiselect } from '../testers/isOneOfOptionMultiselect';
|
|
4
|
+
import { MULTISELECT_CONTROL_RANK } from './RenderersRanks';
|
|
5
|
+
export const ConnectedMultiselectControlRendererTemplate = html `
|
|
6
|
+
<template>
|
|
7
|
+
<control-wrapper
|
|
8
|
+
:control=${(x) => x.control}
|
|
9
|
+
:touched=${(x) => x.touched}
|
|
10
|
+
?submitted=${(x) => x.submitted}
|
|
11
|
+
>
|
|
12
|
+
<zero-multiselect
|
|
13
|
+
style="width: 100%"
|
|
14
|
+
:selectedOptions=${(x) => x.control.data || []}
|
|
15
|
+
@selectionChange=${(x, c) => {
|
|
16
|
+
x.control.handleChange(x.control.path, c.event.detail);
|
|
17
|
+
x.onBlur();
|
|
18
|
+
}}
|
|
19
|
+
>
|
|
20
|
+
<multiselect-datasource
|
|
21
|
+
resourceName=${(x) => { var _a; return (_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.allOptionsResourceName; }}
|
|
22
|
+
value-field=${(x) => { var _a; return (_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.valueField; }}
|
|
23
|
+
label-field=${(x) => { var _a; return (_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.labelField; }}
|
|
24
|
+
></multiselect-datasource>
|
|
25
|
+
</zero-multiselect>
|
|
26
|
+
</control-wrapper>
|
|
27
|
+
</template>
|
|
28
|
+
`;
|
|
29
|
+
export const ConnectedMultiselectControlRendererEntry = {
|
|
30
|
+
renderer: ConnectedMultiselectControlRendererTemplate,
|
|
31
|
+
tester: rankWith(MULTISELECT_CONTROL_RANK, isOneOfOptionMultiselect),
|
|
32
|
+
mapper: mapStateToControlProps,
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=ConnectedMultiselectControlRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectedMultiselectControlRenderer.js","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/ConnectedMultiselectControlRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,CAAC,MAAM,2CAA2C,GAAG,IAAI,CAAkB;;;iBAGhE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;iBAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;mBACd,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;;;;2BAIV,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE;2BAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IAC1B,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAG,CAAC,CAAC,KAAa,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC,CAAC,MAAM,EAAE,CAAC;AACb,CAAC;;;yBAGgB,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,sBAAsB,CAAA,EAAA;wBAC1D,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,UAAU,CAAA,EAAA;wBAC7C,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,UAAU,CAAA,EAAA;;;;;CAKpE,CAAC;AAEF,MAAM,CAAC,MAAM,wCAAwC,GAAkB;IACrE,QAAQ,EAAE,2CAA2C;IACrD,MAAM,EAAE,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IACpE,MAAM,EAAE,sBAAsB;CAC/B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { mapStateToControlProps, or, rankWith } from '@jsonforms/core';
|
|
2
|
+
import { html } from '@microsoft/fast-element';
|
|
3
|
+
import { optionIs } from '../testers/optionIs';
|
|
4
|
+
import { SELECT_CONTROL_RANK } from './RenderersRanks';
|
|
5
|
+
export const ConnectedSelectControlRendererTemplate = html `
|
|
6
|
+
<template>
|
|
7
|
+
<control-wrapper
|
|
8
|
+
:control=${(x) => x.control}
|
|
9
|
+
:touched=${(x) => x.touched}
|
|
10
|
+
?submitted=${(x) => x.submitted}
|
|
11
|
+
>
|
|
12
|
+
<zero-combobox
|
|
13
|
+
style="width: 100%"
|
|
14
|
+
placeholder=${(x) => x.control.label}
|
|
15
|
+
?disabled=${(x) => !x.control.enabled}
|
|
16
|
+
:value=${(x) => x.control.data || ''}
|
|
17
|
+
@value-change=${(x, c) => {
|
|
18
|
+
var _a;
|
|
19
|
+
const value = (_a = c.event.detail) === null || _a === void 0 ? void 0 : _a.value;
|
|
20
|
+
x.control.handleChange(x.control.path, value);
|
|
21
|
+
x.onBlur();
|
|
22
|
+
}}
|
|
23
|
+
>
|
|
24
|
+
<options-datasource
|
|
25
|
+
resourceName=${(x) => { var _a; return (_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.allOptionsResourceName; }}
|
|
26
|
+
value-field=${(x) => { var _a; return (_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.valueField; }}
|
|
27
|
+
label-field=${(x) => { var _a; return (_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.labelField; }}
|
|
28
|
+
:data=${(x) => { var _a; return (_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.data; }}
|
|
29
|
+
:initialSelectedValue=${(x) => x.control.data}
|
|
30
|
+
></options-datasource>
|
|
31
|
+
</zero-combobox>
|
|
32
|
+
</control-wrapper>
|
|
33
|
+
</template>
|
|
34
|
+
`;
|
|
35
|
+
export const ConnectedSelectControlRendererEntry = {
|
|
36
|
+
renderer: ConnectedSelectControlRendererTemplate,
|
|
37
|
+
tester: rankWith(SELECT_CONTROL_RANK, or(optionIs('allOptionsResourceName'), optionIs('data'))),
|
|
38
|
+
mapper: mapStateToControlProps,
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=ConnectedSelectControlRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectedSelectControlRenderer.js","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/ConnectedSelectControlRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAkB;;;iBAG3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;iBAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;mBACd,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;;;;sBAIf,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;oBACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;iBAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE;wBACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;IACvB,MAAM,KAAK,GAAG,MAAC,CAAC,CAAC,KAAa,CAAC,MAAM,0CAAE,KAAK,CAAC;IAC7C,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,MAAM,EAAE,CAAC;AACb,CAAC;;;yBAGgB,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,sBAAsB,CAAA,EAAA;wBAC1D,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,UAAU,CAAA,EAAA;wBAC7C,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,UAAU,CAAA,EAAA;kBACnD,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAA,EAAA;kCACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;;;;;CAKtD,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAQ;IACtD,QAAQ,EAAE,sCAAsC;IAChD,MAAM,EAAE,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/F,MAAM,EAAE,sBAAsB;CAC/B,CAAC"}
|