@yuuvis/client-framework 2.20.1 → 3.0.0-beta.20.1
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/actions/index.d.ts +230 -9
- package/app-bar/index.d.ts +50 -1
- package/autocomplete/index.d.ts +89 -3
- package/breadcrumb/index.d.ts +112 -2
- package/clipboard/index.d.ts +19 -1
- package/common/index.d.ts +536 -7
- package/datepicker/index.d.ts +380 -6
- package/fesm2022/yuuvis-client-framework-actions.mjs +31 -32
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-app-bar.mjs +14 -17
- package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-autocomplete.mjs +23 -23
- package/fesm2022/yuuvis-client-framework-autocomplete.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-breadcrumb.mjs +7 -8
- package/fesm2022/yuuvis-client-framework-breadcrumb.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-clipboard.mjs +8 -10
- package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-common.mjs +191 -234
- package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-datepicker.mjs +110 -145
- package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-forms.mjs +283 -250
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-icons.mjs +18 -19
- package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-list.mjs +59 -57
- package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-master-details.mjs +23 -18
- package/fesm2022/yuuvis-client-framework-master-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +7 -9
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs +32 -32
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-details.mjs +129 -120
- package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs +67 -59
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs +58 -60
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-preview.mjs +64 -47
- package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs +206 -183
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +42 -42
- package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-versions.mjs +28 -29
- package/fesm2022/yuuvis-client-framework-object-versions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs +10 -10
- package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-overflow-menu.mjs +16 -16
- package/fesm2022/yuuvis-client-framework-overflow-menu.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-pagination.mjs +7 -8
- package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-popout.mjs +55 -57
- package/fesm2022/yuuvis-client-framework-popout.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-query-list.mjs +29 -29
- package/fesm2022/yuuvis-client-framework-query-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-renderer.mjs +71 -68
- package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +20 -25
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-simple-search.mjs +31 -33
- package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sort.mjs +57 -37
- package/fesm2022/yuuvis-client-framework-sort.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-split-view.mjs +39 -38
- package/fesm2022/yuuvis-client-framework-split-view.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +119 -121
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-token-search.mjs +22 -22
- package/fesm2022/yuuvis-client-framework-token-search.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tree.mjs +32 -44
- package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs +22 -26
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-widget-grid.mjs +80 -77
- package/fesm2022/yuuvis-client-framework-widget-grid.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework.mjs +23 -23
- package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
- package/forms/index.d.ts +633 -13
- package/icons/index.d.ts +79 -4
- package/index.d.ts +909 -6
- package/list/index.d.ts +380 -4
- package/master-details/index.d.ts +69 -3
- package/metadata-form/index.d.ts +189 -6
- package/metadata-form-defaults/index.d.ts +14 -2
- package/object-details/index.d.ts +321 -9
- package/object-flavor/index.d.ts +86 -6
- package/object-form/index.d.ts +288 -4
- package/object-preview/index.d.ts +82 -2
- package/object-relationship/index.d.ts +120 -5
- package/object-summary/index.d.ts +105 -4
- package/object-versions/index.d.ts +43 -2
- package/overflow-hidden/index.d.ts +28 -2
- package/overflow-menu/index.d.ts +52 -3
- package/package.json +12 -12
- package/pagination/index.d.ts +31 -2
- package/popout/index.d.ts +106 -5
- package/query-list/index.d.ts +497 -2
- package/renderer/index.d.ts +117 -10
- package/sequence-list/index.d.ts +60 -2
- package/simple-search/index.d.ts +57 -1
- package/sort/index.d.ts +36 -2
- package/split-view/index.d.ts +197 -4
- package/tile-list/index.d.ts +789 -10
- package/token-search/index.d.ts +72 -3
- package/tree/index.d.ts +68 -2
- package/upload-progress/index.d.ts +44 -2
- package/widget-grid/index.d.ts +299 -7
- package/actions/lib/actions/copy-action/copy-action.d.ts +0 -17
- package/actions/lib/actions/cut-action/cut-action.d.ts +0 -17
- package/actions/lib/actions/delete-action/delete/delete.component.d.ts +0 -22
- package/actions/lib/actions/delete-action/delete-action.d.ts +0 -18
- package/actions/lib/actions/download-action/download-action.d.ts +0 -17
- package/actions/lib/actions.icon.d.ts +0 -7
- package/actions/lib/actions.interface.d.ts +0 -86
- package/actions/lib/actions.module.d.ts +0 -11
- package/actions/lib/actions.service.d.ts +0 -58
- package/actions/lib/components/contextmenu/contextmenu.component.d.ts +0 -16
- package/actions/lib/components/contextmenu/contextmenu.model.d.ts +0 -9
- package/actions/lib/components/contextmenu/contextmenuTrigger.directive.d.ts +0 -12
- package/app-bar/lib/app-bar.component.d.ts +0 -47
- package/autocomplete/lib/autocomplete.component.d.ts +0 -74
- package/autocomplete/lib/autocomplete.interface.d.ts +0 -4
- package/autocomplete/lib/autocomplete.module.d.ts +0 -7
- package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +0 -94
- package/breadcrumb/lib/models/breadcrumb-item.model.d.ts +0 -14
- package/breadcrumb/lib/models/index.d.ts +0 -1
- package/clipboard/lib/clipboard.component.d.ts +0 -16
- package/common/lib/common.module.d.ts +0 -21
- package/common/lib/common.utils.d.ts +0 -2
- package/common/lib/components/busy-overlay/busy-overlay.component.d.ts +0 -9
- package/common/lib/components/busy-overlay/busy-overlay.interface.d.ts +0 -4
- package/common/lib/components/confirm/confirm.component.d.ts +0 -8
- package/common/lib/components/confirm/confirm.interface.d.ts +0 -9
- package/common/lib/components/confirm/confirm.service.d.ts +0 -9
- package/common/lib/components/dialog/dialog.component.d.ts +0 -10
- package/common/lib/components/dialog/dialog.options.d.ts +0 -7
- package/common/lib/components/halo-focus/halo-focus.component.d.ts +0 -5
- package/common/lib/components/index.d.ts +0 -8
- package/common/lib/components/retention-badge/retention-badge.component.d.ts +0 -9
- package/common/lib/components/scroll-buttons/scroll-buttons.component.d.ts +0 -25
- package/common/lib/directives/autofocus-child.directive.d.ts +0 -13
- package/common/lib/directives/autofocus-delayed.directive.d.ts +0 -18
- package/common/lib/directives/busy-overlay.directive.d.ts +0 -68
- package/common/lib/directives/click-double.directive.d.ts +0 -17
- package/common/lib/directives/container-size.directive.d.ts +0 -30
- package/common/lib/directives/drag-scroll.directive.d.ts +0 -20
- package/common/lib/directives/drag-select.directive.d.ts +0 -21
- package/common/lib/directives/file-drop-zone/file-drop-zone.directive.d.ts +0 -17
- package/common/lib/directives/file-drop-zone/file-drop-zone.interface.d.ts +0 -5
- package/common/lib/directives/focus-within.directive.d.ts +0 -36
- package/common/lib/directives/index.d.ts +0 -13
- package/common/lib/directives/light-dismiss.directive.d.ts +0 -19
- package/common/lib/directives/longpress.directive.d.ts +0 -13
- package/common/lib/directives/noop-value-accessor.directive.d.ts +0 -10
- package/common/lib/directives/scroll-buttons.directive.d.ts +0 -20
- package/common/lib/mat-form-field.abstract.d.ts +0 -41
- package/common/lib/services/file-drop/file-drop.service.d.ts +0 -7
- package/common/lib/services/form-translate/form-translate.service.d.ts +0 -15
- package/common/lib/services/index.d.ts +0 -4
- package/common/lib/services/layout-settings/layout-settings.interface.d.ts +0 -1
- package/common/lib/services/layout-settings/layout-settings.service.d.ts +0 -40
- package/common/lib/services/theme/index.d.ts +0 -3
- package/common/lib/services/theme/theme.models.d.ts +0 -16
- package/common/lib/services/theme/theme.provider.d.ts +0 -4
- package/common/lib/services/theme/theme.service.d.ts +0 -16
- package/datepicker/lib/calendar/calendar.component.d.ts +0 -70
- package/datepicker/lib/date-input/date-input-element/date-input-element.component.d.ts +0 -44
- package/datepicker/lib/date-input/date-input-hour-element/date-input-hour-element.component.d.ts +0 -11
- package/datepicker/lib/date-input/date-input.component.d.ts +0 -60
- package/datepicker/lib/datepicker-calendar/datepicker-calendar-trigger.component.d.ts +0 -7
- package/datepicker/lib/datepicker-calendar/datepicker-calendar.component.d.ts +0 -12
- package/datepicker/lib/datepicker.component.d.ts +0 -80
- package/datepicker/lib/datepicker.interface.d.ts +0 -34
- package/datepicker/lib/datepicker.module.d.ts +0 -9
- package/datepicker/lib/datepicker.service.d.ts +0 -46
- package/datepicker/lib/datepicker.utils.d.ts +0 -23
- package/datepicker/lib/time-input/time-input.component.d.ts +0 -32
- package/datepicker/lib/time-input/time-input.interface.d.ts +0 -6
- package/forms/lib/elements/catalog/catalog.component.d.ts +0 -34
- package/forms/lib/elements/data-grid/data-grid/data-grid.component.d.ts +0 -46
- package/forms/lib/elements/data-grid/edit-table-data/edit-data.component.d.ts +0 -22
- package/forms/lib/elements/data-grid/model/data-grid.interface.d.ts +0 -20
- package/forms/lib/elements/datetime/datetime.component.d.ts +0 -41
- package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +0 -38
- package/forms/lib/elements/i18n-catalog/i18n-catalog.component.d.ts +0 -43
- package/forms/lib/elements/index.d.ts +0 -12
- package/forms/lib/elements/number/number.component.d.ts +0 -69
- package/forms/lib/elements/number-range/number-range.component.d.ts +0 -73
- package/forms/lib/elements/organization/organization.component.d.ts +0 -66
- package/forms/lib/elements/organization-set/organization-set.component.d.ts +0 -61
- package/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.d.ts +0 -13
- package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +0 -38
- package/forms/lib/elements/range-select-date/range-select-date.interface.d.ts +0 -5
- package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +0 -33
- package/forms/lib/elements/range-select-filesize/range-select-filesize.interface.d.ts +0 -5
- package/forms/lib/elements/string/string.component.d.ts +0 -100
- package/forms/lib/forms.module.d.ts +0 -17
- package/forms/lib/forms.utils.d.ts +0 -4
- package/icons/lib/icon.component.d.ts +0 -24
- package/icons/lib/icon.service.d.ts +0 -39
- package/icons/lib/icons.d.ts +0 -1
- package/icons/lib/object-type-icon/object-type-icon.component.d.ts +0 -11
- package/lib/config/halo-focus-defaults/halo-excluded-elements.const.d.ts +0 -26
- package/lib/config/halo-focus-defaults/halo-focus-navigation-keys.const.d.ts +0 -25
- package/lib/config/halo-focus-defaults/halo-focus-offset.const.d.ts +0 -25
- package/lib/config/halo-focus-defaults/halo-focus-styles.const.d.ts +0 -26
- package/lib/config/halo-focus-defaults/index.d.ts +0 -4
- package/lib/config/index.d.ts +0 -2
- package/lib/config/session/index.d.ts +0 -3
- package/lib/config/session/session-activity-window-before-end.const.d.ts +0 -43
- package/lib/config/session/session-default-duration.const.d.ts +0 -47
- package/lib/config/session/session-popup-before-end.const.d.ts +0 -47
- package/lib/enums/channel-message.enum.d.ts +0 -4
- package/lib/enums/index.d.ts +0 -1
- package/lib/models/halo-focus-config/halo-focus-config.model.d.ts +0 -48
- package/lib/models/halo-focus-config/index.d.ts +0 -1
- package/lib/models/index.d.ts +0 -3
- package/lib/models/session/channel-payload.model.d.ts +0 -5
- package/lib/models/session/index.d.ts +0 -1
- package/lib/models/snack-bar/index.d.ts +0 -3
- package/lib/models/snack-bar/snack-bar-data.model.d.ts +0 -6
- package/lib/models/snack-bar/snack-bar-level.model.d.ts +0 -1
- package/lib/models/snack-bar/snack-bar-options.model.d.ts +0 -9
- package/lib/providers/halo-focus/index.d.ts +0 -1
- package/lib/providers/halo-focus/provide-halo-focus.d.ts +0 -62
- package/lib/providers/index.d.ts +0 -2
- package/lib/providers/session/index.d.ts +0 -1
- package/lib/providers/session/provide-session.provider.d.ts +0 -43
- package/lib/services/halo-focus/halo-focus.service.d.ts +0 -95
- package/lib/services/halo-utility/halo-utility.service.d.ts +0 -245
- package/lib/services/index.d.ts +0 -4
- package/lib/services/session/session.service.d.ts +0 -113
- package/lib/services/snack-bar/snack-bar.service.d.ts +0 -22
- package/lib/yuuvis-client-framework.module.d.ts +0 -7
- package/list/lib/list-item.directive.d.ts +0 -40
- package/list/lib/list-tile/list-tile.component.d.ts +0 -14
- package/list/lib/list.component.d.ts +0 -320
- package/list/lib/list.module.d.ts +0 -9
- package/master-details/lib/master-details.component.d.ts +0 -52
- package/master-details/lib/master-details.interface.d.ts +0 -7
- package/master-details/lib/master-details.module.d.ts +0 -7
- package/metadata-form/lib/metadata-form-element-registry.service.d.ts +0 -60
- package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +0 -25
- package/metadata-form/lib/metadata-form-field/metadata-form-field.interface.d.ts +0 -19
- package/metadata-form/lib/object-metadata-element-error.directive.d.ts +0 -17
- package/metadata-form/lib/object-metadata-element-label.directive.d.ts +0 -29
- package/metadata-form/lib/object-metadata-element-template.directive.d.ts +0 -45
- package/metadata-form-defaults/lib/metadata-default-templates/metadata-default-templates.component.d.ts +0 -5
- package/metadata-form-defaults/lib/metadata-form-defaults.module.d.ts +0 -7
- package/object-details/lib/object-audit/object-audit.component.d.ts +0 -49
- package/object-details/lib/object-details-header/object-details-header.component.d.ts +0 -43
- package/object-details/lib/object-details-shell/object-details-shell.component.d.ts +0 -34
- package/object-details/lib/object-details-shell/object-details-shell.service.d.ts +0 -14
- package/object-details/lib/object-details.component.d.ts +0 -47
- package/object-details/lib/object-details.module.d.ts +0 -12
- package/object-details/lib/object-metadata/form-section-group.pipe.d.ts +0 -8
- package/object-details/lib/object-metadata/object-metadata-section/object-metadata-section.component.d.ts +0 -19
- package/object-details/lib/object-metadata/object-metadata-section/object-metadata-section.interface.d.ts +0 -9
- package/object-details/lib/object-metadata/object-metadata.component.d.ts +0 -75
- package/object-details/lib/object-metadata/object-metadata.interface.d.ts +0 -26
- package/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.d.ts +0 -11
- package/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.d.ts +0 -13
- package/object-flavor/lib/default-apply-flavor/default-apply-flavor.component.d.ts +0 -19
- package/object-flavor/lib/flavor-chip/flavor-chip.component.d.ts +0 -13
- package/object-flavor/lib/object-flavor/object-flavor.component.d.ts +0 -23
- package/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.d.ts +0 -10
- package/object-form/lib/form-scripting.api.interface.d.ts +0 -131
- package/object-form/lib/form-scripting.service.d.ts +0 -30
- package/object-form/lib/object-form-element/object-form-element.component.d.ts +0 -23
- package/object-form/lib/object-form-extension.interface.d.ts +0 -22
- package/object-form/lib/object-form-group/object-form-group.component.d.ts +0 -20
- package/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.d.ts +0 -10
- package/object-form/lib/object-form-script/object-form-script.service.d.ts +0 -45
- package/object-form/lib/object-form-script/object-form-scripting-scope.d.ts +0 -50
- package/object-form/lib/object-form.component.d.ts +0 -61
- package/object-form/lib/object-form.interface.d.ts +0 -69
- package/object-form/lib/object-form.module.d.ts +0 -7
- package/object-form/lib/object-form.service.d.ts +0 -41
- package/object-form/lib/object-form.utils.d.ts +0 -20
- package/object-form/lib/object-form.validation.d.ts +0 -21
- package/object-preview/lib/components/index.d.ts +0 -2
- package/object-preview/lib/components/object-email-preview/object-email-preview.component.d.ts +0 -16
- package/object-preview/lib/components/object-preview/object-preview.component.d.ts +0 -24
- package/object-preview/lib/services/object-preview.service.d.ts +0 -40
- package/object-relationship/lib/actions/add-relationship/add-relationship.component.d.ts +0 -37
- package/object-relationship/lib/actions/relationship-target-search/relationship-target-search.component.d.ts +0 -36
- package/object-relationship/lib/node-summary/node-summary.component.d.ts +0 -26
- package/object-relationship/lib/object-relationship-graph/object-relationship-graph.component.d.ts +0 -30
- package/object-relationship/lib/object-relationship-list/object-relationship-list-item/object-relationship-list-item.component.d.ts +0 -14
- package/object-relationship/lib/object-relationship-list/object-relationship-list.component.d.ts +0 -13
- package/object-relationship/lib/object-relationship.component.d.ts +0 -28
- package/object-relationship/lib/object-relationship.const.d.ts +0 -10
- package/object-relationship/lib/object-relationship.interface.d.ts +0 -38
- package/object-relationship/lib/object-relationship.module.d.ts +0 -7
- package/object-relationship/lib/object-relationship.service.d.ts +0 -26
- package/object-summary/lib/multi-object-summary/multi-object-summary.component.d.ts +0 -7
- package/object-summary/lib/object-summary/object-summary.component.d.ts +0 -64
- package/object-summary/lib/object-summary-data/object-summary-data.component.d.ts +0 -28
- package/object-summary/lib/object-summary.module.d.ts +0 -9
- package/object-versions/lib/object-versions.component.d.ts +0 -34
- package/object-versions/lib/object-versions.module.d.ts +0 -7
- package/overflow-hidden/lib/overflow-hidden.component.d.ts +0 -19
- package/overflow-hidden/lib/overflow-hidden.module.d.ts +0 -7
- package/overflow-menu/lib/overflow-menu.component.d.ts +0 -33
- package/overflow-menu/lib/overflow-menu.interface.d.ts +0 -10
- package/overflow-menu/lib/overflow-menu.module.d.ts +0 -7
- package/pagination/lib/pagination.component.d.ts +0 -21
- package/pagination/lib/pagination.interface.d.ts +0 -5
- package/popout/lib/fullscreen.directive.d.ts +0 -4
- package/popout/lib/popout-trigger/popout-trigger.component.d.ts +0 -13
- package/popout/lib/popout.component.d.ts +0 -59
- package/popout/lib/popout.interface.d.ts +0 -24
- package/popout/lib/popout.module.d.ts +0 -9
- package/query-list/lib/query-list.component.d.ts +0 -488
- package/query-list/lib/query-list.module.d.ts +0 -7
- package/renderer/lib/property-renderer/abstract.renderer.d.ts +0 -14
- package/renderer/lib/property-renderer/boolean.renderer.component.d.ts +0 -6
- package/renderer/lib/property-renderer/datetime.renderer.d.ts +0 -6
- package/renderer/lib/property-renderer/decimal.renderer.component.d.ts +0 -6
- package/renderer/lib/property-renderer/filesize.renderer.component.d.ts +0 -7
- package/renderer/lib/property-renderer/icon.renderer.component.d.ts +0 -8
- package/renderer/lib/property-renderer/index.d.ts +0 -11
- package/renderer/lib/property-renderer/integer.renderer.component.d.ts +0 -6
- package/renderer/lib/property-renderer/organization.renderer.d.ts +0 -13
- package/renderer/lib/property-renderer/string.renderer.component.d.ts +0 -6
- package/renderer/lib/property-renderer/table.renderer.component.d.ts +0 -17
- package/renderer/lib/property-renderer/unknown.renderer.d.ts +0 -6
- package/renderer/lib/renderer.directive.d.ts +0 -13
- package/renderer/lib/services/renderer/renderer.interface.d.ts +0 -4
- package/renderer/lib/services/renderer/renderer.service.d.ts +0 -35
- package/sequence-list/lib/sequence-list.component.d.ts +0 -40
- package/sequence-list/lib/sequence-list.interface.d.ts +0 -17
- package/simple-search/lib/models/index.d.ts +0 -1
- package/simple-search/lib/models/object-type-aggregation.model.d.ts +0 -14
- package/simple-search/lib/simple-search/simple-search.component.d.ts +0 -40
- package/sort/lib/sort/models/index.d.ts +0 -1
- package/sort/lib/sort/models/sort.interface.d.ts +0 -7
- package/sort/lib/sort/sort.component.d.ts +0 -25
- package/split-view/lib/split-area-cover.directive.d.ts +0 -15
- package/split-view/lib/split-area.directive.d.ts +0 -21
- package/split-view/lib/split-view.component.d.ts +0 -159
- package/split-view/lib/split-view.interface.d.ts +0 -11
- package/split-view/lib/split-view.module.d.ts +0 -8
- package/tile-list/lib/tile-actions-menu/tile-actions-menu.component.d.ts +0 -11
- package/tile-list/lib/tile-config/action-select/action-select.component.d.ts +0 -13
- package/tile-list/lib/tile-config/icon-select/icon-select.component.d.ts +0 -11
- package/tile-list/lib/tile-config/property-select/property-select.component.d.ts +0 -26
- package/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.d.ts +0 -20
- package/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.d.ts +0 -17
- package/tile-list/lib/tile-config/tile-config.component.d.ts +0 -48
- package/tile-list/lib/tile-extension/directive/tile-extension.directive.d.ts +0 -11
- package/tile-list/lib/tile-extension/extensions/email.extension.d.ts +0 -10
- package/tile-list/lib/tile-extension/tile-extension.service.d.ts +0 -16
- package/tile-list/lib/tile-list/tile-list.component.d.ts +0 -637
- package/tile-list/lib/tile-list/tile-list.interface.d.ts +0 -18
- package/token-search/lib/token-search.component.d.ts +0 -35
- package/token-search/lib/token-search.interface.d.ts +0 -27
- package/token-search/lib/token-search.module.d.ts +0 -7
- package/tree/lib/tree-node/tree-node.component.d.ts +0 -21
- package/tree/lib/tree.component.d.ts +0 -53
- package/tree/lib/tree.interface.d.ts +0 -11
- package/tree/lib/tree.service.d.ts +0 -35
- package/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.d.ts +0 -12
- package/upload-progress/lib/upload-progress/upload-progress.component.d.ts +0 -33
- package/upload-progress/lib/upload-progress/upload-progress.module.d.ts +0 -7
- package/widget-grid/lib/widget-grid-event.service.d.ts +0 -10
- package/widget-grid/lib/widget-grid-registry.service.d.ts +0 -81
- package/widget-grid/lib/widget-grid-workspaces/widget-grid-workspaces.component.d.ts +0 -53
- package/widget-grid/lib/widget-grid-workspaces/widget-grid-workspaces.interface.d.ts +0 -17
- package/widget-grid/lib/widget-grid-workspaces/workspace-edit/workspace-edit.component.d.ts +0 -10
- package/widget-grid/lib/widget-grid.component.d.ts +0 -52
- package/widget-grid/lib/widget-grid.interface.d.ts +0 -51
- package/widget-grid/lib/widget-grid.module.d.ts +0 -8
- package/widget-grid/lib/widget-grid.service.d.ts +0 -45
- package/widget-grid/lib/widget-grid.utils.d.ts +0 -18
- package/widget-grid/lib/widget-picker/widget-picker.component.d.ts +0 -38
- package/widget-grid/lib/widgets/noop/noop.component.d.ts +0 -7
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, input, computed, ChangeDetectionStrategy, Component, signal, Injectable, effect, viewChild, linkedSignal, untracked, output, viewChildren, NgModule, Pipe } from '@angular/core';
|
|
3
|
-
import * as i2 from '@angular/common';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
3
|
import { takeUntilDestroyed, toSignal, rxResource } from '@angular/core/rxjs-interop';
|
|
6
4
|
import * as i3 from '@angular/material/icon';
|
|
7
5
|
import { MatIconModule } from '@angular/material/icon';
|
|
8
6
|
import * as i1$1 from '@yuuvis/client-core';
|
|
9
|
-
import { ObjectConfigService, EventService, YuvEventType, Utils, DmsService, TranslateService, LocaleDatePipe,
|
|
7
|
+
import { ObjectConfigService, EventService, YuvEventType, Utils, DmsService, TranslateService, LocaleDatePipe, TranslatePipe, SystemService, Situation, PendingChangesService, NotificationService, UserService, TabGuardDirective } from '@yuuvis/client-core';
|
|
10
8
|
import { RendererDirective } from '@yuuvis/client-framework/renderer';
|
|
11
9
|
import * as i1 from '@yuuvis/material/panes';
|
|
12
10
|
import { YmtPanesModule } from '@yuuvis/material/panes';
|
|
13
11
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
14
12
|
import { BusyOverlayDirective, RetentionBadgeComponent } from '@yuuvis/client-framework/common';
|
|
15
13
|
import { finalize, of, map } from 'rxjs';
|
|
16
|
-
import * as
|
|
14
|
+
import * as i1$2 from '@angular/material/tabs';
|
|
17
15
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
18
16
|
import { ObjectPreviewComponent } from '@yuuvis/client-framework/object-preview';
|
|
17
|
+
import * as i2 from '@angular/common';
|
|
18
|
+
import { CommonModule } from '@angular/common';
|
|
19
19
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
20
20
|
import { YUV_ICONS } from '@yuuvis/client-framework/icons';
|
|
21
21
|
import { YmtIconButtonDirective, YmtButtonDirective } from '@yuuvis/material';
|
|
@@ -44,24 +44,24 @@ class ObjectDetailsHeaderComponent {
|
|
|
44
44
|
constructor() {
|
|
45
45
|
this.#objectConfig = inject(ObjectConfigService);
|
|
46
46
|
this.#eventService = inject(EventService);
|
|
47
|
-
this.dmsObject = input(undefined);
|
|
47
|
+
this.dmsObject = input(undefined, ...(ngDevMode ? [{ debugName: "dmsObject" }] : []));
|
|
48
48
|
/**
|
|
49
49
|
* Virtual object type to use for retrieving header data
|
|
50
50
|
*/
|
|
51
|
-
this.type = input.required();
|
|
51
|
+
this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
52
52
|
/**
|
|
53
53
|
* Bucket of the object config to retrieve header data from
|
|
54
54
|
*/
|
|
55
|
-
this.bucket = input(undefined);
|
|
55
|
+
this.bucket = input(undefined, ...(ngDevMode ? [{ debugName: "bucket" }] : []));
|
|
56
56
|
/** Template rendered in the actions area, aligned to the right of the title row. */
|
|
57
|
-
this.actions = input(undefined);
|
|
57
|
+
this.actions = input(undefined, ...(ngDevMode ? [{ debugName: "actions" }] : []));
|
|
58
58
|
/** Template rendered in the badges area, aligned to the right of the subtitle row. */
|
|
59
|
-
this.badges = input();
|
|
59
|
+
this.badges = input(...(ngDevMode ? [undefined, { debugName: "badges" }] : []));
|
|
60
60
|
this.headerData = computed(() => {
|
|
61
61
|
const object = this.dmsObject();
|
|
62
62
|
const type = this.type();
|
|
63
63
|
return object && type ? this.#setHeaderData() : undefined;
|
|
64
|
-
});
|
|
64
|
+
}, ...(ngDevMode ? [{ debugName: "headerData" }] : []));
|
|
65
65
|
this.#eventService
|
|
66
66
|
.on(YuvEventType.DMS_OBJECT_UPDATED)
|
|
67
67
|
.pipe(takeUntilDestroyed())
|
|
@@ -81,23 +81,23 @@ class ObjectDetailsHeaderComponent {
|
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectDetailsHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ObjectDetailsHeaderComponent, isStandalone: true, selector: "yuv-object-details-header", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let dmsObj = dmsObject();\n@let headerD = headerData();\n@if (dmsObj && headerD) {\n <ymt-pane-header [icon]=\"headerD.icon\" [actions]=\"actions()\" [badges]=\"badges()\">\n <ng-template #yuvPaneHeaderTitle>\n <ng-container *yuvRenderer=\"headerD.title\" />\n </ng-template>\n <ng-template #yuvPaneHeaderSubtitle>\n <ng-container *yuvRenderer=\"headerD.description\" />\n </ng-template>\n </ymt-pane-header>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: YmtPanesModule }, { kind: "component", type: i1.YmtPaneHeaderComponent, selector: "ymt-pane-header", inputs: ["title", "icon", "subtitle", "actions", "badges"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectDetailsHeaderComponent, decorators: [{
|
|
88
88
|
type: Component,
|
|
89
|
-
args: [{ selector: 'yuv-object-details-header', imports: [
|
|
90
|
-
}], ctorParameters: () => [] });
|
|
89
|
+
args: [{ selector: 'yuv-object-details-header', imports: [MatIconModule, YmtPanesModule, RendererDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let dmsObj = dmsObject();\n@let headerD = headerData();\n@if (dmsObj && headerD) {\n <ymt-pane-header [icon]=\"headerD.icon\" [actions]=\"actions()\" [badges]=\"badges()\">\n <ng-template #yuvPaneHeaderTitle>\n <ng-container *yuvRenderer=\"headerD.title\" />\n </ng-template>\n <ng-template #yuvPaneHeaderSubtitle>\n <ng-container *yuvRenderer=\"headerD.description\" />\n </ng-template>\n </ymt-pane-header>\n}\n" }]
|
|
90
|
+
}], ctorParameters: () => [], propDecorators: { dmsObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], bucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucket", required: false }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], badges: [{ type: i0.Input, args: [{ isSignal: true, alias: "badges", required: false }] }] } });
|
|
91
91
|
|
|
92
92
|
class ObjectDetailsShellService {
|
|
93
93
|
constructor() {
|
|
94
94
|
this.id = Utils.uuid();
|
|
95
95
|
this.#dmsService = inject(DmsService);
|
|
96
96
|
this.translate = inject(TranslateService);
|
|
97
|
-
this.#dmsObject = signal(undefined);
|
|
97
|
+
this.#dmsObject = signal(undefined, ...(ngDevMode ? [{ debugName: "#dmsObject" }] : []));
|
|
98
98
|
this.dmsObject = this.#dmsObject.asReadonly();
|
|
99
|
-
this.contextError = signal(undefined);
|
|
100
|
-
this.busy = signal(false);
|
|
99
|
+
this.contextError = signal(undefined, ...(ngDevMode ? [{ debugName: "contextError" }] : []));
|
|
100
|
+
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
|
|
101
101
|
}
|
|
102
102
|
#dmsService;
|
|
103
103
|
#dmsObject;
|
|
@@ -118,10 +118,10 @@ class ObjectDetailsShellService {
|
|
|
118
118
|
}
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
122
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectDetailsShellService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
122
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectDetailsShellService }); }
|
|
123
123
|
}
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectDetailsShellService, decorators: [{
|
|
125
125
|
type: Injectable
|
|
126
126
|
}] });
|
|
127
127
|
|
|
@@ -136,26 +136,26 @@ class ObjectDetailsShellComponent {
|
|
|
136
136
|
constructor() {
|
|
137
137
|
this.#eventService = inject(EventService);
|
|
138
138
|
this.#odShellService = inject(ObjectDetailsShellService);
|
|
139
|
-
this.retentionState = signal(undefined);
|
|
139
|
+
this.retentionState = signal(undefined, ...(ngDevMode ? [{ debugName: "retentionState" }] : []));
|
|
140
140
|
this.contextError = this.#odShellService.contextError;
|
|
141
141
|
this.dmsObject = this.#odShellService.dmsObject;
|
|
142
142
|
this.busy = this.#odShellService.busy;
|
|
143
143
|
/** Template rendered in the actions area, aligned to the right of the title row. */
|
|
144
|
-
this.actions = input(undefined);
|
|
144
|
+
this.actions = input(undefined, ...(ngDevMode ? [{ debugName: "actions" }] : []));
|
|
145
145
|
/** Template rendered in the badges area, aligned to the right of the subtitle row. */
|
|
146
|
-
this.badges = input();
|
|
146
|
+
this.badges = input(...(ngDevMode ? [undefined, { debugName: "badges" }] : []));
|
|
147
147
|
/**
|
|
148
148
|
* Virtual object type to use for retrieving header data
|
|
149
149
|
*/
|
|
150
|
-
this.type = input.required();
|
|
150
|
+
this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
151
151
|
/**
|
|
152
152
|
* Bucket of the object config to retrieve header data from
|
|
153
153
|
*/
|
|
154
|
-
this.bucket = input(undefined);
|
|
154
|
+
this.bucket = input(undefined, ...(ngDevMode ? [{ debugName: "bucket" }] : []));
|
|
155
155
|
/**
|
|
156
156
|
* Whether to hide the header
|
|
157
157
|
*/
|
|
158
|
-
this.hideHeader = input(false);
|
|
158
|
+
this.hideHeader = input(false, ...(ngDevMode ? [{ debugName: "hideHeader" }] : []));
|
|
159
159
|
this.#eventService
|
|
160
160
|
.on(YuvEventType.DMS_OBJECT_UPDATED, YuvEventType.DMS_OBJECT_DELETED)
|
|
161
161
|
.pipe(takeUntilDestroyed())
|
|
@@ -176,13 +176,13 @@ class ObjectDetailsShellComponent {
|
|
|
176
176
|
}
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
179
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectDetailsShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
180
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ObjectDetailsShellComponent, isStandalone: true, selector: "yuv-object-details-shell", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, hideHeader: { classPropertyName: "hideHeader", publicName: "hideHeader", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let dmsObj = dmsObject();\n@if (dmsObj) {\n @if (!hideHeader()) {\n <yuv-object-details-header\n [dmsObject]=\"dmsObj\"\n [type]=\"type()\"\n [bucket]=\"bucket()\"\n [badges]=\"badges()\"\n [actions]=\"actions()\"\n />\n }\n <div class=\"content\" [yuvBusyOverlay]=\"busy()\">\n <ng-content />\n </div>\n} @else {\n <div class=\"empty\">\n @if (contextError()) {\n <div class=\"error\">{{ contextError() }}</div>\n } @else {\n <!-- EMPTY -->\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;position:relative;background-color:var(--ymt-surface)}:host .content{flex:1;overflow:hidden}:host .empty{height:100%;display:grid;align-items:center;justify-content:center}:host .empty .error{max-width:40ch;margin:var(--ymt-spacing-m);color:var(--ymt-text-color-subtle);padding:var(--ymt-spacing-s);border-radius:.5em;line-height:1.5em;border:1px solid var(--ymt-outline-variant)}\n"], dependencies: [{ kind: "component", type: ObjectDetailsHeaderComponent, selector: "yuv-object-details-header", inputs: ["dmsObject", "type", "bucket", "actions", "badges"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
181
181
|
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectDetailsShellComponent, decorators: [{
|
|
183
183
|
type: Component,
|
|
184
|
-
args: [{ selector: 'yuv-object-details-shell', standalone: true, imports: [
|
|
185
|
-
}], ctorParameters: () => [] });
|
|
184
|
+
args: [{ selector: 'yuv-object-details-shell', standalone: true, imports: [ObjectDetailsHeaderComponent, MatTooltipModule, BusyOverlayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let dmsObj = dmsObject();\n@if (dmsObj) {\n @if (!hideHeader()) {\n <yuv-object-details-header\n [dmsObject]=\"dmsObj\"\n [type]=\"type()\"\n [bucket]=\"bucket()\"\n [badges]=\"badges()\"\n [actions]=\"actions()\"\n />\n }\n <div class=\"content\" [yuvBusyOverlay]=\"busy()\">\n <ng-content />\n </div>\n} @else {\n <div class=\"empty\">\n @if (contextError()) {\n <div class=\"error\">{{ contextError() }}</div>\n } @else {\n <!-- EMPTY -->\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;position:relative;background-color:var(--ymt-surface)}:host .content{flex:1;overflow:hidden}:host .empty{height:100%;display:grid;align-items:center;justify-content:center}:host .empty .error{max-width:40ch;margin:var(--ymt-spacing-m);color:var(--ymt-text-color-subtle);padding:var(--ymt-spacing-s);border-radius:.5em;line-height:1.5em;border:1px solid var(--ymt-outline-variant)}\n"] }]
|
|
185
|
+
}], ctorParameters: () => [], propDecorators: { actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], badges: [{ type: i0.Input, args: [{ isSignal: true, alias: "badges", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], bucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucket", required: false }] }], hideHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideHeader", required: false }] }] } });
|
|
186
186
|
|
|
187
187
|
class ObjectAuditComponent {
|
|
188
188
|
#dmsObjectEffect;
|
|
@@ -199,13 +199,13 @@ class ObjectAuditComponent {
|
|
|
199
199
|
filter: YUV_ICONS.filter,
|
|
200
200
|
arrowNext: YUV_ICONS.arrowNext
|
|
201
201
|
};
|
|
202
|
-
this.auditsRes = signal(undefined);
|
|
203
|
-
this.resolvedItems = signal([]);
|
|
204
|
-
this.error = signal(false);
|
|
205
|
-
this.busy = signal(false);
|
|
202
|
+
this.auditsRes = signal(undefined, ...(ngDevMode ? [{ debugName: "auditsRes" }] : []));
|
|
203
|
+
this.resolvedItems = signal([], ...(ngDevMode ? [{ debugName: "resolvedItems" }] : []));
|
|
204
|
+
this.error = signal(false, ...(ngDevMode ? [{ debugName: "error" }] : []));
|
|
205
|
+
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
|
|
206
206
|
this.searchActions = [];
|
|
207
207
|
this.auditLabels = {};
|
|
208
|
-
this.dmsObject = input(undefined);
|
|
208
|
+
this.dmsObject = input(undefined, ...(ngDevMode ? [{ debugName: "dmsObject" }] : []));
|
|
209
209
|
this.#dmsObjectEffect = effect(() => {
|
|
210
210
|
const o = this.dmsObject();
|
|
211
211
|
if (!o) {
|
|
@@ -221,16 +221,16 @@ class ObjectAuditComponent {
|
|
|
221
221
|
else {
|
|
222
222
|
this.query();
|
|
223
223
|
}
|
|
224
|
-
});
|
|
224
|
+
}, ...(ngDevMode ? [{ debugName: "#dmsObjectEffect" }] : []));
|
|
225
225
|
/**
|
|
226
226
|
* A list of audits that should not be shown. Use the audit codes (like 100, 301, etc.).
|
|
227
227
|
* This will also disable the corresponding filters.
|
|
228
228
|
*/
|
|
229
|
-
this.skipActions = input([]);
|
|
229
|
+
this.skipActions = input([], ...(ngDevMode ? [{ debugName: "skipActions" }] : []));
|
|
230
230
|
/**
|
|
231
231
|
* Whether or not to ignore admin and user separation of audit entries
|
|
232
232
|
*/
|
|
233
|
-
this.allActions = input(false);
|
|
233
|
+
this.allActions = input(false, ...(ngDevMode ? [{ debugName: "allActions" }] : []));
|
|
234
234
|
this.auditLabels = {
|
|
235
235
|
a100: this.translate.instant('yuv.audit.label.create.metadata'),
|
|
236
236
|
a101: this.translate.instant('yuv.audit.label.create.metadata.withcontent'),
|
|
@@ -341,32 +341,41 @@ class ObjectAuditComponent {
|
|
|
341
341
|
this.auditsRes.set(undefined);
|
|
342
342
|
this.error.set(true);
|
|
343
343
|
}
|
|
344
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
345
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
344
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectAuditComponent, deps: [{ token: i1$1.AuditService }, { token: i1$1.EventService }, { token: i1$1.SystemService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
345
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", 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 } }, ngImport: i0, template: "@let auditsResult = auditsRes();\n\n<div\n class=\"yuv-audit\"\n [ngClass]=\"{ singleEntry: auditsResult?.items?.length === 1, onPage: auditsResult && auditsResult.page > 1 }\"\n [yuvBusyOverlay]=\"busy()\"\n>\n @if (error()) {\n <div class=\"error\">\n <div translate>yuv.audit.fetch.error</div>\n </div>\n }\n\n @if (auditsResult) {\n <!-- list of audits -->\n @let resItems = resolvedItems();\n @if (resItems.length) {\n <ul class=\"timeline\" [attr.aria-label]=\"'yuv.audit.timeline' | translate\">\n @for (item of resItems; track $index) {\n <li class=\"audit\" attr.aria-labelledby=\"'title-{{ $index }} creator-{{ $index }} date-{{ $index }}'\">\n <time [attr.datetime]=\"item.creationDate\" class=\"date\">{{ item.creationDate | localeDate }}</time>\n <div class=\"node\">\n <div class=\"label\">\n <span class=\"title\" id=\"title-{{ $index }}\">{{ item.label }}</span>\n <span class=\"version\">{{ 'yuv.audit.label.version' | translate: ({version: item.version}) }}</span>\n </div>\n <div class=\"more meta\">{{ item.more }}</div>\n <div class=\"creator meta\" id=\"creator-{{ $index }}\">{{ item.createdBy.title }}</div>\n </div>\n </li>\n }\n </ul>\n } @else {\n <div class=\"empty\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsResult.hasMoreItems || auditsResult.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <div class=\"paging\">\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\"\n [disabled]=\"auditsResult.page === 1\"\n (click)=\"goToPage(auditsResult.page - 1)\"\n >\n <mat-icon>chevron_left</mat-icon>\n </button>\n <div class=\"page\">\n {{ auditsResult.page }}\n </div>\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\"\n [disabled]=\"!auditsResult.hasMoreItems\"\n (click)=\"goToPage(auditsResult.page + 1)\"\n >\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n </div>\n }\n }\n</div>\n", styles: [":host{--_object-audit-panel-background: var(--object-audit-panel-background, var(--ymt-surface))}:host .yuv-audit{position:relative;height:100%;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--_object-audit-panel-background);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(--ymt-danger-container);color:var(--ymt-on-danger-container);margin:var(--ymt-spacing-m);padding:var(--ymt-spacing-m);border-radius:var(--ymt-spacing-xs)}: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(--ymt-text-color-subtle)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--ymt-surface);border-top:1px solid var(--ymt-outline-variant);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;padding:var(--ymt-spacing-xs)}:host .yuv-audit .footer .paging .page{padding:0 var(--ymt-spacing-xs)}:host .timeline{--track-color: var(--ymt-outline-variant);--track-size: var(--ymt-spacing-4xl);margin-block-start:0;margin-block-end:0;overflow-y:auto;padding:var(--ymt-spacing-3xl) var(--ymt-spacing-2xs) var(--ymt-spacing-3xl) var(--ymt-spacing-l)}@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) 6fr;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(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);border-radius:.25em;margin:var(--ymt-spacing-xs) 0;padding:var(--ymt-spacing-m);box-sizing:border-box;display:grid;gap:var(--ymt-spacing-3xs)}:host .timeline :where(.audit) .node .label{display:flex;align-items:center}:host .timeline :where(.audit) .node .label .title{flex:1;word-break:break-word;font-weight:700;color:var(--ymt-text-color)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgb(from var(--ymt-primary) r g b/.15);color:var(--ymt-primary);font:var(--ymt-font-body-subtle);font-family:monospace;align-self:center;margin-left:var(--ymt-spacing-m);padding:2px 4px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--ymt-text-color-subtle)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% + 1px);height:100%;border-inline-end:2px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:14px;height:14px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--ymt-surface-panel);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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: YmtIconButtonDirective, selector: "button[ymtIconButton],button[ymt-icon-button],a[ymtIconButton],a[ymt-icon-button]", inputs: ["disabled", "disableRipple", "aria-disabled", "disabledInteractive", "icon-button-size"] }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
346
346
|
}
|
|
347
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
347
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectAuditComponent, decorators: [{
|
|
348
348
|
type: Component,
|
|
349
|
-
args: [{ selector: 'yuv-object-audit', standalone: true, imports: [
|
|
350
|
-
|
|
349
|
+
args: [{ selector: 'yuv-object-audit', standalone: true, imports: [
|
|
350
|
+
CommonModule,
|
|
351
|
+
ReactiveFormsModule,
|
|
352
|
+
LocaleDatePipe,
|
|
353
|
+
BusyOverlayDirective,
|
|
354
|
+
TranslatePipe,
|
|
355
|
+
MatIconModule,
|
|
356
|
+
YmtIconButtonDirective
|
|
357
|
+
], template: "@let auditsResult = auditsRes();\n\n<div\n class=\"yuv-audit\"\n [ngClass]=\"{ singleEntry: auditsResult?.items?.length === 1, onPage: auditsResult && auditsResult.page > 1 }\"\n [yuvBusyOverlay]=\"busy()\"\n>\n @if (error()) {\n <div class=\"error\">\n <div translate>yuv.audit.fetch.error</div>\n </div>\n }\n\n @if (auditsResult) {\n <!-- list of audits -->\n @let resItems = resolvedItems();\n @if (resItems.length) {\n <ul class=\"timeline\" [attr.aria-label]=\"'yuv.audit.timeline' | translate\">\n @for (item of resItems; track $index) {\n <li class=\"audit\" attr.aria-labelledby=\"'title-{{ $index }} creator-{{ $index }} date-{{ $index }}'\">\n <time [attr.datetime]=\"item.creationDate\" class=\"date\">{{ item.creationDate | localeDate }}</time>\n <div class=\"node\">\n <div class=\"label\">\n <span class=\"title\" id=\"title-{{ $index }}\">{{ item.label }}</span>\n <span class=\"version\">{{ 'yuv.audit.label.version' | translate: ({version: item.version}) }}</span>\n </div>\n <div class=\"more meta\">{{ item.more }}</div>\n <div class=\"creator meta\" id=\"creator-{{ $index }}\">{{ item.createdBy.title }}</div>\n </div>\n </li>\n }\n </ul>\n } @else {\n <div class=\"empty\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsResult.hasMoreItems || auditsResult.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <div class=\"paging\">\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\"\n [disabled]=\"auditsResult.page === 1\"\n (click)=\"goToPage(auditsResult.page - 1)\"\n >\n <mat-icon>chevron_left</mat-icon>\n </button>\n <div class=\"page\">\n {{ auditsResult.page }}\n </div>\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\"\n [disabled]=\"!auditsResult.hasMoreItems\"\n (click)=\"goToPage(auditsResult.page + 1)\"\n >\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n </div>\n }\n }\n</div>\n", styles: [":host{--_object-audit-panel-background: var(--object-audit-panel-background, var(--ymt-surface))}:host .yuv-audit{position:relative;height:100%;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--_object-audit-panel-background);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(--ymt-danger-container);color:var(--ymt-on-danger-container);margin:var(--ymt-spacing-m);padding:var(--ymt-spacing-m);border-radius:var(--ymt-spacing-xs)}: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(--ymt-text-color-subtle)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--ymt-surface);border-top:1px solid var(--ymt-outline-variant);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;padding:var(--ymt-spacing-xs)}:host .yuv-audit .footer .paging .page{padding:0 var(--ymt-spacing-xs)}:host .timeline{--track-color: var(--ymt-outline-variant);--track-size: var(--ymt-spacing-4xl);margin-block-start:0;margin-block-end:0;overflow-y:auto;padding:var(--ymt-spacing-3xl) var(--ymt-spacing-2xs) var(--ymt-spacing-3xl) var(--ymt-spacing-l)}@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) 6fr;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(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);border-radius:.25em;margin:var(--ymt-spacing-xs) 0;padding:var(--ymt-spacing-m);box-sizing:border-box;display:grid;gap:var(--ymt-spacing-3xs)}:host .timeline :where(.audit) .node .label{display:flex;align-items:center}:host .timeline :where(.audit) .node .label .title{flex:1;word-break:break-word;font-weight:700;color:var(--ymt-text-color)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgb(from var(--ymt-primary) r g b/.15);color:var(--ymt-primary);font:var(--ymt-font-body-subtle);font-family:monospace;align-self:center;margin-left:var(--ymt-spacing-m);padding:2px 4px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--ymt-text-color-subtle)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% + 1px);height:100%;border-inline-end:2px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:14px;height:14px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--ymt-surface-panel);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"] }]
|
|
358
|
+
}], ctorParameters: () => [{ type: i1$1.AuditService }, { type: i1$1.EventService }, { type: i1$1.SystemService }, { type: i1$1.TranslateService }], propDecorators: { dmsObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: false }] }], skipActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "skipActions", required: false }] }], allActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "allActions", required: false }] }] } });
|
|
351
359
|
|
|
352
360
|
class ObjectMetadataSectionComponent {
|
|
353
361
|
constructor() {
|
|
354
362
|
this.#system = inject(SystemService);
|
|
355
|
-
this.objectForm = viewChild(ObjectFormComponent);
|
|
356
|
-
this.section = input.required();
|
|
357
|
-
this.expandedInput = input(false, { alias: 'expanded' });
|
|
358
|
-
this.elementExtensions = input([]);
|
|
359
|
-
this.readonly = input();
|
|
360
|
-
this.expanded = linkedSignal(this.expandedInput);
|
|
361
|
-
this.busy = signal(false);
|
|
363
|
+
this.objectForm = viewChild(ObjectFormComponent, ...(ngDevMode ? [{ debugName: "objectForm" }] : []));
|
|
364
|
+
this.section = input.required(...(ngDevMode ? [{ debugName: "section" }] : []));
|
|
365
|
+
this.expandedInput = input(false, ...(ngDevMode ? [{ debugName: "expandedInput", alias: 'expanded' }] : [{ alias: 'expanded' }]));
|
|
366
|
+
this.elementExtensions = input([], ...(ngDevMode ? [{ debugName: "elementExtensions" }] : []));
|
|
367
|
+
this.readonly = input(...(ngDevMode ? [undefined, { debugName: "readonly" }] : []));
|
|
368
|
+
this.expanded = linkedSignal(this.expandedInput, ...(ngDevMode ? [{ debugName: "expanded" }] : []));
|
|
369
|
+
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
|
|
362
370
|
// linkedSignal instead of plain signal so that formOptions resets to undefined whenever
|
|
363
371
|
// the section input changes (e.g. a different object is loaded). This ensures the form
|
|
364
372
|
// is reloaded with fresh data for the new section while still allowing .set() mutations
|
|
365
373
|
// (user edits) to persist across collapse/expand cycles within the same section.
|
|
366
|
-
this.formOptions = linkedSignal({
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
374
|
+
this.formOptions = linkedSignal(...(ngDevMode ? [{ debugName: "formOptions", source: this.section,
|
|
375
|
+
computation: () => undefined }] : [{
|
|
376
|
+
source: this.section,
|
|
377
|
+
computation: () => undefined
|
|
378
|
+
}]));
|
|
370
379
|
this.#formOptionsEffect = effect(() => {
|
|
371
380
|
// Load the object form when the section is first expanded.
|
|
372
381
|
// Don't use rxResource here because it messes with the state of the formOptions.
|
|
@@ -390,7 +399,7 @@ class ObjectMetadataSectionComponent {
|
|
|
390
399
|
}
|
|
391
400
|
});
|
|
392
401
|
}
|
|
393
|
-
});
|
|
402
|
+
}, ...(ngDevMode ? [{ debugName: "#formOptionsEffect" }] : []));
|
|
394
403
|
this.statusChanged = output();
|
|
395
404
|
}
|
|
396
405
|
#system;
|
|
@@ -401,16 +410,16 @@ class ObjectMetadataSectionComponent {
|
|
|
401
410
|
setFormPristine() {
|
|
402
411
|
this.objectForm()?.setFormPristine();
|
|
403
412
|
}
|
|
404
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
405
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
413
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectMetadataSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
414
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ObjectMetadataSectionComponent, isStandalone: true, selector: "yuv-object-metadata-section", inputs: { section: { classPropertyName: "section", publicName: "section", isSignal: true, isRequired: true, transformFunction: null }, expandedInput: { classPropertyName: "expandedInput", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, elementExtensions: { classPropertyName: "elementExtensions", publicName: "elementExtensions", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { statusChanged: "statusChanged" }, host: { properties: { "class.invalid": "objectForm()?.form?.invalid", "class.dirty": "objectForm()?.form?.dirty" } }, viewQueries: [{ propertyName: "objectForm", first: true, predicate: ObjectFormComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@let _section = section();\n@let fo = formOptions();\n\n<h3>\n <button\n type=\"button\"\n [attr.aria-expanded]=\"expanded()\"\n class=\"accordion-trigger\"\n [attr.aria-controls]=\"'sect_' + _section.id\"\n [id]=\"'accordion_' + _section.id\"\n (click)=\"expanded.set(!expanded())\"\n [attr.aria-busy]=\"busy()\"\n >\n @if (_section.icon) {\n @if (_section.svgIcon) {\n <mat-icon [svgIcon]=\"_section.icon\"></mat-icon>\n } @else {\n <mat-icon>{{ _section.icon }}</mat-icon>\n }\n }\n <span >{{ _section.label }}</span>\n @if (busy()) {\n <mat-spinner diameter=\"24\"></mat-spinner>\n }\n <mat-icon class=\"arr\">keyboard_arrow_down</mat-icon>\n </button>\n</h3>\n<div [id]=\"'sect_' + _section.id\" role=\"region\" [attr.aria-labelledby]=\"'accordion_' + _section.id\" class=\"accordion-panel\">\n @if (fo) {\n <yuv-object-form\n #objectForm\n [hidden]=\"!expanded()\"\n [readonly]=\"readonly()\"\n [formOptions]=\"fo\"\n [elementExtensions]=\"elementExtensions()\"\n (statusChanged)=\"statusChanged.emit($event)\"\n ></yuv-object-form>\n }\n</div>\n", styles: [":host{--section-state-border-color: var(--ymt-outline-variant);--section-state-outline-color: transparent;background-color:var(--_object-metadata-section-background);border:1px solid var(--section-state-border-color);border-radius:var(--_object-metadata-section-corner);outline:3px solid var(--section-state-outline-color)}:host.invalid{--section-state-border-color: var(--ymt-danger);--section-state-outline-color: rgb(from var(--ymt-danger) r g b /.2)}:host.dirty:not(.invalid){--section-state-border-color: var(--ymt-success);--section-state-outline-color: rgb(from var(--ymt-success) r g b /.2)}:host h3{margin:0;padding:0;display:flex}:host h3 button{margin:var(--ymt-spacing-2xs);border-radius:calc(var(--_object-metadata-section-corner) * .5);flex:1;padding:var(--ymt-spacing-xs);cursor:pointer;display:flex;gap:var(--ymt-spacing-xs);align-items:center;font-weight:700;color:var(--ymt-text-color-subtle);background-color:transparent;border:none}:host h3 button:hover{background-color:var(--ymt-hover-background)}:host h3 button:focus-visible{background-color:var(--ymt-hover-background);outline:2px solid var(--ymt-outline);outline-offset:-2px}:host h3 button[aria-expanded=true] mat-icon.arr{transform:rotate(180deg)}:host h3 button span{flex:1;text-align:start}:host h3 button mat-icon{margin-inline-end:var(--ymt-spacing-xs);transition:transform .3s ease}:host details{background-color:var(--_object-metadata-section-background);border:1px solid var(--ymt-outline-variant);border-radius:var(--_object-metadata-section-corner)}:host details:not(:last-child){margin-block-end:var(--ymt-spacing-m)}:host details[open] yuv-icon.arr{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: ObjectFormComponent, selector: "yuv-object-form", inputs: ["formOptions", "inert", "readonly", "elementExtensions", "isInnerTableForm"], outputs: ["statusChanged", "onFormReady"] }] }); }
|
|
406
415
|
}
|
|
407
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
416
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectMetadataSectionComponent, decorators: [{
|
|
408
417
|
type: Component,
|
|
409
|
-
args: [{ selector: 'yuv-object-metadata-section', imports: [
|
|
418
|
+
args: [{ selector: 'yuv-object-metadata-section', imports: [MatIconModule, MatProgressSpinnerModule, ObjectFormComponent], host: {
|
|
410
419
|
'[class.invalid]': 'objectForm()?.form?.invalid',
|
|
411
420
|
'[class.dirty]': 'objectForm()?.form?.dirty'
|
|
412
421
|
}, template: "@let _section = section();\n@let fo = formOptions();\n\n<h3>\n <button\n type=\"button\"\n [attr.aria-expanded]=\"expanded()\"\n class=\"accordion-trigger\"\n [attr.aria-controls]=\"'sect_' + _section.id\"\n [id]=\"'accordion_' + _section.id\"\n (click)=\"expanded.set(!expanded())\"\n [attr.aria-busy]=\"busy()\"\n >\n @if (_section.icon) {\n @if (_section.svgIcon) {\n <mat-icon [svgIcon]=\"_section.icon\"></mat-icon>\n } @else {\n <mat-icon>{{ _section.icon }}</mat-icon>\n }\n }\n <span >{{ _section.label }}</span>\n @if (busy()) {\n <mat-spinner diameter=\"24\"></mat-spinner>\n }\n <mat-icon class=\"arr\">keyboard_arrow_down</mat-icon>\n </button>\n</h3>\n<div [id]=\"'sect_' + _section.id\" role=\"region\" [attr.aria-labelledby]=\"'accordion_' + _section.id\" class=\"accordion-panel\">\n @if (fo) {\n <yuv-object-form\n #objectForm\n [hidden]=\"!expanded()\"\n [readonly]=\"readonly()\"\n [formOptions]=\"fo\"\n [elementExtensions]=\"elementExtensions()\"\n (statusChanged)=\"statusChanged.emit($event)\"\n ></yuv-object-form>\n }\n</div>\n", styles: [":host{--section-state-border-color: var(--ymt-outline-variant);--section-state-outline-color: transparent;background-color:var(--_object-metadata-section-background);border:1px solid var(--section-state-border-color);border-radius:var(--_object-metadata-section-corner);outline:3px solid var(--section-state-outline-color)}:host.invalid{--section-state-border-color: var(--ymt-danger);--section-state-outline-color: rgb(from var(--ymt-danger) r g b /.2)}:host.dirty:not(.invalid){--section-state-border-color: var(--ymt-success);--section-state-outline-color: rgb(from var(--ymt-success) r g b /.2)}:host h3{margin:0;padding:0;display:flex}:host h3 button{margin:var(--ymt-spacing-2xs);border-radius:calc(var(--_object-metadata-section-corner) * .5);flex:1;padding:var(--ymt-spacing-xs);cursor:pointer;display:flex;gap:var(--ymt-spacing-xs);align-items:center;font-weight:700;color:var(--ymt-text-color-subtle);background-color:transparent;border:none}:host h3 button:hover{background-color:var(--ymt-hover-background)}:host h3 button:focus-visible{background-color:var(--ymt-hover-background);outline:2px solid var(--ymt-outline);outline-offset:-2px}:host h3 button[aria-expanded=true] mat-icon.arr{transform:rotate(180deg)}:host h3 button span{flex:1;text-align:start}:host h3 button mat-icon{margin-inline-end:var(--ymt-spacing-xs);transition:transform .3s ease}:host details{background-color:var(--_object-metadata-section-background);border:1px solid var(--ymt-outline-variant);border-radius:var(--_object-metadata-section-corner)}:host details:not(:last-child){margin-block-end:var(--ymt-spacing-m)}:host details[open] yuv-icon.arr{transform:rotate(180deg)}\n"] }]
|
|
413
|
-
}] });
|
|
422
|
+
}], propDecorators: { objectForm: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ObjectFormComponent), { isSignal: true }] }], section: [{ type: i0.Input, args: [{ isSignal: true, alias: "section", required: true }] }], expandedInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], elementExtensions: [{ type: i0.Input, args: [{ isSignal: true, alias: "elementExtensions", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], statusChanged: [{ type: i0.Output, args: ["statusChanged"] }] } });
|
|
414
423
|
|
|
415
424
|
class ObjectMetadataComponent {
|
|
416
425
|
constructor() {
|
|
@@ -426,44 +435,44 @@ class ObjectMetadataComponent {
|
|
|
426
435
|
const object = this._dmsObject();
|
|
427
436
|
const o = flavoredDmsObject ? flavoredDmsObject.object : object;
|
|
428
437
|
return o?.permissions?.writeIndexData || false;
|
|
429
|
-
});
|
|
430
|
-
this.objectForms = viewChildren(ObjectFormComponent);
|
|
431
|
-
this.objectMetadataSectionForms = viewChildren(ObjectMetadataSectionComponent);
|
|
438
|
+
}, ...(ngDevMode ? [{ debugName: "hasWritePermission" }] : []));
|
|
439
|
+
this.objectForms = viewChildren(ObjectFormComponent, ...(ngDevMode ? [{ debugName: "objectForms" }] : []));
|
|
440
|
+
this.objectMetadataSectionForms = viewChildren(ObjectMetadataSectionComponent, ...(ngDevMode ? [{ debugName: "objectMetadataSectionForms" }] : []));
|
|
432
441
|
this.#formSubscriptions = [];
|
|
433
|
-
this.busySaving = signal(false);
|
|
434
|
-
this.busyLoading = signal(false);
|
|
435
|
-
this.disableControls = input(false);
|
|
442
|
+
this.busySaving = signal(false, ...(ngDevMode ? [{ debugName: "busySaving" }] : []));
|
|
443
|
+
this.busyLoading = signal(false, ...(ngDevMode ? [{ debugName: "busyLoading" }] : []));
|
|
444
|
+
this.disableControls = input(false, ...(ngDevMode ? [{ debugName: "disableControls" }] : []));
|
|
436
445
|
/**
|
|
437
446
|
* Set to 'true' to disable the basic metadata form. This will hide
|
|
438
447
|
* the basic metadata section that shows common object proeperties like
|
|
439
448
|
* creation date, creator, version, etc.
|
|
440
449
|
*/
|
|
441
|
-
this.disableBasicMetadata = input(false);
|
|
442
|
-
this.elementExtensions = input([]);
|
|
443
|
-
this.controlsVisible = signal(false);
|
|
444
|
-
this.empty = computed(() => !this.mainFormOptions() && this.flavorFormOptions().length === 0 && this.disableBasicMetadata());
|
|
450
|
+
this.disableBasicMetadata = input(false, ...(ngDevMode ? [{ debugName: "disableBasicMetadata" }] : []));
|
|
451
|
+
this.elementExtensions = input([], ...(ngDevMode ? [{ debugName: "elementExtensions" }] : []));
|
|
452
|
+
this.controlsVisible = signal(false, ...(ngDevMode ? [{ debugName: "controlsVisible" }] : []));
|
|
453
|
+
this.empty = computed(() => !this.mainFormOptions() && this.flavorFormOptions().length === 0 && this.disableBasicMetadata(), ...(ngDevMode ? [{ debugName: "empty" }] : []));
|
|
445
454
|
// state of all individual forms
|
|
446
455
|
this.#formStates = new Map();
|
|
447
456
|
this.baseData = [];
|
|
448
457
|
/**
|
|
449
458
|
* Form situation, if not set default will be 'EDIT'
|
|
450
459
|
*/
|
|
451
|
-
this.situation = input(Situation.EDIT);
|
|
460
|
+
this.situation = input(Situation.EDIT, ...(ngDevMode ? [{ debugName: "situation" }] : []));
|
|
452
461
|
/**
|
|
453
462
|
* Set to 'true' to prevent all metadata from being edited
|
|
454
463
|
*/
|
|
455
|
-
this.formDisabled = signal(false);
|
|
456
|
-
this.dmsObject = input();
|
|
457
|
-
this._dmsObject = linkedSignal(this.dmsObject);
|
|
464
|
+
this.formDisabled = signal(false, ...(ngDevMode ? [{ debugName: "formDisabled" }] : []));
|
|
465
|
+
this.dmsObject = input(...(ngDevMode ? [undefined, { debugName: "dmsObject" }] : []));
|
|
466
|
+
this._dmsObject = linkedSignal(this.dmsObject, ...(ngDevMode ? [{ debugName: "_dmsObject" }] : []));
|
|
458
467
|
/**
|
|
459
468
|
* @deprecated This input will be removed in the future.
|
|
460
469
|
* Please migrate to using `dmsObject` and `flavors` inputs instead.
|
|
461
470
|
*/
|
|
462
|
-
this.flavoredDmsObject = input();
|
|
471
|
+
this.flavoredDmsObject = input(...(ngDevMode ? [undefined, { debugName: "flavoredDmsObject" }] : []));
|
|
463
472
|
this.#flavoredDmsObjectEffect = effect(() => {
|
|
464
473
|
const flavoredDmsObject = this.flavoredDmsObject();
|
|
465
474
|
flavoredDmsObject && this.#init(flavoredDmsObject?.object, flavoredDmsObject?.flavors);
|
|
466
|
-
});
|
|
475
|
+
}, ...(ngDevMode ? [{ debugName: "#flavoredDmsObjectEffect" }] : []));
|
|
467
476
|
/**
|
|
468
477
|
* Emits the updated `DmsObject` when metadata have been saved.
|
|
469
478
|
*/
|
|
@@ -477,17 +486,17 @@ class ObjectMetadataComponent {
|
|
|
477
486
|
* this is not used anymore
|
|
478
487
|
*
|
|
479
488
|
*/
|
|
480
|
-
this.#legacyFlavors = signal(undefined);
|
|
489
|
+
this.#legacyFlavors = signal(undefined, ...(ngDevMode ? [{ debugName: "#legacyFlavors" }] : []));
|
|
481
490
|
this.#mainFormOptionsResource = rxResource({
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
if (!
|
|
491
|
+
params: this._dmsObject,
|
|
492
|
+
stream: ({ params }) => {
|
|
493
|
+
if (!params)
|
|
485
494
|
return of(undefined);
|
|
486
|
-
return this.#system.getObjectTypeForms([
|
|
495
|
+
return this.#system.getObjectTypeForms([params.objectTypeId], this.situation()).pipe(map((res) => res[params.objectTypeId]
|
|
487
496
|
? {
|
|
488
|
-
formModel: res[
|
|
489
|
-
data:
|
|
490
|
-
disabled: this.formDisabled() || !
|
|
497
|
+
formModel: res[params.objectTypeId],
|
|
498
|
+
data: params.data,
|
|
499
|
+
disabled: this.formDisabled() || !params.permissions?.writeIndexData
|
|
491
500
|
}
|
|
492
501
|
: undefined));
|
|
493
502
|
}
|
|
@@ -495,7 +504,7 @@ class ObjectMetadataComponent {
|
|
|
495
504
|
// form of the dms object itself
|
|
496
505
|
this.mainFormOptions = this.#mainFormOptionsResource.value;
|
|
497
506
|
this.mainFormOptionsIsLoading = this.#mainFormOptionsResource.isLoading;
|
|
498
|
-
this.flavors = input(undefined);
|
|
507
|
+
this.flavors = input(undefined, ...(ngDevMode ? [{ debugName: "flavors" }] : []));
|
|
499
508
|
// forms of applied flavors
|
|
500
509
|
this.flavorFormOptions = computed(() => {
|
|
501
510
|
const object = this._dmsObject();
|
|
@@ -512,7 +521,7 @@ class ObjectMetadataComponent {
|
|
|
512
521
|
svgIcon: mappedFlavors[id]?.svgIcon,
|
|
513
522
|
data: object.data
|
|
514
523
|
}));
|
|
515
|
-
});
|
|
524
|
+
}, ...(ngDevMode ? [{ debugName: "flavorFormOptions" }] : []));
|
|
516
525
|
}
|
|
517
526
|
#pendingChanges;
|
|
518
527
|
#notificationService;
|
|
@@ -620,7 +629,9 @@ class ObjectMetadataComponent {
|
|
|
620
629
|
error: (err) => {
|
|
621
630
|
this.#notificationService.error('',
|
|
622
631
|
// this._dmsObject?.title || '',
|
|
623
|
-
err.status === 404
|
|
632
|
+
err.status === 404
|
|
633
|
+
? this.translate.instant('yuv.object-metadata.context.load.error')
|
|
634
|
+
: this.translate.instant('yuv.object-metadata.save.error'));
|
|
624
635
|
this.controlsVisible.set(false);
|
|
625
636
|
this.busySaving.set(false);
|
|
626
637
|
}
|
|
@@ -667,17 +678,16 @@ class ObjectMetadataComponent {
|
|
|
667
678
|
ngOnDestroy() {
|
|
668
679
|
this.#formSubscriptions.forEach((s) => s.unsubscribe());
|
|
669
680
|
}
|
|
670
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
671
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
681
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectMetadataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
682
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ObjectMetadataComponent, isStandalone: true, selector: "yuv-object-metadata", inputs: { disableControls: { classPropertyName: "disableControls", publicName: "disableControls", isSignal: true, isRequired: false, transformFunction: null }, disableBasicMetadata: { classPropertyName: "disableBasicMetadata", publicName: "disableBasicMetadata", isSignal: true, isRequired: false, transformFunction: null }, elementExtensions: { classPropertyName: "elementExtensions", publicName: "elementExtensions", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavoredDmsObject: { classPropertyName: "flavoredDmsObject", publicName: "flavoredDmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { indexDataSaved: "indexDataSaved", statusChanged: "statusChanged" }, host: { properties: { "class.empty": "empty()", "class.loading": "busyLoading()" } }, viewQueries: [{ propertyName: "objectForms", predicate: ObjectFormComponent, descendants: true, isSignal: true }, { propertyName: "objectMetadataSectionForms", predicate: ObjectMetadataSectionComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<main [yuvBusyOverlay]=\"busySaving() || busyLoading() || mainFormOptionsIsLoading()\">\n @if (empty()) {\n <p>{{ 'yuv.object-metadata.empty.message' | translate }}</p>\n }\n @if (!mainFormOptions()) {\n <yuv-object-form\n [readonly]=\"!hasWritePermission()\"\n [formOptions]=\"mainFormOptions()\"\n [elementExtensions]=\"elementExtensions()\"\n (statusChanged)=\"onFormStatusChanged('main', $event)\"\n ></yuv-object-form>\n }\n @for (fo of flavorFormOptions(); track $index) {\n <yuv-object-metadata-section\n [readonly]=\"!hasWritePermission()\"\n [section]=\"fo\"\n [elementExtensions]=\"elementExtensions()\"\n [expanded]=\"$index === 0\"\n (statusChanged)=\"onFormStatusChanged(fo.id, $event)\"\n ></yuv-object-metadata-section>\n }\n\n <!-- base data -->\n @let object = dmsObject() ?? _dmsObject();\n @if (object && !disableBasicMetadata()) {\n <yuv-object-summary-data [dmsObject]=\"object\"></yuv-object-summary-data>\n }\n</main>\n\n<footer [attr.inert]=\"disableControls() || !controlsVisible() || null\">\n <div class=\"container\">\n <button\n ymtButton=\"secondary\"\n button-size=\"small\"\n [disabled]=\"busySaving() || busyLoading()\"\n (click)=\"resetForm()\"\n [hidden]=\"!combinedFormState?.dirty\"\n [disabled]=\"!combinedFormState?.dirty\"\n >\n {{ 'yuv.object-metadata.button.reset' | translate }}\n </button>\n <button\n ymtButton=\"primary\"\n button-size=\"small\"\n (click)=\"save()\"\n [disabled]=\"!combinedFormState?.dirty || combinedFormState?.invalid || busySaving() || busyLoading()\"\n >\n {{ 'yuv.object-metadata.button.save' | translate }}\n </button>\n </div>\n</footer>\n", styles: [":host{--_object-metadata-panel-background: var(--object-metadata-panel-background, var(--ymt-surface-container-low));--_object-metadata-section-background: var(--object-metadata-section-background, var(--ymt-surface));--_object-metadata-section-corner: var(--object-metadata-section-corner, var(--ymt-corner-m));--_object-metadata-footer-background: var(--object-metadata-footer-background, var(--ymt-surface-container));--_object-metadata-footer-border: 1px solid var(--object-metadata-footer-border, var(--ymt-outline-variant));--_object-metadata-footer-indent: var(--object-metadata-footer-indent, var(--ymt-spacing-xs));--_object-metadata-footer-height: 4rem;--_object-metadata-footer-corner: var(--object-metadata-footer-corner, var(--ymt-corner-s));display:grid;grid-template-rows:1fr auto;grid-template-columns:1fr;height:100%;overflow:hidden;position:relative;background-color:var(--_object-metadata-panel-background)}:host.empty main{justify-content:center;align-items:center}:host.loading main>*{opacity:0}:host main{grid-row:1/span 3;grid-column:1;overflow-y:auto;width:100%;display:flex;flex-flow:column;padding:var(--ymt-spacing-3xl) var(--ymt-spacing-l) var(--_object-metadata-footer-height) var(--ymt-spacing-l)}:host footer{grid-row:-1;grid-column:1;padding:var(--_object-metadata-footer-indent);opacity:0;z-index:101}:host footer .container{background:var(--_object-metadata-footer-background);padding:var(--ymt-spacing-s);display:flex;align-items:center;justify-content:end;gap:var(--ymt-spacing-s);border-radius:var(--_object-metadata-footer-corner);border:var(--_object-metadata-footer-border)}:host footer:not([inert]){animation:controlsAppear .2s ease-in-out forwards}:host main yuv-object-metadata-section{margin-block-end:var(--ymt-spacing-m)}:host main yuv-object-summary-data{background-color:var(--_object-metadata-section-background);border:1px solid var(--ymt-outline-variant);border-radius:var(--_object-metadata-section-corner);padding:var(--ymt-spacing-m)}@keyframes controlsAppear{0%{opacity:0;translate:0 var(--ymt-spacing-m)}to{opacity:1;translate:0 0}}\n"], dependencies: [{ kind: "component", type: ObjectFormComponent, selector: "yuv-object-form", inputs: ["formOptions", "inert", "readonly", "elementExtensions", "isInnerTableForm"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject", "flavors", "showAppliedFlavors"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: ObjectMetadataSectionComponent, selector: "yuv-object-metadata-section", inputs: ["section", "expanded", "elementExtensions", "readonly"], outputs: ["statusChanged"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
672
683
|
}
|
|
673
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
684
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectMetadataComponent, decorators: [{
|
|
674
685
|
type: Component,
|
|
675
686
|
args: [{ selector: 'yuv-object-metadata', standalone: true, imports: [
|
|
676
|
-
CommonModule,
|
|
677
687
|
ObjectFormComponent,
|
|
678
688
|
ObjectSummaryDataComponent,
|
|
679
689
|
BusyOverlayDirective,
|
|
680
|
-
|
|
690
|
+
TranslatePipe,
|
|
681
691
|
MatButtonModule,
|
|
682
692
|
MatIconModule,
|
|
683
693
|
ReactiveFormsModule,
|
|
@@ -687,59 +697,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
687
697
|
'[class.empty]': 'empty()',
|
|
688
698
|
'[class.loading]': 'busyLoading()'
|
|
689
699
|
}, template: "<main [yuvBusyOverlay]=\"busySaving() || busyLoading() || mainFormOptionsIsLoading()\">\n @if (empty()) {\n <p>{{ 'yuv.object-metadata.empty.message' | translate }}</p>\n }\n @if (!mainFormOptions()) {\n <yuv-object-form\n [readonly]=\"!hasWritePermission()\"\n [formOptions]=\"mainFormOptions()\"\n [elementExtensions]=\"elementExtensions()\"\n (statusChanged)=\"onFormStatusChanged('main', $event)\"\n ></yuv-object-form>\n }\n @for (fo of flavorFormOptions(); track $index) {\n <yuv-object-metadata-section\n [readonly]=\"!hasWritePermission()\"\n [section]=\"fo\"\n [elementExtensions]=\"elementExtensions()\"\n [expanded]=\"$index === 0\"\n (statusChanged)=\"onFormStatusChanged(fo.id, $event)\"\n ></yuv-object-metadata-section>\n }\n\n <!-- base data -->\n @let object = dmsObject() ?? _dmsObject();\n @if (object && !disableBasicMetadata()) {\n <yuv-object-summary-data [dmsObject]=\"object\"></yuv-object-summary-data>\n }\n</main>\n\n<footer [attr.inert]=\"disableControls() || !controlsVisible() || null\">\n <div class=\"container\">\n <button\n ymtButton=\"secondary\"\n button-size=\"small\"\n [disabled]=\"busySaving() || busyLoading()\"\n (click)=\"resetForm()\"\n [hidden]=\"!combinedFormState?.dirty\"\n [disabled]=\"!combinedFormState?.dirty\"\n >\n {{ 'yuv.object-metadata.button.reset' | translate }}\n </button>\n <button\n ymtButton=\"primary\"\n button-size=\"small\"\n (click)=\"save()\"\n [disabled]=\"!combinedFormState?.dirty || combinedFormState?.invalid || busySaving() || busyLoading()\"\n >\n {{ 'yuv.object-metadata.button.save' | translate }}\n </button>\n </div>\n</footer>\n", styles: [":host{--_object-metadata-panel-background: var(--object-metadata-panel-background, var(--ymt-surface-container-low));--_object-metadata-section-background: var(--object-metadata-section-background, var(--ymt-surface));--_object-metadata-section-corner: var(--object-metadata-section-corner, var(--ymt-corner-m));--_object-metadata-footer-background: var(--object-metadata-footer-background, var(--ymt-surface-container));--_object-metadata-footer-border: 1px solid var(--object-metadata-footer-border, var(--ymt-outline-variant));--_object-metadata-footer-indent: var(--object-metadata-footer-indent, var(--ymt-spacing-xs));--_object-metadata-footer-height: 4rem;--_object-metadata-footer-corner: var(--object-metadata-footer-corner, var(--ymt-corner-s));display:grid;grid-template-rows:1fr auto;grid-template-columns:1fr;height:100%;overflow:hidden;position:relative;background-color:var(--_object-metadata-panel-background)}:host.empty main{justify-content:center;align-items:center}:host.loading main>*{opacity:0}:host main{grid-row:1/span 3;grid-column:1;overflow-y:auto;width:100%;display:flex;flex-flow:column;padding:var(--ymt-spacing-3xl) var(--ymt-spacing-l) var(--_object-metadata-footer-height) var(--ymt-spacing-l)}:host footer{grid-row:-1;grid-column:1;padding:var(--_object-metadata-footer-indent);opacity:0;z-index:101}:host footer .container{background:var(--_object-metadata-footer-background);padding:var(--ymt-spacing-s);display:flex;align-items:center;justify-content:end;gap:var(--ymt-spacing-s);border-radius:var(--_object-metadata-footer-corner);border:var(--_object-metadata-footer-border)}:host footer:not([inert]){animation:controlsAppear .2s ease-in-out forwards}:host main yuv-object-metadata-section{margin-block-end:var(--ymt-spacing-m)}:host main yuv-object-summary-data{background-color:var(--_object-metadata-section-background);border:1px solid var(--ymt-outline-variant);border-radius:var(--_object-metadata-section-corner);padding:var(--ymt-spacing-m)}@keyframes controlsAppear{0%{opacity:0;translate:0 var(--ymt-spacing-m)}to{opacity:1;translate:0 0}}\n"] }]
|
|
690
|
-
}] });
|
|
700
|
+
}], propDecorators: { objectForms: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => ObjectFormComponent), { isSignal: true }] }], objectMetadataSectionForms: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => ObjectMetadataSectionComponent), { isSignal: true }] }], disableControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableControls", required: false }] }], disableBasicMetadata: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableBasicMetadata", required: false }] }], elementExtensions: [{ type: i0.Input, args: [{ isSignal: true, alias: "elementExtensions", required: false }] }], situation: [{ type: i0.Input, args: [{ isSignal: true, alias: "situation", required: false }] }], dmsObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: false }] }], flavoredDmsObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "flavoredDmsObject", required: false }] }], indexDataSaved: [{ type: i0.Output, args: ["indexDataSaved"] }], statusChanged: [{ type: i0.Output, args: ["statusChanged"] }], flavors: [{ type: i0.Input, args: [{ isSignal: true, alias: "flavors", required: false }] }] } });
|
|
691
701
|
|
|
692
702
|
class ObjectDetailsComponent {
|
|
693
703
|
constructor() {
|
|
694
704
|
this.#userService = inject(UserService);
|
|
695
705
|
this.#odShellService = inject(ObjectDetailsShellService);
|
|
696
706
|
this.isAdvancedUser = this.#userService.isAdvancedUser;
|
|
697
|
-
this.currentUser = signal(this.#userService.getCurrentUser());
|
|
707
|
+
this.currentUser = signal(this.#userService.getCurrentUser(), ...(ngDevMode ? [{ debugName: "currentUser" }] : []));
|
|
698
708
|
/**
|
|
699
709
|
* ID to store the components layout state (splitted tabs, gutter position)
|
|
700
710
|
*/
|
|
701
|
-
this.layoutSettingsID = signal(undefined);
|
|
711
|
+
this.layoutSettingsID = signal(undefined, ...(ngDevMode ? [{ debugName: "layoutSettingsID" }] : []));
|
|
702
712
|
/**
|
|
703
713
|
* DmsObject to show the details for.
|
|
704
714
|
*/
|
|
705
|
-
this.dmsObjectInput = input(undefined, { alias: 'dmsObject' });
|
|
715
|
+
this.dmsObjectInput = input(undefined, ...(ngDevMode ? [{ debugName: "dmsObjectInput", alias: 'dmsObject' }] : [{ alias: 'dmsObject' }]));
|
|
706
716
|
this.dmsObjectInputEffect = effect(() => {
|
|
707
717
|
const o = this.dmsObjectInput();
|
|
708
718
|
if (o)
|
|
709
719
|
untracked(() => this.#odShellService.setDmsObject(o));
|
|
710
|
-
});
|
|
720
|
+
}, ...(ngDevMode ? [{ debugName: "dmsObjectInputEffect" }] : []));
|
|
711
721
|
this.dmsObject = this.#odShellService.dmsObject;
|
|
712
722
|
/**
|
|
713
723
|
* Flavors to take into account. These flavors define for example the metadata
|
|
714
724
|
* of an object.
|
|
715
725
|
*/
|
|
716
|
-
this.flavors = input([]);
|
|
726
|
+
this.flavors = input([], ...(ngDevMode ? [{ debugName: "flavors" }] : []));
|
|
717
727
|
/**
|
|
718
728
|
* Virtual object type to use for retrieving header data
|
|
719
729
|
*/
|
|
720
|
-
this.type = input.required();
|
|
730
|
+
this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
721
731
|
/**
|
|
722
732
|
* If the object config for the given type has been stored in a certain bucket, this
|
|
723
733
|
* bucket can be provided here. If no bucket is set, the config will be retrieved
|
|
724
734
|
* from the main object config
|
|
725
735
|
*/
|
|
726
|
-
this.objectConfigBucket = input(undefined);
|
|
736
|
+
this.objectConfigBucket = input(undefined, ...(ngDevMode ? [{ debugName: "objectConfigBucket" }] : []));
|
|
727
737
|
/**
|
|
728
738
|
* ID of a DmsObject. The object will be fetched from the backend upfront.
|
|
729
739
|
*/
|
|
730
|
-
this.objectId = input(undefined);
|
|
740
|
+
this.objectId = input(undefined, ...(ngDevMode ? [{ debugName: "objectId" }] : []));
|
|
731
741
|
this.#objectIdEffect = effect(() => {
|
|
732
742
|
const oid = this.objectId();
|
|
733
743
|
if (oid)
|
|
734
744
|
this.#odShellService.fetchDmsObject(oid);
|
|
735
|
-
});
|
|
745
|
+
}, ...(ngDevMode ? [{ debugName: "#objectIdEffect" }] : []));
|
|
736
746
|
/**
|
|
737
747
|
* Whether to hide the header
|
|
738
748
|
*/
|
|
739
|
-
this.hideHeader = input(false);
|
|
740
|
-
this.actions = input(undefined);
|
|
749
|
+
this.hideHeader = input(false, ...(ngDevMode ? [{ debugName: "hideHeader" }] : []));
|
|
750
|
+
this.actions = input(undefined, ...(ngDevMode ? [{ debugName: "actions" }] : []));
|
|
741
751
|
/** Template rendered in the badges area, aligned to the right of the subtitle row. */
|
|
742
|
-
this.badges = input();
|
|
752
|
+
this.badges = input(...(ngDevMode ? [undefined, { debugName: "badges" }] : []));
|
|
743
753
|
}
|
|
744
754
|
#userService;
|
|
745
755
|
#odShellService;
|
|
@@ -747,14 +757,13 @@ class ObjectDetailsComponent {
|
|
|
747
757
|
onIndexdataSaved(updatedObject) {
|
|
748
758
|
this.#odShellService.setDmsObject(updatedObject);
|
|
749
759
|
}
|
|
750
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
751
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
760
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
761
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ObjectDetailsComponent, isStandalone: true, selector: "yuv-object-details", inputs: { dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, objectConfigBucket: { classPropertyName: "objectConfigBucket", publicName: "objectConfigBucket", isSignal: true, isRequired: false, transformFunction: null }, objectId: { classPropertyName: "objectId", publicName: "objectId", isSignal: true, isRequired: false, transformFunction: null }, hideHeader: { classPropertyName: "hideHeader", publicName: "hideHeader", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null } }, providers: [ObjectDetailsShellService], ngImport: i0, template: "<yuv-object-details-shell [type]=\"type()\" [hideHeader]=\"hideHeader()\" [bucket]=\"objectConfigBucket()\" [actions]=\"actions()\" [badges]=\"badges()\">\n @let dmsObj = dmsObject();\n <mat-tab-group yuvTabGuardDisable>\n <!-- content -->\n @if (dmsObj && dmsObj.content) {\n <mat-tab [label]=\"'yuv.object-details.tabs.content.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-preview [dmsObject]=\"dmsObj\"></yuv-object-preview>\n </ng-template>\n </mat-tab>\n }\n\n <!-- indexdata -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.indexdata.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-metadata [dmsObject]=\"dmsObject()\" [flavors]=\"flavors()\" (indexDataSaved)=\"onIndexdataSaved($event)\"> </yuv-object-metadata>\n </ng-template>\n </mat-tab>\n <!-- history -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.history.title' | translate\">\n <ng-template matTabContent> <yuv-object-audit [dmsObject]=\"dmsObj\"></yuv-object-audit> </ng-template\n ></mat-tab>\n </mat-tab-group>\n</yuv-object-details-shell>\n", styles: [":host{display:block;overflow:hidden}:host yuv-object-details-shell{height:100%}:host mat-tab-group{overflow:hidden;height:100%}:host mat-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{height:100%}:host yuv-object-preview{background-color:var(--ymt-surface-container-low)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i1$2.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: TabGuardDirective, selector: "mat-tab-group[yuvTabGuardDisable]" }, { kind: "component", type: ObjectDetailsShellComponent, selector: "yuv-object-details-shell", inputs: ["actions", "badges", "type", "bucket", "hideHeader"] }, { kind: "component", type: ObjectPreviewComponent, selector: "yuv-object-preview", inputs: ["objectId", "dmsObject", "version", "metadata"] }, { kind: "component", type: ObjectMetadataComponent, selector: "yuv-object-metadata", inputs: ["disableControls", "disableBasicMetadata", "elementExtensions", "situation", "dmsObject", "flavoredDmsObject", "flavors"], outputs: ["indexDataSaved", "statusChanged"] }, { kind: "component", type: ObjectAuditComponent, selector: "yuv-object-audit", inputs: ["dmsObject", "skipActions", "allActions"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
752
762
|
}
|
|
753
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
763
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectDetailsComponent, decorators: [{
|
|
754
764
|
type: Component,
|
|
755
765
|
args: [{ selector: 'yuv-object-details', standalone: true, imports: [
|
|
756
|
-
|
|
757
|
-
TranslateModule,
|
|
766
|
+
TranslatePipe,
|
|
758
767
|
MatTabsModule,
|
|
759
768
|
TabGuardDirective,
|
|
760
769
|
ObjectDetailsShellComponent,
|
|
@@ -762,7 +771,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
762
771
|
ObjectMetadataComponent,
|
|
763
772
|
ObjectAuditComponent
|
|
764
773
|
], providers: [ObjectDetailsShellService], template: "<yuv-object-details-shell [type]=\"type()\" [hideHeader]=\"hideHeader()\" [bucket]=\"objectConfigBucket()\" [actions]=\"actions()\" [badges]=\"badges()\">\n @let dmsObj = dmsObject();\n <mat-tab-group yuvTabGuardDisable>\n <!-- content -->\n @if (dmsObj && dmsObj.content) {\n <mat-tab [label]=\"'yuv.object-details.tabs.content.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-preview [dmsObject]=\"dmsObj\"></yuv-object-preview>\n </ng-template>\n </mat-tab>\n }\n\n <!-- indexdata -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.indexdata.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-metadata [dmsObject]=\"dmsObject()\" [flavors]=\"flavors()\" (indexDataSaved)=\"onIndexdataSaved($event)\"> </yuv-object-metadata>\n </ng-template>\n </mat-tab>\n <!-- history -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.history.title' | translate\">\n <ng-template matTabContent> <yuv-object-audit [dmsObject]=\"dmsObj\"></yuv-object-audit> </ng-template\n ></mat-tab>\n </mat-tab-group>\n</yuv-object-details-shell>\n", styles: [":host{display:block;overflow:hidden}:host yuv-object-details-shell{height:100%}:host mat-tab-group{overflow:hidden;height:100%}:host mat-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{height:100%}:host yuv-object-preview{background-color:var(--ymt-surface-container-low)}\n"] }]
|
|
765
|
-
}] });
|
|
774
|
+
}], propDecorators: { dmsObjectInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: false }] }], flavors: [{ type: i0.Input, args: [{ isSignal: true, alias: "flavors", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], objectConfigBucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "objectConfigBucket", required: false }] }], objectId: [{ type: i0.Input, args: [{ isSignal: true, alias: "objectId", required: false }] }], hideHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideHeader", required: false }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], badges: [{ type: i0.Input, args: [{ isSignal: true, alias: "badges", required: false }] }] } });
|
|
766
775
|
|
|
767
776
|
const cmp = [
|
|
768
777
|
ObjectDetailsComponent,
|
|
@@ -773,8 +782,8 @@ const cmp = [
|
|
|
773
782
|
RetentionBadgeComponent
|
|
774
783
|
];
|
|
775
784
|
class YuvObjectDetailsModule {
|
|
776
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
777
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
785
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvObjectDetailsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
786
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: YuvObjectDetailsModule, imports: [ObjectDetailsComponent,
|
|
778
787
|
ObjectDetailsHeaderComponent,
|
|
779
788
|
ObjectDetailsShellComponent,
|
|
780
789
|
ObjectMetadataComponent,
|
|
@@ -785,9 +794,9 @@ class YuvObjectDetailsModule {
|
|
|
785
794
|
ObjectMetadataComponent,
|
|
786
795
|
ObjectAuditComponent,
|
|
787
796
|
RetentionBadgeComponent] }); }
|
|
788
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
797
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvObjectDetailsModule, imports: [cmp] }); }
|
|
789
798
|
}
|
|
790
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
799
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvObjectDetailsModule, decorators: [{
|
|
791
800
|
type: NgModule,
|
|
792
801
|
args: [{
|
|
793
802
|
imports: cmp,
|
|
@@ -799,10 +808,10 @@ class FormSectionGroupPipe {
|
|
|
799
808
|
transform(form, id) {
|
|
800
809
|
return form.get(id);
|
|
801
810
|
}
|
|
802
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
803
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
811
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FormSectionGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
812
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: FormSectionGroupPipe, isStandalone: true, name: "formSectionGroup" }); }
|
|
804
813
|
}
|
|
805
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
814
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FormSectionGroupPipe, decorators: [{
|
|
806
815
|
type: Pipe,
|
|
807
816
|
args: [{
|
|
808
817
|
name: 'formSectionGroup',
|