@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,195 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, computed, effect, input, signal } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms';
|
|
5
|
+
import { RouterLink } from '@angular/router';
|
|
6
|
+
import { AppCacheService, AuditService, BackendService, EventService, LocaleDatePipe, SystemService, TranslateModule, TranslateService, YuvEventType } from '@yuuvis/client-core';
|
|
7
|
+
import { BusyOverlayDirective } from '@yuuvis/client-framework/common';
|
|
8
|
+
import { YUV_ICONS } from '@yuuvis/client-framework/icons';
|
|
9
|
+
import { YvcIconModule } from '@yuuvis/components/icon';
|
|
10
|
+
import { finalize } from 'rxjs';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@yuuvis/client-core";
|
|
13
|
+
import * as i2 from "@angular/forms";
|
|
14
|
+
import * as i3 from "@angular/common";
|
|
15
|
+
import * as i4 from "@yuuvis/components/icon";
|
|
16
|
+
export class ObjectAuditComponent {
|
|
17
|
+
#dmsObjectEffect;
|
|
18
|
+
get objectID() {
|
|
19
|
+
return this._objectID;
|
|
20
|
+
}
|
|
21
|
+
constructor(auditService, backend, appCache, eventService, system, fb, translate
|
|
22
|
+
// private iconRegistry: IconRegistryService,
|
|
23
|
+
// @Inject(ROUTES) private routes: YuvRoutes
|
|
24
|
+
) {
|
|
25
|
+
this.auditService = auditService;
|
|
26
|
+
this.backend = backend;
|
|
27
|
+
this.appCache = appCache;
|
|
28
|
+
this.eventService = eventService;
|
|
29
|
+
this.system = system;
|
|
30
|
+
this.fb = fb;
|
|
31
|
+
this.translate = translate;
|
|
32
|
+
this.FILTER_CACHE_KEY = 'yuv.audit.filters';
|
|
33
|
+
this.icons = {
|
|
34
|
+
filter: YUV_ICONS.filter,
|
|
35
|
+
arrowNext: YUV_ICONS.arrowNext
|
|
36
|
+
};
|
|
37
|
+
this.resolvedItems = signal([]);
|
|
38
|
+
this.searchPanelShow = false;
|
|
39
|
+
this.error = false;
|
|
40
|
+
this.busy = false;
|
|
41
|
+
this.searchActions = [];
|
|
42
|
+
this.auditLabels = {};
|
|
43
|
+
this.dmsObject = input(undefined);
|
|
44
|
+
this.#dmsObjectEffect = effect(() => {
|
|
45
|
+
const o = this.dmsObject();
|
|
46
|
+
if (!o) {
|
|
47
|
+
this._objectID = undefined;
|
|
48
|
+
this._objectTypeID = undefined;
|
|
49
|
+
this.auditsRes = undefined;
|
|
50
|
+
}
|
|
51
|
+
else if (!this._objectID || this._objectID !== o.id) {
|
|
52
|
+
this._objectID = o.id;
|
|
53
|
+
this._objectTypeID = o.objectTypeId;
|
|
54
|
+
this.query();
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
this.query();
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* A list of audits that should not be shown. Use the audit codes (like 100, 301, etc.).
|
|
62
|
+
* This will also disable the corresponding filters.
|
|
63
|
+
*/
|
|
64
|
+
this.skipActions = input([]);
|
|
65
|
+
/**
|
|
66
|
+
* Whether or not to ignore admin and user separation of audit entries
|
|
67
|
+
*/
|
|
68
|
+
this.allActions = input(false);
|
|
69
|
+
this.link = input(undefined, { alias: 'versionsLink' });
|
|
70
|
+
this.versionsLink = computed(() => {
|
|
71
|
+
const link = this.link();
|
|
72
|
+
return link ? `${link}` : undefined;
|
|
73
|
+
});
|
|
74
|
+
// this.versionStatePath = this.routes && this.routes.versions ? this.routes.versions.path : null;
|
|
75
|
+
// this.versionStateQueryParam = this.routes && this.routes.versions ? this.routes.versions.queryParams.version : null;
|
|
76
|
+
// this.iconRegistry.registerIcons([filter, arrowNext, arrowNext]);
|
|
77
|
+
this.auditLabels = {
|
|
78
|
+
a100: this.translate.instant('yuv.audit.label.create.metadata'),
|
|
79
|
+
a101: this.translate.instant('yuv.audit.label.create.metadata.withcontent'),
|
|
80
|
+
a110: this.translate.instant('yuv.audit.label.create.tag'),
|
|
81
|
+
a200: this.translate.instant('yuv.audit.label.delete'),
|
|
82
|
+
a201: this.translate.instant('yuv.audit.label.delete.content'), // #v
|
|
83
|
+
a202: this.translate.instant('yuv.audit.label.delete.marked'),
|
|
84
|
+
a210: this.translate.instant('yuv.audit.label.delete.tag'), // #v
|
|
85
|
+
a220: this.translate.instant('yuv.audit.label.delete.version'), // #v
|
|
86
|
+
a300: this.translate.instant('yuv.audit.label.update.metadata'),
|
|
87
|
+
a301: this.translate.instant('yuv.audit.label.update.content'),
|
|
88
|
+
a302: this.translate.instant('yuv.audit.label.update.metadata.withcontent'),
|
|
89
|
+
a303: this.translate.instant('yuv.audit.label.update.move.content'),
|
|
90
|
+
a310: this.translate.instant('yuv.audit.label.update.tag'),
|
|
91
|
+
a325: this.translate.instant('yuv.audit.label.update.restore'),
|
|
92
|
+
a340: this.translate.instant('yuv.audit.label.update.move'),
|
|
93
|
+
a400: this.translate.instant('yuv.audit.label.get.content'),
|
|
94
|
+
a401: this.translate.instant('yuv.audit.label.get.metadata'),
|
|
95
|
+
a402: this.translate.instant('yuv.audit.label.get.rendition.text'),
|
|
96
|
+
a403: this.translate.instant('yuv.audit.label.get.rendition.pdf'),
|
|
97
|
+
a404: this.translate.instant('yuv.audit.label.get.rendition.thumbnail'),
|
|
98
|
+
a10000: this.translate.instant('yuv.audit.label.get.custom')
|
|
99
|
+
};
|
|
100
|
+
this.eventService
|
|
101
|
+
.on(YuvEventType.DMS_OBJECT_UPDATED)
|
|
102
|
+
.pipe(takeUntilDestroyed())
|
|
103
|
+
.subscribe((e) => {
|
|
104
|
+
const dmsObject = e.data;
|
|
105
|
+
// reload audit entries when update belongs to the current dms object
|
|
106
|
+
if (dmsObject.id === this.objectID) {
|
|
107
|
+
this.query();
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
fetchAuditEntries() {
|
|
112
|
+
if (!this._objectID || !this._objectTypeID)
|
|
113
|
+
return;
|
|
114
|
+
this.error = false;
|
|
115
|
+
this.busy = true;
|
|
116
|
+
this.auditService
|
|
117
|
+
.getAuditEntries(this._objectID, { skipActions: this.skipActions() })
|
|
118
|
+
.pipe(finalize(() => (this.busy = false)))
|
|
119
|
+
.subscribe({
|
|
120
|
+
next: (res) => {
|
|
121
|
+
this.auditsRes = res;
|
|
122
|
+
this.resolvedItems.set(this.mapResult(res));
|
|
123
|
+
},
|
|
124
|
+
error: () => {
|
|
125
|
+
this.onError();
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
mapResult(res) {
|
|
130
|
+
return (res.items
|
|
131
|
+
// TODO: Remove this filter once the system:ren:text audit lifecycle planning is complete and the tag's purpose is fully defined.
|
|
132
|
+
// https://help.optimal-systems.com/yuuvis/Momentum/latest/index.html#_content_renditions_asynchronous_full_text_indexing.html
|
|
133
|
+
.filter((i) => !i.detail.includes('[system:ren:text, 1]'))
|
|
134
|
+
.map((i) => {
|
|
135
|
+
const r = { ...i, label: this.auditLabels['a' + i.action] };
|
|
136
|
+
// tag related audits
|
|
137
|
+
if ([110, 210, 310].includes(i.action)) {
|
|
138
|
+
const params = this.getAuditEntryParams(i);
|
|
139
|
+
if (params) {
|
|
140
|
+
r.more = `
|
|
141
|
+
${this.system.getLocalizedLabel(params[0])}: ${this.system.getLocalizedLabel(`${params[0]}:${params[1]}`)}
|
|
142
|
+
`;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// restore audit
|
|
146
|
+
else if (i.action === 325) {
|
|
147
|
+
const params = this.getAuditEntryParams(i);
|
|
148
|
+
r.more = this.translate.instant('yuv.audit.label.update.restore.more', { version: params[0] || '[?]' });
|
|
149
|
+
}
|
|
150
|
+
// custom audits
|
|
151
|
+
else if (i.action === 10000) {
|
|
152
|
+
r.label = this.system.getLocalizedLabel(`audit:custom:${i.subaction}`) || `${i.subaction}`;
|
|
153
|
+
}
|
|
154
|
+
return r;
|
|
155
|
+
}));
|
|
156
|
+
}
|
|
157
|
+
getAuditEntryParams(auditItem) {
|
|
158
|
+
const m = auditItem.detail.match(/\[(.*?)\]/);
|
|
159
|
+
return m && m[1] ? m[1].split(',').map((i) => i.trim()) : [];
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Execute a query from the search panel.
|
|
163
|
+
*/
|
|
164
|
+
query() {
|
|
165
|
+
this.fetchAuditEntries();
|
|
166
|
+
}
|
|
167
|
+
goToPage(page) {
|
|
168
|
+
if (this.auditsRes) {
|
|
169
|
+
this.busy = true;
|
|
170
|
+
this.auditService
|
|
171
|
+
.getPage(this.auditsRes, page)
|
|
172
|
+
.pipe(finalize(() => (this.busy = false)))
|
|
173
|
+
.subscribe({
|
|
174
|
+
next: (res) => {
|
|
175
|
+
this.auditsRes = res;
|
|
176
|
+
this.resolvedItems.set(this.mapResult(res));
|
|
177
|
+
},
|
|
178
|
+
error: () => {
|
|
179
|
+
this.onError();
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
onError() {
|
|
185
|
+
this.auditsRes = undefined;
|
|
186
|
+
this.error = true;
|
|
187
|
+
}
|
|
188
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectAuditComponent, deps: [{ token: i1.AuditService }, { token: i1.BackendService }, { token: i1.AppCacheService }, { token: i1.EventService }, { token: i1.SystemService }, { token: i2.UntypedFormBuilder }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
189
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectAuditComponent, isStandalone: true, selector: "yuv-object-audit", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, skipActions: { classPropertyName: "skipActions", publicName: "skipActions", isSignal: true, isRequired: false, transformFunction: null }, allActions: { classPropertyName: "allActions", publicName: "allActions", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "versionsLink", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"yuv-audit\" [ngClass]=\"{ singleEntry: auditsRes?.items?.length === 1, onPage: auditsRes && auditsRes.page > 1 }\" [yuvBusyOverlay]=\"busy\">\n @if (error) {\n <div class=\"error\">\n <div translate>yuv.audit.fetch.error</div>\n </div>\n }\n\n @if (auditsRes) {\n <!-- list of audits -->\n @let resItems = resolvedItems();\n @if (resItems.length) {\n <div class=\"timeline\">\n @for (item of resItems; track $index) {\n <div class=\"audit\">\n <div class=\"date\">{{ item.creationDate | localeDate }}</div>\n <div class=\"node\">\n <div class=\"label\">\n <span class=\"title\">{{ item.label }}</span>\n @if (item.detail === 'OBJECT_DOCUMENT_CHANGED') {\n @if (link()) {\n <a class=\"version\" [routerLink]=\"link()\" [queryParams]=\"{ version: item.version }\">{{ item.version }}</a>\n } @else {\n <span class=\"version\">{{ item.version }}</span>\n }\n }\n </div>\n <div class=\"more meta\">{{ item.more }}</div>\n <div class=\"creator meta\">{{ item.createdBy.title }}</div>\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"empty\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsRes.hasMoreItems || auditsRes.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <div class=\"paging\">\n <button [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\" [disabled]=\"auditsRes.page === 1\" (click)=\"goToPage(auditsRes.page - 1)\">\n <yvc-icon class=\"prev\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n <div class=\"page\">\n {{ auditsRes.page }}\n </div>\n <button [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\" [disabled]=\"!auditsRes.hasMoreItems\" (click)=\"goToPage(auditsRes.page + 1)\">\n <yvc-icon class=\"next\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n </div>\n </div>\n }\n }\n</div>\n", styles: [":host .yuv-audit{position:relative;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--panel-background-grey);container-type:inline-size;container-name:cmp}:host .yuv-audit .error{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center}:host .yuv-audit .error>div{background-color:var(--color-error);color:#fff;margin:var(--app-pane-padding);padding:var(--app-pane-padding);border-radius:calc(var(--app-pane-padding) / 2)}:host .yuv-audit .search{position:absolute;left:0;top:0;bottom:0;max-width:90%;background-color:var(--panel-background);border-right:1px solid var(--panel-divider-color);animation:yuvFadeInLeft var(--app-default-transition-duration);padding:var(--app-pane-padding);display:flex;z-index:3;flex-flow:column}:host .yuv-audit .search h3{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}:host .yuv-audit .search button.group{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal);padding:0;cursor:pointer}:host .yuv-audit .search button.group:focus{color:var(--color-accent);outline:0;background-color:transparent;border-color:transparent}:host .yuv-audit .search .controls{flex:1;overflow-y:auto}:host .yuv-audit .search .controls .form-control{margin-top:var(--app-pane-padding)}:host .yuv-audit .search .buttons{display:flex;justify-content:flex-end}:host .yuv-audit .btn-search{position:absolute;top:var(--app-pane-padding);left:var(--app-pane-padding);background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);border:1px solid var(--panel-divider-color);z-index:1;box-shadow:0 0 10px 10px var(--panel-background-grey)}:host .yuv-audit .btn-search.badge{color:var(--color-accent)}:host .yuv-audit .btn-search yvc-icon{display:block}:host .yuv-audit .audits{grid-area:items}:host .yuv-audit .empty{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--text-color-caption)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--panel-background);border-top:1px solid var(--panel-divider-color);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;color:var(--text-color-caption)}:host .yuv-audit .footer .paging .page{padding:0 calc(var(--app-pane-padding) / 2)}:host .yuv-audit .footer .paging .prev{transform:rotate(180deg)}:host .yuv-audit .footer button{padding:0}:host .timeline{--track-color: var(--panel-divider-color);--track-size: calc(var(--app-pane-padding) * 3);overflow-y:auto;padding:var(--app-pane-padding) var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding)}@container (max-width: 450px){:host .timeline .audit{grid-template-columns:var(--track-size) auto;grid-template-rows:var(--track-size) auto;grid-template-areas:\"line date\" \"node node\"}:host .timeline .audit .date{justify-self:start}:host .timeline .audit .date,:host .timeline .audit:after{translate:0 .5em}:host .timeline .audit .node{margin:0;width:100%}:host .timeline .audit:last-child:before{height:100%}}:host .timeline :where(.audit){display:grid;grid-template-columns:1fr var(--track-size) 1fr;grid-template-areas:\"date line node\"}:host .timeline :where(.audit) .date{grid-area:date;justify-self:end;align-self:center}:host .timeline :where(.audit) .node{grid-area:node;justify-self:start;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);border-radius:.25em;margin:calc(var(--app-pane-padding) / 2) 0;padding:var(--app-pane-padding);box-sizing:border-box;display:grid;gap:calc(var(--app-pane-padding) / 8)}:host .timeline :where(.audit) .node .label{display:flex;align-items:end}:host .timeline :where(.audit) .node .label .title{flex:1;word-break:break-all;font-weight:700;color:var(--text-color-body)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);font-size:var(--font-hint);font-family:monospace;align-self:center;margin-left:var(--app-pane-padding);padding:4px 6px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--text-color-caption)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% - 1px);height:100%;border-inline-end:1px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:11px;height:11px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--panel-background-grey);box-sizing:border-box;align-self:center;justify-self:center}:host .timeline :where(.audit):first-child:before{height:50%;align-self:end}:host .timeline :where(.audit):last-child:before{height:50%;align-self:start}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay"] }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i4.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }] }); }
|
|
190
|
+
}
|
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectAuditComponent, decorators: [{
|
|
192
|
+
type: Component,
|
|
193
|
+
args: [{ selector: 'yuv-object-audit', standalone: true, imports: [CommonModule, RouterLink, ReactiveFormsModule, BusyOverlayDirective, LocaleDatePipe, TranslateModule, YvcIconModule], template: "<div class=\"yuv-audit\" [ngClass]=\"{ singleEntry: auditsRes?.items?.length === 1, onPage: auditsRes && auditsRes.page > 1 }\" [yuvBusyOverlay]=\"busy\">\n @if (error) {\n <div class=\"error\">\n <div translate>yuv.audit.fetch.error</div>\n </div>\n }\n\n @if (auditsRes) {\n <!-- list of audits -->\n @let resItems = resolvedItems();\n @if (resItems.length) {\n <div class=\"timeline\">\n @for (item of resItems; track $index) {\n <div class=\"audit\">\n <div class=\"date\">{{ item.creationDate | localeDate }}</div>\n <div class=\"node\">\n <div class=\"label\">\n <span class=\"title\">{{ item.label }}</span>\n @if (item.detail === 'OBJECT_DOCUMENT_CHANGED') {\n @if (link()) {\n <a class=\"version\" [routerLink]=\"link()\" [queryParams]=\"{ version: item.version }\">{{ item.version }}</a>\n } @else {\n <span class=\"version\">{{ item.version }}</span>\n }\n }\n </div>\n <div class=\"more meta\">{{ item.more }}</div>\n <div class=\"creator meta\">{{ item.createdBy.title }}</div>\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"empty\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsRes.hasMoreItems || auditsRes.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <div class=\"paging\">\n <button [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\" [disabled]=\"auditsRes.page === 1\" (click)=\"goToPage(auditsRes.page - 1)\">\n <yvc-icon class=\"prev\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n <div class=\"page\">\n {{ auditsRes.page }}\n </div>\n <button [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\" [disabled]=\"!auditsRes.hasMoreItems\" (click)=\"goToPage(auditsRes.page + 1)\">\n <yvc-icon class=\"next\" [svg]=\"icons.arrowNext\"></yvc-icon>\n </button>\n </div>\n </div>\n }\n }\n</div>\n", styles: [":host .yuv-audit{position:relative;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--panel-background-grey);container-type:inline-size;container-name:cmp}:host .yuv-audit .error{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center}:host .yuv-audit .error>div{background-color:var(--color-error);color:#fff;margin:var(--app-pane-padding);padding:var(--app-pane-padding);border-radius:calc(var(--app-pane-padding) / 2)}:host .yuv-audit .search{position:absolute;left:0;top:0;bottom:0;max-width:90%;background-color:var(--panel-background);border-right:1px solid var(--panel-divider-color);animation:yuvFadeInLeft var(--app-default-transition-duration);padding:var(--app-pane-padding);display:flex;z-index:3;flex-flow:column}:host .yuv-audit .search h3{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}:host .yuv-audit .search button.group{color:var(--text-color-caption);margin:0 0 var(--app-pane-padding) 0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal);padding:0;cursor:pointer}:host .yuv-audit .search button.group:focus{color:var(--color-accent);outline:0;background-color:transparent;border-color:transparent}:host .yuv-audit .search .controls{flex:1;overflow-y:auto}:host .yuv-audit .search .controls .form-control{margin-top:var(--app-pane-padding)}:host .yuv-audit .search .buttons{display:flex;justify-content:flex-end}:host .yuv-audit .btn-search{position:absolute;top:var(--app-pane-padding);left:var(--app-pane-padding);background-color:var(--panel-background);padding:calc(var(--app-pane-padding) / 2);border:1px solid var(--panel-divider-color);z-index:1;box-shadow:0 0 10px 10px var(--panel-background-grey)}:host .yuv-audit .btn-search.badge{color:var(--color-accent)}:host .yuv-audit .btn-search yvc-icon{display:block}:host .yuv-audit .audits{grid-area:items}:host .yuv-audit .empty{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--text-color-caption)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--panel-background);border-top:1px solid var(--panel-divider-color);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;color:var(--text-color-caption)}:host .yuv-audit .footer .paging .page{padding:0 calc(var(--app-pane-padding) / 2)}:host .yuv-audit .footer .paging .prev{transform:rotate(180deg)}:host .yuv-audit .footer button{padding:0}:host .timeline{--track-color: var(--panel-divider-color);--track-size: calc(var(--app-pane-padding) * 3);overflow-y:auto;padding:var(--app-pane-padding) var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding)}@container (max-width: 450px){:host .timeline .audit{grid-template-columns:var(--track-size) auto;grid-template-rows:var(--track-size) auto;grid-template-areas:\"line date\" \"node node\"}:host .timeline .audit .date{justify-self:start}:host .timeline .audit .date,:host .timeline .audit:after{translate:0 .5em}:host .timeline .audit .node{margin:0;width:100%}:host .timeline .audit:last-child:before{height:100%}}:host .timeline :where(.audit){display:grid;grid-template-columns:1fr var(--track-size) 1fr;grid-template-areas:\"date line node\"}:host .timeline :where(.audit) .date{grid-area:date;justify-self:end;align-self:center}:host .timeline :where(.audit) .node{grid-area:node;justify-self:start;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);border-radius:.25em;margin:calc(var(--app-pane-padding) / 2) 0;padding:var(--app-pane-padding);box-sizing:border-box;display:grid;gap:calc(var(--app-pane-padding) / 8)}:host .timeline :where(.audit) .node .label{display:flex;align-items:end}:host .timeline :where(.audit) .node .label .title{flex:1;word-break:break-all;font-weight:700;color:var(--text-color-body)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);font-size:var(--font-hint);font-family:monospace;align-self:center;margin-left:var(--app-pane-padding);padding:4px 6px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--text-color-caption)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% - 1px);height:100%;border-inline-end:1px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:11px;height:11px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--panel-background-grey);box-sizing:border-box;align-self:center;justify-self:center}:host .timeline :where(.audit):first-child:before{height:50%;align-self:end}:host .timeline :where(.audit):last-child:before{height:50%;align-self:start}\n"] }]
|
|
194
|
+
}], ctorParameters: () => [{ type: i1.AuditService }, { type: i1.BackendService }, { type: i1.AppCacheService }, { type: i1.EventService }, { type: i1.SystemService }, { type: i2.UntypedFormBuilder }, { type: i1.TranslateService }] });
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWF1ZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvc3JjL2xpYi9vYmplY3QtYXVkaXQvb2JqZWN0LWF1ZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvc3JjL2xpYi9vYmplY3QtYXVkaXQvb2JqZWN0LWF1ZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLGVBQWUsRUFHZixZQUFZLEVBQ1osY0FBYyxFQUVkLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxFQUNiLGVBQWUsRUFDZixnQkFBZ0IsRUFFaEIsWUFBWSxFQUNiLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFD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QWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBcHBDYWNoZVNlcnZpY2UsXG4gIEF1ZGl0RW50cnksXG4gIEF1ZGl0UXVlcnlSZXN1bHQsXG4gIEF1ZGl0U2VydmljZSxcbiAgQmFja2VuZFNlcnZpY2UsXG4gIERtc09iamVjdCxcbiAgRXZlbnRTZXJ2aWNlLFxuICBMb2NhbGVEYXRlUGlwZSxcbiAgU3lzdGVtU2VydmljZSxcbiAgVHJhbnNsYXRlTW9kdWxlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBZdXZFdmVudCxcbiAgWXV2RXZlbnRUeXBlXG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQnVzeU92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvY29tbW9uJztcbmltcG9ydCB7IFlVVl9JQ09OUyB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9pY29ucyc7XG5pbXBvcnQgeyBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LW9iamVjdC1hdWRpdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlckxpbmssIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEJ1c3lPdmVybGF5RGlyZWN0aXZlLCBMb2NhbGVEYXRlUGlwZSwgVHJhbnNsYXRlTW9kdWxlLCBZdmNJY29uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1hdWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vYmplY3QtYXVkaXQuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdEF1ZGl0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBGSUxURVJfQ0FDSEVfS0VZID0gJ3l1di5hdWRpdC5maWx0ZXJzJztcblxuICBwcml2YXRlIF9vYmplY3RJRD86IHN0cmluZztcbiAgcHJpdmF0ZSBfb2JqZWN0VHlwZUlEPzogc3RyaW5nO1xuXG4gIGljb25zID0ge1xuICAgIGZpbHRlcjogWVVWX0lDT05TLmZpbHRlcixcbiAgICBhcnJvd05leHQ6IFlVVl9JQ09OUy5hcnJvd05leHRcbiAgfTtcblxuICBhdWRpdHNSZXM/OiBBdWRpdFF1ZXJ5UmVzdWx0O1xuICByZXNvbHZlZEl0ZW1zID0gc2lnbmFsPFJlc2xvdmVkQXVkaXRFbnRyeVtdPihbXSk7XG4gIHNlYXJjaFBhbmVsU2hvdyA9IGZhbHNlO1xuICBlcnJvciA9IGZhbHNlO1xuICBidXN5ID0gZmFsc2U7XG4gIHNlYXJjaEFjdGlvbnM6IHsgbGFiZWw6IHN0cmluZzsgYWN0aW9uczogc3RyaW5nW10gfVtdID0gW107XG4gIGF1ZGl0TGFiZWxzOiBhbnkgPSB7fTtcblxuICBkbXNPYmplY3QgPSBpbnB1dDxEbXNPYmplY3QgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgI2Rtc09iamVjdEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbyA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKCFvKSB7XG4gICAgICB0aGlzLl9vYmplY3RJRCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX29iamVjdFR5cGVJRCA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuYXVkaXRzUmVzID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuX29iamVjdElEIHx8IHRoaXMuX29iamVjdElEICE9PSBvLmlkKSB7XG4gICAgICB0aGlzLl9vYmplY3RJRCA9IG8uaWQ7XG4gICAgICB0aGlzLl9vYmplY3RUeXBlSUQgPSBvLm9iamVjdFR5cGVJZDtcbiAgICAgIHRoaXMucXVlcnkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeSgpO1xuICAgIH1cbiAgfSk7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBhdWRpdHMgdGhhdCBzaG91bGQgbm90IGJlIHNob3duLiBVc2UgdGhlIGF1ZGl0IGNvZGVzIChsaWtlIDEwMCwgMzAxLCBldGMuKS5cbiAgICogVGhpcyB3aWxsIGFsc28gZGlzYWJsZSB0aGUgY29ycmVzcG9uZGluZyBmaWx0ZXJzLlxuICAgKi9cbiAgc2tpcEFjdGlvbnMgPSBpbnB1dDxudW1iZXJbXT4oW10pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBpZ25vcmUgYWRtaW4gYW5kIHVzZXIgc2VwYXJhdGlvbiBvZiBhdWRpdCBlbnRyaWVzXG4gICAqL1xuICBhbGxBY3Rpb25zID0gaW5wdXQoZmFsc2UpO1xuXG4gIGdldCBvYmplY3RJRCgpIHtcbiAgICByZXR1cm4gdGhpcy5fb2JqZWN0SUQ7XG4gIH1cblxuICBsaW5rID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICd2ZXJzaW9uc0xpbmsnIH0pO1xuXG4gIHZlcnNpb25zTGluayA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBsaW5rID0gdGhpcy5saW5rKCk7XG5cbiAgICByZXR1cm4gbGluayA/IGAke2xpbmt9YCA6IHVuZGVmaW5lZDtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdWRpdFNlcnZpY2U6IEF1ZGl0U2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ2FjaGU6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICAgIC8vIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBJY29uUmVnaXN0cnlTZXJ2aWNlLFxuICAgIC8vIEBJbmplY3QoUk9VVEVTKSBwcml2YXRlIHJvdXRlczogWXV2Um91dGVzXG4gICkge1xuICAgIC8vIHRoaXMudmVyc2lvblN0YXRlUGF0aCA9IHRoaXMucm91dGVzICYmIHRoaXMucm91dGVzLnZlcnNpb25zID8gdGhpcy5yb3V0ZXMudmVyc2lvbnMucGF0aCA6IG51bGw7XG4gICAgLy8gdGhpcy52ZXJzaW9uU3RhdGVRdWVyeVBhcmFtID0gdGhpcy5yb3V0ZXMgJiYgdGhpcy5yb3V0ZXMudmVyc2lvbnMgPyB0aGlzLnJvdXRlcy52ZXJzaW9ucy5xdWVyeVBhcmFtcy52ZXJzaW9uIDogbnVsbDtcbiAgICAvLyB0aGlzLmljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKFtmaWx0ZXIsIGFycm93TmV4dCwgYXJyb3dOZXh0XSk7XG4gICAgdGhpcy5hdWRpdExhYmVscyA9IHtcbiAgICAgIGExMDA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5jcmVhdGUubWV0YWRhdGEnKSxcbiAgICAgIGExMDE6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5jcmVhdGUubWV0YWRhdGEud2l0aGNvbnRlbnQnKSxcbiAgICAgIGExMTA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5jcmVhdGUudGFnJyksXG5cbiAgICAgIGEyMDA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5kZWxldGUnKSxcbiAgICAgIGEyMDE6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5kZWxldGUuY29udGVudCcpLCAvLyAjdlxuICAgICAgYTIwMjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmRlbGV0ZS5tYXJrZWQnKSxcbiAgICAgIGEyMTA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5kZWxldGUudGFnJyksIC8vICN2XG4gICAgICBhMjIwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwuZGVsZXRlLnZlcnNpb24nKSwgLy8gI3ZcblxuICAgICAgYTMwMDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS5tZXRhZGF0YScpLFxuICAgICAgYTMwMTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS5jb250ZW50JyksXG4gICAgICBhMzAyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwudXBkYXRlLm1ldGFkYXRhLndpdGhjb250ZW50JyksXG4gICAgICBhMzAzOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwudXBkYXRlLm1vdmUuY29udGVudCcpLFxuICAgICAgYTMxMDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS50YWcnKSxcbiAgICAgIGEzMjU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC51cGRhdGUucmVzdG9yZScpLFxuICAgICAgYTM0MDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLnVwZGF0ZS5tb3ZlJyksXG5cbiAgICAgIGE0MDA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5hdWRpdC5sYWJlbC5nZXQuY29udGVudCcpLFxuICAgICAgYTQwMTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmdldC5tZXRhZGF0YScpLFxuICAgICAgYTQwMjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmdldC5yZW5kaXRpb24udGV4dCcpLFxuICAgICAgYTQwMzogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmF1ZGl0LmxhYmVsLmdldC5yZW5kaXRpb24ucGRmJyksXG4gICAgICBhNDA0OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwuZ2V0LnJlbmRpdGlvbi50aHVtYm5haWwnKSxcblxuICAgICAgYTEwMDAwOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwuZ2V0LmN1c3RvbScpXG4gICAgfTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlXG4gICAgICAub24oWXV2RXZlbnRUeXBlLkRNU19PQkpFQ1RfVVBEQVRFRClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoZTogWXV2RXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZG1zT2JqZWN0ID0gZS5kYXRhIGFzIERtc09iamVjdDtcbiAgICAgICAgLy8gcmVsb2FkIGF1ZGl0IGVudHJpZXMgd2hlbiB1cGRhdGUgYmVsb25ncyB0byB0aGUgY3VycmVudCBkbXMgb2JqZWN0XG4gICAgICAgIGlmIChkbXNPYmplY3QuaWQgPT09IHRoaXMub2JqZWN0SUQpIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEF1ZGl0RW50cmllcygpIHtcbiAgICBpZiAoIXRoaXMuX29iamVjdElEIHx8ICF0aGlzLl9vYmplY3RUeXBlSUQpIHJldHVybjtcbiAgICB0aGlzLmVycm9yID0gZmFsc2U7XG4gICAgdGhpcy5idXN5ID0gdHJ1ZTtcblxuICAgIHRoaXMuYXVkaXRTZXJ2aWNlXG4gICAgICAuZ2V0QXVkaXRFbnRyaWVzKHRoaXMuX29iamVjdElELCB7IHNraXBBY3Rpb25zOiB0aGlzLnNraXBBY3Rpb25zKCkgfSlcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmJ1c3kgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IEF1ZGl0UXVlcnlSZXN1bHQpID0+IHtcbiAgICAgICAgICB0aGlzLmF1ZGl0c1JlcyA9IHJlcztcbiAgICAgICAgICB0aGlzLnJlc29sdmVkSXRlbXMuc2V0KHRoaXMubWFwUmVzdWx0KHJlcykpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMub25FcnJvcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwUmVzdWx0KHJlczogQXVkaXRRdWVyeVJlc3VsdCk6IFJlc2xvdmVkQXVkaXRFbnRyeVtdIHtcbiAgICByZXR1cm4gKFxuICAgICAgcmVzLml0ZW1zXG4gICAgICAgIC8vIFRPRE86IFJlbW92ZSB0aGlzIGZpbHRlciBvbmNlIHRoZSBzeXN0ZW06cmVuOnRleHQgYXVkaXQgbGlmZWN5Y2xlIHBsYW5uaW5nIGlzIGNvbXBsZXRlIGFuZCB0aGUgdGFnJ3MgcHVycG9zZSBpcyBmdWxseSBkZWZpbmVkLlxuICAgICAgICAvLyBodHRwczovL2hlbHAub3B0aW1hbC1zeXN0ZW1zLmNvbS95dXV2aXMvTW9tZW50dW0vbGF0ZXN0L2luZGV4Lmh0bWwjX2NvbnRlbnRfcmVuZGl0aW9uc19hc3luY2hyb25vdXNfZnVsbF90ZXh0X2luZGV4aW5nLmh0bWxcbiAgICAgICAgLmZpbHRlcigoaSkgPT4gIWkuZGV0YWlsLmluY2x1ZGVzKCdbc3lzdGVtOnJlbjp0ZXh0LCAxXScpKVxuICAgICAgICAubWFwKChpKSA9PiB7XG4gICAgICAgICAgY29uc3QgcjogUmVzbG92ZWRBdWRpdEVudHJ5ID0geyAuLi5pLCBsYWJlbDogdGhpcy5hdWRpdExhYmVsc1snYScgKyBpLmFjdGlvbl0gfTtcbiAgICAgICAgICAvLyB0YWcgcmVsYXRlZCBhdWRpdHNcbiAgICAgICAgICBpZiAoWzExMCwgMjEwLCAzMTBdLmluY2x1ZGVzKGkuYWN0aW9uKSkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRBdWRpdEVudHJ5UGFyYW1zKGkpO1xuICAgICAgICAgICAgaWYgKHBhcmFtcykge1xuICAgICAgICAgICAgICByLm1vcmUgPSBgXG4gICAgICAgICAgJHt0aGlzLnN5c3RlbS5nZXRMb2NhbGl6ZWRMYWJlbChwYXJhbXNbMF0pfTogJHt0aGlzLnN5c3RlbS5nZXRMb2NhbGl6ZWRMYWJlbChgJHtwYXJhbXNbMF19OiR7cGFyYW1zWzFdfWApfVxuICAgICAgICAgIGA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHJlc3RvcmUgYXVkaXRcbiAgICAgICAgICBlbHNlIGlmIChpLmFjdGlvbiA9PT0gMzI1KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldEF1ZGl0RW50cnlQYXJhbXMoaSk7XG4gICAgICAgICAgICByLm1vcmUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuYXVkaXQubGFiZWwudXBkYXRlLnJlc3RvcmUubW9yZScsIHsgdmVyc2lvbjogcGFyYW1zWzBdIHx8ICdbP10nIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBjdXN0b20gYXVkaXRzXG4gICAgICAgICAgZWxzZSBpZiAoaS5hY3Rpb24gPT09IDEwMDAwKSB7XG4gICAgICAgICAgICByLmxhYmVsID0gdGhpcy5zeXN0ZW0uZ2V0TG9jYWxpemVkTGFiZWwoYGF1ZGl0OmN1c3RvbToke2kuc3ViYWN0aW9ufWApIHx8IGAke2kuc3ViYWN0aW9ufWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEF1ZGl0RW50cnlQYXJhbXMoYXVkaXRJdGVtOiBBdWRpdEVudHJ5KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG0gPSBhdWRpdEl0ZW0uZGV0YWlsLm1hdGNoKC9cXFsoLio/KVxcXS8pO1xuICAgIHJldHVybiBtICYmIG1bMV0gPyBtWzFdLnNwbGl0KCcsJykubWFwKChpKSA9PiBpLnRyaW0oKSkgOiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgcXVlcnkgZnJvbSB0aGUgc2VhcmNoIHBhbmVsLlxuICAgKi9cbiAgcXVlcnkoKSB7XG4gICAgdGhpcy5mZXRjaEF1ZGl0RW50cmllcygpO1xuICB9XG5cbiAgZ29Ub1BhZ2UocGFnZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuYXVkaXRzUmVzKSB7XG4gICAgICB0aGlzLmJ1c3kgPSB0cnVlO1xuICAgICAgdGhpcy5hdWRpdFNlcnZpY2VcbiAgICAgICAgLmdldFBhZ2UodGhpcy5hdWRpdHNSZXMsIHBhZ2UpXG4gICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmJ1c3kgPSBmYWxzZSkpKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzOiBBdWRpdFF1ZXJ5UmVzdWx0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1ZGl0c1JlcyA9IHJlcztcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZWRJdGVtcy5zZXQodGhpcy5tYXBSZXN1bHQocmVzKSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uRXJyb3IoKSB7XG4gICAgdGhpcy5hdWRpdHNSZXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5lcnJvciA9IHRydWU7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFJlc2xvdmVkQXVkaXRFbnRyeSBleHRlbmRzIEF1ZGl0RW50cnkge1xuICBsYWJlbDogc3RyaW5nO1xufVxuIiwiPGRpdiBjbGFzcz1cInl1di1hdWRpdFwiIFtuZ0NsYXNzXT1cInsgc2luZ2xlRW50cnk6IGF1ZGl0c1Jlcz8uaXRlbXM/Lmxlbmd0aCA9PT0gMSwgb25QYWdlOiBhdWRpdHNSZXMgJiYgYXVkaXRzUmVzLnBhZ2UgPiAxIH1cIiBbeXV2QnVzeU92ZXJsYXldPVwiYnVzeVwiPlxuICBAaWYgKGVycm9yKSB7XG4gICAgPGRpdiBjbGFzcz1cImVycm9yXCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT55dXYuYXVkaXQuZmV0Y2guZXJyb3I8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoYXVkaXRzUmVzKSB7XG4gICAgPCEtLSBsaXN0IG9mIGF1ZGl0cyAtLT5cbiAgICBAbGV0IHJlc0l0ZW1zID0gcmVzb2x2ZWRJdGVtcygpO1xuICAgIEBpZiAocmVzSXRlbXMubGVuZ3RoKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmVcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiByZXNJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF1ZGl0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPnt7IGl0ZW0uY3JlYXRpb25EYXRlIHwgbG9jYWxlRGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmRldGFpbCA9PT0gJ09CSkVDVF9ET0NVTUVOVF9DSEFOR0VEJykge1xuICAgICAgICAgICAgICAgICAgQGlmIChsaW5rKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ2ZXJzaW9uXCIgW3JvdXRlckxpbmtdPVwibGluaygpXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdmVyc2lvbjogaXRlbS52ZXJzaW9uIH1cIj57eyBpdGVtLnZlcnNpb24gfX08L2E+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZXJzaW9uXCI+e3sgaXRlbS52ZXJzaW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlIG1ldGFcIj57eyBpdGVtLm1vcmUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyZWF0b3IgbWV0YVwiPnt7IGl0ZW0uY3JlYXRlZEJ5LnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIiB0cmFuc2xhdGU+eXV2LmF1ZGl0LnJlc3VsdC5lbXB0eTwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gY29udHJvbHMgLS0+XG4gICAgQGlmIChhdWRpdHNSZXMuaGFzTW9yZUl0ZW1zIHx8IGF1ZGl0c1Jlcy5wYWdlID4gMSkge1xuICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiIHl1dk9mZmxpbmVEaXNhYmxlZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2luZ1wiPlxuICAgICAgICAgIDxidXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCIneXV2LmF1ZGl0LmxhYmVsLnBhZ2luZy5wcmV2JyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJhdWRpdHNSZXMucGFnZSA9PT0gMVwiIChjbGljayk9XCJnb1RvUGFnZShhdWRpdHNSZXMucGFnZSAtIDEpXCI+XG4gICAgICAgICAgICA8eXZjLWljb24gY2xhc3M9XCJwcmV2XCIgW3N2Z109XCJpY29ucy5hcnJvd05leHRcIj48L3l2Yy1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlXCI+XG4gICAgICAgICAgICB7eyBhdWRpdHNSZXMucGFnZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCIneXV2LmF1ZGl0LmxhYmVsLnBhZ2luZy5uZXh0JyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhYXVkaXRzUmVzLmhhc01vcmVJdGVtc1wiIChjbGljayk9XCJnb1RvUGFnZShhdWRpdHNSZXMucGFnZSArIDEpXCI+XG4gICAgICAgICAgICA8eXZjLWljb24gY2xhc3M9XCJuZXh0XCIgW3N2Z109XCJpY29ucy5hcnJvd05leHRcIj48L3l2Yy1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, inject } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { DmsService, EventService, ObjectConfigService, RetentionField, SystemService, TranslateService, UserService, YuvEventType } from '@yuuvis/client-core';
|
|
5
|
+
import { BusyOverlayDirective } from '@yuuvis/client-framework/common';
|
|
6
|
+
import { PanelComponent } from '@yuuvis/client-framework/panel';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
export class ObjectDetailsShellComponent {
|
|
10
|
+
/**
|
|
11
|
+
* DmsObject to show the details for.
|
|
12
|
+
*/
|
|
13
|
+
set dmsObject(o) {
|
|
14
|
+
this._dmsObject = o;
|
|
15
|
+
// this.objectTypeId = o ? this.systemService.getLeadingObjectTypeID(o.objectTypeId, o.data[BaseObjectTypeField.SECONDARY_OBJECT_TYPE_IDS] as string) : undefined;
|
|
16
|
+
if (this._dmsObject) {
|
|
17
|
+
this._getHeaderData();
|
|
18
|
+
this.retentionEndDate = this._dmsObject.data[RetentionField.RETENTION_END]
|
|
19
|
+
? new Date(this._dmsObject.data[RetentionField.RETENTION_END])
|
|
20
|
+
: undefined;
|
|
21
|
+
const today = new Date();
|
|
22
|
+
this.retentionEnded = this.retentionEndDate && today > this.retentionEndDate;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
get dmsObject() {
|
|
26
|
+
return this._dmsObject;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* ID of a DmsObject. The object will be fetched from the backend upfront.
|
|
30
|
+
*/
|
|
31
|
+
set objectId(id) {
|
|
32
|
+
if (id) {
|
|
33
|
+
this._getDmsObject(id);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.dmsObject = undefined;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
constructor() {
|
|
40
|
+
this.translate = inject(TranslateService);
|
|
41
|
+
this.objectConfigService = inject(ObjectConfigService);
|
|
42
|
+
this.eventService = inject(EventService);
|
|
43
|
+
this.dmsService = inject(DmsService);
|
|
44
|
+
this.systemService = inject(SystemService);
|
|
45
|
+
this.userService = inject(UserService);
|
|
46
|
+
this._subs = [];
|
|
47
|
+
this.busy = false;
|
|
48
|
+
this.isAdvancedUser = this.userService.isAdvancedUser;
|
|
49
|
+
this.dmsObjectChange = new EventEmitter();
|
|
50
|
+
this.objectConfigService
|
|
51
|
+
.getObjectConfigs$()
|
|
52
|
+
// this.objectConfigService.getObjectConfigs$(this.bucket || '')
|
|
53
|
+
.pipe(takeUntilDestroyed())
|
|
54
|
+
.subscribe((res) => {
|
|
55
|
+
this.oc = res;
|
|
56
|
+
if (this._dmsObject)
|
|
57
|
+
this._getHeaderData();
|
|
58
|
+
});
|
|
59
|
+
this.eventService
|
|
60
|
+
.on(YuvEventType.DMS_OBJECT_UPDATED)
|
|
61
|
+
.pipe(takeUntilDestroyed())
|
|
62
|
+
.subscribe((e) => {
|
|
63
|
+
const o = e.data;
|
|
64
|
+
if (this._dmsObject && this._dmsObject.id === o.id)
|
|
65
|
+
this.dmsObject = o;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
_getHeaderData() {
|
|
69
|
+
if (this._dmsObject) {
|
|
70
|
+
const oc = this.oc[this._dmsObject.objectTypeId];
|
|
71
|
+
// const ic = oc.icon ? (this._dmsObject.data[oc.icon.propertyName] as string) : this._dmsObject.objectTypeId;
|
|
72
|
+
const icon = {
|
|
73
|
+
title: this.systemService.getLocalizedLabel(this._dmsObject.objectTypeId)
|
|
74
|
+
};
|
|
75
|
+
if (oc.icon)
|
|
76
|
+
icon.svg = oc.icon.svg;
|
|
77
|
+
else
|
|
78
|
+
icon.src = this.systemService.getObjectTypeIconUri(this._dmsObject.objectTypeId);
|
|
79
|
+
this.headerData = {
|
|
80
|
+
icon,
|
|
81
|
+
title: oc.title ? this.dmsObject?.data[oc.title.propertyName] : undefined,
|
|
82
|
+
description: oc.description ? this.dmsObject?.data[oc.description.propertyName] : undefined
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
else
|
|
86
|
+
this.headerData = undefined;
|
|
87
|
+
}
|
|
88
|
+
_getDmsObject(id) {
|
|
89
|
+
this.busy = true;
|
|
90
|
+
this.dmsService.getDmsObject(id).subscribe({
|
|
91
|
+
next: (dmsObject) => (this.dmsObject = dmsObject),
|
|
92
|
+
error: () => {
|
|
93
|
+
this.dmsObject = undefined;
|
|
94
|
+
this.contextError = this.translate.instant('yuv.object-metadata.context.load.error');
|
|
95
|
+
},
|
|
96
|
+
complete: () => {
|
|
97
|
+
this.busy = false;
|
|
98
|
+
this.dmsObjectChange.emit(this.dmsObject);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
ngOnInit() {
|
|
103
|
+
this._subs.push(this.eventService.on(YuvEventType.DMS_OBJECT_DELETED).subscribe((event) => {
|
|
104
|
+
if (event.data?.id === this._dmsObject?.id) {
|
|
105
|
+
this._dmsObject = undefined;
|
|
106
|
+
}
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
ngOnDestroy() {
|
|
110
|
+
this._subs.forEach((s) => s.unsubscribe());
|
|
111
|
+
}
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectDetailsShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ObjectDetailsShellComponent, isStandalone: true, selector: "yuv-object-details-shell", inputs: { layoutSettingsID: "layoutSettingsID", dmsObject: "dmsObject", objectId: "objectId" }, outputs: { dmsObjectChange: "dmsObjectChange" }, ngImport: i0, template: "<yuv-panel\n *ngIf=\"dmsObject; else tplEmpty\"\n [yuvBusyOverlay]=\"busy\"\n [icon]=\"headerData?.icon\"\n [title]=\"headerData?.title\"\n [description]=\"headerData?.description\"\n>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</yuv-panel>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <div class=\"error\" *ngIf=\"contextError; else tplEmptyNoError\">{{ contextError }}</div>\n </div>\n</ng-template>\n\n<ng-template #tplEmptyNoError> EMPTY </ng-template>\n\n\n", styles: [":host{display:block}:host yuv-panel{height:100%}:host .content{height:100%}:host .empty{height:100%;display:grid;align-items:center;justify-content:center}:host .empty .error{max-width:40ch;margin:var(--app-pane-padding);color:var(--text-color-caption);padding:calc(var(--app-pane-padding) * .75);border-radius:.5em;line-height:1.5em;border:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PanelComponent, selector: "yuv-panel", inputs: ["icon", "title", "description"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay"] }] }); }
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectDetailsShellComponent, decorators: [{
|
|
116
|
+
type: Component,
|
|
117
|
+
args: [{ selector: 'yuv-object-details-shell', standalone: true, imports: [CommonModule, PanelComponent, BusyOverlayDirective], template: "<yuv-panel\n *ngIf=\"dmsObject; else tplEmpty\"\n [yuvBusyOverlay]=\"busy\"\n [icon]=\"headerData?.icon\"\n [title]=\"headerData?.title\"\n [description]=\"headerData?.description\"\n>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</yuv-panel>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <div class=\"error\" *ngIf=\"contextError; else tplEmptyNoError\">{{ contextError }}</div>\n </div>\n</ng-template>\n\n<ng-template #tplEmptyNoError> EMPTY </ng-template>\n\n\n", styles: [":host{display:block}:host yuv-panel{height:100%}:host .content{height:100%}:host .empty{height:100%;display:grid;align-items:center;justify-content:center}:host .empty .error{max-width:40ch;margin:var(--app-pane-padding);color:var(--text-color-caption);padding:calc(var(--app-pane-padding) * .75);border-radius:.5em;line-height:1.5em;border:1px solid var(--panel-divider-color)}\n"] }]
|
|
118
|
+
}], ctorParameters: () => [], propDecorators: { layoutSettingsID: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], dmsObject: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], dmsObjectChange: [{
|
|
123
|
+
type: Output
|
|
124
|
+
}], objectId: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}] } });
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWRldGFpbHMtc2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZGV0YWlscy9zcmMvbGliL29iamVjdC1kZXRhaWxzLXNoZWxsL29iamVjdC1kZXRhaWxzLXNoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvc3JjL2xpYi9vYmplY3QtZGV0YWlscy1zaGVsbC9vYmplY3QtZGV0YWlscy1zaGVsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUVaLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixXQUFXLEVBRVgsWUFBWSxFQUNiLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFVaEUsTUFBTSxPQUFPLDJCQUEyQjtJQWlDdEM7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxDQUF3QjtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNwQixrS0FBa0s7UUFFbEssSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7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QUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO2dCQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7K0dBdklVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHFPQzNCeEMsNGZBcUJBLHFiREVZLFlBQVksbUlBQUUsY0FBYyxnR0FBRSxvQkFBb0I7OzRGQUlqRCwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsb0JBQW9CLENBQUM7d0RBb0NwRCxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0YsU0FBUztzQkFEWixLQUFLO2dCQW1CSSxlQUFlO3NCQUF4QixNQUFNO2dCQU1ILFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgRG1zT2JqZWN0LFxuICBEbXNTZXJ2aWNlLFxuICBFdmVudFNlcnZpY2UsXG4gIE9iamVjdENvbmZpZ1JlY29yZCxcbiAgT2JqZWN0Q29uZmlnU2VydmljZSxcbiAgUmV0ZW50aW9uRmllbGQsXG4gIFN5c3RlbVNlcnZpY2UsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG4gIFVzZXJTZXJ2aWNlLFxuICBZdXZFdmVudCxcbiAgWXV2RXZlbnRUeXBlXG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQnVzeU92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvY29tbW9uJztcbmltcG9ydCB7IFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3BhbmVsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtb2JqZWN0LWRldGFpbHMtc2hlbGwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQYW5lbENvbXBvbmVudCwgQnVzeU92ZXJsYXlEaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWRldGFpbHMtc2hlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vYmplY3QtZGV0YWlscy1zaGVsbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdERldGFpbHNTaGVsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgb2JqZWN0Q29uZmlnU2VydmljZSA9IGluamVjdChPYmplY3RDb25maWdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBldmVudFNlcnZpY2UgPSBpbmplY3QoRXZlbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkbXNTZXJ2aWNlID0gaW5qZWN0KERtc1NlcnZpY2UpO1xuICBwcml2YXRlIHN5c3RlbVNlcnZpY2UgPSBpbmplY3QoU3lzdGVtU2VydmljZSk7XG4gIHByaXZhdGUgdXNlclNlcnZpY2UgPSBpbmplY3QoVXNlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIF9kbXNPYmplY3Q/OiBEbXNPYmplY3Q7XG4gIGNvbnRleHRFcnJvcj86IHN0cmluZztcbiAgb2JqZWN0VHlwZUlkPzogc3RyaW5nO1xuICByZXRlbnRpb25FbmREYXRlPzogRGF0ZTtcbiAgcmV0ZW50aW9uRW5kZWQ/OiBib29sZWFuO1xuICBmaWxlRHJvcExhYmVsPzogc3RyaW5nO1xuICBidXN5ID0gZmFsc2U7XG4gIGlzQWR2YW5jZWRVc2VyID0gdGhpcy51c2VyU2VydmljZS5pc0FkdmFuY2VkVXNlcjtcblxuICBwcml2YXRlIG9jPzogT2JqZWN0Q29uZmlnUmVjb3JkO1xuICBoZWFkZXJEYXRhPzoge1xuICAgIGljb24/OiB7XG4gICAgICBzcmM/OiBzdHJpbmc7XG4gICAgICBzdmc/OiBzdHJpbmc7XG4gICAgICB0aXRsZT86IHN0cmluZztcbiAgICB9O1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJRCB0byBzdG9yZSB0aGUgY29tcG9uZW50cyBsYXlvdXQgc3RhdGUgKHNwbGl0dGVkIHRhYnMsIGd1dHRlciBwb3NpdGlvbilcbiAgICovXG4gIEBJbnB1dCgpIGxheW91dFNldHRpbmdzSUQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEbXNPYmplY3QgdG8gc2hvdyB0aGUgZGV0YWlscyBmb3IuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZG1zT2JqZWN0KG86IERtc09iamVjdCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2Rtc09iamVjdCA9IG87XG4gICAgLy8gdGhpcy5vYmplY3RUeXBlSWQgPSBvID8gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldExlYWRpbmdPYmplY3RUeXBlSUQoby5vYmplY3RUeXBlSWQsIG8uZGF0YVtCYXNlT2JqZWN0VHlwZUZpZWxkLlNFQ09OREFSWV9PQkpFQ1RfVFlQRV9JRFNdIGFzIHN0cmluZykgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAodGhpcy5fZG1zT2JqZWN0KSB7XG4gICAgICB0aGlzLl9nZXRIZWFkZXJEYXRhKCk7XG4gICAgICB0aGlzLnJldGVudGlvbkVuZERhdGUgPSB0aGlzLl9kbXNPYmplY3QuZGF0YVtSZXRlbnRpb25GaWVsZC5SRVRFTlRJT05fRU5EXVxuICAgICAgICA/IG5ldyBEYXRlKHRoaXMuX2Rtc09iamVjdC5kYXRhW1JldGVudGlvbkZpZWxkLlJFVEVOVElPTl9FTkRdIGFzIHN0cmluZylcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICB0aGlzLnJldGVudGlvbkVuZGVkID0gdGhpcy5yZXRlbnRpb25FbmREYXRlICYmIHRvZGF5ID4gdGhpcy5yZXRlbnRpb25FbmREYXRlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBkbXNPYmplY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rtc09iamVjdDtcbiAgfVxuXG4gIEBPdXRwdXQoKSBkbXNPYmplY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERtc09iamVjdD4oKTtcblxuICAvKipcbiAgICogSUQgb2YgYSBEbXNPYmplY3QuIFRoZSBvYmplY3Qgd2lsbCBiZSBmZXRjaGVkIGZyb20gdGhlIGJhY2tlbmQgdXBmcm9udC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBvYmplY3RJZChpZDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGlkKSB7XG4gICAgICB0aGlzLl9nZXREbXNPYmplY3QoaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRtc09iamVjdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm9iamVjdENvbmZpZ1NlcnZpY2VcbiAgICAgIC5nZXRPYmplY3RDb25maWdzJCgpXG4gICAgICAvLyB0aGlzLm9iamVjdENvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlncyQodGhpcy5idWNrZXQgfHwgJycpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogT2JqZWN0Q29uZmlnUmVjb3JkKSA9PiB7XG4gICAgICAgIHRoaXMub2MgPSByZXM7XG4gICAgICAgIGlmICh0aGlzLl9kbXNPYmplY3QpIHRoaXMuX2dldEhlYWRlckRhdGEoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihZdXZFdmVudFR5cGUuRE1TX09CSkVDVF9VUERBVEVEKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChlOiBZdXZFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBvID0gZS5kYXRhIGFzIERtc09iamVjdDtcbiAgICAgICAgaWYgKHRoaXMuX2Rtc09iamVjdCAmJiB0aGlzLl9kbXNPYmplY3QuaWQgPT09IG8uaWQpIHRoaXMuZG1zT2JqZWN0ID0gbztcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SGVhZGVyRGF0YSgpIHtcbiAgICBpZiAodGhpcy5fZG1zT2JqZWN0KSB7XG4gICAgICBjb25zdCBvYyA9IHRoaXMub2MhW3RoaXMuX2Rtc09iamVjdC5vYmplY3RUeXBlSWRdO1xuICAgICAgLy8gY29uc3QgaWMgPSBvYy5pY29uID8gKHRoaXMuX2Rtc09iamVjdC5kYXRhW29jLmljb24ucHJvcGVydHlOYW1lXSBhcyBzdHJpbmcpIDogdGhpcy5fZG1zT2JqZWN0Lm9iamVjdFR5cGVJZDtcblxuICAgICAgY29uc3QgaWNvbjogeyB0aXRsZT86IHN0cmluZzsgc3ZnPzogc3RyaW5nOyBzcmM/OiBzdHJpbmcgfSA9IHtcbiAgICAgICAgdGl0bGU6IHRoaXMuc3lzdGVtU2VydmljZS5nZXRMb2NhbGl6ZWRMYWJlbCh0aGlzLl9kbXNPYmplY3Qub2JqZWN0VHlwZUlkKVxuICAgICAgfTtcblxuICAgICAgaWYgKG9jLmljb24pIGljb24uc3ZnID0gb2MuaWNvbi5zdmc7XG4gICAgICBlbHNlIGljb24uc3JjID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGVJY29uVXJpKHRoaXMuX2Rtc09iamVjdC5vYmplY3RUeXBlSWQpO1xuXG4gICAgICB0aGlzLmhlYWRlckRhdGEgPSB7XG4gICAgICAgIGljb24sXG4gICAgICAgIHRpdGxlOiBvYy50aXRsZSA/ICh0aGlzLmRtc09iamVjdD8uZGF0YVtvYy50aXRsZS5wcm9wZXJ0eU5hbWVdIGFzIHN0cmluZykgOiB1bmRlZmluZWQsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvYy5kZXNjcmlwdGlvbiA/ICh0aGlzLmRtc09iamVjdD8uZGF0YVtvYy5kZXNjcmlwdGlvbi5wcm9wZXJ0eU5hbWVdIGFzIHN0cmluZykgOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfSBlbHNlIHRoaXMuaGVhZGVyRGF0YSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERtc09iamVjdChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5idXN5ID0gdHJ1ZTtcbiAgICB0aGlzLmRtc1NlcnZpY2UuZ2V0RG1zT2JqZWN0KGlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRtc09iamVjdCkgPT4gKHRoaXMuZG1zT2JqZWN0ID0gZG1zT2JqZWN0KSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuZG1zT2JqZWN0ID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmNvbnRleHRFcnJvciA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5vYmplY3QtbWV0YWRhdGEuY29udGV4dC5sb2FkLmVycm9yJyk7XG4gICAgICB9LFxuICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgdGhpcy5idXN5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZG1zT2JqZWN0Q2hhbmdlLmVtaXQodGhpcy5kbXNPYmplY3QpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5ldmVudFNlcnZpY2Uub24oWXV2RXZlbnRUeXBlLkRNU19PQkpFQ1RfREVMRVRFRCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQuZGF0YT8uaWQgPT09IHRoaXMuX2Rtc09iamVjdD8uaWQpIHtcbiAgICAgICAgICB0aGlzLl9kbXNPYmplY3QgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxufVxuIiwiPHl1di1wYW5lbFxuICAqbmdJZj1cImRtc09iamVjdDsgZWxzZSB0cGxFbXB0eVwiXG4gIFt5dXZCdXN5T3ZlcmxheV09XCJidXN5XCJcbiAgW2ljb25dPVwiaGVhZGVyRGF0YT8uaWNvblwiXG4gIFt0aXRsZV09XCJoZWFkZXJEYXRhPy50aXRsZVwiXG4gIFtkZXNjcmlwdGlvbl09XCJoZWFkZXJEYXRhPy5kZXNjcmlwdGlvblwiXG4+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwveXV2LXBhbmVsPlxuXG48bmctdGVtcGxhdGUgI3RwbEVtcHR5PlxuICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cImNvbnRleHRFcnJvcjsgZWxzZSB0cGxFbXB0eU5vRXJyb3JcIj57eyBjb250ZXh0RXJyb3IgfX08L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RwbEVtcHR5Tm9FcnJvcj4gRU1QVFkgPC9uZy10ZW1wbGF0ZT5cblxuXG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { CommonModule, JsonPipe } from '@angular/common';
|
|
2
|
+
import { Component, Input, inject, signal } from '@angular/core';
|
|
3
|
+
import { ConfigService, DmsObject, UserService } from '@yuuvis/client-core';
|
|
4
|
+
import { YvcSplitTabsModule } from '@yuuvis/components/split-tabs';
|
|
5
|
+
import { YuvMediaViewerComponent } from '@yuuvis/media-viewer';
|
|
6
|
+
import { ObjectAuditComponent } from './object-audit/object-audit.component';
|
|
7
|
+
import { ObjectDetailsShellComponent } from './object-details-shell/object-details-shell.component';
|
|
8
|
+
import { ObjectMetadataComponent } from './object-metadata/object-metadata.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@yuuvis/components/split-tabs";
|
|
11
|
+
export class ObjectDetailsComponent {
|
|
12
|
+
#configService;
|
|
13
|
+
#userService;
|
|
14
|
+
/**
|
|
15
|
+
* If you want to set the order of the tabs within object details, you can use
|
|
16
|
+
* this input property. The tab order will be defined by the index of the
|
|
17
|
+
* input array containing the following values in the desired order:
|
|
18
|
+
*
|
|
19
|
+
* - `summary`: Object summary tab
|
|
20
|
+
* - `indexdata`: Indexdata edit form tab
|
|
21
|
+
* - `preview`: Content preview tab
|
|
22
|
+
* - `history: Object history tab (audits)
|
|
23
|
+
*/
|
|
24
|
+
set panelOrder(po) {
|
|
25
|
+
const def = ['summary', 'indexdata', 'preview', 'history'];
|
|
26
|
+
po = po || def;
|
|
27
|
+
this._splitTabConfig = {
|
|
28
|
+
primary: {
|
|
29
|
+
tabs: po,
|
|
30
|
+
active: po[0]
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
constructor() {
|
|
35
|
+
this.#configService = inject(ConfigService);
|
|
36
|
+
this.#userService = inject(UserService);
|
|
37
|
+
this.isAdvancedUser = this.#userService.isAdvancedUser;
|
|
38
|
+
this._splitTabConfig = {};
|
|
39
|
+
this.currentUser = signal(this.#userService.getCurrentUser());
|
|
40
|
+
if (this.#configService.get('client.objectDetailsTabs'))
|
|
41
|
+
this.panelOrder = this.#configService.get('client.objectDetailsTabs');
|
|
42
|
+
}
|
|
43
|
+
onIndexdataSaved(updatedObject) {
|
|
44
|
+
this.dmsObject = updatedObject;
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectDetailsComponent, isStandalone: true, selector: "yuv-object-details", inputs: { panelOrder: "panelOrder", layoutSettingsID: "layoutSettingsID", dmsObject: "dmsObject", objectId: "objectId" }, ngImport: i0, template: "<yuv-object-details-shell [objectId]=\"objectId\" [(dmsObject)]=\"dmsObject\" [layoutSettingsID]=\"layoutSettingsID\">\n <yvc-split-tabs class=\"content\" [config]=\"_splitTabConfig\" [layoutSettingsID]=\"layoutSettingsID\">\n <!-- content -->\n <ng-template [yvcTab]=\"{ id: 'content', label: 'yuv.object-details.tabs.content.title' | translate }\">\n @if (dmsObject && dmsObject.content) {\n <yuv-media-viewer\n [id]=\"dmsObject.id\"\n [metadata]=\"{ data: dmsObject.data, editable: true, user: currentUser() }\"\n [type]=\"dmsObject.content.mimeType\"\n ></yuv-media-viewer>\n }\n\n <span>{{ currentUser() | json }}</span>\n </ng-template>\n <!-- indexdata -->\n <ng-template [yvcTab]=\"{ id: 'indexdata', label: 'yuv.object-metadata.tabs.indexdata.title' | translate }\">\n <yuv-object-metadata [dmsObject]=\"dmsObject\" (indexDataSaved)=\"onIndexdataSaved($event)\"> </yuv-object-metadata>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{ id: 'history', label: 'yuv.object-metadata.tabs.history.title' | translate }\">\n <yuv-object-audit [dmsObject]=\"dmsObject\"></yuv-object-audit>\n </ng-template>\n </yvc-split-tabs>\n</yuv-object-details-shell>\n", styles: [":host{display:block}:host yuv-object-details-shell,:host yvc-split-tabs,:host yuv-object-form-edit{height:100%}\n"], dependencies: [{ kind: "pipe", type: JsonPipe, name: "json" }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: YvcSplitTabsModule }, { kind: "component", type: i1.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: ObjectDetailsShellComponent, selector: "yuv-object-details-shell", inputs: ["layoutSettingsID", "dmsObject", "objectId"], outputs: ["dmsObjectChange"] }, { kind: "component", type: YuvMediaViewerComponent, selector: "yuv-media-viewer", inputs: ["id", "type", "metadata", "src"] }, { kind: "component", type: ObjectMetadataComponent, selector: "yuv-object-metadata", inputs: ["situation", "formDisabled", "dmsObject", "flavoredDmsObject"], outputs: ["indexDataSaved", "statusChanged"] }, { kind: "component", type: ObjectAuditComponent, selector: "yuv-object-audit", inputs: ["dmsObject", "skipActions", "allActions", "versionsLink"] }] }); }
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectDetailsComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{ selector: 'yuv-object-details', standalone: true, imports: [JsonPipe, CommonModule, YvcSplitTabsModule, ObjectDetailsShellComponent, YuvMediaViewerComponent, ObjectMetadataComponent, ObjectAuditComponent], template: "<yuv-object-details-shell [objectId]=\"objectId\" [(dmsObject)]=\"dmsObject\" [layoutSettingsID]=\"layoutSettingsID\">\n <yvc-split-tabs class=\"content\" [config]=\"_splitTabConfig\" [layoutSettingsID]=\"layoutSettingsID\">\n <!-- content -->\n <ng-template [yvcTab]=\"{ id: 'content', label: 'yuv.object-details.tabs.content.title' | translate }\">\n @if (dmsObject && dmsObject.content) {\n <yuv-media-viewer\n [id]=\"dmsObject.id\"\n [metadata]=\"{ data: dmsObject.data, editable: true, user: currentUser() }\"\n [type]=\"dmsObject.content.mimeType\"\n ></yuv-media-viewer>\n }\n\n <span>{{ currentUser() | json }}</span>\n </ng-template>\n <!-- indexdata -->\n <ng-template [yvcTab]=\"{ id: 'indexdata', label: 'yuv.object-metadata.tabs.indexdata.title' | translate }\">\n <yuv-object-metadata [dmsObject]=\"dmsObject\" (indexDataSaved)=\"onIndexdataSaved($event)\"> </yuv-object-metadata>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{ id: 'history', label: 'yuv.object-metadata.tabs.history.title' | translate }\">\n <yuv-object-audit [dmsObject]=\"dmsObject\"></yuv-object-audit>\n </ng-template>\n </yvc-split-tabs>\n</yuv-object-details-shell>\n", styles: [":host{display:block}:host yuv-object-details-shell,:host yvc-split-tabs,:host yuv-object-form-edit{height:100%}\n"] }]
|
|
52
|
+
}], ctorParameters: () => [], propDecorators: { panelOrder: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], layoutSettingsID: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], dmsObject: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], objectId: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}] } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZGV0YWlscy9zcmMvbGliL29iamVjdC1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvc3JjL2xpYi9vYmplY3QtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUEyQixrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7QUFTdEYsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixjQUFjLENBQXlCO0lBQ3ZDLFlBQVksQ0FBdUI7SUFPNUM7Ozs7Ozs7OztPQVNHO0lBQ0gsSUFBYSxVQUFVLENBQUMsRUFBd0I7UUFDOUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMzRCxFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUc7WUFDckIsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2Q7U0FDRixDQUFDO0lBQ0osQ0FBQztJQWNEO1FBekNTLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTVDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7UUFDbEQsb0JBQWUsR0FBNEIsRUFBRSxDQUFDO1FBRTlDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQW9DdkQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQztZQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNqSSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsYUFBd0I7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7SUFDakMsQ0FBQzsrR0FoRFUsc0JBQXNCO21HQUF0QixzQkFBc0Isd01DaEJuQyxxdkNBd0JBLHNLRFpZLFFBQVEsNENBQUUsWUFBWSw4QkFBRSxrQkFBa0Isd01BQUUsMkJBQTJCLDBKQUFFLHVCQUF1Qix3R0FBRSx1QkFBdUIsdUxBQUUsb0JBQW9COzs0RkFJOUksc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDO3dEQXVCN0ksVUFBVTtzQkFBdEIsS0FBSztnQkFhRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBKc29uUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgRG1zT2JqZWN0LCBVc2VyU2VydmljZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgU3BsaXRUYWJzTGF5b3V0U2V0dGluZ3MsIFl2Y1NwbGl0VGFic01vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9zcGxpdC10YWJzJztcbmltcG9ydCB7IFl1dk1lZGlhVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnQHl1dXZpcy9tZWRpYS12aWV3ZXInO1xuaW1wb3J0IHsgT2JqZWN0QXVkaXRDb21wb25lbnQgfSBmcm9tICcuL29iamVjdC1hdWRpdC9vYmplY3QtYXVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IE9iamVjdERldGFpbHNTaGVsbENvbXBvbmVudCB9IGZyb20gJy4vb2JqZWN0LWRldGFpbHMtc2hlbGwvb2JqZWN0LWRldGFpbHMtc2hlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IE9iamVjdE1ldGFkYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9vYmplY3QtbWV0YWRhdGEvb2JqZWN0LW1ldGFkYXRhLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1vYmplY3QtZGV0YWlscycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtKc29uUGlwZSwgQ29tbW9uTW9kdWxlLCBZdmNTcGxpdFRhYnNNb2R1bGUsIE9iamVjdERldGFpbHNTaGVsbENvbXBvbmVudCwgWXV2TWVkaWFWaWV3ZXJDb21wb25lbnQsIE9iamVjdE1ldGFkYXRhQ29tcG9uZW50LCBPYmplY3RBdWRpdENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0RGV0YWlsc0NvbXBvbmVudCB7XG4gIHJlYWRvbmx5ICNjb25maWdTZXJ2aWNlID0gaW5qZWN0KENvbmZpZ1NlcnZpY2UpO1xuICByZWFkb25seSAjdXNlclNlcnZpY2UgPSBpbmplY3QoVXNlclNlcnZpY2UpO1xuXG4gIGlzQWR2YW5jZWRVc2VyID0gdGhpcy4jdXNlclNlcnZpY2UuaXNBZHZhbmNlZFVzZXI7XG4gIF9zcGxpdFRhYkNvbmZpZzogU3BsaXRUYWJzTGF5b3V0U2V0dGluZ3MgPSB7fTtcblxuICBjdXJyZW50VXNlciA9IHNpZ25hbCh0aGlzLiN1c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpKTtcblxuICAvKipcbiAgICogSWYgeW91IHdhbnQgdG8gc2V0IHRoZSBvcmRlciBvZiB0aGUgdGFicyB3aXRoaW4gb2JqZWN0IGRldGFpbHMsIHlvdSBjYW4gdXNlXG4gICAqIHRoaXMgaW5wdXQgcHJvcGVydHkuIFRoZSB0YWIgb3JkZXIgd2lsbCBiZSBkZWZpbmVkIGJ5IHRoZSBpbmRleCBvZiB0aGVcbiAgICogaW5wdXQgYXJyYXkgY29udGFpbmluZyB0aGUgZm9sbG93aW5nIHZhbHVlcyBpbiB0aGUgZGVzaXJlZCBvcmRlcjpcbiAgICpcbiAgICogLSBgc3VtbWFyeWA6IE9iamVjdCBzdW1tYXJ5IHRhYlxuICAgKiAtIGBpbmRleGRhdGFgOiBJbmRleGRhdGEgZWRpdCBmb3JtIHRhYlxuICAgKiAtIGBwcmV2aWV3YDogQ29udGVudCBwcmV2aWV3IHRhYlxuICAgKiAtIGBoaXN0b3J5OiBPYmplY3QgaGlzdG9yeSB0YWIgKGF1ZGl0cylcbiAgICovXG4gIEBJbnB1dCgpIHNldCBwYW5lbE9yZGVyKHBvOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGRlZiA9IFsnc3VtbWFyeScsICdpbmRleGRhdGEnLCAncHJldmlldycsICdoaXN0b3J5J107XG4gICAgcG8gPSBwbyB8fCBkZWY7XG4gICAgdGhpcy5fc3BsaXRUYWJDb25maWcgPSB7XG4gICAgICBwcmltYXJ5OiB7XG4gICAgICAgIHRhYnM6IHBvLFxuICAgICAgICBhY3RpdmU6IHBvWzBdXG4gICAgICB9XG4gICAgfTtcbiAgfVxuICAvKipcbiAgICogSUQgdG8gc3RvcmUgdGhlIGNvbXBvbmVudHMgbGF5b3V0IHN0YXRlIChzcGxpdHRlZCB0YWJzLCBndXR0ZXIgcG9zaXRpb24pXG4gICAqL1xuICBASW5wdXQoKSBsYXlvdXRTZXR0aW5nc0lEPzogc3RyaW5nO1xuICAvKipcbiAgICogRG1zT2JqZWN0IHRvIHNob3cgdGhlIGRldGFpbHMgZm9yLlxuICAgKi9cbiAgQElucHV0KCkgZG1zT2JqZWN0PzogRG1zT2JqZWN0O1xuICAvKipcbiAgICogSUQgb2YgYSBEbXNPYmplY3QuIFRoZSBvYmplY3Qgd2lsbCBiZSBmZXRjaGVkIGZyb20gdGhlIGJhY2tlbmQgdXBmcm9udC5cbiAgICovXG4gIEBJbnB1dCgpIG9iamVjdElkPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICh0aGlzLiNjb25maWdTZXJ2aWNlLmdldCgnY2xpZW50Lm9iamVjdERldGFpbHNUYWJzJykpIHRoaXMucGFuZWxPcmRlciA9IHRoaXMuI2NvbmZpZ1NlcnZpY2UuZ2V0KCdjbGllbnQub2JqZWN0RGV0YWlsc1RhYnMnKTtcbiAgfVxuXG4gIG9uSW5kZXhkYXRhU2F2ZWQodXBkYXRlZE9iamVjdDogRG1zT2JqZWN0KSB7XG4gICAgdGhpcy5kbXNPYmplY3QgPSB1cGRhdGVkT2JqZWN0O1xuICB9XG5cbiAgLy8gdmVyc2lvblNlbGVjdGVkKHZlcnNpb246IG51bWJlcikge1xuICAvLyAgIGNvbnN0IG5hdiA9IFsnLi4vLi4nLCAndmVyc2lvbiddO1xuICAvLyAgIHRoaXMuI3JvdXRlci5uYXZpZ2F0ZShbLi4ubmF2LCB0aGlzLmRtc09iamVjdD8udmVyc2lvbl0sIHsgcXVlcnlQYXJhbXM6IHsgdmVyc2lvbiB9LCByZWxhdGl2ZVRvOiB0aGlzLiNyb3V0ZSB9KTtcbiAgLy8gfVxufVxuIiwiPHl1di1vYmplY3QtZGV0YWlscy1zaGVsbCBbb2JqZWN0SWRdPVwib2JqZWN0SWRcIiBbKGRtc09iamVjdCldPVwiZG1zT2JqZWN0XCIgW2xheW91dFNldHRpbmdzSURdPVwibGF5b3V0U2V0dGluZ3NJRFwiPlxuICA8eXZjLXNwbGl0LXRhYnMgY2xhc3M9XCJjb250ZW50XCIgW2NvbmZpZ109XCJfc3BsaXRUYWJDb25maWdcIiBbbGF5b3V0U2V0dGluZ3NJRF09XCJsYXlvdXRTZXR0aW5nc0lEXCI+XG4gICAgPCEtLSBjb250ZW50IC0tPlxuICAgIDxuZy10ZW1wbGF0ZSBbeXZjVGFiXT1cInsgaWQ6ICdjb250ZW50JywgbGFiZWw6ICd5dXYub2JqZWN0LWRldGFpbHMudGFicy5jb250ZW50LnRpdGxlJyB8IHRyYW5zbGF0ZSB9XCI+XG4gICAgICBAaWYgKGRtc09iamVjdCAmJiBkbXNPYmplY3QuY29udGVudCkge1xuICAgICAgICA8eXV2LW1lZGlhLXZpZXdlclxuICAgICAgICAgIFtpZF09XCJkbXNPYmplY3QuaWRcIlxuICAgICAgICAgIFttZXRhZGF0YV09XCJ7IGRhdGE6IGRtc09iamVjdC5kYXRhLCBlZGl0YWJsZTogdHJ1ZSwgdXNlcjogY3VycmVudFVzZXIoKSB9XCJcbiAgICAgICAgICBbdHlwZV09XCJkbXNPYmplY3QuY29udGVudC5taW1lVHlwZVwiXG4gICAgICAgID48L3l1di1tZWRpYS12aWV3ZXI+XG4gICAgICB9XG5cbiAgICAgIDxzcGFuPnt7IGN1cnJlbnRVc2VyKCkgfCBqc29uIH19PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPCEtLSBpbmRleGRhdGEgLS0+XG4gICAgPG5nLXRlbXBsYXRlIFt5dmNUYWJdPVwieyBpZDogJ2luZGV4ZGF0YScsIGxhYmVsOiAneXV2Lm9iamVjdC1tZXRhZGF0YS50YWJzLmluZGV4ZGF0YS50aXRsZScgfCB0cmFuc2xhdGUgfVwiPlxuICAgICAgPHl1di1vYmplY3QtbWV0YWRhdGEgW2Rtc09iamVjdF09XCJkbXNPYmplY3RcIiAoaW5kZXhEYXRhU2F2ZWQpPVwib25JbmRleGRhdGFTYXZlZCgkZXZlbnQpXCI+IDwveXV2LW9iamVjdC1tZXRhZGF0YT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwhLS0gaGlzdG9yeSAtLT5cbiAgICA8bmctdGVtcGxhdGUgW3l2Y1RhYl09XCJ7IGlkOiAnaGlzdG9yeScsIGxhYmVsOiAneXV2Lm9iamVjdC1tZXRhZGF0YS50YWJzLmhpc3RvcnkudGl0bGUnIHwgdHJhbnNsYXRlIH1cIj5cbiAgICAgIDx5dXYtb2JqZWN0LWF1ZGl0IFtkbXNPYmplY3RdPVwiZG1zT2JqZWN0XCI+PC95dXYtb2JqZWN0LWF1ZGl0PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwveXZjLXNwbGl0LXRhYnM+XG48L3l1di1vYmplY3QtZGV0YWlscy1zaGVsbD5cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FormSectionGroupPipe {
|
|
4
|
+
transform(form, id) {
|
|
5
|
+
return form.get(id);
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormSectionGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FormSectionGroupPipe, isStandalone: true, name: "formSectionGroup" }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormSectionGroupPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{
|
|
13
|
+
name: 'formSectionGroup',
|
|
14
|
+
standalone: true
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWN0aW9uLWdyb3VwLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1kZXRhaWxzL3NyYy9saWIvb2JqZWN0LW1ldGFkYXRhL2Zvcm0tc2VjdGlvbi1ncm91cC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFNBQVMsQ0FBQyxJQUFlLEVBQUUsRUFBVTtRQUNuQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFjLENBQUM7SUFDbkMsQ0FBQzsrR0FIVSxvQkFBb0I7NkdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1TZWN0aW9uR3JvdXAnLFxuICBzdGFuZGFsb25lOiB0cnVlIFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtU2VjdGlvbkdyb3VwUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogRm9ybUdyb3VwLCBpZDogc3RyaW5nKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gZm9ybS5nZXQoaWQpIGFzIEZvcm1Hcm91cDtcbiAgfVxufVxuIl19
|