@gravitee/ui-particles-angular 12.12.0 → 12.13.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/esm2022/lib/gio-form-json-schema/gio-form-json-schema.component.mjs +10 -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 +104 -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,9 @@ class GioFormJsonSchemaComponent {
|
|
|
2465
2541
|
this.isReady = false;
|
|
2466
2542
|
this.ready.next(false);
|
|
2467
2543
|
}
|
|
2544
|
+
if (changes.jsonSchema || changes.context) {
|
|
2545
|
+
this.fields = [this.gioFormlyJsonSchema.toFormlyFieldConfig(this.jsonSchema, this.context)];
|
|
2546
|
+
}
|
|
2468
2547
|
}
|
|
2469
2548
|
ngOnInit() {
|
|
2470
2549
|
// When the parent form is touched, mark all the sub formGroup as touched if not already touched
|
|
@@ -2561,6 +2640,7 @@ class GioFormJsonSchemaComponent {
|
|
|
2561
2640
|
return;
|
|
2562
2641
|
}
|
|
2563
2642
|
this.isDisabled = isDisabled;
|
|
2643
|
+
set(this.options, 'formState.parentDisabled', isDisabled);
|
|
2564
2644
|
setTimeout(() => {
|
|
2565
2645
|
isDisabled ? this.formGroup.disable({ emitEvent: false }) : this.formGroup.enable({ emitEvent: false });
|
|
2566
2646
|
this.changeDetectorRef.markForCheck();
|
|
@@ -2570,7 +2650,7 @@ class GioFormJsonSchemaComponent {
|
|
|
2570
2650
|
this.stateChanges$.next();
|
|
2571
2651
|
}
|
|
2572
2652
|
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 }); }
|
|
2653
|
+
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
2654
|
}
|
|
2575
2655
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormJsonSchemaComponent, decorators: [{
|
|
2576
2656
|
type: Component,
|
|
@@ -2583,6 +2663,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
2583
2663
|
type: HostBinding,
|
|
2584
2664
|
args: [`attr.${GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR}`]
|
|
2585
2665
|
}], jsonSchema: [{
|
|
2666
|
+
type: Input,
|
|
2667
|
+
args: [{ required: true }]
|
|
2668
|
+
}], context: [{
|
|
2586
2669
|
type: Input
|
|
2587
2670
|
}], options: [{
|
|
2588
2671
|
type: Input
|
|
@@ -4224,14 +4307,14 @@ class GioFjsArrayTypeComponent extends FieldArrayType {
|
|
|
4224
4307
|
<div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
|
|
4225
4308
|
<formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
|
|
4226
4309
|
<div class="wrapper__rows__row__remove">
|
|
4227
|
-
<button type="button" mat-icon-button aria-label="Remove" [disabled]="this.
|
|
4310
|
+
<button type="button" mat-icon-button aria-label="Remove" [disabled]="this.formControl?.disabled ?? false" (click)="remove(i)">
|
|
4228
4311
|
<mat-icon svgIcon="gio:cancel"></mat-icon>
|
|
4229
4312
|
</button>
|
|
4230
4313
|
</div>
|
|
4231
4314
|
</div>
|
|
4232
4315
|
|
|
4233
4316
|
<div>
|
|
4234
|
-
<button type="button" mat-stroked-button aria-label="Add" [disabled]="this.
|
|
4317
|
+
<button type="button" mat-stroked-button aria-label="Add" [disabled]="this.formControl?.disabled ?? false" (click)="add()">
|
|
4235
4318
|
<mat-icon svgIcon="gio:plus"></mat-icon> Add
|
|
4236
4319
|
</button>
|
|
4237
4320
|
</div>
|
|
@@ -4263,14 +4346,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
4263
4346
|
<div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
|
|
4264
4347
|
<formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
|
|
4265
4348
|
<div class="wrapper__rows__row__remove">
|
|
4266
|
-
<button type="button" mat-icon-button aria-label="Remove" [disabled]="this.
|
|
4349
|
+
<button type="button" mat-icon-button aria-label="Remove" [disabled]="this.formControl?.disabled ?? false" (click)="remove(i)">
|
|
4267
4350
|
<mat-icon svgIcon="gio:cancel"></mat-icon>
|
|
4268
4351
|
</button>
|
|
4269
4352
|
</div>
|
|
4270
4353
|
</div>
|
|
4271
4354
|
|
|
4272
4355
|
<div>
|
|
4273
|
-
<button type="button" mat-stroked-button aria-label="Add" [disabled]="this.
|
|
4356
|
+
<button type="button" mat-stroked-button aria-label="Add" [disabled]="this.formControl?.disabled ?? false" (click)="add()">
|
|
4274
4357
|
<mat-icon svgIcon="gio:plus"></mat-icon> Add
|
|
4275
4358
|
</button>
|
|
4276
4359
|
</div>
|
|
@@ -4625,17 +4708,7 @@ function passwordEyeExtension(field) {
|
|
|
4625
4708
|
*/
|
|
4626
4709
|
class GioFjsCodeEditorTypeComponent extends FieldType$1 {
|
|
4627
4710
|
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
|
-
}
|
|
4711
|
+
this.languageConfig = this.props.monacoEditorConfig;
|
|
4639
4712
|
}
|
|
4640
4713
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFjsCodeEditorTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
4641
4714
|
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: `
|