@gravitee/ui-particles-angular 12.12.0 → 12.13.0-conditional-json-schema-3a503fd
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/esm2022/lib/gio-form-json-schema/gio-form-json-schema.component.mjs +12 -8
- package/esm2022/lib/gio-form-json-schema/gio-formly-json-schema.service.mjs +92 -11
- package/esm2022/lib/gio-form-json-schema/model/GioJsonSchema.mjs +1 -1
- package/esm2022/lib/gio-form-json-schema/model/GioJsonSchemaContext.mjs +2 -0
- package/esm2022/lib/gio-form-json-schema/type-component/array-type.component.mjs +5 -5
- package/esm2022/lib/gio-form-json-schema/type-component/code-editor-type.component.mjs +2 -12
- package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +1 -1
- package/esm2022/lib/public-api.mjs +2 -1
- package/fesm2022/gravitee-ui-particles-angular.mjs +106 -31
- package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
- package/lib/gio-form-json-schema/gio-form-json-schema.component.d.ts +4 -2
- package/lib/gio-form-json-schema/gio-formly-json-schema.service.d.ts +4 -2
- package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +7 -2
- package/lib/gio-form-json-schema/model/GioJsonSchemaContext.d.ts +1 -0
- package/lib/gio-form-json-schema/type-component/code-editor-type.component.d.ts +1 -3
- package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +3 -1
- package/lib/public-api.d.ts +1 -0
- package/package.json +1 -1
|
@@ -42,6 +42,7 @@ export * from './gio-mat-config';
|
|
|
42
42
|
export * from './gio-form-json-schema/gio-form-json-schema.component';
|
|
43
43
|
export * from './gio-form-json-schema/gio-form-json-schema.module';
|
|
44
44
|
export * from './gio-form-json-schema/model/GioJsonSchema';
|
|
45
|
+
export * from './gio-form-json-schema/model/GioJsonSchemaContext';
|
|
45
46
|
export * from './gio-form-slide-toggle/gio-form-slide-toggle.component';
|
|
46
47
|
export * from './gio-form-slide-toggle/gio-form-slide-toggle.module';
|
|
47
48
|
export * from './gio-form-slide-toggle/gio-form-label.directive';
|
|
@@ -78,4 +79,4 @@ export * from './gio-form-cron/gio-form-cron.harness';
|
|
|
78
79
|
export * from './gio-form-selection-inline/public-api';
|
|
79
80
|
export * from './oem-theme/public-api';
|
|
80
81
|
export * from './gio-card-empty-state';
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNIOztHQUVHO0FBQ0gsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsbURBQW1ELENBQUM7QUFFbEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLGlEQUFpRCxDQUFDO0FBRWhFLGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYywwRUFBMEUsQ0FBQztBQUN6RixjQUFjLDJFQUEyRSxDQUFDO0FBRTFGLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUU1RCxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyw4RUFBOEUsQ0FBQztBQUM3RixjQUFjLG9FQUFvRSxDQUFDO0FBRW5GLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0NBQStDLENBQUM7QUFFOUQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxzREFBc0QsQ0FBQztBQUVyRSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHFGQUFxRixDQUFDO0FBQ3BHLGNBQWMsbUZBQW1GLENBQUM7QUFFbEcsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2VcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9naW8tc2F2ZS1iYXIvZ2lvLXNhdmUtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1zYXZlLWJhci9naW8tc2F2ZS1iYXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLXNhdmUtYmFyL2dpby1zYXZlLWJhci5oYXJuZXNzJztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS10YWdzLWlucHV0L2dpby1mb3JtLXRhZ3MtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWZvcm0tdGFncy1pbnB1dC9naW8tZm9ybS10YWdzLWlucHV0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1mb3JtLXRhZ3MtaW5wdXQvZ2lvLWZvcm0tdGFncy1pbnB1dC5oYXJuZXNzJztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tYmFubmVyL2dpby1iYW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWJhbm5lci9naW8tYmFubmVyLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWNvbmZpcm0tZGlhbG9nL2dpby1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tY29uZmlybS1kaWFsb2cvZ2lvLWNvbmZpcm0tZGlhbG9nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1jb25maXJtLWRpYWxvZy9naW8tY29uZmlybS1kaWFsb2cuaGFybmVzcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWNvbmZpcm0tYW5kLXZhbGlkYXRlLWRpYWxvZy9naW8tY29uZmlybS1hbmQtdmFsaWRhdGUtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1jb25maXJtLWFuZC12YWxpZGF0ZS1kaWFsb2cvZ2lvLWNvbmZpcm0tYW5kLXZhbGlkYXRlLWRpYWxvZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tY29uZmlybS1hbmQtdmFsaWRhdGUtZGlhbG9nL2dpby1jb25maXJtLWFuZC12YWxpZGF0ZS1kaWFsb2cuaGFybmVzcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWljb25zL2dpby1pY29ucy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dpby1mb3JtLWhlYWRlcnMvZ2lvLWZvcm0taGVhZGVycy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1oZWFkZXJzL2dpby1mb3JtLWhlYWRlcnMtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWZvcm0taGVhZGVycy9naW8tZm9ybS1oZWFkZXJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1mb3JtLWhlYWRlcnMvZ2lvLWZvcm0taGVhZGVycy5oYXJuZXNzJztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1maWxlLXBpY2tlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWF2YXRhcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWJyZWFkY3J1bWInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dpby1tYXQtY29uZmlnJztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1qc29uLXNjaGVtYS9naW8tZm9ybS1qc29uLXNjaGVtYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1qc29uLXNjaGVtYS9naW8tZm9ybS1qc29uLXNjaGVtYS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1qc29uLXNjaGVtYS9tb2RlbC9HaW9Kc29uU2NoZW1hJztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWZvcm0tanNvbi1zY2hlbWEvbW9kZWwvR2lvSnNvblNjaGVtYUNvbnRleHQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dpby1mb3JtLXNsaWRlLXRvZ2dsZS9naW8tZm9ybS1zbGlkZS10b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWZvcm0tc2xpZGUtdG9nZ2xlL2dpby1mb3JtLXNsaWRlLXRvZ2dsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1zbGlkZS10b2dnbGUvZ2lvLWZvcm0tbGFiZWwuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1mb2N1cy1maXJzdC1pbnZhbGlkL2dpby1mb3JtLWZvY3VzLWZpcnN0LWludmFsaWQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWZvcm0tZm9jdXMtZmlyc3QtaW52YWxpZC9naW8tZm9ybS1mb2N1cy1maXJzdC1pbnZhbGlkLWlnbm9yZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1mb2N1cy1maXJzdC1pbnZhbGlkL2dpby1mb3JtLWZvY3VzLWZpcnN0LWludmFsaWQubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tbW9uYWNvLWVkaXRvci9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tbW9uYWNvLWVkaXRvci9naW8tbW9uYWNvLWVkaXRvci1mb3JtLWZpZWxkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1tb25hY28tZWRpdG9yL2dpby1tb25hY28tZWRpdG9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1tb25hY28tZWRpdG9yL2dpby1tb25hY28tZWRpdG9yLmhhcm5lc3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dpby1sb2FkZXIvZ2lvLWxvYWRlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tbG9hZGVyL2dpby1sb2FkZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tcHJpc21qcy9naW8tcHJpc21qcy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tZGlhbG9nL2dpby1kaWFsb2cuY29uc3RhbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dpby1jbGlwYm9hcmQvZ2lvLWNsaXBib2FyZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tY2xpcGJvYXJkL2dpby1jbGlwYm9hcmQtY29weS1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1jbGlwYm9hcmQvZ2lvLWNsaXBib2FyZC1jb3B5LXdyYXBwZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tcGlwZS9naW8ucGlwZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tcGlwZS9zYWZlLnBpcGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dpby1saWNlbnNlL2dpby1saWNlbnNlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1saWNlbnNlL2dpby1saWNlbnNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tbGljZW5zZS9naW8tbGljZW5zZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tbGljZW5zZS9naW8tbGljZW5zZS1kaWFsb2cvZ2lvLWxpY2Vuc2UtZGlhbG9nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1saWNlbnNlL2dpby1saWNlbnNlLWRpYWxvZy9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2UudGVzdGluZy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dpby1saWNlbnNlLWV4cGlyYXRpb24tbm90aWZpY2F0aW9uL2dpby1saWNlbnNlLWV4cGlyYXRpb24tbm90aWZpY2F0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1saWNlbnNlLWV4cGlyYXRpb24tbm90aWZpY2F0aW9uL2dpby1saWNlbnNlLWV4cGlyYXRpb24tbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1saWNlbnNlLWV4cGlyYXRpb24tbm90aWZpY2F0aW9uL2dpby1saWNlbnNlLWV4cGlyYXRpb24tbm90aWZpY2F0aW9uLmhhcm5lc3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dpby1mb3JtLWNyb24vZ2lvLWZvcm0tY3Jvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1jcm9uL2dpby1mb3JtLWNyb24tbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWZvcm0tY3Jvbi9naW8tZm9ybS1jcm9uLWhpbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2lvLWZvcm0tY3Jvbi9naW8tZm9ybS1jcm9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpby1mb3JtLWNyb24vZ2lvLWZvcm0tY3Jvbi5oYXJuZXNzJztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tZm9ybS1zZWxlY3Rpb24taW5saW5lL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL29lbS10aGVtZS9wdWJsaWMtYXBpJztcblxuZXhwb3J0ICogZnJvbSAnLi9naW8tY2FyZC1lbXB0eS1zdGF0ZSc7XG4iXX0=
|
|
@@ -12,7 +12,7 @@ import { ComponentHarness, HarnessPredicate, parallel, TestKey } from '@angular/
|
|
|
12
12
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
13
13
|
import * as i6$1 from '@angular/material/form-field';
|
|
14
14
|
import { MatFormFieldControl, MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
15
|
-
import { isEmpty, isString, isObject, toLower, dropRight, isNil, isArray, remove, isEqual, cloneDeep, uniqueId, range,
|
|
15
|
+
import { isEmpty, isString, isObject, toLower, dropRight, isNil, isArray, remove, castArray, get, isEqual, cloneDeep, set, uniqueId, range, has, some, filter as filter$1, intersection } from 'lodash';
|
|
16
16
|
import { tap, startWith, switchMap, map, distinctUntilChanged, takeUntil, filter, take, delay, debounceTime, shareReplay, catchError, debounce } from 'rxjs/operators';
|
|
17
17
|
import * as i1$1 from '@angular/forms';
|
|
18
18
|
import { FormsModule, UntypedFormArray, UntypedFormGroup, UntypedFormControl, Validators, NG_VALUE_ACCESSOR, NG_VALIDATORS, ReactiveFormsModule, NgControl, FormControl } from '@angular/forms';
|
|
@@ -2287,20 +2287,46 @@ class GioFormlyJsonSchemaService {
|
|
|
2287
2287
|
this.formlyJsonschema = formlyJsonschema;
|
|
2288
2288
|
this.builder = builder;
|
|
2289
2289
|
}
|
|
2290
|
-
toFormlyFieldConfig(jsonSchema) {
|
|
2290
|
+
toFormlyFieldConfig(jsonSchema, context) {
|
|
2291
2291
|
return this.formlyJsonschema.toFieldConfig(jsonSchema, {
|
|
2292
2292
|
map: (mappedField, mapSource) => {
|
|
2293
|
+
mappedField = this.displayIfMap(mappedField, mapSource, context);
|
|
2293
2294
|
mappedField = this.uiTypeMap(mappedField, mapSource);
|
|
2294
2295
|
mappedField = this.formatMap(mappedField, mapSource);
|
|
2295
2296
|
mappedField = this.bannerMap(mappedField, mapSource);
|
|
2296
2297
|
mappedField = this.toggleMap(mappedField, mapSource);
|
|
2297
|
-
mappedField = this.
|
|
2298
|
+
mappedField = this.disableIfMap(mappedField, mapSource, context);
|
|
2298
2299
|
mappedField = this.enumLabelMap(mappedField, mapSource);
|
|
2299
2300
|
mappedField = this.deprecatedMap(mappedField, mapSource);
|
|
2300
2301
|
return mappedField;
|
|
2301
2302
|
},
|
|
2302
2303
|
});
|
|
2303
2304
|
}
|
|
2305
|
+
displayIfMap(mappedField, mapSource, context) {
|
|
2306
|
+
const displayIf = getGioIf(mapSource.gioConfig?.displayIf);
|
|
2307
|
+
if (displayIf) {
|
|
2308
|
+
mappedField.expressions = {
|
|
2309
|
+
...mappedField.expressions,
|
|
2310
|
+
hide: field => {
|
|
2311
|
+
let parentField = field;
|
|
2312
|
+
while (parentField.parent) {
|
|
2313
|
+
parentField = parentField.parent;
|
|
2314
|
+
}
|
|
2315
|
+
try {
|
|
2316
|
+
return !displayIf({
|
|
2317
|
+
value: parentField.model,
|
|
2318
|
+
context,
|
|
2319
|
+
});
|
|
2320
|
+
}
|
|
2321
|
+
catch (e) {
|
|
2322
|
+
// Ignore the error and display the field
|
|
2323
|
+
return false;
|
|
2324
|
+
}
|
|
2325
|
+
},
|
|
2326
|
+
};
|
|
2327
|
+
}
|
|
2328
|
+
return mappedField;
|
|
2329
|
+
}
|
|
2304
2330
|
uiTypeMap(mappedField, mapSource) {
|
|
2305
2331
|
if (mapSource.gioConfig?.uiType) {
|
|
2306
2332
|
// Clean the field to avoid conflict and init simple one with given type
|
|
@@ -2357,20 +2383,58 @@ class GioFormlyJsonSchemaService {
|
|
|
2357
2383
|
}
|
|
2358
2384
|
return mappedField;
|
|
2359
2385
|
}
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2386
|
+
disableIfMap(mappedField, mapSource, context) {
|
|
2387
|
+
const disableIf = getGioIf(mapSource.gioConfig?.disableIf);
|
|
2388
|
+
if (disableIf) {
|
|
2389
|
+
mappedField.expressions = {
|
|
2390
|
+
...mappedField.expressions,
|
|
2391
|
+
'props.disabled': field => {
|
|
2392
|
+
const isReadOnly = field.props?.readonly === true;
|
|
2393
|
+
const isParentDisabled = field.options?.formState?.parentDisabled === true;
|
|
2394
|
+
if (isParentDisabled || isReadOnly) {
|
|
2395
|
+
// Useful when field is readonly to avoid to enable it
|
|
2396
|
+
field.formControl?.disable({ emitEvent: false });
|
|
2397
|
+
return true;
|
|
2398
|
+
}
|
|
2399
|
+
let parentField = field;
|
|
2400
|
+
while (parentField.parent) {
|
|
2401
|
+
parentField = parentField.parent;
|
|
2402
|
+
}
|
|
2403
|
+
try {
|
|
2404
|
+
const isDisabled = disableIf({
|
|
2405
|
+
value: parentField.model,
|
|
2406
|
+
context,
|
|
2407
|
+
});
|
|
2408
|
+
// Useful when full form is re-enabled to sync the fromControl enable/disable state
|
|
2409
|
+
isDisabled ? field.formControl?.disable({ emitEvent: false }) : field.formControl?.enable({ emitEvent: false });
|
|
2410
|
+
return isDisabled;
|
|
2411
|
+
}
|
|
2412
|
+
catch (e) {
|
|
2413
|
+
// Ignore the error and keep default value
|
|
2414
|
+
return field.props?.disabled;
|
|
2415
|
+
}
|
|
2416
|
+
},
|
|
2417
|
+
};
|
|
2418
|
+
}
|
|
2365
2419
|
return mappedField;
|
|
2366
2420
|
}
|
|
2367
2421
|
enumLabelMap(mappedField, mapSource) {
|
|
2368
|
-
if (
|
|
2422
|
+
if (!isArray(mappedField.props?.options)) {
|
|
2423
|
+
return mappedField;
|
|
2424
|
+
}
|
|
2425
|
+
const enumLabelMapInObject = mapSource.enum && !isEmpty(mapSource.enum) && mapSource.gioConfig?.enumLabelMap ? mapSource.gioConfig?.enumLabelMap : null;
|
|
2426
|
+
const enumLabelMapInArrayItem = mapSource.items &&
|
|
2427
|
+
mapSource.type === 'array' &&
|
|
2428
|
+
!isEmpty(mapSource.items.enum) &&
|
|
2429
|
+
mapSource.items?.gioConfig?.enumLabelMap
|
|
2430
|
+
? mapSource.items?.gioConfig?.enumLabelMap
|
|
2431
|
+
: null;
|
|
2432
|
+
if (enumLabelMapInObject || enumLabelMapInArrayItem) {
|
|
2369
2433
|
mappedField.props = {
|
|
2370
2434
|
...mappedField.props,
|
|
2371
2435
|
options: mappedField.props?.options?.map(({ value }) => {
|
|
2372
2436
|
return {
|
|
2373
|
-
label:
|
|
2437
|
+
label: (enumLabelMapInObject || enumLabelMapInArrayItem)?.[value] ?? value,
|
|
2374
2438
|
value: value,
|
|
2375
2439
|
};
|
|
2376
2440
|
}),
|
|
@@ -2396,6 +2460,23 @@ const getBannerProperties = (banner) => {
|
|
|
2396
2460
|
bannerTitle: 'title' in banner ? banner.title : undefined,
|
|
2397
2461
|
};
|
|
2398
2462
|
};
|
|
2463
|
+
const getGioIf = (gioIf) => {
|
|
2464
|
+
const $eq = gioIf?.$eq;
|
|
2465
|
+
if (isNil($eq) || !isObject($eq)) {
|
|
2466
|
+
return undefined;
|
|
2467
|
+
}
|
|
2468
|
+
return objectToCheck => {
|
|
2469
|
+
if (isEmpty(objectToCheck)) {
|
|
2470
|
+
return false;
|
|
2471
|
+
}
|
|
2472
|
+
return Object.entries($eq)
|
|
2473
|
+
.map(([k, v]) => ({ path: k, eqValue: castArray(v) }))
|
|
2474
|
+
.every(({ path, eqValue }) => {
|
|
2475
|
+
const value = get(objectToCheck, path);
|
|
2476
|
+
return eqValue.includes(value);
|
|
2477
|
+
});
|
|
2478
|
+
};
|
|
2479
|
+
};
|
|
2399
2480
|
|
|
2400
2481
|
/*
|
|
2401
2482
|
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
@@ -2417,11 +2498,6 @@ class GioFormJsonSchemaComponent {
|
|
|
2417
2498
|
const properties = ['properties', 'oneOf', 'anyOf', 'allOf', '$ref', 'items'];
|
|
2418
2499
|
return isObject(jsonSchema) && properties.some(property => !isEmpty(jsonSchema[property]));
|
|
2419
2500
|
}
|
|
2420
|
-
set jsonSchema(jsonSchema) {
|
|
2421
|
-
if (isObject(jsonSchema)) {
|
|
2422
|
-
this.fields = [this.gioFormlyJsonSchema.toFormlyFieldConfig(jsonSchema)];
|
|
2423
|
-
}
|
|
2424
|
-
}
|
|
2425
2501
|
constructor(gioFormlyJsonSchema, elRef, fm, changeDetectorRef, ngControl) {
|
|
2426
2502
|
this.gioFormlyJsonSchema = gioFormlyJsonSchema;
|
|
2427
2503
|
this.elRef = elRef;
|
|
@@ -2465,6 +2541,11 @@ class GioFormJsonSchemaComponent {
|
|
|
2465
2541
|
this.isReady = false;
|
|
2466
2542
|
this.ready.next(false);
|
|
2467
2543
|
}
|
|
2544
|
+
if (changes.jsonSchema || changes.context) {
|
|
2545
|
+
if (!isEmpty(this.jsonSchema)) {
|
|
2546
|
+
this.fields = [this.gioFormlyJsonSchema.toFormlyFieldConfig(this.jsonSchema, this.context)];
|
|
2547
|
+
}
|
|
2548
|
+
}
|
|
2468
2549
|
}
|
|
2469
2550
|
ngOnInit() {
|
|
2470
2551
|
// When the parent form is touched, mark all the sub formGroup as touched if not already touched
|
|
@@ -2561,6 +2642,7 @@ class GioFormJsonSchemaComponent {
|
|
|
2561
2642
|
return;
|
|
2562
2643
|
}
|
|
2563
2644
|
this.isDisabled = isDisabled;
|
|
2645
|
+
set(this.options, 'formState.parentDisabled', isDisabled);
|
|
2564
2646
|
setTimeout(() => {
|
|
2565
2647
|
isDisabled ? this.formGroup.disable({ emitEvent: false }) : this.formGroup.enable({ emitEvent: false });
|
|
2566
2648
|
this.changeDetectorRef.markForCheck();
|
|
@@ -2570,7 +2652,7 @@ class GioFormJsonSchemaComponent {
|
|
|
2570
2652
|
this.stateChanges$.next();
|
|
2571
2653
|
}
|
|
2572
2654
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormJsonSchemaComponent, deps: [{ token: GioFormlyJsonSchemaService }, { token: i0.ElementRef }, { token: i1$2.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: i1$1.NgControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2573
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: { jsonSchema: "jsonSchema", options: "options" }, outputs: { ready: "ready" }, host: { properties: { "attr.gioFormFocusInvalidIgnore": "this.gioFormFocusInvalidIgnore" } }, usesOnChanges: true, ngImport: i0, template: `<formly-form *ngIf="formGroup" [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>`, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2655
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormJsonSchemaComponent, selector: "gio-form-json-schema", inputs: { jsonSchema: "jsonSchema", context: "context", options: "options" }, outputs: { ready: "ready" }, host: { properties: { "attr.gioFormFocusInvalidIgnore": "this.gioFormFocusInvalidIgnore" } }, usesOnChanges: true, ngImport: i0, template: `<formly-form *ngIf="formGroup" [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>`, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2574
2656
|
}
|
|
2575
2657
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormJsonSchemaComponent, decorators: [{
|
|
2576
2658
|
type: Component,
|
|
@@ -2583,6 +2665,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
2583
2665
|
type: HostBinding,
|
|
2584
2666
|
args: [`attr.${GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR}`]
|
|
2585
2667
|
}], jsonSchema: [{
|
|
2668
|
+
type: Input,
|
|
2669
|
+
args: [{ required: true }]
|
|
2670
|
+
}], context: [{
|
|
2586
2671
|
type: Input
|
|
2587
2672
|
}], options: [{
|
|
2588
2673
|
type: Input
|
|
@@ -4224,14 +4309,14 @@ class GioFjsArrayTypeComponent extends FieldArrayType {
|
|
|
4224
4309
|
<div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
|
|
4225
4310
|
<formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
|
|
4226
4311
|
<div class="wrapper__rows__row__remove">
|
|
4227
|
-
<button type="button" mat-icon-button aria-label="Remove" [disabled]="this.
|
|
4312
|
+
<button type="button" mat-icon-button aria-label="Remove" [disabled]="this.formControl?.disabled ?? false" (click)="remove(i)">
|
|
4228
4313
|
<mat-icon svgIcon="gio:cancel"></mat-icon>
|
|
4229
4314
|
</button>
|
|
4230
4315
|
</div>
|
|
4231
4316
|
</div>
|
|
4232
4317
|
|
|
4233
4318
|
<div>
|
|
4234
|
-
<button type="button" mat-stroked-button aria-label="Add" [disabled]="this.
|
|
4319
|
+
<button type="button" mat-stroked-button aria-label="Add" [disabled]="this.formControl?.disabled ?? false" (click)="add()">
|
|
4235
4320
|
<mat-icon svgIcon="gio:plus"></mat-icon> Add
|
|
4236
4321
|
</button>
|
|
4237
4322
|
</div>
|
|
@@ -4263,14 +4348,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
4263
4348
|
<div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
|
|
4264
4349
|
<formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
|
|
4265
4350
|
<div class="wrapper__rows__row__remove">
|
|
4266
|
-
<button type="button" mat-icon-button aria-label="Remove" [disabled]="this.
|
|
4351
|
+
<button type="button" mat-icon-button aria-label="Remove" [disabled]="this.formControl?.disabled ?? false" (click)="remove(i)">
|
|
4267
4352
|
<mat-icon svgIcon="gio:cancel"></mat-icon>
|
|
4268
4353
|
</button>
|
|
4269
4354
|
</div>
|
|
4270
4355
|
</div>
|
|
4271
4356
|
|
|
4272
4357
|
<div>
|
|
4273
|
-
<button type="button" mat-stroked-button aria-label="Add" [disabled]="this.
|
|
4358
|
+
<button type="button" mat-stroked-button aria-label="Add" [disabled]="this.formControl?.disabled ?? false" (click)="add()">
|
|
4274
4359
|
<mat-icon svgIcon="gio:plus"></mat-icon> Add
|
|
4275
4360
|
</button>
|
|
4276
4361
|
</div>
|
|
@@ -4625,17 +4710,7 @@ function passwordEyeExtension(field) {
|
|
|
4625
4710
|
*/
|
|
4626
4711
|
class GioFjsCodeEditorTypeComponent extends FieldType$1 {
|
|
4627
4712
|
ngOnInit() {
|
|
4628
|
-
|
|
4629
|
-
switch (language) {
|
|
4630
|
-
case 'json':
|
|
4631
|
-
this.languageConfig = {
|
|
4632
|
-
language: 'json',
|
|
4633
|
-
schemas: [],
|
|
4634
|
-
};
|
|
4635
|
-
break;
|
|
4636
|
-
default:
|
|
4637
|
-
this.languageConfig = undefined;
|
|
4638
|
-
}
|
|
4713
|
+
this.languageConfig = this.props.monacoEditorConfig;
|
|
4639
4714
|
}
|
|
4640
4715
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFjsCodeEditorTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
4641
4716
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFjsCodeEditorTypeComponent, selector: "gio-fjs-code-editor-type", usesInheritance: true, ngImport: i0, template: `
|