@yuuvis/client-framework 0.6.5
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/README.md +62 -0
- package/actions/README.md +3 -0
- package/actions/index.d.ts +6 -0
- package/actions/lib/actions/copy-action/copy-action.d.ts +17 -0
- package/actions/lib/actions/cut-action/cut-action.d.ts +17 -0
- package/actions/lib/actions/delete-action/delete/delete.component.d.ts +22 -0
- package/actions/lib/actions/delete-action/delete-action.d.ts +17 -0
- package/actions/lib/actions/download-action/download-action.d.ts +17 -0
- package/actions/lib/actions.icon.d.ts +7 -0
- package/actions/lib/actions.interface.d.ts +86 -0
- package/actions/lib/actions.module.d.ts +8 -0
- package/actions/lib/actions.service.d.ts +38 -0
- package/actions/lib/components/contextmenu/contextmenu.component.d.ts +11 -0
- package/app-bar/README.md +3 -0
- package/app-bar/index.d.ts +1 -0
- package/app-bar/lib/app-bar.component.d.ts +47 -0
- package/clipboard/README.md +3 -0
- package/clipboard/index.d.ts +1 -0
- package/clipboard/lib/clipboard.component.d.ts +16 -0
- package/common/README.md +3 -0
- package/common/index.d.ts +5 -0
- package/common/lib/components/focus-indicator/focus-indicator.component.d.ts +7 -0
- package/common/lib/components/token-input/token-input.component.d.ts +55 -0
- package/common/lib/components/token-input/token-input.interface.d.ts +8 -0
- package/common/lib/directives/busy-overlay.directive.d.ts +25 -0
- package/common/lib/directives/click-double.directive.d.ts +17 -0
- package/common/lib/directives/container-size.directive.d.ts +30 -0
- package/common/lib/directives/drag-select.directive.d.ts +21 -0
- package/common/lib/directives/file-drop-zone/file-drop-zone.directive.d.ts +18 -0
- package/common/lib/directives/file-drop-zone/file-drop-zone.interface.d.ts +5 -0
- package/common/lib/directives/focus-within.directive.d.ts +36 -0
- package/common/lib/directives/index.d.ts +8 -0
- package/common/lib/directives/light-dismiss.directive.d.ts +19 -0
- package/common/lib/directives/longpress.directive.d.ts +13 -0
- package/common/lib/directives/noop-value-accessor.directive.d.ts +10 -0
- package/esm2022/actions/index.mjs +7 -0
- package/esm2022/actions/lib/actions/copy-action/copy-action.mjs +31 -0
- package/esm2022/actions/lib/actions/cut-action/cut-action.mjs +30 -0
- package/esm2022/actions/lib/actions/delete-action/delete/delete.component.mjs +67 -0
- package/esm2022/actions/lib/actions/delete-action/delete-action.mjs +44 -0
- package/esm2022/actions/lib/actions/download-action/download-action.mjs +33 -0
- package/esm2022/actions/lib/actions.icon.mjs +8 -0
- package/esm2022/actions/lib/actions.interface.mjs +19 -0
- package/esm2022/actions/lib/actions.module.mjs +16 -0
- package/esm2022/actions/lib/actions.service.mjs +89 -0
- package/esm2022/actions/lib/components/contextmenu/contextmenu.component.mjs +27 -0
- package/esm2022/actions/yuuvis-client-framework-actions.mjs +5 -0
- package/esm2022/app-bar/index.mjs +2 -0
- package/esm2022/app-bar/lib/app-bar.component.mjs +89 -0
- package/esm2022/app-bar/yuuvis-client-framework-app-bar.mjs +5 -0
- package/esm2022/clipboard/index.mjs +2 -0
- package/esm2022/clipboard/lib/clipboard.component.mjs +48 -0
- package/esm2022/clipboard/yuuvis-client-framework-clipboard.mjs +5 -0
- package/esm2022/common/index.mjs +6 -0
- package/esm2022/common/lib/components/focus-indicator/focus-indicator.component.mjs +41 -0
- package/esm2022/common/lib/components/token-input/token-input.component.mjs +324 -0
- package/esm2022/common/lib/components/token-input/token-input.interface.mjs +2 -0
- package/esm2022/common/lib/directives/busy-overlay.directive.mjs +88 -0
- package/esm2022/common/lib/directives/click-double.directive.mjs +61 -0
- package/esm2022/common/lib/directives/container-size.directive.mjs +56 -0
- package/esm2022/common/lib/directives/drag-select.directive.mjs +114 -0
- package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.directive.mjs +153 -0
- package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.interface.mjs +2 -0
- package/esm2022/common/lib/directives/focus-within.directive.mjs +81 -0
- package/esm2022/common/lib/directives/index.mjs +9 -0
- package/esm2022/common/lib/directives/light-dismiss.directive.mjs +44 -0
- package/esm2022/common/lib/directives/longpress.directive.mjs +36 -0
- package/esm2022/common/lib/directives/noop-value-accessor.directive.mjs +42 -0
- package/esm2022/common/yuuvis-client-framework-common.mjs +5 -0
- package/esm2022/forms/index.mjs +19 -0
- package/esm2022/forms/lib/elements/catalog/catalog.component.mjs +118 -0
- package/esm2022/forms/lib/elements/datetime/datetime.component.mjs +82 -0
- package/esm2022/forms/lib/elements/datetime-range/datetime-range.component.mjs +166 -0
- package/esm2022/forms/lib/elements/number/number.component.mjs +195 -0
- package/esm2022/forms/lib/elements/number-range/number-range.component.mjs +176 -0
- package/esm2022/forms/lib/elements/organization/organization.component.mjs +268 -0
- package/esm2022/forms/lib/elements/string/string.component.mjs +254 -0
- package/esm2022/forms/lib/form-input/form-input.component.mjs +88 -0
- package/esm2022/forms/lib/forms.module.mjs +58 -0
- package/esm2022/forms/yuuvis-client-framework-forms.mjs +5 -0
- package/esm2022/icons/index.mjs +4 -0
- package/esm2022/icons/lib/icon.service.mjs +59 -0
- package/esm2022/icons/lib/icons.mjs +31 -0
- package/esm2022/icons/lib/object-type-icon/object-type-icon.component.mjs +29 -0
- package/esm2022/icons/yuuvis-client-framework-icons.mjs +5 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/lib/yuuvis-client-framework.module.mjs +15 -0
- package/esm2022/list/index.mjs +3 -0
- package/esm2022/list/lib/list-item.directive.mjs +72 -0
- package/esm2022/list/lib/list.component.mjs +133 -0
- package/esm2022/list/yuuvis-client-framework-list.mjs +5 -0
- package/esm2022/metadata-form/index.mjs +4 -0
- package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +31 -0
- package/esm2022/metadata-form/lib/metadata-form-element-registry.service.mjs +99 -0
- package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +126 -0
- package/esm2022/metadata-form/lib/object-metadata-element-template.directive.mjs +52 -0
- package/esm2022/metadata-form/yuuvis-client-framework-metadata-form.mjs +5 -0
- package/esm2022/object-details/index.mjs +7 -0
- package/esm2022/object-details/lib/object-audit/object-audit.component.mjs +195 -0
- package/esm2022/object-details/lib/object-details-shell/object-details-shell.component.mjs +127 -0
- package/esm2022/object-details/lib/object-details.component.mjs +61 -0
- package/esm2022/object-details/lib/object-metadata/form-section-group.pipe.mjs +17 -0
- package/esm2022/object-details/lib/object-metadata/object-metadata.component.mjs +201 -0
- package/esm2022/object-details/lib/object-metadata/object-metadata.interface.mjs +2 -0
- package/esm2022/object-details/yuuvis-client-framework-object-details.mjs +5 -0
- package/esm2022/object-flavor/index.mjs +6 -0
- package/esm2022/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.mjs +25 -0
- package/esm2022/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.mjs +21 -0
- package/esm2022/object-flavor/lib/flavor-chip/flavor-chip.component.mjs +35 -0
- package/esm2022/object-flavor/lib/object-flavor/object-flavor.component.mjs +93 -0
- package/esm2022/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.mjs +43 -0
- package/esm2022/object-flavor/yuuvis-client-framework-object-flavor.mjs +5 -0
- package/esm2022/object-form/index.mjs +5 -0
- package/esm2022/object-form/lib/form-scripting.api.interface.mjs +2 -0
- package/esm2022/object-form/lib/form-scripting.service.mjs +160 -0
- package/esm2022/object-form/lib/object-form-element/object-form-element.component.mjs +87 -0
- package/esm2022/object-form/lib/object-form-extension.interface.mjs +36 -0
- package/esm2022/object-form/lib/object-form-group/object-form-group.component.mjs +85 -0
- package/esm2022/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.mjs +23 -0
- package/esm2022/object-form/lib/object-form-script/object-form-script.service.mjs +115 -0
- package/esm2022/object-form/lib/object-form-script/object-form-scripting-scope.mjs +251 -0
- package/esm2022/object-form/lib/object-form-translate.service.mjs +73 -0
- package/esm2022/object-form/lib/object-form.component.mjs +627 -0
- package/esm2022/object-form/lib/object-form.interface.mjs +9 -0
- package/esm2022/object-form/lib/object-form.model.mjs +20 -0
- package/esm2022/object-form/lib/object-form.service.mjs +127 -0
- package/esm2022/object-form/lib/object-form.utils.mjs +55 -0
- package/esm2022/object-form/lib/object-form.validation.mjs +48 -0
- package/esm2022/object-form/yuuvis-client-framework-object-form.mjs +5 -0
- package/esm2022/object-preview/index.mjs +3 -0
- package/esm2022/object-preview/lib/components/index.mjs +3 -0
- package/esm2022/object-preview/lib/components/object-email-preview/object-email-preview.component.mjs +45 -0
- package/esm2022/object-preview/lib/components/object-preview/object-preview.component.mjs +78 -0
- package/esm2022/object-preview/lib/services/object-preview.service.mjs +92 -0
- package/esm2022/object-preview/yuuvis-client-framework-object-preview.mjs +5 -0
- package/esm2022/object-summary/index.mjs +5 -0
- package/esm2022/object-summary/lib/multi-object-summary/multi-object-summary.component.mjs +33 -0
- package/esm2022/object-summary/lib/object-summary/object-summary.component.mjs +273 -0
- package/esm2022/object-summary/lib/object-summary-data/object-summary-data.component.mjs +80 -0
- package/esm2022/object-summary/lib/object-summary.module.mjs +15 -0
- package/esm2022/object-summary/yuuvis-client-framework-object-summary.mjs +5 -0
- package/esm2022/pagination/index.mjs +3 -0
- package/esm2022/pagination/lib/pagination.component.mjs +48 -0
- package/esm2022/pagination/lib/pagination.interface.mjs +2 -0
- package/esm2022/pagination/yuuvis-client-framework-pagination.mjs +5 -0
- package/esm2022/panel/index.mjs +2 -0
- package/esm2022/panel/lib/panel.component.mjs +20 -0
- package/esm2022/panel/yuuvis-client-framework-panel.mjs +5 -0
- package/esm2022/renderer/index.mjs +11 -0
- package/esm2022/renderer/lib/property-renderer/abstract.renderer.mjs +29 -0
- package/esm2022/renderer/lib/property-renderer/datetime.renderer.mjs +13 -0
- package/esm2022/renderer/lib/property-renderer/decimal.renderer.component.mjs +12 -0
- package/esm2022/renderer/lib/property-renderer/filesize.renderer.component.mjs +28 -0
- package/esm2022/renderer/lib/property-renderer/icon.renderer.component.mjs +23 -0
- package/esm2022/renderer/lib/property-renderer/integer.renderer.component.mjs +12 -0
- package/esm2022/renderer/lib/property-renderer/organization.renderer.mjs +19 -0
- package/esm2022/renderer/lib/property-renderer/string.renderer.component.mjs +12 -0
- package/esm2022/renderer/lib/property-renderer/unknown.renderer.mjs +12 -0
- package/esm2022/renderer/lib/renderer.directive.mjs +51 -0
- package/esm2022/renderer/lib/services/renderer/renderer.interface.mjs +2 -0
- package/esm2022/renderer/lib/services/renderer/renderer.service.mjs +84 -0
- package/esm2022/renderer/yuuvis-client-framework-renderer.mjs +5 -0
- package/esm2022/sequence-list/index.mjs +6 -0
- package/esm2022/sequence-list/lib/due-date-picker/due-date-picker.component.mjs +99 -0
- package/esm2022/sequence-list/lib/sequence-list-template-manage/sequence-list-template-manage.component.mjs +183 -0
- package/esm2022/sequence-list/lib/sequence-list-templates/sequence-list-templates.component.mjs +114 -0
- package/esm2022/sequence-list/lib/sequence-list.component.mjs +146 -0
- package/esm2022/sequence-list/lib/sequence-list.interface.mjs +2 -0
- package/esm2022/sequence-list/yuuvis-client-framework-sequence-list.mjs +5 -0
- package/esm2022/simple-search/index.mjs +3 -0
- package/esm2022/simple-search/lib/simple-search/simple-search.component.mjs +111 -0
- package/esm2022/simple-search/lib/simple-search/simple-search.interface.mjs +2 -0
- package/esm2022/simple-search/yuuvis-client-framework-simple-search.mjs +5 -0
- package/esm2022/tile-list/index.mjs +11 -0
- package/esm2022/tile-list/lib/tile/tile.component.mjs +53 -0
- package/esm2022/tile-list/lib/tile-config/action-select/action-select.component.mjs +22 -0
- package/esm2022/tile-list/lib/tile-config/icon-select/icon-select.component.mjs +33 -0
- package/esm2022/tile-list/lib/tile-config/property-select/property-select.component.mjs +91 -0
- package/esm2022/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.mjs +66 -0
- package/esm2022/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.mjs +46 -0
- package/esm2022/tile-list/lib/tile-config/tile-config.component.mjs +156 -0
- package/esm2022/tile-list/lib/tile-extension/directive/tile-extension.directive.mjs +37 -0
- package/esm2022/tile-list/lib/tile-extension/extensions/email.extension.mjs +42 -0
- package/esm2022/tile-list/lib/tile-extension/tile-extension.service.mjs +35 -0
- package/esm2022/tile-list/lib/tile-list/tile-list.component.mjs +510 -0
- package/esm2022/tile-list/lib/tile-list/tile-list.interface.mjs +2 -0
- package/esm2022/tile-list/yuuvis-client-framework-tile-list.mjs +5 -0
- package/esm2022/token-search/index.mjs +3 -0
- package/esm2022/token-search/token-search.component.mjs +78 -0
- package/esm2022/token-search/token-search.interface.mjs +2 -0
- package/esm2022/token-search/yuuvis-client-framework-token-search.mjs +5 -0
- package/esm2022/tree/index.mjs +3 -0
- package/esm2022/tree/lib/tree-node/tree-node.component.mjs +65 -0
- package/esm2022/tree/lib/tree.component.mjs +148 -0
- package/esm2022/tree/lib/tree.interface.mjs +2 -0
- package/esm2022/tree/lib/tree.service.mjs +95 -0
- package/esm2022/tree/yuuvis-client-framework-tree.mjs +5 -0
- package/esm2022/upload-progress/index.mjs +2 -0
- package/esm2022/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.mjs +49 -0
- package/esm2022/upload-progress/lib/upload-progress/upload-progress.component.mjs +37 -0
- package/esm2022/upload-progress/yuuvis-client-framework-upload-progress.mjs +5 -0
- package/esm2022/user-avatar/index.mjs +3 -0
- package/esm2022/user-avatar/lib/user-avatar.component.mjs +69 -0
- package/esm2022/user-avatar/lib/user-avatar.module.mjs +24 -0
- package/esm2022/user-avatar/yuuvis-client-framework-user-avatar.mjs +5 -0
- package/esm2022/yuuvis-client-framework.mjs +5 -0
- package/fesm2022/yuuvis-client-framework-actions.mjs +333 -0
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-app-bar.mjs +96 -0
- package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-clipboard.mjs +55 -0
- package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-common.mjs +1020 -0
- package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-forms.mjs +1355 -0
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-icons.mjs +123 -0
- package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-list.mjs +209 -0
- package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs +302 -0
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-object-details.mjs +583 -0
- package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs +200 -0
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-object-form.mjs +1664 -0
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-object-preview.mjs +213 -0
- package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +397 -0
- package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-pagination.mjs +55 -0
- package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-panel.mjs +27 -0
- package/fesm2022/yuuvis-client-framework-panel.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-renderer.mjs +262 -0
- package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +519 -0
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-simple-search.mjs +118 -0
- package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +1036 -0
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-token-search.mjs +85 -0
- package/fesm2022/yuuvis-client-framework-token-search.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-tree.mjs +307 -0
- package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs +84 -0
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-user-avatar.mjs +96 -0
- package/fesm2022/yuuvis-client-framework-user-avatar.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework.mjs +22 -0
- package/fesm2022/yuuvis-client-framework.mjs.map +1 -0
- package/forms/README.md +3 -0
- package/forms/index.d.ts +9 -0
- package/forms/lib/elements/catalog/catalog.component.d.ts +68 -0
- package/forms/lib/elements/datetime/datetime.component.d.ts +32 -0
- package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +51 -0
- package/forms/lib/elements/number/number.component.d.ts +77 -0
- package/forms/lib/elements/number-range/number-range.component.d.ts +66 -0
- package/forms/lib/elements/organization/organization.component.d.ts +93 -0
- package/forms/lib/elements/string/string.component.d.ts +104 -0
- package/forms/lib/form-input/form-input.component.d.ts +48 -0
- package/forms/lib/forms.module.d.ts +16 -0
- package/icons/README.md +5 -0
- package/icons/index.d.ts +3 -0
- package/icons/lib/icon.service.d.ts +38 -0
- package/icons/lib/icons.d.ts +1 -0
- package/icons/lib/object-type-icon/object-type-icon.component.d.ts +11 -0
- package/index.d.ts +1 -0
- package/lib/yuuvis-client-framework.module.d.ts +7 -0
- package/list/README.md +3 -0
- package/list/index.d.ts +2 -0
- package/list/lib/list-item.directive.d.ts +15 -0
- package/list/lib/list.component.d.ts +36 -0
- package/metadata-form/README.md +21 -0
- package/metadata-form/index.d.ts +3 -0
- package/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.d.ts +5 -0
- package/metadata-form/lib/metadata-form-element-registry.service.d.ts +47 -0
- package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +31 -0
- package/metadata-form/lib/object-metadata-element-template.directive.d.ts +27 -0
- package/object-details/README.md +28 -0
- package/object-details/index.d.ts +6 -0
- package/object-details/lib/object-audit/object-audit.component.d.ts +59 -0
- package/object-details/lib/object-details-shell/object-details-shell.component.d.ts +51 -0
- package/object-details/lib/object-details.component.d.ts +36 -0
- package/object-details/lib/object-metadata/form-section-group.pipe.d.ts +8 -0
- package/object-details/lib/object-metadata/object-metadata.component.d.ts +48 -0
- package/object-details/lib/object-metadata/object-metadata.interface.d.ts +26 -0
- package/object-flavor/README.md +3 -0
- package/object-flavor/index.d.ts +5 -0
- package/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.d.ts +12 -0
- package/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.d.ts +12 -0
- package/object-flavor/lib/flavor-chip/flavor-chip.component.d.ts +17 -0
- package/object-flavor/lib/object-flavor/object-flavor.component.d.ts +26 -0
- package/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.d.ts +10 -0
- package/object-form/README.md +3 -0
- package/object-form/index.d.ts +4 -0
- package/object-form/lib/form-scripting.api.interface.d.ts +131 -0
- package/object-form/lib/form-scripting.service.d.ts +30 -0
- package/object-form/lib/object-form-element/object-form-element.component.d.ts +22 -0
- package/object-form/lib/object-form-extension.interface.d.ts +22 -0
- package/object-form/lib/object-form-group/object-form-group.component.d.ts +22 -0
- package/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.d.ts +10 -0
- package/object-form/lib/object-form-script/object-form-script.service.d.ts +45 -0
- package/object-form/lib/object-form-script/object-form-scripting-scope.d.ts +50 -0
- package/object-form/lib/object-form-translate.service.d.ts +15 -0
- package/object-form/lib/object-form.component.d.ts +60 -0
- package/object-form/lib/object-form.interface.d.ts +113 -0
- package/object-form/lib/object-form.model.d.ts +18 -0
- package/object-form/lib/object-form.service.d.ts +39 -0
- package/object-form/lib/object-form.utils.d.ts +20 -0
- package/object-form/lib/object-form.validation.d.ts +21 -0
- package/object-preview/README.md +3 -0
- package/object-preview/index.d.ts +2 -0
- package/object-preview/lib/components/index.d.ts +2 -0
- package/object-preview/lib/components/object-email-preview/object-email-preview.component.d.ts +16 -0
- package/object-preview/lib/components/object-preview/object-preview.component.d.ts +13 -0
- package/object-preview/lib/services/object-preview.service.d.ts +37 -0
- package/object-summary/README.md +3 -0
- package/object-summary/index.d.ts +4 -0
- package/object-summary/lib/multi-object-summary/multi-object-summary.component.d.ts +7 -0
- package/object-summary/lib/object-summary/object-summary.component.d.ts +73 -0
- package/object-summary/lib/object-summary-data/object-summary-data.component.d.ts +11 -0
- package/object-summary/lib/object-summary.module.d.ts +7 -0
- package/package.json +173 -0
- package/pagination/README.md +3 -0
- package/pagination/index.d.ts +2 -0
- package/pagination/lib/pagination.component.d.ts +18 -0
- package/pagination/lib/pagination.interface.d.ts +5 -0
- package/panel/README.md +3 -0
- package/panel/index.d.ts +1 -0
- package/panel/lib/panel.component.d.ts +12 -0
- package/renderer/README.md +5 -0
- package/renderer/index.d.ts +10 -0
- package/renderer/lib/property-renderer/abstract.renderer.d.ts +14 -0
- package/renderer/lib/property-renderer/datetime.renderer.d.ts +6 -0
- package/renderer/lib/property-renderer/decimal.renderer.component.d.ts +6 -0
- package/renderer/lib/property-renderer/filesize.renderer.component.d.ts +7 -0
- package/renderer/lib/property-renderer/icon.renderer.component.d.ts +6 -0
- package/renderer/lib/property-renderer/integer.renderer.component.d.ts +6 -0
- package/renderer/lib/property-renderer/organization.renderer.d.ts +7 -0
- package/renderer/lib/property-renderer/string.renderer.component.d.ts +6 -0
- package/renderer/lib/property-renderer/unknown.renderer.d.ts +6 -0
- package/renderer/lib/renderer.directive.d.ts +17 -0
- package/renderer/lib/services/renderer/renderer.interface.d.ts +8 -0
- package/renderer/lib/services/renderer/renderer.service.d.ts +35 -0
- package/sequence-list/README.md +3 -0
- package/sequence-list/index.d.ts +5 -0
- package/sequence-list/lib/due-date-picker/due-date-picker.component.d.ts +28 -0
- package/sequence-list/lib/sequence-list-template-manage/sequence-list-template-manage.component.d.ts +52 -0
- package/sequence-list/lib/sequence-list-templates/sequence-list-templates.component.d.ts +36 -0
- package/sequence-list/lib/sequence-list.component.d.ts +43 -0
- package/sequence-list/lib/sequence-list.interface.d.ts +16 -0
- package/simple-search/README.md +3 -0
- package/simple-search/index.d.ts +2 -0
- package/simple-search/lib/simple-search/simple-search.component.d.ts +55 -0
- package/simple-search/lib/simple-search/simple-search.interface.d.ts +4 -0
- package/styles/client-framework.scss +27 -0
- package/tile-list/README.md +3 -0
- package/tile-list/index.d.ts +10 -0
- package/tile-list/lib/tile/tile.component.d.ts +22 -0
- package/tile-list/lib/tile-config/action-select/action-select.component.d.ts +13 -0
- package/tile-list/lib/tile-config/icon-select/icon-select.component.d.ts +11 -0
- package/tile-list/lib/tile-config/property-select/property-select.component.d.ts +25 -0
- package/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.d.ts +20 -0
- package/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.d.ts +17 -0
- package/tile-list/lib/tile-config/tile-config.component.d.ts +47 -0
- package/tile-list/lib/tile-extension/directive/tile-extension.directive.d.ts +11 -0
- package/tile-list/lib/tile-extension/extensions/email.extension.d.ts +10 -0
- package/tile-list/lib/tile-extension/tile-extension.service.d.ts +16 -0
- package/tile-list/lib/tile-list/tile-list.component.d.ts +116 -0
- package/tile-list/lib/tile-list/tile-list.interface.d.ts +18 -0
- package/token-search/README.md +3 -0
- package/token-search/index.d.ts +2 -0
- package/token-search/token-search.component.d.ts +22 -0
- package/token-search/token-search.interface.d.ts +4 -0
- package/tree/README.md +3 -0
- package/tree/index.d.ts +2 -0
- package/tree/lib/tree-node/tree-node.component.d.ts +21 -0
- package/tree/lib/tree.component.d.ts +53 -0
- package/tree/lib/tree.interface.d.ts +11 -0
- package/tree/lib/tree.service.d.ts +35 -0
- package/upload-progress/README.md +3 -0
- package/upload-progress/index.d.ts +1 -0
- package/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.d.ts +17 -0
- package/upload-progress/lib/upload-progress/upload-progress.component.d.ts +16 -0
- package/user-avatar/README.md +3 -0
- package/user-avatar/index.d.ts +2 -0
- package/user-avatar/lib/user-avatar.component.d.ts +44 -0
- package/user-avatar/lib/user-avatar.module.d.ts +8 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { A11yModule, ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
2
|
+
import { Directionality } from '@angular/cdk/bidi';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { Component, HostAttributeToken, HostListener, ViewEncapsulation, contentChildren, effect, inject, input, output } from '@angular/core';
|
|
5
|
+
import { ListItemDirective } from './list-item.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Component rendering a simple list of items. It supports keyboard
|
|
9
|
+
* navigation as well as accessability. To create a list just wrapp
|
|
10
|
+
* `yuvListItem` elements into this component:
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* <yuv-list (itemSelect)="itemSelected($event)">
|
|
14
|
+
* <div yuvListItem>Entry #1</div>
|
|
15
|
+
* <div yuvListItem>Entry #2</div>
|
|
16
|
+
* </yuv-list>
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export class ListComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.#dir = inject(Directionality);
|
|
22
|
+
this.items = contentChildren(ListItemDirective);
|
|
23
|
+
this.#itemsEffect = effect(() => {
|
|
24
|
+
if (this._keyManager)
|
|
25
|
+
this._keyManager.destroy();
|
|
26
|
+
this._keyManager = this.horizontal
|
|
27
|
+
? new ActiveDescendantKeyManager(this.items()).withWrap().withHorizontalOrientation(this.#dir.value)
|
|
28
|
+
: new ActiveDescendantKeyManager(this.items()).withWrap();
|
|
29
|
+
this.items().forEach((item, index) => {
|
|
30
|
+
item.onClick = (evt) => {
|
|
31
|
+
this.select(index, evt.shiftKey, evt.ctrlKey);
|
|
32
|
+
};
|
|
33
|
+
item.active = false;
|
|
34
|
+
});
|
|
35
|
+
if (this._lastSelection !== undefined && this._lastSelection <= this.items().length) {
|
|
36
|
+
this.select(this._lastSelection);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
this._selection = [];
|
|
40
|
+
this.multiselect = input(false);
|
|
41
|
+
this.itemSelect = output();
|
|
42
|
+
this.itemFocus = output();
|
|
43
|
+
// autoselectFirst: boolean = (inject(new HostAttributeToken('autoselectFirst'), { optional: true }) || 'false') === 'true';
|
|
44
|
+
this.selectOnEnter = (inject(new HostAttributeToken('selectOnEnter'), { optional: true }) || 'false') === 'true';
|
|
45
|
+
this.horizontal = (inject(new HostAttributeToken('horizontal'), { optional: true }) || 'false') === 'true';
|
|
46
|
+
this.disableSelection = input(false);
|
|
47
|
+
}
|
|
48
|
+
#dir;
|
|
49
|
+
onKeydown(event) {
|
|
50
|
+
if (this.disableSelection())
|
|
51
|
+
return;
|
|
52
|
+
if (event.code === 'Escape') {
|
|
53
|
+
this.clear();
|
|
54
|
+
}
|
|
55
|
+
if (event.code === 'Space' || (this.selectOnEnter && event.code === 'Enter')) {
|
|
56
|
+
const aii = this._keyManager.activeItemIndex !== null ? this._keyManager.activeItemIndex : -1;
|
|
57
|
+
if (aii >= 0) {
|
|
58
|
+
this._select(aii);
|
|
59
|
+
this._emitSelection();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else
|
|
63
|
+
this._keyManager?.onKeydown(event);
|
|
64
|
+
}
|
|
65
|
+
#itemsEffect;
|
|
66
|
+
select(index, shiftKey = false, ctrlKey = false) {
|
|
67
|
+
if (this.disableSelection())
|
|
68
|
+
return;
|
|
69
|
+
if (this._keyManager) {
|
|
70
|
+
this._keyManager.setActiveItem(index);
|
|
71
|
+
}
|
|
72
|
+
this._select(index, shiftKey, ctrlKey);
|
|
73
|
+
this._emitSelection();
|
|
74
|
+
}
|
|
75
|
+
clear() {
|
|
76
|
+
if (this._selection.length !== 0) {
|
|
77
|
+
this._select(-1);
|
|
78
|
+
this._keyManager.setActiveItem(-1);
|
|
79
|
+
this._emitSelection();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
_select(index, shiftKey = false, ctrlKey = false) {
|
|
83
|
+
if (index === -1)
|
|
84
|
+
this._selection = [];
|
|
85
|
+
else {
|
|
86
|
+
if (this.multiselect()) {
|
|
87
|
+
this._selection = this._selection.filter((i) => i !== index);
|
|
88
|
+
if (ctrlKey) {
|
|
89
|
+
// if ctrl key add to selection
|
|
90
|
+
this._selection.push(index);
|
|
91
|
+
}
|
|
92
|
+
else if (shiftKey) {
|
|
93
|
+
// add range
|
|
94
|
+
if (this._lastSelection) {
|
|
95
|
+
for (let i = this._lastSelection < index ? this._lastSelection : index; i < (this._lastSelection > index ? this._lastSelection : index); i++) {
|
|
96
|
+
this._selection.push(i);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this._selection = [index];
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this._selection = [index];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else
|
|
108
|
+
this._selection = [index];
|
|
109
|
+
}
|
|
110
|
+
this._lastSelection = this._selection.length === 0 ? undefined : index;
|
|
111
|
+
this._selection.sort();
|
|
112
|
+
this.items().forEach((item, i) => (item.selected = this._selection.includes(i)));
|
|
113
|
+
}
|
|
114
|
+
_emitSelection() {
|
|
115
|
+
this.itemSelect.emit(this._selection);
|
|
116
|
+
}
|
|
117
|
+
ngOnDestroy() {
|
|
118
|
+
this._keyManager?.destroy();
|
|
119
|
+
}
|
|
120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: ListComponent, isStandalone: true, selector: "yuv-list", inputs: { multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, disableSelection: { classPropertyName: "disableSelection", publicName: "disableSelection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelect: "itemSelect", itemFocus: "itemFocus" }, host: { attributes: { "role": "listbox", "tabindex": "0" }, listeners: { "keydown": "onKeydown($event)" } }, queries: [{ propertyName: "items", predicate: ListItemDirective, isSignal: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["yuv-list{--_list-item-border-color: var(--list-item-border-color, var(--panel-divider-color));--_list-item-selected-background: var(--list-item-selected-background, var(--item-selected-background-color));--_list-item-selected-border-color: var(--list-item-selected-border-color, var(--color-accent));--_list-item-current-background: var(--list-item-current-background, var(--item-focus-background-color));--_list-item-current-border-color: var(--list-item-current-border-color, var(--panel-divider-color));display:block;max-height:100%;overflow-y:auto}yuv-list [yuvListItem][aria-current=true]{background-color:var(--_list-item-current-background);border-color:var(--_list-item-current-border-color)}yuv-list [yuvListItem][aria-selected=true]{background-color:var(--_list-item-selected-background);border-color:var(--_list-item-selected-border-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: A11yModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
122
|
+
}
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, decorators: [{
|
|
124
|
+
type: Component,
|
|
125
|
+
args: [{ selector: 'yuv-list', standalone: true, imports: [CommonModule, A11yModule], template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, host: {
|
|
126
|
+
role: 'listbox',
|
|
127
|
+
tabindex: '0'
|
|
128
|
+
}, styles: ["yuv-list{--_list-item-border-color: var(--list-item-border-color, var(--panel-divider-color));--_list-item-selected-background: var(--list-item-selected-background, var(--item-selected-background-color));--_list-item-selected-border-color: var(--list-item-selected-border-color, var(--color-accent));--_list-item-current-background: var(--list-item-current-background, var(--item-focus-background-color));--_list-item-current-border-color: var(--list-item-current-border-color, var(--panel-divider-color));display:block;max-height:100%;overflow-y:auto}yuv-list [yuvListItem][aria-current=true]{background-color:var(--_list-item-current-background);border-color:var(--_list-item-current-border-color)}yuv-list [yuvListItem][aria-selected=true]{background-color:var(--_list-item-selected-background);border-color:var(--_list-item-selected-border-color)}\n"] }]
|
|
129
|
+
}], propDecorators: { onKeydown: [{
|
|
130
|
+
type: HostListener,
|
|
131
|
+
args: ['keydown', ['$event']]
|
|
132
|
+
}] } });
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2xpc3Qvc3JjL2xpYi9saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBYSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRDs7Ozs7Ozs7Ozs7R0FXRztBQWFILE1BQU0sT0FBTyxhQUFhO0lBWjFCO1FBYUUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQWU5QixVQUFLLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0MsaUJBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVO2dCQUNoQyxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDcEcsQ0FBQyxDQUFDLElB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NEZBU3ZCLGFBQWE7a0JBWnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsWUFDekIsMkJBQTJCLGlCQUV0QixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLElBQUksRUFBRSxTQUFTO3dCQUNmLFFBQVEsRUFBRSxHQUFHO3FCQUNkOzhCQUtvQyxTQUFTO3NCQUE3QyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUsIEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QXR0cmlidXRlVG9rZW4sIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiwgY29udGVudENoaWxkcmVuLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2xpc3QtaXRlbS5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCByZW5kZXJpbmcgYSBzaW1wbGUgbGlzdCBvZiBpdGVtcy4gSXQgc3VwcG9ydHMga2V5Ym9hcmRcbiAqIG5hdmlnYXRpb24gYXMgd2VsbCBhcyBhY2Nlc3NhYmlsaXR5LiBUbyBjcmVhdGUgYSBsaXN0IGp1c3Qgd3JhcHBcbiAqIGB5dXZMaXN0SXRlbWAgZWxlbWVudHMgaW50byB0aGlzIGNvbXBvbmVudDpcbiAqXG4gKiBgYGB0c1xuICogPHl1di1saXN0IChpdGVtU2VsZWN0KT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQpXCI+XG4gKiAgIDxkaXYgeXV2TGlzdEl0ZW0+RW50cnkgIzE8L2Rpdj5cbiAqICAgPGRpdiB5dXZMaXN0SXRlbT5FbnRyeSAjMjwvZGl2PlxuICogPC95dXYtbGlzdD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEExMXlNb2R1bGVdLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybDogJy4vbGlzdC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnbGlzdGJveCcsXG4gICAgdGFiaW5kZXg6ICcwJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAjZGlyID0gaW5qZWN0KERpcmVjdGlvbmFsaXR5KTtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZVNlbGVjdGlvbigpKSByZXR1cm47XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICAgIGlmIChldmVudC5jb2RlID09PSAnU3BhY2UnIHx8ICh0aGlzLnNlbGVjdE9uRW50ZXIgJiYgZXZlbnQuY29kZSA9PT0gJ0VudGVyJykpIHtcbiAgICAgIGNvbnN0IGFpaTogbnVtYmVyID0gdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggIT09IG51bGwgPyB0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCA6IC0xO1xuICAgICAgaWYgKGFpaSA+PSAwKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdChhaWkpO1xuICAgICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHRoaXMuX2tleU1hbmFnZXI/Lm9uS2V5ZG93bihldmVudCk7XG4gIH1cbiAgaXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oTGlzdEl0ZW1EaXJlY3RpdmUpO1xuICAjaXRlbXNFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyKSB0aGlzLl9rZXlNYW5hZ2VyLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9rZXlNYW5hZ2VyID0gdGhpcy5ob3Jpem9udGFsXG4gICAgICA/IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcih0aGlzLml0ZW1zKCkpLndpdGhXcmFwKCkud2l0aEhvcml6b250YWxPcmllbnRhdGlvbih0aGlzLiNkaXIudmFsdWUpXG4gICAgICA6IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcih0aGlzLml0ZW1zKCkpLndpdGhXcmFwKCk7XG5cbiAgICB0aGlzLml0ZW1zKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGl0ZW0ub25DbGljayA9IChldnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3QoaW5kZXgsIGV2dC5zaGlmdEtleSwgZXZ0LmN0cmxLZXkpO1xuICAgICAgfTtcbiAgICAgIGl0ZW0uYWN0aXZlID0gZmFsc2U7XG4gICAgfSk7XG4gICAgaWYgKHRoaXMuX2xhc3RTZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9sYXN0U2VsZWN0aW9uIDw9IHRoaXMuaXRlbXMoKS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VsZWN0KHRoaXMuX2xhc3RTZWxlY3Rpb24pO1xuICAgIH1cbiAgfSk7XG4gIHByaXZhdGUgX2tleU1hbmFnZXIhOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxMaXN0SXRlbURpcmVjdGl2ZT47XG4gIHByaXZhdGUgX3NlbGVjdGlvbjogbnVtYmVyW10gPSBbXTtcbiAgcHJpdmF0ZSBfbGFzdFNlbGVjdGlvbj86IG51bWJlcjtcblxuICBtdWx0aXNlbGVjdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBpdGVtU2VsZWN0ID0gb3V0cHV0PG51bWJlcltdPigpO1xuICBpdGVtRm9jdXMgPSBvdXRwdXQ8bnVtYmVyPigpO1xuXG4gIC8vIGF1dG9zZWxlY3RGaXJzdDogYm9vbGVhbiA9IChpbmplY3QobmV3IEhvc3RBdHRyaWJ1dGVUb2tlbignYXV0b3NlbGVjdEZpcnN0JyksIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgJ2ZhbHNlJykgPT09ICd0cnVlJztcbiAgc2VsZWN0T25FbnRlcjogYm9vbGVhbiA9IChpbmplY3QobmV3IEhvc3RBdHRyaWJ1dGVUb2tlbignc2VsZWN0T25FbnRlcicpLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8ICdmYWxzZScpID09PSAndHJ1ZSc7XG4gIGhvcml6b250YWw6IGJvb2xlYW4gPSAoaW5qZWN0KG5ldyBIb3N0QXR0cmlidXRlVG9rZW4oJ2hvcml6b250YWwnKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCAnZmFsc2UnKSA9PT0gJ3RydWUnO1xuICBkaXNhYmxlU2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHNlbGVjdChpbmRleDogbnVtYmVyLCBzaGlmdEtleSA9IGZhbHNlLCBjdHJsS2V5ID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlU2VsZWN0aW9uKCkpIHJldHVybjtcbiAgICBpZiAodGhpcy5fa2V5TWFuYWdlcikge1xuICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGluZGV4KTtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0KGluZGV4LCBzaGlmdEtleSwgY3RybEtleSk7XG4gICAgdGhpcy5fZW1pdFNlbGVjdGlvbigpO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGlvbi5sZW5ndGggIT09IDApIHtcbiAgICAgIHRoaXMuX3NlbGVjdCgtMSk7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oLTEpO1xuICAgICAgdGhpcy5fZW1pdFNlbGVjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChpbmRleDogbnVtYmVyLCBzaGlmdEtleSA9IGZhbHNlLCBjdHJsS2V5ID0gZmFsc2UpIHtcbiAgICBpZiAoaW5kZXggPT09IC0xKSB0aGlzLl9zZWxlY3Rpb24gPSBbXTtcbiAgICBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KCkpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gdGhpcy5fc2VsZWN0aW9uLmZpbHRlcigoaSkgPT4gaSAhPT0gaW5kZXgpO1xuICAgICAgICBpZiAoY3RybEtleSkge1xuICAgICAgICAgIC8vIGlmIGN0cmwga2V5IGFkZCB0byBzZWxlY3Rpb25cbiAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24ucHVzaChpbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2hpZnRLZXkpIHtcbiAgICAgICAgICAvLyBhZGQgcmFuZ2VcbiAgICAgICAgICBpZiAodGhpcy5fbGFzdFNlbGVjdGlvbikge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuX2xhc3RTZWxlY3Rpb24gPCBpbmRleCA/IHRoaXMuX2xhc3RTZWxlY3Rpb24gOiBpbmRleDsgaSA8ICh0aGlzLl9sYXN0U2VsZWN0aW9uID4gaW5kZXggPyB0aGlzLl9sYXN0U2VsZWN0aW9uIDogaW5kZXgpOyBpKyspIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbiA9IFtpbmRleF07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbiA9IFtpbmRleF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB0aGlzLl9zZWxlY3Rpb24gPSBbaW5kZXhdO1xuICAgIH1cbiAgICB0aGlzLl9sYXN0U2VsZWN0aW9uID0gdGhpcy5fc2VsZWN0aW9uLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IGluZGV4O1xuICAgIHRoaXMuX3NlbGVjdGlvbi5zb3J0KCk7XG5cbiAgICB0aGlzLml0ZW1zKCkuZm9yRWFjaCgoaXRlbTogTGlzdEl0ZW1EaXJlY3RpdmUsIGk6IG51bWJlcikgPT4gKGl0ZW0uc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3Rpb24uaW5jbHVkZXMoaSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5pdGVtU2VsZWN0LmVtaXQodGhpcy5fc2VsZWN0aW9uKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2tleU1hbmFnZXI/LmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWNsaWVudC1mcmFtZXdvcmstbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvbGlzdC9zcmMveXV1dmlzLWNsaWVudC1mcmFtZXdvcmstbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './lib/metadata-form-element-registry.service';
|
|
2
|
+
export * from './lib/metadata-form-field/metadata-form-field.component';
|
|
3
|
+
export * from './lib/metadata-default-templates/metadata-default-templates.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL21ldGFkYXRhLWZvcm0vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHVFQUF1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtZm9ybS1lbGVtZW50LXJlZ2lzdHJ5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtZm9ybS1maWVsZC9tZXRhZGF0YS1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1kZWZhdWx0LXRlbXBsYXRlcy9tZXRhZGF0YS1kZWZhdWx0LXRlbXBsYXRlcy5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { CatalogComponent, DatetimeComponent, DatetimeRangeComponent, FormInputComponent, NumberComponent, NumberRangeComponent, OrganizationComponent, StringComponent } from '@yuuvis/client-framework/forms';
|
|
3
|
+
import { MetadataElementTemplateDirective } from '../object-metadata-element-template.directive';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import { YvcCheckboxModule } from '@yuuvis/components/checkbox';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/forms";
|
|
9
|
+
import * as i2 from "@yuuvis/components/checkbox";
|
|
10
|
+
export class MetadataDefaultTemplatesComponent {
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataDefaultTemplatesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MetadataDefaultTemplatesComponent, isStandalone: true, selector: "yuv-metadata-default-templates", ngImport: i0, template: "<!-- form element templates -->\n<!-- STRING -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string\" let-ctx>\n\n <yuv-string\n [situation]=\"ctx.situation\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n [rows]=\"ctx.field.rows\"\n [classifications]=\"ctx.field.classifications\"\n [regex]=\"ctx.field.regex\"\n [readonly]=\"ctx.field.readonly\"\n [minLength]=\"ctx.field.minLength\"\n [maxLength]=\"ctx.field.maxLength\"\n > \n </yuv-string>\n</ng-template>\n\n<!-- ORGANIZATION -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string:organization\" let-ctx>\n <yuv-organization\n [situation]=\"ctx.situation\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n (userSelect)=\"ctx.field.dataMeta = $event\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n [readonly]=\"ctx.field.readonly\"\n >\n </yuv-organization>\n</ng-template>\n\n<!-- INTEGER -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"integer\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n<yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n >\n </yuv-number> \n } @else {\n \n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [pattern]=\"ctx.field.pattern\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- DECIMAL -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"decimal\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [grouping]=\"ctx.field.grouping\"\n [pattern]=\"ctx.field.pattern\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n >\n >\n </yuv-number>\n } @else {\n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [pattern]=\"ctx.field.pattern\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- BOOLEAN -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<!-- BOOLEAN SWITCH -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean:switch\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n switch=\"true\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"datetime\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-datetime\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime> \n } @else {\n <yuv-datetime-range\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime-range> \n }\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: StringComponent, selector: "yuv-string", inputs: ["multiselect", "rows", "readonly", "autofocus", "classifications", "situation", "regex", "minLength", "maxLength"] }, { kind: "component", type: OrganizationComponent, selector: "yuv-organization", inputs: ["placeholder", "situation", "multiselect", "classifications", "readonly", "autofocus", "appendTo", "excludeMe", "withMetadata"], outputs: ["userSelect"] }, { kind: "component", type: NumberComponent, selector: "yuv-number", inputs: ["scale", "precision", "grouping", "groupPattern", "readonly", "minValue", "maxValue", "classifications"] }, { kind: "component", type: NumberRangeComponent, selector: "yuv-number-range", inputs: ["scale", "precision", "grouping", "pattern", "readonly", "classifications", "minValue", "maxValue"] }, { kind: "component", type: DatetimeComponent, selector: "yuv-datetime", inputs: ["onlyFutureDates", "readonly", "withTime"] }, { kind: "component", type: DatetimeRangeComponent, selector: "yuv-datetime-range", inputs: ["withTime", "readonly", "operator"] }, { kind: "directive", type: MetadataElementTemplateDirective, selector: "[yuvMetadataElementTemplate]", inputs: ["yuvMetadataElementTemplate", "propertyType", "situation"] }, { kind: "ngmodule", type: YvcCheckboxModule }, { kind: "component", type: i2.CheckboxComponent, selector: "yvc-checkbox", inputs: ["tristate", "readonly"] }] }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataDefaultTemplatesComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'yuv-metadata-default-templates', standalone: true, imports: [
|
|
17
|
+
CommonModule,
|
|
18
|
+
ReactiveFormsModule,
|
|
19
|
+
FormInputComponent,
|
|
20
|
+
CatalogComponent,
|
|
21
|
+
StringComponent,
|
|
22
|
+
OrganizationComponent,
|
|
23
|
+
NumberComponent,
|
|
24
|
+
NumberRangeComponent,
|
|
25
|
+
DatetimeComponent,
|
|
26
|
+
DatetimeRangeComponent,
|
|
27
|
+
MetadataElementTemplateDirective,
|
|
28
|
+
YvcCheckboxModule
|
|
29
|
+
], template: "<!-- form element templates -->\n<!-- STRING -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string\" let-ctx>\n\n <yuv-string\n [situation]=\"ctx.situation\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n [rows]=\"ctx.field.rows\"\n [classifications]=\"ctx.field.classifications\"\n [regex]=\"ctx.field.regex\"\n [readonly]=\"ctx.field.readonly\"\n [minLength]=\"ctx.field.minLength\"\n [maxLength]=\"ctx.field.maxLength\"\n > \n </yuv-string>\n</ng-template>\n\n<!-- ORGANIZATION -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"string:organization\" let-ctx>\n <yuv-organization\n [situation]=\"ctx.situation\"\n [multiselect]=\"ctx.field.cardinality === 'multi' || ctx.situation === 'SEARCH'\"\n (userSelect)=\"ctx.field.dataMeta = $event\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n [readonly]=\"ctx.field.readonly\"\n >\n </yuv-organization>\n</ng-template>\n\n<!-- INTEGER -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"integer\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n<yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n >\n </yuv-number> \n } @else {\n \n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"0\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [pattern]=\"ctx.field.pattern\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [classifications]=\"ctx.field.classifications\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- DECIMAL -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"decimal\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-number\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [grouping]=\"ctx.field.grouping\"\n [pattern]=\"ctx.field.pattern\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n >\n >\n </yuv-number>\n } @else {\n <yuv-number-range\n [readonly]=\"ctx.field.readonly\"\n [precision]=\"ctx.field.precision\"\n [scale]=\"ctx.field.scale\"\n [pattern]=\"ctx.field.pattern\"\n [grouping]=\"ctx.field.grouping\"\n [minValue]=\"ctx.field.minValue\"\n [maxValue]=\"ctx.field.maxValue\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-number-range>\n }\n</ng-template>\n\n<!-- BOOLEAN -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<!-- BOOLEAN SWITCH -->\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"boolean:switch\" let-ctx>\n <yvc-checkbox\n [formControl]=\"ctx.ngControl\"\n switch=\"true\"\n [attr.data-name]=\"ctx.field.name\"\n [readonly]=\"ctx.field.readonly\"\n [tristate]=\"ctx.field.tristate === false ? false : true\"\n ></yvc-checkbox>\n</ng-template>\n\n<ng-template yuvMetadataElementTemplate=\"default\" propertyType=\"datetime\" let-ctx>\n @if (ctx.situation !== 'SEARCH') {\n <yuv-datetime\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime> \n } @else {\n <yuv-datetime-range\n [readonly]=\"ctx.field.readonly\"\n [withTime]=\"ctx.field.resolution !== 'date'\"\n [formControl]=\"ctx.ngControl\"\n [attr.data-name]=\"ctx.field.name\"\n ></yuv-datetime-range> \n }\n</ng-template>\n" }]
|
|
30
|
+
}] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMvbWV0YWRhdGEtZGVmYXVsdC10ZW1wbGF0ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLGVBQWUsRUFDaEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFzQmhFLE1BQU0sT0FBTyxpQ0FBaUM7K0dBQWpDLGlDQUFpQzttR0FBakMsaUNBQWlDLDBGQ3BDOUMsOGpKQXNJQSx5RERsSEksWUFBWSw4QkFDWixtQkFBbUIsbWRBR25CLGVBQWUsb0xBQ2YscUJBQXFCLGdPQUNyQixlQUFlLDBLQUNmLG9CQUFvQiwyS0FDcEIsaUJBQWlCLDhHQUNqQixzQkFBc0IsNkdBQ3RCLGdDQUFnQyw2SUFDaEMsaUJBQWlCOzs0RkFLUixpQ0FBaUM7a0JBcEI3QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixnQ0FBZ0M7d0JBQ2hDLGlCQUFpQjtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENhdGFsb2dDb21wb25lbnQsXG4gIERhdGV0aW1lQ29tcG9uZW50LFxuICBEYXRldGltZVJhbmdlQ29tcG9uZW50LFxuICBGb3JtSW5wdXRDb21wb25lbnQsXG4gIE51bWJlckNvbXBvbmVudCxcbiAgTnVtYmVyUmFuZ2VDb21wb25lbnQsXG4gIE9yZ2FuaXphdGlvbkNvbXBvbmVudCxcbiAgU3RyaW5nQ29tcG9uZW50XG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9mb3Jtcyc7XG5pbXBvcnQgeyBNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uL29iamVjdC1tZXRhZGF0YS1lbGVtZW50LXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFl2Y0NoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2NoZWNrYm94JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LW1ldGFkYXRhLWRlZmF1bHQtdGVtcGxhdGVzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1JbnB1dENvbXBvbmVudCxcbiAgICBDYXRhbG9nQ29tcG9uZW50LFxuICAgIFN0cmluZ0NvbXBvbmVudCxcbiAgICBPcmdhbml6YXRpb25Db21wb25lbnQsXG4gICAgTnVtYmVyQ29tcG9uZW50LFxuICAgIE51bWJlclJhbmdlQ29tcG9uZW50LFxuICAgIERhdGV0aW1lQ29tcG9uZW50LFxuICAgIERhdGV0aW1lUmFuZ2VDb21wb25lbnQsXG4gICAgTWV0YWRhdGFFbGVtZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgWXZjQ2hlY2tib3hNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWRlZmF1bHQtdGVtcGxhdGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21ldGFkYXRhLWRlZmF1bHQtdGVtcGxhdGVzLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YURlZmF1bHRUZW1wbGF0ZXNDb21wb25lbnQge31cbiIsIjwhLS0gZm9ybSBlbGVtZW50IHRlbXBsYXRlcyAtLT5cbjwhLS0gU1RSSU5HIC0tPlxuPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlPVwiZGVmYXVsdFwiIHByb3BlcnR5VHlwZT1cInN0cmluZ1wiIGxldC1jdHg+XG5cbiAgPHl1di1zdHJpbmdcbiAgICAgIFtzaXR1YXRpb25dPVwiY3R4LnNpdHVhdGlvblwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgICAgW211bHRpc2VsZWN0XT1cImN0eC5maWVsZC5jYXJkaW5hbGl0eSA9PT0gJ211bHRpJyB8fCBjdHguc2l0dWF0aW9uID09PSAnU0VBUkNIJ1wiXG4gICAgICBbcm93c109XCJjdHguZmllbGQucm93c1wiXG4gICAgICBbY2xhc3NpZmljYXRpb25zXT1cImN0eC5maWVsZC5jbGFzc2lmaWNhdGlvbnNcIlxuICAgICAgW3JlZ2V4XT1cImN0eC5maWVsZC5yZWdleFwiXG4gICAgICBbcmVhZG9ubHldPVwiY3R4LmZpZWxkLnJlYWRvbmx5XCJcbiAgICAgIFttaW5MZW5ndGhdPVwiY3R4LmZpZWxkLm1pbkxlbmd0aFwiXG4gICAgICBbbWF4TGVuZ3RoXT1cImN0eC5maWVsZC5tYXhMZW5ndGhcIlxuICAgID4gXG4gICAgPC95dXYtc3RyaW5nPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBPUkdBTklaQVRJT04gLS0+XG48bmctdGVtcGxhdGUgeXV2TWV0YWRhdGFFbGVtZW50VGVtcGxhdGU9XCJkZWZhdWx0XCIgcHJvcGVydHlUeXBlPVwic3RyaW5nOm9yZ2FuaXphdGlvblwiIGxldC1jdHg+XG4gPHl1di1vcmdhbml6YXRpb25cbiAgICAgIFtzaXR1YXRpb25dPVwiY3R4LnNpdHVhdGlvblwiXG4gICAgICBbbXVsdGlzZWxlY3RdPVwiY3R4LmZpZWxkLmNhcmRpbmFsaXR5ID09PSAnbXVsdGknIHx8IGN0eC5zaXR1YXRpb24gPT09ICdTRUFSQ0gnXCJcbiAgICAgICh1c2VyU2VsZWN0KT1cImN0eC5maWVsZC5kYXRhTWV0YSA9ICRldmVudFwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgICAgW2NsYXNzaWZpY2F0aW9uc109XCJjdHguZmllbGQuY2xhc3NpZmljYXRpb25zXCJcbiAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgID5cbiAgICA8L3l1di1vcmdhbml6YXRpb24+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIElOVEVHRVIgLS0+XG48bmctdGVtcGxhdGUgeXV2TWV0YWRhdGFFbGVtZW50VGVtcGxhdGU9XCJkZWZhdWx0XCIgcHJvcGVydHlUeXBlPVwiaW50ZWdlclwiIGxldC1jdHg+XG4gIEBpZiAoY3R4LnNpdHVhdGlvbiAhPT0gJ1NFQVJDSCcpIHtcbjx5dXYtbnVtYmVyXG4gICAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgICAgICBbcHJlY2lzaW9uXT1cImN0eC5maWVsZC5wcmVjaXNpb25cIlxuICAgICAgICBbc2NhbGVdPVwiMFwiXG4gICAgICAgIFtncm91cGluZ109XCJjdHguZmllbGQuZ3JvdXBpbmdcIlxuICAgICAgICBbbWluVmFsdWVdPVwiY3R4LmZpZWxkLm1pblZhbHVlXCJcbiAgICAgICAgW21heFZhbHVlXT1cImN0eC5maWVsZC5tYXhWYWx1ZVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICAgICAgW2F0dHIuZGF0YS1uYW1lXT1cImN0eC5maWVsZC5uYW1lXCJcbiAgICAgICAgW2NsYXNzaWZpY2F0aW9uc109XCJjdHguZmllbGQuY2xhc3NpZmljYXRpb25zXCJcbiAgICAgID5cbiAgICAgIDwveXV2LW51bWJlcj4gXG4gIH0gQGVsc2Uge1xuICAgIFxuICAgIDx5dXYtbnVtYmVyLXJhbmdlXG4gICAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgICAgICBbcHJlY2lzaW9uXT1cImN0eC5maWVsZC5wcmVjaXNpb25cIlxuICAgICAgICBbc2NhbGVdPVwiMFwiXG4gICAgICAgIFtncm91cGluZ109XCJjdHguZmllbGQuZ3JvdXBpbmdcIlxuICAgICAgICBbbWluVmFsdWVdPVwiY3R4LmZpZWxkLm1pblZhbHVlXCJcbiAgICAgICAgW21heFZhbHVlXT1cImN0eC5maWVsZC5tYXhWYWx1ZVwiXG4gICAgICAgIFtwYXR0ZXJuXT1cImN0eC5maWVsZC5wYXR0ZXJuXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImN0eC5uZ0NvbnRyb2xcIlxuICAgICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgICAgICBbY2xhc3NpZmljYXRpb25zXT1cImN0eC5maWVsZC5jbGFzc2lmaWNhdGlvbnNcIlxuICAgICAgPjwveXV2LW51bWJlci1yYW5nZT5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBERUNJTUFMIC0tPlxuPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlPVwiZGVmYXVsdFwiIHByb3BlcnR5VHlwZT1cImRlY2ltYWxcIiBsZXQtY3R4PlxuICBAaWYgKGN0eC5zaXR1YXRpb24gIT09ICdTRUFSQ0gnKSB7XG4gIDx5dXYtbnVtYmVyXG4gICAgICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgICAgICBbcHJlY2lzaW9uXT1cImN0eC5maWVsZC5wcmVjaXNpb25cIlxuICAgICAgICBbc2NhbGVdPVwiY3R4LmZpZWxkLnNjYWxlXCJcbiAgICAgICAgW2dyb3VwaW5nXT1cImN0eC5maWVsZC5ncm91cGluZ1wiXG4gICAgICAgIFtwYXR0ZXJuXT1cImN0eC5maWVsZC5wYXR0ZXJuXCJcbiAgICAgICAgW21pblZhbHVlXT1cImN0eC5maWVsZC5taW5WYWx1ZVwiXG4gICAgICAgIFttYXhWYWx1ZV09XCJjdHguZmllbGQubWF4VmFsdWVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgICAgIFthdHRyLmRhdGEtbmFtZV09XCJjdHguZmllbGQubmFtZVwiXG4gICAgICA+XG4gICAgICAgID5cbiAgICAgIDwveXV2LW51bWJlcj5cbiAgfSBAZWxzZSB7XG4gICAgPHl1di1udW1iZXItcmFuZ2VcbiAgICAgICAgW3JlYWRvbmx5XT1cImN0eC5maWVsZC5yZWFkb25seVwiXG4gICAgICAgIFtwcmVjaXNpb25dPVwiY3R4LmZpZWxkLnByZWNpc2lvblwiXG4gICAgICAgIFtzY2FsZV09XCJjdHguZmllbGQuc2NhbGVcIlxuICAgICAgICBbcGF0dGVybl09XCJjdHguZmllbGQucGF0dGVyblwiXG4gICAgICAgIFtncm91cGluZ109XCJjdHguZmllbGQuZ3JvdXBpbmdcIlxuICAgICAgICBbbWluVmFsdWVdPVwiY3R4LmZpZWxkLm1pblZhbHVlXCJcbiAgICAgICAgW21heFZhbHVlXT1cImN0eC5maWVsZC5tYXhWYWx1ZVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICAgICAgW2F0dHIuZGF0YS1uYW1lXT1cImN0eC5maWVsZC5uYW1lXCJcbiAgICAgID48L3l1di1udW1iZXItcmFuZ2U+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gQk9PTEVBTiAtLT5cbjxuZy10ZW1wbGF0ZSB5dXZNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZT1cImRlZmF1bHRcIiBwcm9wZXJ0eVR5cGU9XCJib29sZWFuXCIgbGV0LWN0eD5cbiAgPHl2Yy1jaGVja2JveFxuICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgIFtyZWFkb25seV09XCJjdHguZmllbGQucmVhZG9ubHlcIlxuICAgIFt0cmlzdGF0ZV09XCJjdHguZmllbGQudHJpc3RhdGUgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlXCJcbiAgPjwveXZjLWNoZWNrYm94PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBCT09MRUFOIFNXSVRDSCAtLT5cbjxuZy10ZW1wbGF0ZSB5dXZNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZT1cImRlZmF1bHRcIiBwcm9wZXJ0eVR5cGU9XCJib29sZWFuOnN3aXRjaFwiIGxldC1jdHg+XG4gIDx5dmMtY2hlY2tib3hcbiAgICBbZm9ybUNvbnRyb2xdPVwiY3R4Lm5nQ29udHJvbFwiXG4gICAgc3dpdGNoPVwidHJ1ZVwiXG4gICAgW2F0dHIuZGF0YS1uYW1lXT1cImN0eC5maWVsZC5uYW1lXCJcbiAgICBbcmVhZG9ubHldPVwiY3R4LmZpZWxkLnJlYWRvbmx5XCJcbiAgICBbdHJpc3RhdGVdPVwiY3R4LmZpZWxkLnRyaXN0YXRlID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZVwiXG4gID48L3l2Yy1jaGVja2JveD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSB5dXZNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZT1cImRlZmF1bHRcIiBwcm9wZXJ0eVR5cGU9XCJkYXRldGltZVwiIGxldC1jdHg+XG4gIEBpZiAoY3R4LnNpdHVhdGlvbiAhPT0gJ1NFQVJDSCcpIHtcbiAgICA8eXV2LWRhdGV0aW1lXG4gICAgW3JlYWRvbmx5XT1cImN0eC5maWVsZC5yZWFkb25seVwiXG4gICAgW3dpdGhUaW1lXT1cImN0eC5maWVsZC5yZXNvbHV0aW9uICE9PSAnZGF0ZSdcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjdHgubmdDb250cm9sXCJcbiAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgID48L3l1di1kYXRldGltZT4gXG4gIH0gQGVsc2Uge1xuICAgIDx5dXYtZGF0ZXRpbWUtcmFuZ2VcbiAgICAgICAgW3JlYWRvbmx5XT1cImN0eC5maWVsZC5yZWFkb25seVwiXG4gICAgICAgIFt3aXRoVGltZV09XCJjdHguZmllbGQucmVzb2x1dGlvbiAhPT0gJ2RhdGUnXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImN0eC5uZ0NvbnRyb2xcIlxuICAgICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiY3R4LmZpZWxkLm5hbWVcIlxuICAgICAgPjwveXV2LWRhdGV0aW1lLXJhbmdlPiBcbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Situation } from '@yuuvis/client-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Registration service for form elements rendered within an object form.
|
|
6
|
+
*/
|
|
7
|
+
export class MetadataFormElementRegistry {
|
|
8
|
+
constructor() {
|
|
9
|
+
this._defaults = {};
|
|
10
|
+
this._edit = {};
|
|
11
|
+
this._search = {};
|
|
12
|
+
this._create = {};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Get a template to render a certain form element
|
|
16
|
+
* @param propertyType The internal type to get the template for
|
|
17
|
+
* @param situation Form situation
|
|
18
|
+
* @returns TemplateRef or undefined
|
|
19
|
+
*/
|
|
20
|
+
getElementTemplate(propertyType, situation = Situation.EDIT) {
|
|
21
|
+
let cmps = { ...this._defaults, ...this._edit };
|
|
22
|
+
if (situation === Situation.SEARCH)
|
|
23
|
+
cmps = { ...this._defaults, ...this._edit, ...this._search };
|
|
24
|
+
else if (situation === Situation.CREATE)
|
|
25
|
+
cmps = { ...this._defaults, ...this._edit, ...this._create };
|
|
26
|
+
return cmps[propertyType];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Register an object form element for a certain internal type. You might add a new component
|
|
30
|
+
* or overwrite an existung one.
|
|
31
|
+
* @param propertyType The internal type to provide the component for
|
|
32
|
+
* @param component The component
|
|
33
|
+
* @param situation Form situation to provide thew form element for (defaults to EDIT)
|
|
34
|
+
*/
|
|
35
|
+
addElementTemplate(propertyType, templateRef, situation = Situation.EDIT) {
|
|
36
|
+
if (propertyType && templateRef) {
|
|
37
|
+
switch (situation) {
|
|
38
|
+
case Situation.SEARCH: {
|
|
39
|
+
this._search[propertyType] = templateRef;
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
case Situation.CREATE: {
|
|
43
|
+
this._create[propertyType] = templateRef;
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
default: {
|
|
47
|
+
this._edit[propertyType] = templateRef;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Remove a registered form element.
|
|
54
|
+
* @param propertyType The internal type to remove the component for
|
|
55
|
+
* @param situation Form situation to provide thew form element for (defaults to EDIT)
|
|
56
|
+
*/
|
|
57
|
+
removeElementTemplate(propertyType, situation = Situation.EDIT) {
|
|
58
|
+
switch (situation) {
|
|
59
|
+
case Situation.SEARCH: {
|
|
60
|
+
delete this._search[propertyType];
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
case Situation.CREATE: {
|
|
64
|
+
delete this._create[propertyType];
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
default: {
|
|
68
|
+
delete this._edit[propertyType];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Register default form element component. Usually this will be done by the object
|
|
74
|
+
* form component itself.
|
|
75
|
+
* @param propertyType The internal type to provide the component for
|
|
76
|
+
* @param component The default component
|
|
77
|
+
*/
|
|
78
|
+
_addDefaultElementTemplate(propertyType, templateRef) {
|
|
79
|
+
if (propertyType && templateRef) {
|
|
80
|
+
this._defaults[propertyType] = templateRef;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Remove a registered default form element.
|
|
85
|
+
* @param propertyType The internal type to remove the component for
|
|
86
|
+
*/
|
|
87
|
+
_removeDefaultElementTemplate(propertyType) {
|
|
88
|
+
delete this._defaults[propertyType];
|
|
89
|
+
}
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataFormElementRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataFormElementRegistry, providedIn: 'root' }); }
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataFormElementRegistry, decorators: [{
|
|
94
|
+
type: Injectable,
|
|
95
|
+
args: [{
|
|
96
|
+
providedIn: 'root'
|
|
97
|
+
}]
|
|
98
|
+
}] });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtZm9ybS1lbGVtZW50LXJlZ2lzdHJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL21ldGFkYXRhLWZvcm0vc3JjL2xpYi9tZXRhZGF0YS1mb3JtLWVsZW1lbnQtcmVnaXN0cnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFaEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sMkJBQTJCO0lBSHhDO1FBSVUsY0FBUyxHQUFpRCxFQUFFLENBQUM7UUFFN0QsVUFBSyxHQUFpRCxFQUFFLENBQUM7UUFDekQsWUFBTyxHQUFpRCxFQUFFLENBQUM7UUFDM0QsWUFBTyxHQUFpRCxFQUFFLENBQUM7S0FnRnBFO0lBOUVDOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsWUFBb0IsRUFBRSxZQUFvQixTQUFTLENBQUMsSUFBSTtRQUN6RSxJQUFJLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoRCxJQUFJLFNBQVMsS0FBSyxTQUFTLENBQUMsTUFBTTtZQUFFLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDNUYsSUFBSSxTQUFTLEtBQUssU0FBUyxDQUFDLE1BQU07WUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RHLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxrQkFBa0IsQ0FBQyxZQUFvQixFQUFFLFdBQTZCLEVBQUUsWUFBdUIsU0FBUyxDQUFDLElBQUk7UUFDM0csSUFBSSxZQUFZLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEMsUUFBUSxTQUFTLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxXQUFXLENBQUM7b0JBQ3pDLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsQ0FBQztvQkFDekMsTUFBTTtnQkFDUixDQUFDO2dCQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxXQUFXLENBQUM7Z0JBQ3pDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gscUJBQXFCLENBQUMsWUFBb0IsRUFBRSxZQUF1QixTQUFTLENBQUMsSUFBSTtRQUMvRSxRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbEMsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2xDLE1BQU07WUFDUixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCwwQkFBMEIsQ0FBQyxZQUFvQixFQUFFLFdBQTZCO1FBQzVFLElBQUksWUFBWSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsV0FBVyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNkJBQTZCLENBQUMsWUFBb0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7K0dBcEZVLDJCQUEyQjttSEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07OzRGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2l0dWF0aW9uIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5cbi8qKlxuICogUmVnaXN0cmF0aW9uIHNlcnZpY2UgZm9yIGZvcm0gZWxlbWVudHMgcmVuZGVyZWQgd2l0aGluIGFuIG9iamVjdCBmb3JtLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YUZvcm1FbGVtZW50UmVnaXN0cnkge1xuICBwcml2YXRlIF9kZWZhdWx0czogeyBbcHJvcGVydHlUeXBlOiBzdHJpbmddOiBUZW1wbGF0ZVJlZjxhbnk+IH0gPSB7fTtcblxuICBwcml2YXRlIF9lZGl0OiB7IFtwcm9wZXJ0eVR5cGU6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT4gfSA9IHt9O1xuICBwcml2YXRlIF9zZWFyY2g6IHsgW3Byb3BlcnR5VHlwZTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55PiB9ID0ge307XG4gIHByaXZhdGUgX2NyZWF0ZTogeyBbcHJvcGVydHlUeXBlOiBzdHJpbmddOiBUZW1wbGF0ZVJlZjxhbnk+IH0gPSB7fTtcblxuICAvKipcbiAgICogR2V0IGEgdGVtcGxhdGUgdG8gcmVuZGVyIGEgY2VydGFpbiBmb3JtIGVsZW1lbnRcbiAgICogQHBhcmFtIHByb3BlcnR5VHlwZSBUaGUgaW50ZXJuYWwgdHlwZSB0byBnZXQgdGhlIHRlbXBsYXRlIGZvclxuICAgKiBAcGFyYW0gc2l0dWF0aW9uIEZvcm0gc2l0dWF0aW9uXG4gICAqIEByZXR1cm5zIFRlbXBsYXRlUmVmIG9yIHVuZGVmaW5lZFxuICAgKi9cbiAgZ2V0RWxlbWVudFRlbXBsYXRlKHByb3BlcnR5VHlwZTogc3RyaW5nLCBzaXR1YXRpb246IHN0cmluZyA9IFNpdHVhdGlvbi5FRElUKTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGNtcHMgPSB7IC4uLnRoaXMuX2RlZmF1bHRzLCAuLi50aGlzLl9lZGl0IH07XG4gICAgaWYgKHNpdHVhdGlvbiA9PT0gU2l0dWF0aW9uLlNFQVJDSCkgY21wcyA9IHsgLi4udGhpcy5fZGVmYXVsdHMsIC4uLnRoaXMuX2VkaXQsIC4uLnRoaXMuX3NlYXJjaCB9O1xuICAgIGVsc2UgaWYgKHNpdHVhdGlvbiA9PT0gU2l0dWF0aW9uLkNSRUFURSkgY21wcyA9IHsgLi4udGhpcy5fZGVmYXVsdHMsIC4uLnRoaXMuX2VkaXQsIC4uLnRoaXMuX2NyZWF0ZSB9O1xuICAgIHJldHVybiBjbXBzW3Byb3BlcnR5VHlwZV07XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgYW4gb2JqZWN0IGZvcm0gZWxlbWVudCBmb3IgYSBjZXJ0YWluIGludGVybmFsIHR5cGUuIFlvdSBtaWdodCBhZGQgYSBuZXcgY29tcG9uZW50XG4gICAqIG9yIG92ZXJ3cml0ZSBhbiBleGlzdHVuZyBvbmUuXG4gICAqIEBwYXJhbSBwcm9wZXJ0eVR5cGUgVGhlIGludGVybmFsIHR5cGUgdG8gcHJvdmlkZSB0aGUgY29tcG9uZW50IGZvclxuICAgKiBAcGFyYW0gY29tcG9uZW50IFRoZSBjb21wb25lbnRcbiAgICogQHBhcmFtIHNpdHVhdGlvbiBGb3JtIHNpdHVhdGlvbiB0byBwcm92aWRlIHRoZXcgZm9ybSBlbGVtZW50IGZvciAoZGVmYXVsdHMgdG8gRURJVClcbiAgICovXG4gIGFkZEVsZW1lbnRUZW1wbGF0ZShwcm9wZXJ0eVR5cGU6IHN0cmluZywgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sIHNpdHVhdGlvbjogU2l0dWF0aW9uID0gU2l0dWF0aW9uLkVESVQpOiB2b2lkIHtcbiAgICBpZiAocHJvcGVydHlUeXBlICYmIHRlbXBsYXRlUmVmKSB7XG4gICAgICBzd2l0Y2ggKHNpdHVhdGlvbikge1xuICAgICAgICBjYXNlIFNpdHVhdGlvbi5TRUFSQ0g6IHtcbiAgICAgICAgICB0aGlzLl9zZWFyY2hbcHJvcGVydHlUeXBlXSA9IHRlbXBsYXRlUmVmO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgU2l0dWF0aW9uLkNSRUFURToge1xuICAgICAgICAgIHRoaXMuX2NyZWF0ZVtwcm9wZXJ0eVR5cGVdID0gdGVtcGxhdGVSZWY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHRoaXMuX2VkaXRbcHJvcGVydHlUeXBlXSA9IHRlbXBsYXRlUmVmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIHJlZ2lzdGVyZWQgZm9ybSBlbGVtZW50LlxuICAgKiBAcGFyYW0gcHJvcGVydHlUeXBlIFRoZSBpbnRlcm5hbCB0eXBlIHRvIHJlbW92ZSB0aGUgY29tcG9uZW50IGZvclxuICAgKiBAcGFyYW0gc2l0dWF0aW9uIEZvcm0gc2l0dWF0aW9uIHRvIHByb3ZpZGUgdGhldyBmb3JtIGVsZW1lbnQgZm9yIChkZWZhdWx0cyB0byBFRElUKVxuICAgKi9cbiAgcmVtb3ZlRWxlbWVudFRlbXBsYXRlKHByb3BlcnR5VHlwZTogc3RyaW5nLCBzaXR1YXRpb246IFNpdHVhdGlvbiA9IFNpdHVhdGlvbi5FRElUKSB7XG4gICAgc3dpdGNoIChzaXR1YXRpb24pIHtcbiAgICAgIGNhc2UgU2l0dWF0aW9uLlNFQVJDSDoge1xuICAgICAgICBkZWxldGUgdGhpcy5fc2VhcmNoW3Byb3BlcnR5VHlwZV07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTaXR1YXRpb24uQ1JFQVRFOiB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLl9jcmVhdGVbcHJvcGVydHlUeXBlXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLl9lZGl0W3Byb3BlcnR5VHlwZV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGRlZmF1bHQgZm9ybSBlbGVtZW50IGNvbXBvbmVudC4gVXN1YWxseSB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgb2JqZWN0XG4gICAqIGZvcm0gY29tcG9uZW50IGl0c2VsZi5cbiAgICogQHBhcmFtIHByb3BlcnR5VHlwZSBUaGUgaW50ZXJuYWwgdHlwZSB0byBwcm92aWRlIHRoZSBjb21wb25lbnQgZm9yXG4gICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGRlZmF1bHQgY29tcG9uZW50XG4gICAqL1xuICBfYWRkRGVmYXVsdEVsZW1lbnRUZW1wbGF0ZShwcm9wZXJ0eVR5cGU6IHN0cmluZywgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcbiAgICBpZiAocHJvcGVydHlUeXBlICYmIHRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLl9kZWZhdWx0c1twcm9wZXJ0eVR5cGVdID0gdGVtcGxhdGVSZWY7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIHJlZ2lzdGVyZWQgZGVmYXVsdCBmb3JtIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBwcm9wZXJ0eVR5cGUgVGhlIGludGVybmFsIHR5cGUgdG8gcmVtb3ZlIHRoZSBjb21wb25lbnQgZm9yXG4gICAqL1xuICBfcmVtb3ZlRGVmYXVsdEVsZW1lbnRUZW1wbGF0ZShwcm9wZXJ0eVR5cGU6IHN0cmluZykge1xuICAgIGRlbGV0ZSB0aGlzLl9kZWZhdWx0c1twcm9wZXJ0eVR5cGVdO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { Component, effect, inject, input, signal, untracked, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { Situation, SystemService, TranslateService, Utils } from '@yuuvis/client-core';
|
|
4
|
+
import { injectNgControl, NoopValueAccessorDirective } from '@yuuvis/client-framework/common';
|
|
5
|
+
import { FormInputComponent } from '@yuuvis/client-framework/forms';
|
|
6
|
+
import { MetadataFormElementRegistry } from '../metadata-form-element-registry.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@yuuvis/client-framework/common";
|
|
9
|
+
export class MetadataFormFieldComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.#registry = inject(MetadataFormElementRegistry);
|
|
12
|
+
this.#system = inject(SystemService);
|
|
13
|
+
this.translate = inject(TranslateService);
|
|
14
|
+
this._subs = [];
|
|
15
|
+
this.ngControl = injectNgControl();
|
|
16
|
+
this.elementTemplate = signal(undefined);
|
|
17
|
+
this.errors = null;
|
|
18
|
+
this.label = '';
|
|
19
|
+
this.readonly = false;
|
|
20
|
+
this.formField = input.required({ alias: 'field' });
|
|
21
|
+
this.#fieldEffect = effect(() => {
|
|
22
|
+
const field = this.formField();
|
|
23
|
+
untracked(() => {
|
|
24
|
+
this.elementTemplate.set(this.#registry.getElementTemplate(field._internalType, this.situation()));
|
|
25
|
+
this.label = this.#system.getLocalizedLabel(field.name) || field.name;
|
|
26
|
+
// TODO: set readonly state based on ...????... schema?
|
|
27
|
+
this.readonly = false;
|
|
28
|
+
this.ngControl.statusChanges;
|
|
29
|
+
this.fetchTags();
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
/**
|
|
33
|
+
* Form situation, if not set default will be 'EDIT'
|
|
34
|
+
*/
|
|
35
|
+
this.situation = input(Situation.EDIT);
|
|
36
|
+
}
|
|
37
|
+
#registry;
|
|
38
|
+
#system;
|
|
39
|
+
#fieldEffect;
|
|
40
|
+
fetchTags() {
|
|
41
|
+
this.tag = undefined;
|
|
42
|
+
if (this.situation() === Situation.CREATE &&
|
|
43
|
+
(Utils.hasProperty(this.formField(), 'defaultvaluefunction') || Utils.hasProperty(this.formField(), 'defaultvalue'))) {
|
|
44
|
+
this.tag =
|
|
45
|
+
this.formField().defaultvaluefunction === 'EXTRACTION'
|
|
46
|
+
? {
|
|
47
|
+
label: 'ex',
|
|
48
|
+
title: this.translate.instant('yuv.object-form-element.tag.ex')
|
|
49
|
+
}
|
|
50
|
+
: {
|
|
51
|
+
label: 'df',
|
|
52
|
+
title: this.translate.instant('yuv.object-form-element.tag.df')
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
_getErrorLabel(error, params) {
|
|
57
|
+
switch (error) {
|
|
58
|
+
case 'daterange':
|
|
59
|
+
return this.translate.instant('yuv.object-form-element.error.daterange.invalid', params);
|
|
60
|
+
case 'daterangeorder':
|
|
61
|
+
return this.translate.instant('yuv.object-form-element.error.daterangeorder.invalid', params);
|
|
62
|
+
case 'numberrange':
|
|
63
|
+
return this.translate.instant('yuv.object-form-element.error.numberrange.invalid', params);
|
|
64
|
+
case 'numberrangeorder':
|
|
65
|
+
return this.translate.instant('yuv.object-form-element.error.numberrangeorder.invalid', params);
|
|
66
|
+
case 'number':
|
|
67
|
+
return this.translate.instant('yuv.object-form-element.error.number', params);
|
|
68
|
+
case 'precision':
|
|
69
|
+
return this.translate.instant('yuv.object-form-element.error.number.precision', params);
|
|
70
|
+
case 'scale':
|
|
71
|
+
return this.translate.instant('yuv.object-form-element.error.number.scale', params);
|
|
72
|
+
case 'regex':
|
|
73
|
+
return this.translate.instant('yuv.object-form-element.error.string.regex.nomatch', params);
|
|
74
|
+
case 'pattern':
|
|
75
|
+
return this.translate.instant('yuv.object-form-element.error.string.regex.nomatch', params);
|
|
76
|
+
case 'classificationemail':
|
|
77
|
+
return this.translate.instant('yuv.object-form-element.error.string.classification.email', params);
|
|
78
|
+
case 'classificationphone':
|
|
79
|
+
return this.translate.instant('yuv.object-form-element.error.string.classification.phone', params);
|
|
80
|
+
case 'classificationurl':
|
|
81
|
+
return this.translate.instant('yuv.object-form-element.error.string.classification.url', params);
|
|
82
|
+
case 'onlyWhitespaces':
|
|
83
|
+
return this.translate.instant('yuv.object-form-element.error.string.whitespaces', params);
|
|
84
|
+
case 'datecontrol':
|
|
85
|
+
return this.translate.instant('yuv.object-form-element.error.date.invalid', params);
|
|
86
|
+
case 'required':
|
|
87
|
+
return this.translate.instant('yuv.object-form-element.error.required', params);
|
|
88
|
+
case 'maxlength':
|
|
89
|
+
return this.translate.instant('yuv.object-form-element.error.maxlength', params);
|
|
90
|
+
case 'minlength':
|
|
91
|
+
return this.translate.instant('yuv.object-form-element.error.minlength', params);
|
|
92
|
+
case 'minmax':
|
|
93
|
+
return this.translate.instant('yuv.object-form-element.error.minmax', params);
|
|
94
|
+
case 'minvalue':
|
|
95
|
+
return this.translate.instant('yuv.object-form-element.error.minvalue', params);
|
|
96
|
+
case 'maxvalue':
|
|
97
|
+
return this.translate.instant('yuv.object-form-element.error.maxvalue', params);
|
|
98
|
+
case 'empty':
|
|
99
|
+
return this.translate.instant('yuv.object-form-element.recent-activities.list.empty', params);
|
|
100
|
+
default:
|
|
101
|
+
return this.translate.instant(error, params);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
ngOnInit() {
|
|
105
|
+
if (this.ngControl.statusChanges)
|
|
106
|
+
this._subs.push(this.ngControl.statusChanges.subscribe(() => {
|
|
107
|
+
this.errors = this.ngControl.control.errors
|
|
108
|
+
? Object.keys(this.ngControl.control.errors).map((key) => {
|
|
109
|
+
return this.ngControl.control.errors ? this._getErrorLabel(key, this.ngControl.control.errors[key].params) : null;
|
|
110
|
+
})
|
|
111
|
+
: null;
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
ngOnDestroy() {
|
|
115
|
+
this._subs.forEach((s) => s.unsubscribe());
|
|
116
|
+
}
|
|
117
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MetadataFormFieldComponent, isStandalone: true, selector: "yuv-metadata-form-field", inputs: { formField: { classPropertyName: "formField", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "yuv-metadata-form-field" }, hostDirectives: [{ directive: i1.NoopValueAccessorDirective }], ngImport: i0, template: "@let field = formField();\n@if (field) {\n @let et = elementTemplate();\n <div class=\"form-field t-{{ field._internalType }}\" #formField [attr.data-name]=\"field.name\" [ngClass]=\"{ disabled: !!readonly }\">\n @if (et) {\n <yuv-form-input\n [ngClass]=\"{ checkbox: field._internalType === 'boolean' }\"\n [tag]=\"tag\"\n [label]=\"label\"\n [required]=\"field.required\"\n [invalid]=\"!!errors\"\n [disabled]=\"readonly\"\n >\n <ng-container *ngTemplateOutlet=\"et; context: { $implicit: { situation: situation(), ngControl: ngControl.control, field } }\"></ng-container>\n </yuv-form-input>\n } @else {\n <em>\n <strong>{{ field._internalType }}</strong>\n </em>\n }\n\n <!-- the fields description -->\n @if (field.description) {\n <div class=\"description\">\n {{ field.description }}\n </div>\n }\n\n <!-- error/validation messages -->\n @if (errors) {\n <div class=\"err-msg\">\n <div>{{ errors[errors['length'] - 1] }}</div>\n </div>\n }\n </div>\n}\n", styles: [".yuv-metadata-form-field{display:inline-block}.yuv-metadata-form-field .form-field{margin-block-end:1px;border-radius:.25em}.yuv-metadata-form-field .form-field .description{border:0;font-size:var(--font-hint);color:var(--text-color-caption);font-style:italic;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8)}.yuv-metadata-form-field .form-field .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}.yuv-metadata-form-field .form-field .table{flex-flow:column;align-items:flex-start;border:1px solid var(--panel-divider-color)}.yuv-metadata-form-field .form-field .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.yuv-metadata-form-field .form-field .table.invalid{border:1px solid var(--color-error)}.yuv-metadata-form-field .form-field.inlineError .err-msg{display:none}.yuv-metadata-form-field.ng-dirty:not(.ng-invalid)>.form-field:not(.focused) .fe-wrapper>label{background-color:var(--color-dirty-background);color:var(--color-dirty-font)!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FormInputComponent, selector: "yuv-form-input", inputs: ["label", "tag", "description", "invalid", "disabled", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
119
|
+
}
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataFormFieldComponent, decorators: [{
|
|
121
|
+
type: Component,
|
|
122
|
+
args: [{ selector: 'yuv-metadata-form-field', standalone: true, imports: [NgClass, NgTemplateOutlet, FormInputComponent], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, host: {
|
|
123
|
+
class: 'yuv-metadata-form-field'
|
|
124
|
+
}, template: "@let field = formField();\n@if (field) {\n @let et = elementTemplate();\n <div class=\"form-field t-{{ field._internalType }}\" #formField [attr.data-name]=\"field.name\" [ngClass]=\"{ disabled: !!readonly }\">\n @if (et) {\n <yuv-form-input\n [ngClass]=\"{ checkbox: field._internalType === 'boolean' }\"\n [tag]=\"tag\"\n [label]=\"label\"\n [required]=\"field.required\"\n [invalid]=\"!!errors\"\n [disabled]=\"readonly\"\n >\n <ng-container *ngTemplateOutlet=\"et; context: { $implicit: { situation: situation(), ngControl: ngControl.control, field } }\"></ng-container>\n </yuv-form-input>\n } @else {\n <em>\n <strong>{{ field._internalType }}</strong>\n </em>\n }\n\n <!-- the fields description -->\n @if (field.description) {\n <div class=\"description\">\n {{ field.description }}\n </div>\n }\n\n <!-- error/validation messages -->\n @if (errors) {\n <div class=\"err-msg\">\n <div>{{ errors[errors['length'] - 1] }}</div>\n </div>\n }\n </div>\n}\n", styles: [".yuv-metadata-form-field{display:inline-block}.yuv-metadata-form-field .form-field{margin-block-end:1px;border-radius:.25em}.yuv-metadata-form-field .form-field .description{border:0;font-size:var(--font-hint);color:var(--text-color-caption);font-style:italic;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8)}.yuv-metadata-form-field .form-field .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}.yuv-metadata-form-field .form-field .table{flex-flow:column;align-items:flex-start;border:1px solid var(--panel-divider-color)}.yuv-metadata-form-field .form-field .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.yuv-metadata-form-field .form-field .table.invalid{border:1px solid var(--color-error)}.yuv-metadata-form-field .form-field.inlineError .err-msg{display:none}.yuv-metadata-form-field.ng-dirty:not(.ng-invalid)>.form-field:not(.focused) .fe-wrapper>label{background-color:var(--color-dirty-background);color:var(--color-dirty-font)!important}\n"] }]
|
|
125
|
+
}] });
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL21ldGFkYXRhLWZvcm0vc3JjL2xpYi9tZXRhZGF0YS1mb3JtLWZpZWxkL21ldGFkYXRhLWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvbWV0YWRhdGEtZm9ybS1maWVsZC9tZXRhZGF0YS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBbUIsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQWN4RixNQUFNLE9BQU8sMEJBQTBCO0lBWnZDO1FBYVcsY0FBUyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2hELFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxD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QyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDckQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNwSCxDQUFDLENBQUM7b0JBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDOytHQTNIVSwwQkFBMEI7bUdBQTFCLDBCQUEwQix1ZENyQnZDLG1sQ0FvQ0EsZ29DRHhCWSxPQUFPLG9GQUFFLGdCQUFnQixvSkFBRSxrQkFBa0I7OzRGQVM1QywwQkFBMEI7a0JBWnRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxrQkFHeEMsQ0FBQywwQkFBMEIsQ0FBQyxpQkFDN0IsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUseUJBQXlCO3FCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBzaWduYWwsIFRlbXBsYXRlUmVmLCB1bnRyYWNrZWQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JqZWN0VHlwZUZpZWxkLCBTaXR1YXRpb24sIFN5c3RlbVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsIFV0aWxzIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROZ0NvbnRyb2wsIE5vb3BWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNZXRhZGF0YUZvcm1FbGVtZW50UmVnaXN0cnkgfSBmcm9tICcuLi9tZXRhZGF0YS1mb3JtLWVsZW1lbnQtcmVnaXN0cnkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1tZXRhZGF0YS1mb3JtLWZpZWxkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIEZvcm1JbnB1dENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21ldGFkYXRhLWZvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnLFxuICBob3N0RGlyZWN0aXZlczogW05vb3BWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAneXV2LW1ldGFkYXRhLWZvcm0tZmllbGQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5ICNyZWdpc3RyeSA9IGluamVjdChNZXRhZGF0YUZvcm1FbGVtZW50UmVnaXN0cnkpO1xuICByZWFkb25seSAjc3lzdGVtID0gaW5qZWN0KFN5c3RlbVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBuZ0NvbnRyb2wgPSBpbmplY3ROZ0NvbnRyb2woKTtcbiAgZWxlbWVudFRlbXBsYXRlID0gc2lnbmFsPFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuICBsYWJlbCA9ICcnO1xuICByZWFkb25seSA9IGZhbHNlO1xuICB0YWc6XG4gICAgfCB7XG4gICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2ZpZWxkITogT2JqZWN0VHlwZUZpZWxkO1xuXG4gIGZvcm1GaWVsZCA9IGlucHV0LnJlcXVpcmVkPE9iamVjdFR5cGVGaWVsZD4oeyBhbGlhczogJ2ZpZWxkJyB9KTtcblxuICAjZmllbGRFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5mb3JtRmllbGQoKTtcblxuICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICB0aGlzLmVsZW1lbnRUZW1wbGF0ZS5zZXQodGhpcy4jcmVnaXN0cnkuZ2V0RWxlbWVudFRlbXBsYXRlKGZpZWxkLl9pbnRlcm5hbFR5cGUsIHRoaXMuc2l0dWF0aW9uKCkpKTtcbiAgICAgIHRoaXMubGFiZWwgPSB0aGlzLiNzeXN0ZW0uZ2V0TG9jYWxpemVkTGFiZWwoZmllbGQubmFtZSkgfHwgZmllbGQubmFtZTtcblxuICAgICAgLy8gVE9ETzogc2V0IHJlYWRvbmx5IHN0YXRlIGJhc2VkIG9uIC4uLj8/Pz8uLi4gc2NoZW1hP1xuICAgICAgdGhpcy5yZWFkb25seSA9IGZhbHNlO1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcztcbiAgICAgIHRoaXMuZmV0Y2hUYWdzKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBGb3JtIHNpdHVhdGlvbiwgaWYgbm90IHNldCBkZWZhdWx0IHdpbGwgYmUgJ0VESVQnXG4gICAqL1xuICBzaXR1YXRpb24gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KFNpdHVhdGlvbi5FRElUKTtcblxuICBmZXRjaFRhZ3MoKSB7XG4gICAgdGhpcy50YWcgPSB1bmRlZmluZWQ7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zaXR1YXRpb24oKSA9PT0gU2l0dWF0aW9uLkNSRUFURSAmJlxuICAgICAgKFV0aWxzLmhhc1Byb3BlcnR5KHRoaXMuZm9ybUZpZWxkKCksICdkZWZhdWx0dmFsdWVmdW5jdGlvbicpIHx8IFV0aWxzLmhhc1Byb3BlcnR5KHRoaXMuZm9ybUZpZWxkKCksICdkZWZhdWx0dmFsdWUnKSlcbiAgICApIHtcbiAgICAgIHRoaXMudGFnID1cbiAgICAgICAgKHRoaXMuZm9ybUZpZWxkKCkgYXMgYW55KS5kZWZhdWx0dmFsdWVmdW5jdGlvbiA9PT0gJ0VYVFJBQ1RJT04nXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnZXgnLFxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQudGFnLmV4JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgbGFiZWw6ICdkZicsXG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC50YWcuZGYnKVxuICAgICAgICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRFcnJvckxhYmVsKGVycm9yOiBzdHJpbmcsIHBhcmFtcz86IGFueSkge1xuICAgIHN3aXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhc2UgJ2RhdGVyYW5nZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5kYXRlcmFuZ2UuaW52YWxpZCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdkYXRlcmFuZ2VvcmRlcic6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5kYXRlcmFuZ2VvcmRlci5pbnZhbGlkJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ251bWJlcnJhbmdlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm51bWJlcnJhbmdlLmludmFsaWQnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnbnVtYmVycmFuZ2VvcmRlcic6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5udW1iZXJyYW5nZW9yZGVyLmludmFsaWQnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm51bWJlcicsIHBhcmFtcyk7XG4gICAgICBjYXNlICdwcmVjaXNpb24nOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IubnVtYmVyLnByZWNpc2lvbicsIHBhcmFtcyk7XG4gICAgICBjYXNlICdzY2FsZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5udW1iZXIuc2NhbGUnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAncmVnZXgnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3Iuc3RyaW5nLnJlZ2V4Lm5vbWF0Y2gnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAncGF0dGVybic6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5zdHJpbmcucmVnZXgubm9tYXRjaCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdjbGFzc2lmaWNhdGlvbmVtYWlsJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLnN0cmluZy5jbGFzc2lmaWNhdGlvbi5lbWFpbCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdjbGFzc2lmaWNhdGlvbnBob25lJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLnN0cmluZy5jbGFzc2lmaWNhdGlvbi5waG9uZScsIHBhcmFtcyk7XG4gICAgICBjYXNlICdjbGFzc2lmaWNhdGlvbnVybCc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5zdHJpbmcuY2xhc3NpZmljYXRpb24udXJsJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ29ubHlXaGl0ZXNwYWNlcyc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5zdHJpbmcud2hpdGVzcGFjZXMnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnZGF0ZWNvbnRyb2wnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IuZGF0ZS5pbnZhbGlkJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLnJlcXVpcmVkJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ21heGxlbmd0aCc6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYub2JqZWN0LWZvcm0tZWxlbWVudC5lcnJvci5tYXhsZW5ndGgnLCBwYXJhbXMpO1xuICAgICAgY2FzZSAnbWlubGVuZ3RoJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm1pbmxlbmd0aCcsIHBhcmFtcyk7XG4gICAgICBjYXNlICdtaW5tYXgnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2Lm9iamVjdC1mb3JtLWVsZW1lbnQuZXJyb3IubWlubWF4JywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ21pbnZhbHVlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm1pbnZhbHVlJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ21heHZhbHVlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LmVycm9yLm1heHZhbHVlJywgcGFyYW1zKTtcbiAgICAgIGNhc2UgJ2VtcHR5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtZm9ybS1lbGVtZW50LnJlY2VudC1hY3Rpdml0aWVzLmxpc3QuZW1wdHknLCBwYXJhbXMpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZXJyb3IsIHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXMpXG4gICAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICAgIHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9ycyA9IHRoaXMubmdDb250cm9sLmNvbnRyb2wuZXJyb3JzXG4gICAgICAgICAgICA/IE9iamVjdC5rZXlzKHRoaXMubmdDb250cm9sLmNvbnRyb2wuZXJyb3JzKS5tYXAoKGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5jb250cm9sLmVycm9ycyA/IHRoaXMuX2dldEVycm9yTGFiZWwoa2V5LCB0aGlzLm5nQ29udHJvbC5jb250cm9sLmVycm9yc1trZXldLnBhcmFtcykgOiBudWxsO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxufVxuIiwiQGxldCBmaWVsZCA9IGZvcm1GaWVsZCgpO1xuQGlmIChmaWVsZCkge1xuICBAbGV0IGV0ID0gZWxlbWVudFRlbXBsYXRlKCk7XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkIHQte3sgZmllbGQuX2ludGVybmFsVHlwZSB9fVwiICNmb3JtRmllbGQgW2F0dHIuZGF0YS1uYW1lXT1cImZpZWxkLm5hbWVcIiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAhIXJlYWRvbmx5IH1cIj5cbiAgICBAaWYgKGV0KSB7XG4gICAgICA8eXV2LWZvcm0taW5wdXRcbiAgICAgICAgW25nQ2xhc3NdPVwieyBjaGVja2JveDogZmllbGQuX2ludGVybmFsVHlwZSA9PT0gJ2Jvb2xlYW4nIH1cIlxuICAgICAgICBbdGFnXT1cInRhZ1wiXG4gICAgICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZFwiXG4gICAgICAgIFtpbnZhbGlkXT1cIiEhZXJyb3JzXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImV0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogeyBzaXR1YXRpb246IHNpdHVhdGlvbigpLCBuZ0NvbnRyb2w6IG5nQ29udHJvbC5jb250cm9sLCBmaWVsZCB9IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwveXV2LWZvcm0taW5wdXQ+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZW0+XG4gICAgICAgIDxzdHJvbmc+e3sgZmllbGQuX2ludGVybmFsVHlwZSB9fTwvc3Ryb25nPlxuICAgICAgPC9lbT5cbiAgICB9XG5cbiAgICA8IS0tIHRoZSBmaWVsZHMgZGVzY3JpcHRpb24gLS0+XG4gICAgQGlmIChmaWVsZC5kZXNjcmlwdGlvbikge1xuICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgIHt7IGZpZWxkLmRlc2NyaXB0aW9uIH19XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8IS0tIGVycm9yL3ZhbGlkYXRpb24gbWVzc2FnZXMgLS0+XG4gICAgQGlmIChlcnJvcnMpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCI+XG4gICAgICAgIDxkaXY+e3sgZXJyb3JzW2Vycm9yc1snbGVuZ3RoJ10gLSAxXSB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Directive, Input, TemplateRef, inject } from '@angular/core';
|
|
2
|
+
import { Situation } from '@yuuvis/client-core';
|
|
3
|
+
import { MetadataFormElementRegistry } from './metadata-form-element-registry.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Directive to be applied to a `ng-template`. It will register the template as a
|
|
7
|
+
* form element used by object-form component.
|
|
8
|
+
*
|
|
9
|
+
* Context is provided with the following fields:
|
|
10
|
+
* - situation: form situation 'EDIT', 'CREATE', 'SEARCH'
|
|
11
|
+
* - field: ObjectTypeField
|
|
12
|
+
* - ngControl: Reactive FormControl
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <ng-template yuvMetadataElementTemplate propertyType="boolean:switch" let-ctx>...</ng-template>
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
export class MetadataElementTemplateDirective {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.registry = inject(MetadataFormElementRegistry);
|
|
21
|
+
this.template = inject((TemplateRef));
|
|
22
|
+
this.situation = Situation.EDIT;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
if (this.yuvMetadataElementTemplate === 'default')
|
|
26
|
+
this.registry._addDefaultElementTemplate(this.propertyType, this.template);
|
|
27
|
+
else
|
|
28
|
+
this.registry.addElementTemplate(this.propertyType, this.template, this.situation);
|
|
29
|
+
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
if (this.yuvMetadataElementTemplate === 'default')
|
|
32
|
+
this.registry._removeDefaultElementTemplate(this.propertyType);
|
|
33
|
+
else
|
|
34
|
+
this.registry.removeElementTemplate(this.propertyType, this.situation);
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataElementTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
37
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MetadataElementTemplateDirective, isStandalone: true, selector: "[yuvMetadataElementTemplate]", inputs: { yuvMetadataElementTemplate: "yuvMetadataElementTemplate", propertyType: "propertyType", situation: "situation" }, ngImport: i0 }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataElementTemplateDirective, decorators: [{
|
|
40
|
+
type: Directive,
|
|
41
|
+
args: [{
|
|
42
|
+
selector: '[yuvMetadataElementTemplate]',
|
|
43
|
+
standalone: true,
|
|
44
|
+
}]
|
|
45
|
+
}], propDecorators: { yuvMetadataElementTemplate: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], propertyType: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], situation: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}] } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1ldGFkYXRhLWVsZW1lbnQtdGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtL3NyYy9saWIvb2JqZWN0LW1ldGFkYXRhLWVsZW1lbnQtdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFFdkY7Ozs7Ozs7Ozs7OztHQVlHO0FBS0gsTUFBTSxPQUFPLGdDQUFnQztJQUo3QztRQUtVLGFBQVEsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUMvQyxhQUFRLEdBQUcsTUFBTSxDQUFDLENBQUEsV0FBZ0IsQ0FBQSxDQUFDLENBQUM7UUFJbkMsY0FBUyxHQUFjLFNBQVMsQ0FBQyxJQUFJLENBQUM7S0FXaEQ7SUFUQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsMEJBQTBCLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7O1lBQ3pILElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLDBCQUEwQixLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7WUFDN0csSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5RSxDQUFDOytHQWhCVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQzs7NEZBQWhDLGdDQUFnQztrQkFKNUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBS1UsMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaXR1YXRpb24gfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IE1ldGFkYXRhRm9ybUVsZW1lbnRSZWdpc3RyeSB9IGZyb20gJy4vbWV0YWRhdGEtZm9ybS1lbGVtZW50LXJlZ2lzdHJ5LnNlcnZpY2UnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBiZSBhcHBsaWVkIHRvIGEgYG5nLXRlbXBsYXRlYC4gSXQgd2lsbCByZWdpc3RlciB0aGUgdGVtcGxhdGUgYXMgYVxuICogZm9ybSBlbGVtZW50IHVzZWQgYnkgb2JqZWN0LWZvcm0gY29tcG9uZW50LlxuICpcbiAqIENvbnRleHQgaXMgcHJvdmlkZWQgd2l0aCB0aGUgZm9sbG93aW5nIGZpZWxkczpcbiAqIC0gc2l0dWF0aW9uOiBmb3JtIHNpdHVhdGlvbiAnRURJVCcsICdDUkVBVEUnLCAnU0VBUkNIJ1xuICogLSBmaWVsZDogT2JqZWN0VHlwZUZpZWxkXG4gKiAtIG5nQ29udHJvbDogUmVhY3RpdmUgRm9ybUNvbnRyb2xcbiAqXG4gKiBAZXhhbXBsZVxuICogPG5nLXRlbXBsYXRlIHl1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlIHByb3BlcnR5VHlwZT1cImJvb2xlYW46c3dpdGNoXCIgbGV0LWN0eD4uLi48L25nLXRlbXBsYXRlPlxuICpcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3l1dk1ldGFkYXRhRWxlbWVudFRlbXBsYXRlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhRWxlbWVudFRlbXBsYXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlZ2lzdHJ5ID0gaW5qZWN0KE1ldGFkYXRhRm9ybUVsZW1lbnRSZWdpc3RyeSk7XG4gIHByaXZhdGUgdGVtcGxhdGUgPSBpbmplY3QoVGVtcGxhdGVSZWY8YW55Pik7XG5cbiAgQElucHV0KCkgeXV2TWV0YWRhdGFFbGVtZW50VGVtcGxhdGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByb3BlcnR5VHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgc2l0dWF0aW9uOiBTaXR1YXRpb24gPSBTaXR1YXRpb24uRURJVDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy55dXZNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZSA9PT0gJ2RlZmF1bHQnKSB0aGlzLnJlZ2lzdHJ5Ll9hZGREZWZhdWx0RWxlbWVudFRlbXBsYXRlKHRoaXMucHJvcGVydHlUeXBlLCB0aGlzLnRlbXBsYXRlKTtcbiAgICBlbHNlIHRoaXMucmVnaXN0cnkuYWRkRWxlbWVudFRlbXBsYXRlKHRoaXMucHJvcGVydHlUeXBlLCB0aGlzLnRlbXBsYXRlLCB0aGlzLnNpdHVhdGlvbik7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy55dXZNZXRhZGF0YUVsZW1lbnRUZW1wbGF0ZSA9PT0gJ2RlZmF1bHQnKSB0aGlzLnJlZ2lzdHJ5Ll9yZW1vdmVEZWZhdWx0RWxlbWVudFRlbXBsYXRlKHRoaXMucHJvcGVydHlUeXBlKTtcbiAgICBlbHNlIHRoaXMucmVnaXN0cnkucmVtb3ZlRWxlbWVudFRlbXBsYXRlKHRoaXMucHJvcGVydHlUeXBlLCB0aGlzLnNpdHVhdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWNsaWVudC1mcmFtZXdvcmstbWV0YWRhdGEtZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvbWV0YWRhdGEtZm9ybS9zcmMveXV1dmlzLWNsaWVudC1mcmFtZXdvcmstbWV0YWRhdGEtZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './lib/object-details.component';
|
|
2
|
+
export * from './lib/object-metadata/form-section-group.pipe';
|
|
3
|
+
export * from './lib/object-metadata/object-metadata.interface';
|
|
4
|
+
export * from './lib/object-audit/object-audit.component';
|
|
5
|
+
export * from './lib/object-metadata/object-metadata.component';
|
|
6
|
+
export * from './lib/object-details-shell/object-details-shell.component';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1kZXRhaWxzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL29iamVjdC1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9vYmplY3QtbWV0YWRhdGEvZm9ybS1zZWN0aW9uLWdyb3VwLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb2JqZWN0LW1ldGFkYXRhL29iamVjdC1tZXRhZGF0YS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb2JqZWN0LWF1ZGl0L29iamVjdC1hdWRpdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb2JqZWN0LW1ldGFkYXRhL29iamVjdC1tZXRhZGF0YS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb2JqZWN0LWRldGFpbHMtc2hlbGwvb2JqZWN0LWRldGFpbHMtc2hlbGwuY29tcG9uZW50JztcbiJdfQ==
|