@yuuvis/client-framework 2.0.0-beta.0 → 2.0.0-beta.11
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/lib/actions/delete-action/delete/delete.component.d.ts +3 -3
- package/actions/lib/actions/delete-action/delete-action.d.ts +1 -1
- package/actions/lib/actions.service.d.ts +7 -3
- package/actions/lib/components/contextmenu/contextmenu.component.d.ts +3 -1
- package/autocomplete/README.md +3 -0
- package/autocomplete/index.d.ts +3 -0
- package/autocomplete/lib/autocomplete.component.d.ts +72 -0
- package/autocomplete/lib/autocomplete.interface.d.ts +4 -0
- package/autocomplete/lib/autocomplete.module.d.ts +7 -0
- package/common/index.d.ts +4 -4
- package/common/lib/common.module.d.ts +19 -0
- package/common/lib/common.utils.d.ts +2 -0
- package/common/lib/components/confirm/confirm.component.d.ts +7 -0
- package/common/lib/components/confirm/confirm.interface.d.ts +7 -0
- package/common/lib/components/confirm/confirm.service.d.ts +9 -0
- package/common/lib/components/dialog/dialog.component.d.ts +6 -0
- package/common/lib/components/dialog/dialog.options.d.ts +7 -0
- package/common/lib/components/index.d.ts +5 -0
- package/common/lib/directives/autofocus-child.directive.d.ts +13 -0
- package/common/lib/directives/autofocus-delayed.directive.d.ts +18 -0
- package/common/lib/directives/drag-scroll.directive.d.ts +20 -0
- package/common/lib/directives/index.d.ts +8 -4
- package/common/lib/directives/noop-value-accessor.directive.d.ts +2 -2
- package/common/lib/mat-form-field.abstract.d.ts +41 -0
- package/common/lib/services/index.d.ts +1 -1
- package/common/lib/services/layout-settings/layout-settings.service.d.ts +18 -0
- package/datepicker/README.md +3 -0
- package/datepicker/index.d.ts +5 -0
- package/datepicker/lib/calendar/calendar.component.d.ts +72 -0
- package/datepicker/lib/date-input/date-input-element/date-input-element.component.d.ts +43 -0
- package/datepicker/lib/date-input/date-input-hour-element/date-input-hour-element.component.d.ts +11 -0
- package/datepicker/lib/date-input/date-input.component.d.ts +61 -0
- package/datepicker/lib/datepicker-calendar/datepicker-calendar-trigger.component.d.ts +7 -0
- package/datepicker/lib/datepicker-calendar/datepicker-calendar.component.d.ts +12 -0
- package/datepicker/lib/datepicker.component.d.ts +80 -0
- package/datepicker/lib/datepicker.interface.d.ts +34 -0
- package/datepicker/lib/datepicker.module.d.ts +9 -0
- package/datepicker/lib/datepicker.service.d.ts +46 -0
- package/datepicker/lib/datepicker.utils.d.ts +23 -0
- package/datepicker/lib/time-input/time-input.component.d.ts +36 -0
- package/datepicker/lib/time-input/time-input.interface.d.ts +6 -0
- package/fesm2022/yuuvis-client-framework-actions.mjs +147 -105
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-app-bar.mjs +7 -8
- package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-autocomplete.mjs +210 -0
- package/fesm2022/yuuvis-client-framework-autocomplete.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-clipboard.mjs +9 -9
- package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-common.mjs +853 -780
- package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-datepicker.mjs +1688 -0
- package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-forms.mjs +945 -1157
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-icons.mjs +85 -12
- package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-list.mjs +81 -45
- package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-master-details.mjs +112 -0
- package/fesm2022/yuuvis-client-framework-master-details.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +60 -0
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs +125 -100
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-details.mjs +49 -59
- package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs +188 -77
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs +99 -184
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-preview.mjs +12 -12
- package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +46 -42
- package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-overflow-menu.mjs +126 -0
- package/fesm2022/yuuvis-client-framework-overflow-menu.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-pagination.mjs +7 -9
- package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-panel.mjs +8 -7
- package/fesm2022/yuuvis-client-framework-panel.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-popout.mjs +212 -0
- package/fesm2022/yuuvis-client-framework-popout.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-renderer.mjs +99 -72
- package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +29 -112
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-simple-search.mjs +40 -21
- package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-split-view.mjs +188 -0
- package/fesm2022/yuuvis-client-framework-split-view.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +100 -93
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tree.mjs +15 -15
- package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs +16 -21
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework.mjs +4 -4
- package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
- package/forms/index.d.ts +7 -1
- package/forms/lib/elements/catalog/catalog.component.d.ts +17 -56
- package/forms/lib/elements/data-grid/edit-table-data/edit-data.component.d.ts +5 -4
- package/forms/lib/elements/datetime/datetime.component.d.ts +19 -10
- package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +12 -27
- package/forms/lib/elements/index.d.ts +0 -1
- package/forms/lib/elements/number/number.component.d.ts +21 -30
- package/forms/lib/elements/number-range/number-range.component.d.ts +12 -7
- package/forms/lib/elements/organization/organization.component.d.ts +23 -51
- package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +12 -7
- package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +12 -7
- package/forms/lib/elements/string/string.component.d.ts +15 -20
- package/forms/lib/forms.module.d.ts +8 -11
- package/icons/index.d.ts +1 -0
- package/icons/lib/icon.component.d.ts +20 -0
- package/lib/assets/i18n/de.json +7 -23
- package/lib/assets/i18n/en.json +10 -26
- package/list/index.d.ts +1 -0
- package/list/lib/list-item.directive.d.ts +5 -4
- package/list/lib/list.component.d.ts +6 -3
- package/list/lib/list.module.d.ts +8 -0
- package/master-details/README.md +3 -0
- package/master-details/index.d.ts +2 -0
- package/master-details/lib/master-details.component.d.ts +58 -0
- package/master-details/lib/master-details.interface.d.ts +7 -0
- package/master-details/lib/master-details.module.d.ts +7 -0
- package/metadata-form/index.d.ts +4 -1
- package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +4 -17
- package/metadata-form/lib/metadata-form-field/metadata-form-field.interface.d.ts +11 -0
- package/metadata-form/lib/object-metadata-element-error.directive.d.ts +13 -0
- package/metadata-form/lib/object-metadata-element-label.directive.d.ts +10 -0
- package/metadata-form/lib/object-metadata-element-template.directive.d.ts +3 -3
- package/metadata-form-defaults/README.md +3 -0
- package/metadata-form-defaults/index.d.ts +2 -0
- package/metadata-form-defaults/lib/metadata-form-defaults.module.d.ts +7 -0
- package/object-details/lib/object-audit/object-audit.component.d.ts +3 -9
- package/object-details/lib/object-details.component.d.ts +0 -2
- package/object-details/lib/object-metadata/object-metadata.component.d.ts +4 -3
- package/object-details/lib/retention-badge/retention-badge.component.d.ts +0 -3
- package/object-flavor/index.d.ts +1 -0
- package/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.d.ts +1 -2
- package/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.d.ts +3 -2
- package/object-flavor/lib/default-apply-flavor/default-apply-flavor.component.d.ts +19 -0
- package/object-flavor/lib/flavor-chip/flavor-chip.component.d.ts +1 -1
- package/object-flavor/lib/object-flavor/object-flavor.component.d.ts +3 -6
- package/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.d.ts +0 -1
- package/object-form/index.d.ts +1 -1
- package/object-form/lib/object-form-element/object-form-element.component.d.ts +2 -2
- package/object-form/lib/object-form-group/object-form-group.component.d.ts +1 -3
- package/object-form/lib/object-form.component.d.ts +2 -2
- package/object-form/lib/object-form.interface.d.ts +0 -44
- package/object-form/lib/object-form.module.d.ts +7 -0
- package/object-form/lib/object-form.service.d.ts +1 -2
- package/object-form/lib/object-form.utils.d.ts +1 -1
- package/object-summary/lib/object-summary/object-summary.component.d.ts +13 -15
- package/overflow-menu/README.md +3 -0
- package/overflow-menu/index.d.ts +3 -0
- package/overflow-menu/lib/overflow-menu.component.d.ts +31 -0
- package/overflow-menu/lib/overflow-menu.interface.d.ts +9 -0
- package/overflow-menu/lib/overflow-menu.module.d.ts +7 -0
- package/package.json +44 -70
- package/popout/README.md +3 -0
- package/popout/index.d.ts +3 -0
- package/popout/lib/popout.component.d.ts +58 -0
- package/popout/lib/popout.interface.d.ts +17 -0
- package/popout/lib/popout.module.d.ts +7 -0
- package/renderer/lib/property-renderer/abstract.renderer.d.ts +4 -4
- package/renderer/lib/property-renderer/icon.renderer.component.d.ts +2 -0
- package/renderer/lib/renderer.directive.d.ts +4 -3
- package/sequence-list/index.d.ts +0 -1
- package/sequence-list/lib/sequence-list.component.d.ts +0 -4
- package/simple-search/index.d.ts +0 -1
- package/simple-search/lib/simple-search/simple-search.component.d.ts +6 -10
- package/split-view/README.md +3 -0
- package/split-view/index.d.ts +4 -0
- package/split-view/lib/split-area.directive.d.ts +16 -0
- package/split-view/lib/split-view.component.d.ts +76 -0
- package/split-view/lib/split-view.interface.d.ts +10 -0
- package/split-view/lib/split-view.module.d.ts +8 -0
- package/styles/client-framework.scss +21 -67
- package/tile-list/lib/tile/tile.component.d.ts +1 -2
- package/tile-list/lib/tile-config/property-select/property-select.component.d.ts +0 -1
- package/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.d.ts +1 -2
- package/tile-list/lib/tile-config/tile-config.component.d.ts +0 -3
- package/tile-list/lib/tile-list/tile-list.component.d.ts +5 -5
- package/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.d.ts +0 -5
- package/upload-progress/lib/upload-progress/upload-progress.component.d.ts +0 -4
- package/common/lib/components/focus-indicator/focus-indicator.component.d.ts +0 -7
- package/common/lib/components/token-input/token-input.component.d.ts +0 -55
- package/common/lib/components/token-input/token-input.interface.d.ts +0 -8
- package/common/lib/services/error-messages/error-messages.service.d.ts +0 -7
- package/esm2022/actions/index.mjs +0 -7
- package/esm2022/actions/lib/actions/copy-action/copy-action.mjs +0 -31
- package/esm2022/actions/lib/actions/cut-action/cut-action.mjs +0 -30
- package/esm2022/actions/lib/actions/delete-action/delete/delete.component.mjs +0 -67
- package/esm2022/actions/lib/actions/delete-action/delete-action.mjs +0 -38
- package/esm2022/actions/lib/actions/download-action/download-action.mjs +0 -33
- package/esm2022/actions/lib/actions.icon.mjs +0 -8
- package/esm2022/actions/lib/actions.interface.mjs +0 -19
- package/esm2022/actions/lib/actions.module.mjs +0 -16
- package/esm2022/actions/lib/actions.service.mjs +0 -89
- package/esm2022/actions/lib/components/contextmenu/contextmenu.component.mjs +0 -27
- package/esm2022/actions/yuuvis-client-framework-actions.mjs +0 -5
- package/esm2022/app-bar/index.mjs +0 -2
- package/esm2022/app-bar/lib/app-bar.component.mjs +0 -89
- package/esm2022/app-bar/yuuvis-client-framework-app-bar.mjs +0 -5
- package/esm2022/clipboard/index.mjs +0 -2
- package/esm2022/clipboard/lib/clipboard.component.mjs +0 -48
- package/esm2022/clipboard/yuuvis-client-framework-clipboard.mjs +0 -5
- package/esm2022/common/index.mjs +0 -7
- package/esm2022/common/lib/components/focus-indicator/focus-indicator.component.mjs +0 -41
- package/esm2022/common/lib/components/token-input/token-input.component.mjs +0 -324
- package/esm2022/common/lib/components/token-input/token-input.interface.mjs +0 -2
- package/esm2022/common/lib/directives/busy-overlay.directive.mjs +0 -88
- package/esm2022/common/lib/directives/click-double.directive.mjs +0 -61
- package/esm2022/common/lib/directives/container-size.directive.mjs +0 -56
- package/esm2022/common/lib/directives/drag-select.directive.mjs +0 -114
- package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.directive.mjs +0 -153
- package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.interface.mjs +0 -2
- package/esm2022/common/lib/directives/focus-within.directive.mjs +0 -81
- package/esm2022/common/lib/directives/index.mjs +0 -9
- package/esm2022/common/lib/directives/light-dismiss.directive.mjs +0 -44
- package/esm2022/common/lib/directives/longpress.directive.mjs +0 -36
- package/esm2022/common/lib/directives/noop-value-accessor.directive.mjs +0 -42
- package/esm2022/common/lib/services/error-messages/error-messages.service.mjs +0 -68
- package/esm2022/common/lib/services/index.mjs +0 -2
- package/esm2022/common/yuuvis-client-framework-common.mjs +0 -5
- package/esm2022/forms/index.mjs +0 -24
- package/esm2022/forms/lib/elements/catalog/catalog.component.mjs +0 -118
- package/esm2022/forms/lib/elements/data-grid/data-grid/data-grid.component.mjs +0 -172
- package/esm2022/forms/lib/elements/data-grid/edit-table-data/edit-data.component.mjs +0 -95
- package/esm2022/forms/lib/elements/data-grid/model/data-grid.interface.mjs +0 -9
- package/esm2022/forms/lib/elements/datetime/datetime.component.mjs +0 -82
- package/esm2022/forms/lib/elements/datetime-range/datetime-range.component.mjs +0 -166
- package/esm2022/forms/lib/elements/index.mjs +0 -11
- package/esm2022/forms/lib/elements/number/number.component.mjs +0 -195
- package/esm2022/forms/lib/elements/number-range/number-range.component.mjs +0 -176
- package/esm2022/forms/lib/elements/organization/organization.component.mjs +0 -286
- package/esm2022/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.mjs +0 -38
- package/esm2022/forms/lib/elements/range-select-date/range-select-date.component.mjs +0 -181
- package/esm2022/forms/lib/elements/range-select-date/range-select-date.interface.mjs +0 -2
- package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.component.mjs +0 -98
- package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.interface.mjs +0 -2
- package/esm2022/forms/lib/elements/string/string.component.mjs +0 -261
- package/esm2022/forms/lib/form-input/form-input.component.mjs +0 -88
- package/esm2022/forms/lib/forms.module.mjs +0 -58
- package/esm2022/forms/yuuvis-client-framework-forms.mjs +0 -5
- package/esm2022/icons/index.mjs +0 -4
- package/esm2022/icons/lib/icon.service.mjs +0 -59
- package/esm2022/icons/lib/icons.mjs +0 -32
- package/esm2022/icons/lib/object-type-icon/object-type-icon.component.mjs +0 -29
- package/esm2022/icons/yuuvis-client-framework-icons.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/lib/yuuvis-client-framework.module.mjs +0 -15
- package/esm2022/list/index.mjs +0 -3
- package/esm2022/list/lib/list-item.directive.mjs +0 -72
- package/esm2022/list/lib/list.component.mjs +0 -135
- package/esm2022/list/yuuvis-client-framework-list.mjs +0 -5
- package/esm2022/metadata-form/index.mjs +0 -4
- package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +0 -32
- package/esm2022/metadata-form/lib/metadata-form-element-registry.service.mjs +0 -99
- package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +0 -83
- package/esm2022/metadata-form/lib/object-metadata-element-template.directive.mjs +0 -52
- package/esm2022/metadata-form/yuuvis-client-framework-metadata-form.mjs +0 -5
- package/esm2022/object-details/index.mjs +0 -8
- package/esm2022/object-details/lib/object-audit/object-audit.component.mjs +0 -195
- package/esm2022/object-details/lib/object-details-shell/object-details-shell.component.mjs +0 -127
- package/esm2022/object-details/lib/object-details.component.mjs +0 -61
- package/esm2022/object-details/lib/object-metadata/form-section-group.pipe.mjs +0 -17
- package/esm2022/object-details/lib/object-metadata/object-metadata.component.mjs +0 -202
- package/esm2022/object-details/lib/object-metadata/object-metadata.interface.mjs +0 -2
- package/esm2022/object-details/lib/retention-badge/retention-badge.component.mjs +0 -27
- package/esm2022/object-details/yuuvis-client-framework-object-details.mjs +0 -5
- package/esm2022/object-flavor/index.mjs +0 -6
- package/esm2022/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.mjs +0 -25
- package/esm2022/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.mjs +0 -21
- package/esm2022/object-flavor/lib/flavor-chip/flavor-chip.component.mjs +0 -35
- package/esm2022/object-flavor/lib/object-flavor/object-flavor.component.mjs +0 -93
- package/esm2022/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.mjs +0 -43
- package/esm2022/object-flavor/yuuvis-client-framework-object-flavor.mjs +0 -5
- package/esm2022/object-form/index.mjs +0 -5
- package/esm2022/object-form/lib/form-scripting.api.interface.mjs +0 -2
- package/esm2022/object-form/lib/form-scripting.service.mjs +0 -160
- package/esm2022/object-form/lib/object-form-element/object-form-element.component.mjs +0 -87
- package/esm2022/object-form/lib/object-form-extension.interface.mjs +0 -36
- package/esm2022/object-form/lib/object-form-group/object-form-group.component.mjs +0 -85
- package/esm2022/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.mjs +0 -23
- package/esm2022/object-form/lib/object-form-script/object-form-script.service.mjs +0 -115
- package/esm2022/object-form/lib/object-form-script/object-form-scripting-scope.mjs +0 -251
- package/esm2022/object-form/lib/object-form-translate.service.mjs +0 -73
- package/esm2022/object-form/lib/object-form.component.mjs +0 -628
- package/esm2022/object-form/lib/object-form.interface.mjs +0 -9
- package/esm2022/object-form/lib/object-form.model.mjs +0 -20
- package/esm2022/object-form/lib/object-form.service.mjs +0 -130
- package/esm2022/object-form/lib/object-form.utils.mjs +0 -55
- package/esm2022/object-form/lib/object-form.validation.mjs +0 -48
- package/esm2022/object-form/yuuvis-client-framework-object-form.mjs +0 -5
- package/esm2022/object-preview/index.mjs +0 -3
- package/esm2022/object-preview/lib/components/index.mjs +0 -3
- package/esm2022/object-preview/lib/components/object-email-preview/object-email-preview.component.mjs +0 -45
- package/esm2022/object-preview/lib/components/object-preview/object-preview.component.mjs +0 -78
- package/esm2022/object-preview/lib/services/object-preview.service.mjs +0 -119
- package/esm2022/object-preview/yuuvis-client-framework-object-preview.mjs +0 -5
- package/esm2022/object-summary/index.mjs +0 -5
- package/esm2022/object-summary/lib/multi-object-summary/multi-object-summary.component.mjs +0 -33
- package/esm2022/object-summary/lib/object-summary/object-summary.component.mjs +0 -275
- package/esm2022/object-summary/lib/object-summary-data/object-summary-data.component.mjs +0 -80
- package/esm2022/object-summary/lib/object-summary.module.mjs +0 -15
- package/esm2022/object-summary/yuuvis-client-framework-object-summary.mjs +0 -5
- package/esm2022/pagination/index.mjs +0 -3
- package/esm2022/pagination/lib/pagination.component.mjs +0 -46
- package/esm2022/pagination/lib/pagination.interface.mjs +0 -2
- package/esm2022/pagination/yuuvis-client-framework-pagination.mjs +0 -5
- package/esm2022/panel/index.mjs +0 -2
- package/esm2022/panel/lib/panel.component.mjs +0 -20
- package/esm2022/panel/yuuvis-client-framework-panel.mjs +0 -5
- package/esm2022/renderer/index.mjs +0 -11
- package/esm2022/renderer/lib/property-renderer/abstract.renderer.mjs +0 -29
- package/esm2022/renderer/lib/property-renderer/datetime.renderer.mjs +0 -13
- package/esm2022/renderer/lib/property-renderer/decimal.renderer.component.mjs +0 -12
- package/esm2022/renderer/lib/property-renderer/filesize.renderer.component.mjs +0 -28
- package/esm2022/renderer/lib/property-renderer/icon.renderer.component.mjs +0 -23
- package/esm2022/renderer/lib/property-renderer/integer.renderer.component.mjs +0 -12
- package/esm2022/renderer/lib/property-renderer/organization.renderer.mjs +0 -19
- package/esm2022/renderer/lib/property-renderer/string.renderer.component.mjs +0 -12
- package/esm2022/renderer/lib/property-renderer/unknown.renderer.mjs +0 -12
- package/esm2022/renderer/lib/renderer.directive.mjs +0 -51
- package/esm2022/renderer/lib/services/renderer/renderer.interface.mjs +0 -2
- package/esm2022/renderer/lib/services/renderer/renderer.service.mjs +0 -84
- package/esm2022/renderer/yuuvis-client-framework-renderer.mjs +0 -5
- package/esm2022/sequence-list/index.mjs +0 -4
- package/esm2022/sequence-list/lib/due-date-picker/due-date-picker.component.mjs +0 -99
- package/esm2022/sequence-list/lib/sequence-list.component.mjs +0 -141
- package/esm2022/sequence-list/lib/sequence-list.interface.mjs +0 -2
- package/esm2022/sequence-list/yuuvis-client-framework-sequence-list.mjs +0 -5
- package/esm2022/simple-search/index.mjs +0 -3
- package/esm2022/simple-search/lib/simple-search/simple-search.component.mjs +0 -111
- package/esm2022/simple-search/lib/simple-search/simple-search.interface.mjs +0 -2
- package/esm2022/simple-search/yuuvis-client-framework-simple-search.mjs +0 -5
- package/esm2022/tile-list/index.mjs +0 -11
- package/esm2022/tile-list/lib/tile/tile.component.mjs +0 -53
- package/esm2022/tile-list/lib/tile-config/action-select/action-select.component.mjs +0 -25
- package/esm2022/tile-list/lib/tile-config/icon-select/icon-select.component.mjs +0 -33
- package/esm2022/tile-list/lib/tile-config/property-select/property-select.component.mjs +0 -91
- package/esm2022/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.mjs +0 -66
- package/esm2022/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.mjs +0 -46
- package/esm2022/tile-list/lib/tile-config/tile-config.component.mjs +0 -156
- package/esm2022/tile-list/lib/tile-extension/directive/tile-extension.directive.mjs +0 -37
- package/esm2022/tile-list/lib/tile-extension/extensions/email.extension.mjs +0 -42
- package/esm2022/tile-list/lib/tile-extension/tile-extension.service.mjs +0 -35
- package/esm2022/tile-list/lib/tile-list/tile-list.component.mjs +0 -510
- package/esm2022/tile-list/lib/tile-list/tile-list.interface.mjs +0 -2
- package/esm2022/tile-list/yuuvis-client-framework-tile-list.mjs +0 -5
- package/esm2022/token-search/index.mjs +0 -3
- package/esm2022/token-search/token-search.component.mjs +0 -78
- package/esm2022/token-search/token-search.interface.mjs +0 -2
- package/esm2022/token-search/yuuvis-client-framework-token-search.mjs +0 -5
- package/esm2022/tree/index.mjs +0 -3
- package/esm2022/tree/lib/tree-node/tree-node.component.mjs +0 -65
- package/esm2022/tree/lib/tree.component.mjs +0 -148
- package/esm2022/tree/lib/tree.interface.mjs +0 -2
- package/esm2022/tree/lib/tree.service.mjs +0 -95
- package/esm2022/tree/yuuvis-client-framework-tree.mjs +0 -5
- package/esm2022/upload-progress/index.mjs +0 -2
- package/esm2022/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.mjs +0 -49
- package/esm2022/upload-progress/lib/upload-progress/upload-progress.component.mjs +0 -37
- package/esm2022/upload-progress/yuuvis-client-framework-upload-progress.mjs +0 -5
- package/esm2022/user-avatar/index.mjs +0 -3
- package/esm2022/user-avatar/lib/user-avatar.component.mjs +0 -69
- package/esm2022/user-avatar/lib/user-avatar.module.mjs +0 -24
- package/esm2022/user-avatar/yuuvis-client-framework-user-avatar.mjs +0 -5
- package/esm2022/yuuvis-client-framework.mjs +0 -5
- package/fesm2022/yuuvis-client-framework-token-search.mjs +0 -85
- package/fesm2022/yuuvis-client-framework-token-search.mjs.map +0 -1
- package/fesm2022/yuuvis-client-framework-user-avatar.mjs +0 -96
- package/fesm2022/yuuvis-client-framework-user-avatar.mjs.map +0 -1
- package/forms/lib/form-input/form-input.component.d.ts +0 -48
- package/object-form/lib/object-form-translate.service.d.ts +0 -15
- package/object-form/lib/object-form.model.d.ts +0 -18
- package/sequence-list/lib/due-date-picker/due-date-picker.component.d.ts +0 -28
- package/simple-search/lib/simple-search/simple-search.interface.d.ts +0 -4
- package/token-search/README.md +0 -3
- package/token-search/index.d.ts +0 -2
- package/token-search/token-search.component.d.ts +0 -22
- package/token-search/token-search.interface.d.ts +0 -4
- package/user-avatar/README.md +0 -3
- package/user-avatar/index.d.ts +0 -2
- package/user-avatar/lib/user-avatar.component.d.ts +0 -44
- package/user-avatar/lib/user-avatar.module.d.ts +0 -8
- /package/{metadata-form → metadata-form-defaults}/lib/metadata-default-templates/metadata-default-templates.component.d.ts +0 -0
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Component, inject, input } from '@angular/core';
|
|
2
|
-
import { YvcOverlayRef } from '@yuuvis/components/overlay';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class AbstractApplyObjectFlavorComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.oRef = inject(YvcOverlayRef);
|
|
7
|
-
// the dmsObject the flavor should be applied to
|
|
8
|
-
this.dmsObject = input(this.oRef.data.dmsObject);
|
|
9
|
-
// the flavor that should be applied
|
|
10
|
-
this.flavor = input(this.oRef.data.flavor);
|
|
11
|
-
// Optional data
|
|
12
|
-
this.data = input(this.oRef.data.data);
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractApplyObjectFlavorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AbstractApplyObjectFlavorComponent, isStandalone: true, selector: "yuv-apply-object-flavor", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavor: { classPropertyName: "flavor", publicName: "flavor", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractApplyObjectFlavorComponent, decorators: [{
|
|
18
|
-
type: Component,
|
|
19
|
-
args: [{ selector: 'yuv-apply-object-flavor', standalone: true, imports: [], template: '' }]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYXBwbHktb2JqZWN0LWZsYXZvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1mbGF2b3Ivc3JjL2xpYi9hYnN0cmFjdC1hcHBseS1vYmplY3QtZmxhdm9yL2Fic3RyYWN0LWFwcGx5LW9iamVjdC1mbGF2b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUzNELE1BQU0sT0FBZ0Isa0NBQWtDO0lBUHhEO1FBUVksU0FBSSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxnREFBZ0Q7UUFDaEQsY0FBUyxHQUFHLEtBQUssQ0FBWSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RCxvQ0FBb0M7UUFDcEMsV0FBTSxHQUFHLEtBQUssQ0FBZSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxpQkFBaUI7UUFDakIsU0FBSSxHQUFHLEtBQUssQ0FBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN4QzsrR0FScUIsa0NBQWtDO21HQUFsQyxrQ0FBa0MsbWRBSDVDLEVBQUU7OzRGQUdRLGtDQUFrQztrQkFQdkQsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLEVBQUUsWUFDRCxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEbXNPYmplY3QgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IE9iamVjdEZsYXZvciB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUnO1xuaW1wb3J0IHsgWXZjT3ZlcmxheVJlZiB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9vdmVybGF5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LWFwcGx5LW9iamVjdC1mbGF2b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZXM6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0QXBwbHlPYmplY3RGbGF2b3JDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgb1JlZiA9IGluamVjdChZdmNPdmVybGF5UmVmKTtcbiAgLy8gdGhlIGRtc09iamVjdCB0aGUgZmxhdm9yIHNob3VsZCBiZSBhcHBsaWVkIHRvXG4gIGRtc09iamVjdCA9IGlucHV0PERtc09iamVjdD4odGhpcy5vUmVmLmRhdGEuZG1zT2JqZWN0KTtcbiAgLy8gdGhlIGZsYXZvciB0aGF0IHNob3VsZCBiZSBhcHBsaWVkXG4gIGZsYXZvciA9IGlucHV0PE9iamVjdEZsYXZvcj4odGhpcy5vUmVmLmRhdGEuZmxhdm9yKTtcbiAgLy8gT3B0aW9uYWwgZGF0YSBcbiAgZGF0YSA9IGlucHV0PGFueT4odGhpcy5vUmVmLmRhdGEuZGF0YSk7XG59XG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, computed, inject, input, output } from '@angular/core';
|
|
3
|
-
import { TranslateModule, TranslateService } from '@yuuvis/client-core';
|
|
4
|
-
import { ICONS, YvcIconModule } from '@yuuvis/components/icon';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@yuuvis/components/icon";
|
|
7
|
-
export class FlavorChipComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.translate = inject(TranslateService);
|
|
10
|
-
this.flavor = input.required();
|
|
11
|
-
this.labels = computed(() => {
|
|
12
|
-
const flavor = this.flavor();
|
|
13
|
-
return {
|
|
14
|
-
name: this.translate.instant(flavor.id),
|
|
15
|
-
description: flavor.descriptionKey ? this.translate.instant(flavor.descriptionKey) : undefined
|
|
16
|
-
};
|
|
17
|
-
});
|
|
18
|
-
this.enableRemove = input();
|
|
19
|
-
this.enableDescription = input();
|
|
20
|
-
this.flavorRemove = output();
|
|
21
|
-
this.clearIcon = ICONS.clear;
|
|
22
|
-
}
|
|
23
|
-
remove(e) {
|
|
24
|
-
e.preventDefault();
|
|
25
|
-
e.stopPropagation();
|
|
26
|
-
this.flavorRemove.emit();
|
|
27
|
-
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FlavorChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FlavorChipComponent, isStandalone: true, selector: "yuv-flavor-chip", inputs: { flavor: { classPropertyName: "flavor", publicName: "flavor", isSignal: true, isRequired: true, transformFunction: null }, enableRemove: { classPropertyName: "enableRemove", publicName: "enableRemove", isSignal: true, isRequired: false, transformFunction: null }, enableDescription: { classPropertyName: "enableDescription", publicName: "enableDescription", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { flavorRemove: "flavorRemove" }, ngImport: i0, template: "@if (flavor().icon) {\n <yvc-icon [svg]=\"flavor().icon!\"></yvc-icon>\n}\n@let lb = labels();\n<div>\n {{ lb.name }}\n @if (enableDescription()) {\n <span class=\"description\">{{ lb.description }}</span>\n }\n</div>\n@if (enableRemove()) {\n <button class=\"icon\" (click)=\"remove($event)\">\n <yvc-icon [svg]=\"clearIcon\"></yvc-icon>\n </button>\n}\n", styles: [":host{--_flavor-chip-icon-size: var(--flavor-chip-icon-size, 18px);display:flex;gap:.25em;padding:.25em .5em;align-items:center}:host yvc-icon{--icon-size: var(--_flavor-chip-icon-size);flex:0 0 auto;color:var(--text-color-caption)}:host>div{line-height:1em;display:block;white-space:nowrap}:host>div .description{display:block;margin-block-start:.5em;font-size:var(--font-caption);color:var(--text-color-caption);white-space:normal;max-width:42ch;line-height:1.3em}:host button{padding:0}:host button yvc-icon{--icon-size: var(--font-body)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i1.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: TranslateModule }] }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FlavorChipComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{ selector: 'yuv-flavor-chip', standalone: true, imports: [CommonModule, YvcIconModule, TranslateModule], template: "@if (flavor().icon) {\n <yvc-icon [svg]=\"flavor().icon!\"></yvc-icon>\n}\n@let lb = labels();\n<div>\n {{ lb.name }}\n @if (enableDescription()) {\n <span class=\"description\">{{ lb.description }}</span>\n }\n</div>\n@if (enableRemove()) {\n <button class=\"icon\" (click)=\"remove($event)\">\n <yvc-icon [svg]=\"clearIcon\"></yvc-icon>\n </button>\n}\n", styles: [":host{--_flavor-chip-icon-size: var(--flavor-chip-icon-size, 18px);display:flex;gap:.25em;padding:.25em .5em;align-items:center}:host yvc-icon{--icon-size: var(--_flavor-chip-icon-size);flex:0 0 auto;color:var(--text-color-caption)}:host>div{line-height:1em;display:block;white-space:nowrap}:host>div .description{display:block;margin-block-start:.5em;font-size:var(--font-caption);color:var(--text-color-caption);white-space:normal;max-width:42ch;line-height:1.3em}:host button{padding:0}:host button yvc-icon{--icon-size: var(--font-body)}\n"] }]
|
|
34
|
-
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yL3NyYy9saWIvZmxhdm9yLWNoaXAvZmxhdm9yLWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yL3NyYy9saWIvZmxhdm9yLWNoaXAvZmxhdm9yLWNoaXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFTL0QsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVFVLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU3QyxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZ0IsQ0FBQztRQUN4QyxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsT0FBTztnQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUMvRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxpQkFBWSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQ2hDLHNCQUFpQixHQUFHLEtBQUssRUFBVyxDQUFDO1FBRXJDLGlCQUFZLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFFeEIsY0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7S0FPekI7SUFMQyxNQUFNLENBQUMsQ0FBNkI7UUFDbEMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBdEJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHFpQkNiaEMsaVhBZUEsd2xCRE5ZLFlBQVksOEJBQUUsYUFBYSw4SEFBRSxlQUFlOzs0RkFJM0MsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBPYmplY3RGbGF2b3IgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1zaGVsbC1jb3JlJztcbmltcG9ydCB7IElDT05TLCBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtZmxhdm9yLWNoaXAnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBZdmNJY29uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZmxhdm9yLWNoaXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZmxhdm9yLWNoaXAuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEZsYXZvckNoaXBDb21wb25lbnQge1xuICBwcml2YXRlIHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBmbGF2b3IgPSBpbnB1dC5yZXF1aXJlZDxPYmplY3RGbGF2b3I+KCk7XG4gIGxhYmVscyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBmbGF2b3IgPSB0aGlzLmZsYXZvcigpO1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGZsYXZvci5pZCksXG4gICAgICBkZXNjcmlwdGlvbjogZmxhdm9yLmRlc2NyaXB0aW9uS2V5ID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChmbGF2b3IuZGVzY3JpcHRpb25LZXkpIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgfSk7XG4gIGVuYWJsZVJlbW92ZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGVuYWJsZURlc2NyaXB0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICBmbGF2b3JSZW1vdmUgPSBvdXRwdXQoKTtcblxuICBjbGVhckljb24gPSBJQ09OUy5jbGVhcjtcblxuICByZW1vdmUoZTogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmZsYXZvclJlbW92ZS5lbWl0KCk7XG4gIH1cbn1cbiIsIkBpZiAoZmxhdm9yKCkuaWNvbikge1xuICA8eXZjLWljb24gW3N2Z109XCJmbGF2b3IoKS5pY29uIVwiPjwveXZjLWljb24+XG59XG5AbGV0IGxiID0gbGFiZWxzKCk7XG48ZGl2PlxuICB7eyBsYi5uYW1lIH19XG4gIEBpZiAoZW5hYmxlRGVzY3JpcHRpb24oKSkge1xuICAgIDxzcGFuIGNsYXNzPVwiZGVzY3JpcHRpb25cIj57eyBsYi5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgfVxuPC9kaXY+XG5AaWYgKGVuYWJsZVJlbW92ZSgpKSB7XG4gIDxidXR0b24gY2xhc3M9XCJpY29uXCIgKGNsaWNrKT1cInJlbW92ZSgkZXZlbnQpXCI+XG4gICAgPHl2Yy1pY29uIFtzdmddPVwiY2xlYXJJY29uXCI+PC95dmMtaWNvbj5cbiAgPC9idXR0b24+XG59XG4iXX0=
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, effect, HostAttributeToken, inject, input, output, signal, untracked, viewChild } from '@angular/core';
|
|
3
|
-
import { TranslateModule } from '@yuuvis/client-core';
|
|
4
|
-
import { YUV_ICONS } from '@yuuvis/client-framework/icons';
|
|
5
|
-
import { ListComponent, ListItemDirective } from '@yuuvis/client-framework/list';
|
|
6
|
-
import { ShellService } from '@yuuvis/client-shell-core';
|
|
7
|
-
import { YvcDragScrollModule } from '@yuuvis/components/drag-scroll';
|
|
8
|
-
import { ICONS, YvcIconModule } from '@yuuvis/components/icon';
|
|
9
|
-
import { YvcOverlayService } from '@yuuvis/components/overlay';
|
|
10
|
-
import { FlavorChipComponent } from '../flavor-chip/flavor-chip.component';
|
|
11
|
-
import { ObjectFlavorPickerComponent } from '../object-flavor-picker/object-flavor-picker.component';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@yuuvis/components/drag-scroll";
|
|
14
|
-
import * as i2 from "@yuuvis/components/icon";
|
|
15
|
-
import * as i3 from "@yuuvis/client-core";
|
|
16
|
-
export class ObjectFlavorComponent {
|
|
17
|
-
constructor() {
|
|
18
|
-
this.#overlay = inject(YvcOverlayService);
|
|
19
|
-
this.#shell = inject(ShellService);
|
|
20
|
-
this.list = viewChild(ListComponent);
|
|
21
|
-
this.icons = {
|
|
22
|
-
add: YUV_ICONS.add,
|
|
23
|
-
clear: ICONS.clear
|
|
24
|
-
};
|
|
25
|
-
this.dmsObject = input.required();
|
|
26
|
-
this.#dmsObjectEffect = effect(() => {
|
|
27
|
-
const o = this.dmsObject();
|
|
28
|
-
if (o)
|
|
29
|
-
untracked(() => this.#getAppliedFlavors(o));
|
|
30
|
-
});
|
|
31
|
-
this.flavorClick = output();
|
|
32
|
-
this.appliedFlavors = [];
|
|
33
|
-
this.applicableFlavors = [];
|
|
34
|
-
this.hidden = signal(false);
|
|
35
|
-
this.busy = signal(false);
|
|
36
|
-
this.selectedIndex = signal(-1);
|
|
37
|
-
this.disableSelection = (inject(new HostAttributeToken('disableSelection'), { optional: true }) || 'false') === 'true';
|
|
38
|
-
}
|
|
39
|
-
#overlay;
|
|
40
|
-
#shell;
|
|
41
|
-
#dmsObjectEffect;
|
|
42
|
-
clearSelection() {
|
|
43
|
-
const listCmp = this.list();
|
|
44
|
-
if (listCmp)
|
|
45
|
-
listCmp.clear();
|
|
46
|
-
this.selectedIndex.set(-1);
|
|
47
|
-
}
|
|
48
|
-
onItemsSelect(idx) {
|
|
49
|
-
this.selectedIndex.set(idx[0]);
|
|
50
|
-
this.flavorClick.emit(this.appliedFlavors[idx[0]]);
|
|
51
|
-
}
|
|
52
|
-
startApplyFlavor() {
|
|
53
|
-
this.#overlay.open(ObjectFlavorPickerComponent, {
|
|
54
|
-
applicableFlavors: this.applicableFlavors,
|
|
55
|
-
dmsObject: structuredClone(this.dmsObject())
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
removeFlavor(flavor, index) {
|
|
59
|
-
const o = this.dmsObject();
|
|
60
|
-
if (o) {
|
|
61
|
-
this.busy.set(true);
|
|
62
|
-
this.#shell.removeObjectFlavor(o, flavor).subscribe({
|
|
63
|
-
next: () => {
|
|
64
|
-
if (index === this.selectedIndex() || !this.appliedFlavors.length)
|
|
65
|
-
this.clearSelection();
|
|
66
|
-
this.busy.set(false);
|
|
67
|
-
},
|
|
68
|
-
error: () => {
|
|
69
|
-
// TODO: error handling
|
|
70
|
-
this.busy.set(false);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
#getAppliedFlavors(dmsObject) {
|
|
76
|
-
const res = this.#shell.getAppliedObjectFlavors(dmsObject);
|
|
77
|
-
this.appliedFlavors = res.applied;
|
|
78
|
-
this.applicableFlavors = res.applicable;
|
|
79
|
-
this.hidden.set(this.applicableFlavors.length === 0 && this.appliedFlavors.length === 0);
|
|
80
|
-
}
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFlavorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectFlavorComponent, isStandalone: true, selector: "yuv-object-flavor", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { flavorClick: "flavorClick" }, host: { properties: { "attr.aria-hidden": "hidden()", "class.busy": "busy()", "class.selection": "selectedIndex() > -1", "class.selectionDisabled": "disableSelection" } }, viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<span class=\"label\">{{ 'yuv.object-flavor.label' | translate }}</span>\n\n@if (applicableFlavors.length) {\n <button class=\"add secondary\" title=\"{{ 'yuv.object-flavor.button.add' | translate }}\" (click)=\"startApplyFlavor()\">\n <yvc-icon [svg]=\"icons.add\"></yvc-icon>\n </button>\n}\n@if (appliedFlavors.length) {\n <yuv-list horizontal=\"true\" [disableSelection]=\"disableSelection\" (itemSelect)=\"onItemsSelect($event)\" yvcDragScroll>\n @for (f of appliedFlavors; track $index) {\n <yuv-flavor-chip yuvListItem [flavor]=\"f\" [enableRemove]=\"true\" (flavorRemove)=\"removeFlavor(f, $index)\"></yuv-flavor-chip>\n }\n </yuv-list>\n}\n<button class=\"clear\" title=\"{{ 'yuv.object-flavor.button.clear-selection' | translate }}\" (click)=\"clearSelection()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n</button>\n\n@if (busy()) {\n <div class=\"yuv-loader-linear\"></div>\n}\n", styles: [":host{position:relative;display:flex;transition:opacity .1s ease-in-out}:host.selection yuv-list{border-inline-end:1px solid var(--panel-divider-color)}:host.selection button.clear{display:flex}:host .yuv-loader-linear{position:absolute;height:1px;inset-block-start:0}:host.busy{pointer-events:none;opacity:.5}:host[aria-hidden=true]{display:none}:host span.label{margin-inline:.5em;line-height:1em;color:var(--text-color-caption);align-self:center}:host button{flex:0 0 auto;padding:0 .15em;--icon-size: 18px}:host button.add{margin:2px}:host button.clear{--icon-size: var(--font-body);border-radius:0;color:var(--text-color-caption);padding-inline:.5em;display:none}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip{cursor:pointer}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host yuv-list{display:flex;flex:1;overflow-x:auto;--_list-item-border-color: transparent;--_list-item-selected-border-color: transparent;--scrollbar-outer-size: 0px;--scrollbar-inner-size: 0px;border-inline-start:1px solid var(--panel-divider-color)}:host yuv-list yuv-flavor-chip{cursor:default;border-inline-end:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "ngmodule", type: YvcDragScrollModule }, { kind: "directive", type: i1.DragScrollDirective, selector: "[yvcDragScroll]" }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i2.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "selfHandleSelection", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
83
|
-
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFlavorComponent, decorators: [{
|
|
85
|
-
type: Component,
|
|
86
|
-
args: [{ selector: 'yuv-object-flavor', standalone: true, imports: [CommonModule, FlavorChipComponent, YvcDragScrollModule, YvcIconModule, ListItemDirective, ListComponent, TranslateModule], host: {
|
|
87
|
-
'[attr.aria-hidden]': 'hidden()',
|
|
88
|
-
'[class.busy]': 'busy()',
|
|
89
|
-
'[class.selection]': 'selectedIndex() > -1',
|
|
90
|
-
'[class.selectionDisabled]': 'disableSelection'
|
|
91
|
-
}, template: "<span class=\"label\">{{ 'yuv.object-flavor.label' | translate }}</span>\n\n@if (applicableFlavors.length) {\n <button class=\"add secondary\" title=\"{{ 'yuv.object-flavor.button.add' | translate }}\" (click)=\"startApplyFlavor()\">\n <yvc-icon [svg]=\"icons.add\"></yvc-icon>\n </button>\n}\n@if (appliedFlavors.length) {\n <yuv-list horizontal=\"true\" [disableSelection]=\"disableSelection\" (itemSelect)=\"onItemsSelect($event)\" yvcDragScroll>\n @for (f of appliedFlavors; track $index) {\n <yuv-flavor-chip yuvListItem [flavor]=\"f\" [enableRemove]=\"true\" (flavorRemove)=\"removeFlavor(f, $index)\"></yuv-flavor-chip>\n }\n </yuv-list>\n}\n<button class=\"clear\" title=\"{{ 'yuv.object-flavor.button.clear-selection' | translate }}\" (click)=\"clearSelection()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n</button>\n\n@if (busy()) {\n <div class=\"yuv-loader-linear\"></div>\n}\n", styles: [":host{position:relative;display:flex;transition:opacity .1s ease-in-out}:host.selection yuv-list{border-inline-end:1px solid var(--panel-divider-color)}:host.selection button.clear{display:flex}:host .yuv-loader-linear{position:absolute;height:1px;inset-block-start:0}:host.busy{pointer-events:none;opacity:.5}:host[aria-hidden=true]{display:none}:host span.label{margin-inline:.5em;line-height:1em;color:var(--text-color-caption);align-self:center}:host button{flex:0 0 auto;padding:0 .15em;--icon-size: 18px}:host button.add{margin:2px}:host button.clear{--icon-size: var(--font-body);border-radius:0;color:var(--text-color-caption);padding-inline:.5em;display:none}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip{cursor:pointer}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host yuv-list{display:flex;flex:1;overflow-x:auto;--_list-item-border-color: transparent;--_list-item-selected-border-color: transparent;--scrollbar-outer-size: 0px;--scrollbar-inner-size: 0px;border-inline-start:1px solid var(--panel-divider-color)}:host yuv-list yuv-flavor-chip{cursor:default;border-inline-end:1px solid var(--panel-divider-color)}\n"] }]
|
|
92
|
-
}] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZsYXZvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1mbGF2b3Ivc3JjL2xpYi9vYmplY3QtZmxhdm9yL29iamVjdC1mbGF2b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yL3NyYy9saWIvb2JqZWN0LWZsYXZvci9vYmplY3QtZmxhdm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRixPQUFPLEVBQWdCLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixF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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBIb3N0QXR0cmlidXRlVG9rZW4sIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsLCB1bnRyYWNrZWQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG1zT2JqZWN0LCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFlVVl9JQ09OUyB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9pY29ucyc7XG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50LCBMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9saXN0JztcbmltcG9ydCB7IE9iamVjdEZsYXZvciwgU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG5pbXBvcnQgeyBZdmNEcmFnU2Nyb2xsTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2RyYWctc2Nyb2xsJztcbmltcG9ydCB7IElDT05TLCBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgWXZjT3ZlcmxheVNlcnZpY2UgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvb3ZlcmxheSc7XG5pbXBvcnQgeyBGbGF2b3JDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vZmxhdm9yLWNoaXAvZmxhdm9yLWNoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IE9iamVjdEZsYXZvclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL29iamVjdC1mbGF2b3ItcGlja2VyL29iamVjdC1mbGF2b3ItcGlja2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1vYmplY3QtZmxhdm9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRmxhdm9yQ2hpcENvbXBvbmVudCwgWXZjRHJhZ1Njcm9sbE1vZHVsZSwgWXZjSWNvbk1vZHVsZSwgTGlzdEl0ZW1EaXJlY3RpdmUsIExpc3RDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtZmxhdm9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29iamVjdC1mbGF2b3IuY29tcG9uZW50LnNjc3MnLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmFyaWEtaGlkZGVuXSc6ICdoaWRkZW4oKScsXG4gICAgJ1tjbGFzcy5idXN5XSc6ICdidXN5KCknLFxuICAgICdbY2xhc3Muc2VsZWN0aW9uXSc6ICdzZWxlY3RlZEluZGV4KCkgPiAtMScsXG4gICAgJ1tjbGFzcy5zZWxlY3Rpb25EaXNhYmxlZF0nOiAnZGlzYWJsZVNlbGVjdGlvbidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RGbGF2b3JDb21wb25lbnQge1xuICAjb3ZlcmxheSA9IGluamVjdChZdmNPdmVybGF5U2VydmljZSk7XG4gICNzaGVsbCA9IGluamVjdChTaGVsbFNlcnZpY2UpO1xuXG4gIGxpc3QgPSB2aWV3Q2hpbGQoTGlzdENvbXBvbmVudCk7XG5cbiAgaWNvbnMgPSB7XG4gICAgYWRkOiBZVVZfSUNPTlMuYWRkLFxuICAgIGNsZWFyOiBJQ09OUy5jbGVhclxuICB9O1xuXG4gIGRtc09iamVjdCA9IGlucHV0LnJlcXVpcmVkPERtc09iamVjdD4oKTtcbiAgI2Rtc09iamVjdEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbyA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKG8pIHVudHJhY2tlZCgoKSA9PiB0aGlzLiNnZXRBcHBsaWVkRmxhdm9ycyhvKSk7XG4gIH0pO1xuXG4gIGZsYXZvckNsaWNrID0gb3V0cHV0PE9iamVjdEZsYXZvcj4oKTtcblxuICBhcHBsaWVkRmxhdm9yczogT2JqZWN0Rmxhdm9yW10gPSBbXTtcbiAgYXBwbGljYWJsZUZsYXZvcnM6IE9iamVjdEZsYXZvcltdID0gW107XG5cbiAgaGlkZGVuID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgYnVzeSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgc2VsZWN0ZWRJbmRleCA9IHNpZ25hbDxudW1iZXI+KC0xKTtcblxuICBkaXNhYmxlU2VsZWN0aW9uOiBib29sZWFuID0gKGluamVjdChuZXcgSG9zdEF0dHJpYnV0ZVRva2VuKCdkaXNhYmxlU2VsZWN0aW9uJyksIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgJ2ZhbHNlJykgPT09ICd0cnVlJztcblxuICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICBjb25zdCBsaXN0Q21wID0gdGhpcy5saXN0KCk7XG4gICAgaWYgKGxpc3RDbXApIGxpc3RDbXAuY2xlYXIoKTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXguc2V0KC0xKTtcbiAgfVxuXG4gIG9uSXRlbXNTZWxlY3QoaWR4OiBudW1iZXJbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleC5zZXQoaWR4WzBdKTtcbiAgICB0aGlzLmZsYXZvckNsaWNrLmVtaXQodGhpcy5hcHBsaWVkRmxhdm9yc1tpZHhbMF1dKTtcbiAgfVxuXG4gIHN0YXJ0QXBwbHlGbGF2b3IoKSB7XG4gICAgdGhpcy4jb3ZlcmxheS5vcGVuKE9iamVjdEZsYXZvclBpY2tlckNvbXBvbmVudCwge1xuICAgICAgYXBwbGljYWJsZUZsYXZvcnM6IHRoaXMuYXBwbGljYWJsZUZsYXZvcnMsXG4gICAgICBkbXNPYmplY3Q6IHN0cnVjdHVyZWRDbG9uZSh0aGlzLmRtc09iamVjdCgpKVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlRmxhdm9yKGZsYXZvcjogT2JqZWN0Rmxhdm9yLCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgbyA9IHRoaXMuZG1zT2JqZWN0KCk7XG4gICAgaWYgKG8pIHtcbiAgICAgIHRoaXMuYnVzeS5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLiNzaGVsbC5yZW1vdmVPYmplY3RGbGF2b3IobywgZmxhdm9yKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW5kZXgoKSB8fCAhdGhpcy5hcHBsaWVkRmxhdm9ycy5sZW5ndGgpIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICB0aGlzLmJ1c3kuc2V0KGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAvLyBUT0RPOiBlcnJvciBoYW5kbGluZ1xuICAgICAgICAgIHRoaXMuYnVzeS5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjZ2V0QXBwbGllZEZsYXZvcnMoZG1zT2JqZWN0OiBEbXNPYmplY3QpIHtcbiAgICBjb25zdCByZXMgPSB0aGlzLiNzaGVsbC5nZXRBcHBsaWVkT2JqZWN0Rmxhdm9ycyhkbXNPYmplY3QpO1xuICAgIHRoaXMuYXBwbGllZEZsYXZvcnMgPSByZXMuYXBwbGllZDtcbiAgICB0aGlzLmFwcGxpY2FibGVGbGF2b3JzID0gcmVzLmFwcGxpY2FibGU7XG4gICAgdGhpcy5oaWRkZW4uc2V0KHRoaXMuYXBwbGljYWJsZUZsYXZvcnMubGVuZ3RoID09PSAwICYmIHRoaXMuYXBwbGllZEZsYXZvcnMubGVuZ3RoID09PSAwKTtcbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJsYWJlbFwiPnt7ICd5dXYub2JqZWN0LWZsYXZvci5sYWJlbCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG5cbkBpZiAoYXBwbGljYWJsZUZsYXZvcnMubGVuZ3RoKSB7XG4gIDxidXR0b24gY2xhc3M9XCJhZGQgc2Vjb25kYXJ5XCIgdGl0bGU9XCJ7eyAneXV2Lm9iamVjdC1mbGF2b3IuYnV0dG9uLmFkZCcgfCB0cmFuc2xhdGUgfX1cIiAoY2xpY2spPVwic3RhcnRBcHBseUZsYXZvcigpXCI+XG4gICAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuYWRkXCI+PC95dmMtaWNvbj5cbiAgPC9idXR0b24+XG59XG5AaWYgKGFwcGxpZWRGbGF2b3JzLmxlbmd0aCkge1xuICA8eXV2LWxpc3QgaG9yaXpvbnRhbD1cInRydWVcIiBbZGlzYWJsZVNlbGVjdGlvbl09XCJkaXNhYmxlU2VsZWN0aW9uXCIgKGl0ZW1TZWxlY3QpPVwib25JdGVtc1NlbGVjdCgkZXZlbnQpXCIgeXZjRHJhZ1Njcm9sbD5cbiAgICBAZm9yIChmIG9mIGFwcGxpZWRGbGF2b3JzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDx5dXYtZmxhdm9yLWNoaXAgeXV2TGlzdEl0ZW0gW2ZsYXZvcl09XCJmXCIgW2VuYWJsZVJlbW92ZV09XCJ0cnVlXCIgKGZsYXZvclJlbW92ZSk9XCJyZW1vdmVGbGF2b3IoZiwgJGluZGV4KVwiPjwveXV2LWZsYXZvci1jaGlwPlxuICAgIH1cbiAgPC95dXYtbGlzdD5cbn1cbjxidXR0b24gY2xhc3M9XCJjbGVhclwiIHRpdGxlPVwie3sgJ3l1di5vYmplY3QtZmxhdm9yLmJ1dHRvbi5jbGVhci1zZWxlY3Rpb24nIHwgdHJhbnNsYXRlIH19XCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIj5cbiAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuY2xlYXJcIj48L3l2Yy1pY29uPlxuPC9idXR0b24+XG5cbkBpZiAoYnVzeSgpKSB7XG4gIDxkaXYgY2xhc3M9XCJ5dXYtbG9hZGVyLWxpbmVhclwiPjwvZGl2PlxufVxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, inject } from '@angular/core';
|
|
3
|
-
import { TranslateModule } from '@yuuvis/client-core';
|
|
4
|
-
import { ListComponent, ListItemDirective } from '@yuuvis/client-framework/list';
|
|
5
|
-
import { ShellService } from '@yuuvis/client-shell-core';
|
|
6
|
-
import { YvcOverlayRef } from '@yuuvis/components/overlay';
|
|
7
|
-
import { FlavorChipComponent } from '../flavor-chip/flavor-chip.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@yuuvis/client-core";
|
|
10
|
-
export class ObjectFlavorPickerComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.#oRef = inject(YvcOverlayRef);
|
|
13
|
-
this.#shell = inject(ShellService);
|
|
14
|
-
this.applicableFlavors = this.#oRef.data.applicableFlavors;
|
|
15
|
-
this.#dmsObject = this.#oRef.data.dmsObject;
|
|
16
|
-
}
|
|
17
|
-
#oRef;
|
|
18
|
-
#shell;
|
|
19
|
-
#dmsObject;
|
|
20
|
-
itemSelected(idx) {
|
|
21
|
-
const flavor = this.applicableFlavors[idx[0]];
|
|
22
|
-
if (this.#dmsObject && flavor)
|
|
23
|
-
this.#shell.triggerApplyObjectFlavor(this.#dmsObject, flavor).subscribe({
|
|
24
|
-
next: () => {
|
|
25
|
-
if (this.#oRef)
|
|
26
|
-
this.#oRef.close();
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
cancel() {
|
|
31
|
-
if (this.#oRef)
|
|
32
|
-
this.#oRef.close();
|
|
33
|
-
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFlavorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectFlavorPickerComponent, isStandalone: true, selector: "yuv-object-flavor-picker", host: { properties: { "class.cmp": "!!applyComponent" } }, ngImport: i0, template: "\n <header>\n <h2>{{ 'yuv.object-flavor.picker.title' | translate }}</h2>\n <p>{{ 'yuv.object-flavor.picker.text' | translate }}</p>\n </header>\n <main>\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (f of applicableFlavors; track $index) {\n <yuv-flavor-chip [flavor]=\"f\" [enableDescription]=\"true\" yuvListItem></yuv-flavor-chip>\n }\n </yuv-list>\n </main>\n <footer>\n <button class=\"secondary\" (click)=\"cancel()\">{{ 'yuv.object-flavor.picker.button.cancel' | translate }}</button>\n </footer>\n", styles: [":host{display:block;height:100%;box-sizing:border-box}:host:not(.cmp){padding:var(--app-pane-padding)}:host:not(.cmp) header h2{padding:0;font-weight:400;font-size:var(--font-headline);margin:0 0 var(--app-pane-padding) 0}:host:not(.cmp) header p{max-width:42ch;line-height:1.3em}:host:not(.cmp) main{overflow-y:auto}:host:not(.cmp) main yuv-flavor-chip{--_flavor-chip-icon-size: 24px;margin-block-end:2px;gap:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host:not(.cmp) main yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host:not(.cmp) footer{display:flex;justify-content:start;gap:var(--app-pane-padding);margin-block-start:var(--app-pane-padding)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "selfHandleSelection", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }] }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFlavorPickerComponent, decorators: [{
|
|
38
|
-
type: Component,
|
|
39
|
-
args: [{ selector: 'yuv-object-flavor-picker', standalone: true, imports: [CommonModule, ListComponent, FlavorChipComponent, TranslateModule, ListItemDirective], host: {
|
|
40
|
-
'[class.cmp]': '!!applyComponent'
|
|
41
|
-
}, template: "\n <header>\n <h2>{{ 'yuv.object-flavor.picker.title' | translate }}</h2>\n <p>{{ 'yuv.object-flavor.picker.text' | translate }}</p>\n </header>\n <main>\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (f of applicableFlavors; track $index) {\n <yuv-flavor-chip [flavor]=\"f\" [enableDescription]=\"true\" yuvListItem></yuv-flavor-chip>\n }\n </yuv-list>\n </main>\n <footer>\n <button class=\"secondary\" (click)=\"cancel()\">{{ 'yuv.object-flavor.picker.button.cancel' | translate }}</button>\n </footer>\n", styles: [":host{display:block;height:100%;box-sizing:border-box}:host:not(.cmp){padding:var(--app-pane-padding)}:host:not(.cmp) header h2{padding:0;font-weight:400;font-size:var(--font-headline);margin:0 0 var(--app-pane-padding) 0}:host:not(.cmp) header p{max-width:42ch;line-height:1.3em}:host:not(.cmp) main{overflow-y:auto}:host:not(.cmp) main yuv-flavor-chip{--_flavor-chip-icon-size: 24px;margin-block-end:2px;gap:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host:not(.cmp) main yuv-flavor-chip:hover{background-color:var(--item-focus-background-color)}:host:not(.cmp) footer{display:flex;justify-content:start;gap:var(--app-pane-padding);margin-block-start:var(--app-pane-padding)}\n"] }]
|
|
42
|
-
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yL3NyYy9saWIvb2JqZWN0LWZsYXZvci1waWNrZXIvb2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9vYmplY3QtZmxhdm9yL3NyYy9saWIvb2JqZWN0LWZsYXZvci1waWNrZXIvb2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakYsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQVkzRSxNQUFNLE9BQU8sMkJBQTJCO0lBVnhDO1FBV0UsVUFBSyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QixXQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTlCLHNCQUFpQixHQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUN0RSxlQUFVLEdBQWMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0tBY25EO0lBbEJDLEtBQUssQ0FBeUI7SUFDOUIsTUFBTSxDQUF3QjtJQUc5QixVQUFVLENBQXdDO0lBRWxELFlBQVksQ0FBQyxHQUFhO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTTtZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3JHLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSzt3QkFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNyQyxDQUFDO2FBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDOytHQWxCVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwrSUNsQnhDLDhpQkFlQSw4eEJESlksWUFBWSwrQkFBRSxhQUFhLCtKQUFFLG1CQUFtQiwrSUFBRSxlQUFlLDRGQUFFLGlCQUFpQjs7NEZBT25GLDJCQUEyQjtrQkFWdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsUUFHekY7d0JBQ0osYUFBYSxFQUFFLGtCQUFrQjtxQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERtc09iamVjdCwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50LCBMaXN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9saXN0JztcbmltcG9ydCB7IE9iamVjdEZsYXZvciwgU2hlbGxTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG5pbXBvcnQgeyBZdmNPdmVybGF5UmVmIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL292ZXJsYXknO1xuaW1wb3J0IHsgRmxhdm9yQ2hpcENvbXBvbmVudCB9IGZyb20gJy4uL2ZsYXZvci1jaGlwL2ZsYXZvci1jaGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1vYmplY3QtZmxhdm9yLXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIExpc3RDb21wb25lbnQsIEZsYXZvckNoaXBDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZSwgTGlzdEl0ZW1EaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vb2JqZWN0LWZsYXZvci1waWNrZXIuY29tcG9uZW50LnNjc3MnLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5jbXBdJzogJyEhYXBwbHlDb21wb25lbnQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0Rmxhdm9yUGlja2VyQ29tcG9uZW50IHtcbiAgI29SZWYgPSBpbmplY3QoWXZjT3ZlcmxheVJlZik7XG4gICNzaGVsbCA9IGluamVjdChTaGVsbFNlcnZpY2UpO1xuXG4gIGFwcGxpY2FibGVGbGF2b3JzOiBPYmplY3RGbGF2b3JbXSA9IHRoaXMuI29SZWYuZGF0YS5hcHBsaWNhYmxlRmxhdm9ycztcbiAgI2Rtc09iamVjdDogRG1zT2JqZWN0ID0gdGhpcy4jb1JlZi5kYXRhLmRtc09iamVjdDtcblxuICBpdGVtU2VsZWN0ZWQoaWR4OiBudW1iZXJbXSkge1xuICAgIGNvbnN0IGZsYXZvciA9IHRoaXMuYXBwbGljYWJsZUZsYXZvcnNbaWR4WzBdXTtcbiAgICBpZiAodGhpcy4jZG1zT2JqZWN0ICYmIGZsYXZvcikgdGhpcy4jc2hlbGwudHJpZ2dlckFwcGx5T2JqZWN0Rmxhdm9yKHRoaXMuI2Rtc09iamVjdCwgZmxhdm9yKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy4jb1JlZikgdGhpcy4jb1JlZi5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIGlmICh0aGlzLiNvUmVmKSB0aGlzLiNvUmVmLmNsb3NlKCk7XG4gIH1cbn1cbiIsIlxuICA8aGVhZGVyPlxuICAgIDxoMj57eyAneXV2Lm9iamVjdC1mbGF2b3IucGlja2VyLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgPHA+e3sgJ3l1di5vYmplY3QtZmxhdm9yLnBpY2tlci50ZXh0JyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgPC9oZWFkZXI+XG4gIDxtYWluPlxuICAgIDx5dXYtbGlzdCAoaXRlbVNlbGVjdCk9XCJpdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgQGZvciAoZiBvZiBhcHBsaWNhYmxlRmxhdm9yczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDx5dXYtZmxhdm9yLWNoaXAgW2ZsYXZvcl09XCJmXCIgW2VuYWJsZURlc2NyaXB0aW9uXT1cInRydWVcIiB5dXZMaXN0SXRlbT48L3l1di1mbGF2b3ItY2hpcD5cbiAgICAgIH1cbiAgICA8L3l1di1saXN0PlxuICA8L21haW4+XG4gIDxmb290ZXI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiPnt7ICd5dXYub2JqZWN0LWZsYXZvci5waWNrZXIuYnV0dG9uLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgPC9mb290ZXI+XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWNsaWVudC1mcmFtZXdvcmstb2JqZWN0LWZsYXZvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWZsYXZvci9zcmMveXV1dmlzLWNsaWVudC1mcmFtZXdvcmstb2JqZWN0LWZsYXZvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './lib/object-form.component';
|
|
2
|
-
export * from './lib/object-form-extension.interface';
|
|
3
|
-
export * from './lib/object-form.interface';
|
|
4
|
-
export * from './lib/object-form-translate.service';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1mb3JtL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvb2JqZWN0LWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL29iamVjdC1mb3JtLWV4dGVuc2lvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb2JqZWN0LWZvcm0uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL29iamVjdC1mb3JtLXRyYW5zbGF0ZS5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zY3JpcHRpbmcuYXBpLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWZvcm0vc3JjL2xpYi9mb3JtLXNjcmlwdGluZy5hcGkuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwT3B0aW9ucywgWXV2RXZlbnQsIFl1dlVzZXIgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9iamVjdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL29iamVjdC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYmplY3RGb3JtTW9kZWxDaGFuZ2UgfSBmcm9tICcuL29iamVjdC1mb3JtLmludGVyZmFjZSc7XG5cbi8qKlxuICogUHJvdmlkaW5nIGEgcGx1Z2luIHNlcnZpY2UgYW5kIGluamVjdGVkIGludG8gZm9ybSBzY3JpcHRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVNjcmlwdGluZ0FQSSB7XG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIG5ldyBmb3JtIHNjcmlwdGluZyBlbGVtZW50IGV4dGVuc2lvblxuICAgKi9cbiAgZWxlbWVudEV4dGVuc2lvbnM6IHtcbiAgICByZWdpc3RlcihleHRlbnNpb25zOiBGb3JtU2NyaXB0aW5nRWxlbWVudEV4dGVuc2lvbltdKTogdm9pZDtcbiAgfTtcbiAgLyoqXG4gICAqIExpc3RlbiB0byBhIGNlcnRhaW4gdHlwZSBvZiB5dXV2aXMgZXZlbnQgKHtAbGluayBZdXZFdmVudFR5cGV9KVxuICAgKlxuICAgKi9cbiAgZXZlbnRzOiB7XG4gICAgeXV1dmlzRXZlbnRUeXBlOiBhbnk7XG4gICAgb24odHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxZdXZFdmVudD47XG4gICAgLyoqXG4gICAgICogVHJpZ2dlciBhIGNlcnRhaW4gdHlwZSBvZiB5dXV2aXMgZXZlbnQgKHtAbGluayBZdXZFdmVudFR5cGV9KVxuICAgICAqIEBwYXJhbSB0eXBlIEtleSBvZiB0aGUgZXZlbnQgdG8gYmUgdHJpZ2dlcmVkXG4gICAgICogQHBhcmFtIGRhdGEgU29tZSBkYXRhIHRvIGF0dGFjaCB0byB0aGUgZXZlbnRcbiAgICAgKi9cbiAgICB0cmlnZ2VyKHR5cGU6IHN0cmluZywgZGF0YT86IGFueSk6IHZvaWQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdXNlciB0aGF0IGlzIGN1cnJlbnRseSBsb2dnZWQgaW5cbiAgICovXG4gIHNlc3Npb246IHtcbiAgICBnZXRVc2VyKCk6IFl1dlVzZXI7XG4gICAgdXNlcjoge1xuICAgICAgZ2V0OiAoKSA9PiBZdXZVc2VyO1xuICAgICAgaGFzUm9sZTogKHJvbGU6IHN0cmluZykgPT4gYm9vbGVhbjtcbiAgICB9O1xuICB9O1xuICAvKipcbiAgICogRXhlY3V0ZSBhIHJlcXVlc3RzIGFnYWluc3QgeXV1dmlzIGJhY2tlbmRcbiAgICovXG4gIGh0dHA6IHtcbiAgICAvKipcbiAgICAgKiBFeGVjdXRlIGEgR0VUIHJlcXVlc3QgYWdhaW5zdCB5dXV2aXMgYmFja2VuZFxuICAgICAqIEBwYXJhbSB1cmkgVVJJIHRoZSByZXF1ZXN0IHNob3VsZCBiZSBzZW50IHRvXG4gICAgICogQHBhcmFtIGJhc2UgVVJJIHBhcnQgb2YgdGhlIHNlcnZpY2UgdGhpcyByZXF1ZXN0IGJlbG9uZ3MgdG9cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBhZGRpdGlvbmFsIEh0dHBPcHRpb25zXG4gICAgICovXG4gICAgZ2V0KHVyaTogc3RyaW5nLCBiYXNlPzogc3RyaW5nLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBhbnk7XG4gICAgLyoqXG4gICAgICogRXhlY3V0ZSBhIFBPU1QgcmVxdWVzdCBhZ2FpbnN0IHl1dXZpcyBiYWNrZW5kXG4gICAgICogQHBhcmFtIHVyaSBVUkkgdGhlIHJlcXVlc3Qgc2hvdWxkIGJlIHNlbnQgdG9cbiAgICAgKiBAcGFyYW0gZGF0YSBEYXRhIHRvIGJlIHNlbmQgYWxvbmcgd2l0aCB0aGUgcmVxdWVzdFxuICAgICAqIEBwYXJhbSBiYXNlIFVSSSBwYXJ0IG9mIHRoZSBzZXJ2aWNlIHRoaXMgcmVxdWVzdCBiZWxvbmdzIHRvXG4gICAgICogQHBhcmFtIG9wdGlvbnMgYWRkaXRpb25hbCBIdHRwT3B0aW9uc1xuICAgICAqL1xuICAgIHBvc3QodXJpOiBzdHJpbmcsIGRhdGE6IGFueSwgYmFzZT86IHN0cmluZywgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogYW55O1xuICAgIC8qKlxuICAgICAqIEV4ZWN1dGUgYSBERUxFVEUgcmVxdWVzdCBhZ2FpbnN0IHl1dXZpcyBiYWNrZW5kXG4gICAgICogQHBhcmFtIHVyaSBVUkkgdGhlIHJlcXVlc3Qgc2hvdWxkIGJlIHNlbnQgdG9cbiAgICAgKiBAcGFyYW0gYmFzZSBVUkkgcGFydCBvZiB0aGUgc2VydmljZSB0aGlzIHJlcXVlc3QgYmVsb25ncyB0b1xuICAgICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgSHR0cE9wdGlvbnNcbiAgICAgKi9cbiAgICBkZWwodXJpOiBzdHJpbmcsIGJhc2U/OiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IGFueTtcbiAgICAvKipcbiAgICAgKiBFeGVjdXRlIGEgUFVUIHJlcXVlc3QgYWdhaW5zdCB5dXV2aXMgYmFja2VuZFxuICAgICAqIEBwYXJhbSB1cmkgVVJJIHRoZSByZXF1ZXN0IHNob3VsZCBiZSBzZW50IHRvXG4gICAgICogQHBhcmFtIGRhdGEgRGF0YSB0byBiZSBzZW5kIGFsb25nIHdpdGggdGhlIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gYmFzZSBVUkkgcGFydCBvZiB0aGUgc2VydmljZSB0aGlzIHJlcXVlc3QgYmVsb25ncyB0b1xuICAgICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgSHR0cE9wdGlvbnNcbiAgICAgKi9cbiAgICBwdXQodXJpOiBzdHJpbmcsIGRhdGE6IGFueSwgYmFzZT86IHN0cmluZywgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogYW55O1xuICB9O1xuICAvKipcbiAgICogVXRpbGl0aWVzXG4gICAqL1xuICBmb3JtOiB7XG4gICAgYWN0aXZlRm9ybXM6IE1hcDxzdHJpbmcsIE9iamVjdEZvcm1Db21wb25lbnQ+O1xuICAgIGdldFZhbHVlKGZvcm1Db250cm9sTmFtZTogc3RyaW5nKTogYW55O1xuICAgIHNldFZhbHVlKGZvcm1Db250cm9sTmFtZTogc3RyaW5nLCBuZXdWYWx1ZTogYW55KTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBFeGVjdXRlIGEgY2hhbmdlIG9mIGZvcm0gbW9kZWxcbiAgICAgKiBAcGFyYW0gZm9ybUNvbnRyb2xOYW1lIGZvcm0gY29udHJvbCB1bmlxdWUgbmFtZSB8IGlkZW50aWZpZXJcbiAgICAgKiBAcGFyYW0gY2hhbmdlIG9iamVjdCB0aGF0IGNvbnRhaW5zIG5hbWUgb2YgcGFyYW1ldGVyIHRoYXQgc2hvdWxkIGJlIGNoYW5nZWQgKCd2YWx1ZScsICdyZXF1aXJlZCcsIC4uLikgYW5kIG5ld1ZhbHVlXG4gICAgICovXG4gICAgbW9kZWxDaGFuZ2UoZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcsIGNoYW5nZTogT2JqZWN0Rm9ybU1vZGVsQ2hhbmdlKTogdm9pZDtcbiAgfTtcbiAgc3RvcmFnZToge1xuICAgIGdldEl0ZW06IChrZXk6IHN0cmluZykgPT4gYW55O1xuICAgIHNldEl0ZW06IChrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24pID0+IGFueTtcbiAgfTtcbiAgbm90aWZpZXI6IHtcbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyIGEgU1VDQ0VTUyBub3RpZmljYXRpb25cbiAgICAgKiBAcGFyYW0gdGV4dCBNZXNzYWdlIHRvIGJlICd0b2FzdGVkJ1xuICAgICAqIEBwYXJhbSB0aXRsZSBUaXRsZVxuICAgICAqL1xuICAgIHN1Y2Nlc3ModGV4dDogc3RyaW5nLCB0aXRsZTogc3RyaW5nKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyIGEgRVJST1Igbm90aWZpY2F0aW9uXG4gICAgICogQHBhcmFtIHRleHQgTWVzc2FnZSB0byBiZSAndG9hc3RlZCdcbiAgICAgKiBAcGFyYW0gdGl0bGUgVGl0bGVcbiAgICAgKi9cbiAgICBlcnJvcih0ZXh0OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIFRyaWdnZXIgYSBJTkZPIG5vdGlmaWNhdGlvblxuICAgICAqIEBwYXJhbSB0ZXh0IE1lc3NhZ2UgdG8gYmUgJ3RvYXN0ZWQnXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdGxlXG4gICAgICovXG4gICAgaW5mbyh0ZXh0OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIFRyaWdnZXIgYSBXQVJOSU5HIG5vdGlmaWNhdGlvblxuICAgICAqIEBwYXJhbSB0ZXh0IE1lc3NhZ2UgdG8gYmUgJ3RvYXN0ZWQnXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdGxlXG4gICAgICovXG4gICAgd2FybmluZyh0ZXh0OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpOiB2b2lkO1xuICB9O1xuICAvKipcbiAgICogVXRpbGl0aWVzXG4gICAqL1xuICB1dGlsOiB7XG4gICAgdHJhbnNsYXRlOiAoa2V5OiBzdHJpbmcsIGRhdGE/OiBhbnkpID0+IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtU2NyaXB0aW5nRWxlbWVudEV4dGVuc2lvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgY2FsbGJhY2s6ICgpID0+IHZvaWQ7XG59XG4iXX0=
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable, NgZone, signal } from '@angular/core';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { ApiBase, AppCacheService, BackendService, DmsObject, DmsService, EventService, NotificationService, Operator, SearchService, SystemService, TranslateService, UserService, Utils, YuvEventType } from '@yuuvis/client-core';
|
|
4
|
-
import { firstValueFrom, map } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class FormScriptingApiService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.#ngZone = inject(NgZone);
|
|
9
|
-
this.#router = inject(Router);
|
|
10
|
-
this.#eventService = inject(EventService);
|
|
11
|
-
this.#userService = inject(UserService);
|
|
12
|
-
this.#dmsService = inject(DmsService);
|
|
13
|
-
this.#systemService = inject(SystemService);
|
|
14
|
-
this.#searchService = inject(SearchService);
|
|
15
|
-
this.#backend = inject(BackendService);
|
|
16
|
-
this.#translate = inject(TranslateService);
|
|
17
|
-
this.#notifications = inject(NotificationService);
|
|
18
|
-
this.#appCache = inject(AppCacheService);
|
|
19
|
-
this.#activeFormComponents = new Map();
|
|
20
|
-
this.elementExtensions = signal({});
|
|
21
|
-
}
|
|
22
|
-
#ngZone;
|
|
23
|
-
#router;
|
|
24
|
-
#eventService;
|
|
25
|
-
#userService;
|
|
26
|
-
#dmsService;
|
|
27
|
-
#systemService;
|
|
28
|
-
#searchService;
|
|
29
|
-
#backend;
|
|
30
|
-
#translate;
|
|
31
|
-
#notifications;
|
|
32
|
-
#appCache;
|
|
33
|
-
static { this.EVENT_MODEL_CHANGED = 'yuv.event.object-form.model.changed'; }
|
|
34
|
-
#activeFormComponents;
|
|
35
|
-
get api() {
|
|
36
|
-
return this.getApi();
|
|
37
|
-
}
|
|
38
|
-
registerActiveForm(component) {
|
|
39
|
-
const id = component.formOptions()?.formModel?.name || component?.id;
|
|
40
|
-
return id && this.#activeFormComponents.set(id, component);
|
|
41
|
-
}
|
|
42
|
-
unregisterActiveForm(component) {
|
|
43
|
-
const id = component.formOptions()?.formModel?.name || component?.id;
|
|
44
|
-
return id && this.#activeFormComponents.delete(id);
|
|
45
|
-
}
|
|
46
|
-
getApi() {
|
|
47
|
-
const formId = this.formId;
|
|
48
|
-
return {
|
|
49
|
-
elementExtensions: {
|
|
50
|
-
register: (extensions) => {
|
|
51
|
-
extensions.forEach((ext) => {
|
|
52
|
-
if (ext.id)
|
|
53
|
-
this.elementExtensions.set({ ...this.elementExtensions(), [ext.id]: ext });
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
events: {
|
|
58
|
-
yuuvisEventType: YuvEventType,
|
|
59
|
-
on: (type) => this.#ngZone.run(() => this.#eventService.on(type)),
|
|
60
|
-
trigger: (type, data) => this.#ngZone.run(() => this.#eventService.trigger(type, data))
|
|
61
|
-
},
|
|
62
|
-
session: {
|
|
63
|
-
getUser: () => this.getCurrentUser(),
|
|
64
|
-
user: {
|
|
65
|
-
get: () => this.getCurrentUser(),
|
|
66
|
-
hasRole: (role) => this.getCurrentUser().authorities?.includes(role) || false
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
http: {
|
|
70
|
-
get: (uri, base, options) => this.get(uri, base, options),
|
|
71
|
-
post: (uri, data, base, options) => this.post(uri, data, base, options),
|
|
72
|
-
del: (uri, base, options) => this.del(uri, base, options),
|
|
73
|
-
put: (uri, data, base, options) => this.put(uri, data, base, options)
|
|
74
|
-
},
|
|
75
|
-
form: {
|
|
76
|
-
activeForms: this.#activeFormComponents,
|
|
77
|
-
getValue: (formControlName) => Array.from(this.#activeFormComponents.values()).reduce((prev, cur) => ({ ...prev, ...(cur.formData || {}) }), {})[formControlName],
|
|
78
|
-
setValue: (formControlName, newValue) => this.api.form.modelChange(formControlName, { name: 'value', newValue }),
|
|
79
|
-
modelChange: (formControlName, change) => this.#ngZone.run(() => this.#eventService.trigger(FormScriptingApiService.EVENT_MODEL_CHANGED, {
|
|
80
|
-
formId,
|
|
81
|
-
formControlName,
|
|
82
|
-
change
|
|
83
|
-
}))
|
|
84
|
-
},
|
|
85
|
-
storage: {
|
|
86
|
-
getItem: (key) => firstValueFrom(this.#appCache.getItem(key)),
|
|
87
|
-
setItem: (key, value) => firstValueFrom(this.#appCache.setItem(key, value))
|
|
88
|
-
},
|
|
89
|
-
notifier: {
|
|
90
|
-
success: (text, title) => this.#notifications.success(title, text),
|
|
91
|
-
error: (text, title) => this.#notifications.error(title, text),
|
|
92
|
-
info: (text, title) => this.#notifications.info(title, text),
|
|
93
|
-
warning: (text, title) => this.#notifications.warning(title, text)
|
|
94
|
-
},
|
|
95
|
-
util: {
|
|
96
|
-
translate: (key, data) => this.#translate.instant(key, data)
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
get(uri, base, options) {
|
|
101
|
-
return firstValueFrom(this.#backend.get(uri, base || ApiBase.none, options || { observe: 'response' }).pipe(map((res) => {
|
|
102
|
-
return options ? res : { status: res.status, data: res.body };
|
|
103
|
-
})));
|
|
104
|
-
}
|
|
105
|
-
put(uri, data, base, options) {
|
|
106
|
-
return firstValueFrom(this.#backend.put(uri, data, base || ApiBase.none, options));
|
|
107
|
-
}
|
|
108
|
-
post(uri, data, base, options) {
|
|
109
|
-
return firstValueFrom(this.#backend.post(uri, data, base || ApiBase.none, options));
|
|
110
|
-
}
|
|
111
|
-
del(uri, base, options) {
|
|
112
|
-
return firstValueFrom(this.#backend.delete(uri, base || ApiBase.none, options));
|
|
113
|
-
}
|
|
114
|
-
getCurrentUser() {
|
|
115
|
-
return this.#userService.getCurrentUser();
|
|
116
|
-
}
|
|
117
|
-
getDmsObject(id, version) {
|
|
118
|
-
return firstValueFrom(this.#dmsService.getDmsObject(id, version))
|
|
119
|
-
.then((response) => {
|
|
120
|
-
return Promise.resolve(response);
|
|
121
|
-
})
|
|
122
|
-
.catch(this.#handleError);
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* fetches dms objects from the server that match the given params
|
|
126
|
-
*
|
|
127
|
-
* @param fields - the fields to match. example: {name: 'max', plz: '47111}
|
|
128
|
-
* @param type - the target object type
|
|
129
|
-
*/
|
|
130
|
-
getResult(fields, type) {
|
|
131
|
-
const searchQuery = {
|
|
132
|
-
filters: Object.keys(fields).map((f) => ({
|
|
133
|
-
f,
|
|
134
|
-
o: Operator.EQUAL,
|
|
135
|
-
v1: fields[f]
|
|
136
|
-
}))
|
|
137
|
-
};
|
|
138
|
-
if (type)
|
|
139
|
-
searchQuery.types = [type];
|
|
140
|
-
return firstValueFrom(this.#searchService.search(searchQuery))
|
|
141
|
-
.then((res) => {
|
|
142
|
-
return Promise.resolve(res.items.map((resItem) => {
|
|
143
|
-
new DmsObject(resItem);
|
|
144
|
-
}));
|
|
145
|
-
})
|
|
146
|
-
.catch(this.#handleError);
|
|
147
|
-
}
|
|
148
|
-
encodeFileName(filename) {
|
|
149
|
-
return Utils.encodeFileName(filename);
|
|
150
|
-
}
|
|
151
|
-
#handleError(error) {
|
|
152
|
-
return Promise.reject(error.message || error);
|
|
153
|
-
}
|
|
154
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormScriptingApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
155
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormScriptingApiService }); }
|
|
156
|
-
}
|
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormScriptingApiService, decorators: [{
|
|
158
|
-
type: Injectable
|
|
159
|
-
}] });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zY3JpcHRpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWZvcm0vc3JjL2xpYi9mb3JtLXNjcmlwdGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDTCxPQUFPLEVBQ1AsZUFBZSxFQUNmLGNBQWMsRUFDZCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFFWixtQkFBbUIsRUFDbkIsUUFBUSxFQUlSLGFBQWEsRUFDYixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxLQUFLLEVBQ0wsWUFBWSxFQUViLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFRSxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsa0JBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckMsaUJBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsbUJBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsbUJBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FB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QWMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDM0QsSUFBSSxDQUFDLENBQUMsR0FBaUIsRUFBRSxFQUFFO1lBQzFCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUF5QixFQUFFLEVBQUU7Z0JBQzFDLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBZ0I7UUFDN0IsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDOytHQS9KVSx1QkFBdUI7bUhBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBcGlCYXNlLFxuICBBcHBDYWNoZVNlcnZpY2UsXG4gIEJhY2tlbmRTZXJ2aWNlLFxuICBEbXNPYmplY3QsXG4gIERtc1NlcnZpY2UsXG4gIEV2ZW50U2VydmljZSxcbiAgSHR0cE9wdGlvbnMsXG4gIE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gIE9wZXJhdG9yLFxuICBTZWFyY2hRdWVyeSxcbiAgU2VhcmNoUmVzdWx0LFxuICBTZWFyY2hSZXN1bHRJdGVtLFxuICBTZWFyY2hTZXJ2aWNlLFxuICBTeXN0ZW1TZXJ2aWNlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBVc2VyU2VydmljZSxcbiAgVXRpbHMsXG4gIFl1dkV2ZW50VHlwZSxcbiAgWXV2VXNlclxufSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1TY3JpcHRpbmdBUEksIEZvcm1TY3JpcHRpbmdFbGVtZW50RXh0ZW5zaW9uIH0gZnJvbSAnLi9mb3JtLXNjcmlwdGluZy5hcGkuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9iamVjdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL29iamVjdC1mb3JtLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtU2NyaXB0aW5nQXBpU2VydmljZSB7XG4gICNuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgI3JvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAjZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEV2ZW50U2VydmljZSk7XG4gICN1c2VyU2VydmljZSA9IGluamVjdChVc2VyU2VydmljZSk7XG4gICNkbXNTZXJ2aWNlID0gaW5qZWN0KERtc1NlcnZpY2UpO1xuICAjc3lzdGVtU2VydmljZSA9IGluamVjdChTeXN0ZW1TZXJ2aWNlKTtcbiAgI3NlYXJjaFNlcnZpY2UgPSBpbmplY3QoU2VhcmNoU2VydmljZSk7XG4gICNiYWNrZW5kID0gaW5qZWN0KEJhY2tlbmRTZXJ2aWNlKTtcbiAgI3RyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgI25vdGlmaWNhdGlvbnMgPSBpbmplY3QoTm90aWZpY2F0aW9uU2VydmljZSk7XG4gICNhcHBDYWNoZSA9IGluamVjdChBcHBDYWNoZVNlcnZpY2UpO1xuXG4gIHN0YXRpYyBFVkVOVF9NT0RFTF9DSEFOR0VEID0gJ3l1di5ldmVudC5vYmplY3QtZm9ybS5tb2RlbC5jaGFuZ2VkJztcbiAgI2FjdGl2ZUZvcm1Db21wb25lbnRzID0gbmV3IE1hcDxzdHJpbmcsIE9iamVjdEZvcm1Db21wb25lbnQ+KCk7XG4gIGVsZW1lbnRFeHRlbnNpb25zID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIEZvcm1TY3JpcHRpbmdFbGVtZW50RXh0ZW5zaW9uPj4oe30pO1xuICBmb3JtSWQ/OiBzdHJpbmc7XG5cbiAgZ2V0IGFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBcGkoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQWN0aXZlRm9ybShjb21wb25lbnQ6IE9iamVjdEZvcm1Db21wb25lbnQpIHtcbiAgICBjb25zdCBpZCA9IGNvbXBvbmVudC5mb3JtT3B0aW9ucygpPy5mb3JtTW9kZWw/Lm5hbWUgfHwgY29tcG9uZW50Py5pZDtcbiAgICByZXR1cm4gaWQgJiYgdGhpcy4jYWN0aXZlRm9ybUNvbXBvbmVudHMuc2V0KGlkLCBjb21wb25lbnQpO1xuICB9XG5cbiAgdW5yZWdpc3RlckFjdGl2ZUZvcm0oY29tcG9uZW50OiBPYmplY3RGb3JtQ29tcG9uZW50KSB7XG4gICAgY29uc3QgaWQgPSBjb21wb25lbnQuZm9ybU9wdGlvbnMoKT8uZm9ybU1vZGVsPy5uYW1lIHx8IGNvbXBvbmVudD8uaWQ7XG4gICAgcmV0dXJuIGlkICYmIHRoaXMuI2FjdGl2ZUZvcm1Db21wb25lbnRzLmRlbGV0ZShpZCk7XG4gIH1cblxuICBnZXRBcGkoKTogRm9ybVNjcmlwdGluZ0FQSSB7XG4gICAgY29uc3QgZm9ybUlkID0gdGhpcy5mb3JtSWQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVsZW1lbnRFeHRlbnNpb25zOiB7XG4gICAgICAgIHJlZ2lzdGVyOiAoZXh0ZW5zaW9uczogRm9ybVNjcmlwdGluZ0VsZW1lbnRFeHRlbnNpb25bXSkgPT4ge1xuICAgICAgICAgIGV4dGVuc2lvbnMuZm9yRWFjaCgoZXh0KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXh0LmlkKSB0aGlzLmVsZW1lbnRFeHRlbnNpb25zLnNldCh7IC4uLnRoaXMuZWxlbWVudEV4dGVuc2lvbnMoKSwgW2V4dC5pZF06IGV4dCB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICB5dXV2aXNFdmVudFR5cGU6IFl1dkV2ZW50VHlwZSxcbiAgICAgICAgb246ICh0eXBlOiBzdHJpbmcpID0+IHRoaXMuI25nWm9uZS5ydW4oKCkgPT4gdGhpcy4jZXZlbnRTZXJ2aWNlLm9uKHR5cGUpKSxcbiAgICAgICAgdHJpZ2dlcjogKHR5cGU6IHN0cmluZywgZGF0YT86IGFueSkgPT4gdGhpcy4jbmdab25lLnJ1bigoKSA9PiB0aGlzLiNldmVudFNlcnZpY2UudHJpZ2dlcih0eXBlLCBkYXRhKSlcbiAgICAgIH0sXG4gICAgICBzZXNzaW9uOiB7XG4gICAgICAgIGdldFVzZXI6ICgpID0+IHRoaXMuZ2V0Q3VycmVudFVzZXIoKSxcbiAgICAgICAgdXNlcjoge1xuICAgICAgICAgIGdldDogKCkgPT4gdGhpcy5nZXRDdXJyZW50VXNlcigpLFxuICAgICAgICAgIGhhc1JvbGU6IChyb2xlOiBzdHJpbmcpID0+IHRoaXMuZ2V0Q3VycmVudFVzZXIoKS5hdXRob3JpdGllcz8uaW5jbHVkZXMocm9sZSkgfHwgZmFsc2VcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGh0dHA6IHtcbiAgICAgICAgZ2V0OiAodXJpLCBiYXNlLCBvcHRpb25zKSA9PiB0aGlzLmdldCh1cmksIGJhc2UsIG9wdGlvbnMpLFxuICAgICAgICBwb3N0OiAodXJpLCBkYXRhLCBiYXNlLCBvcHRpb25zKSA9PiB0aGlzLnBvc3QodXJpLCBkYXRhLCBiYXNlLCBvcHRpb25zKSxcbiAgICAgICAgZGVsOiAodXJpLCBiYXNlLCBvcHRpb25zKSA9PiB0aGlzLmRlbCh1cmksIGJhc2UsIG9wdGlvbnMpLFxuICAgICAgICBwdXQ6ICh1cmksIGRhdGEsIGJhc2UsIG9wdGlvbnMpID0+IHRoaXMucHV0KHVyaSwgZGF0YSwgYmFzZSwgb3B0aW9ucylcbiAgICAgIH0sXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGFjdGl2ZUZvcm1zOiB0aGlzLiNhY3RpdmVGb3JtQ29tcG9uZW50cyxcbiAgICAgICAgZ2V0VmFsdWU6IChmb3JtQ29udHJvbE5hbWUpID0+XG4gICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLiNhY3RpdmVGb3JtQ29tcG9uZW50cy52YWx1ZXMoKSkucmVkdWNlKFxuICAgICAgICAgICAgKHByZXY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBjdXI6IE9iamVjdEZvcm1Db21wb25lbnQpID0+ICh7IC4uLnByZXYsIC4uLihjdXIuZm9ybURhdGEgfHwge30pIH0pLFxuICAgICAgICAgICAge31cbiAgICAgICAgICApW2Zvcm1Db250cm9sTmFtZV0sXG4gICAgICAgIHNldFZhbHVlOiAoZm9ybUNvbnRyb2xOYW1lLCBuZXdWYWx1ZSkgPT4gdGhpcy5hcGkuZm9ybS5tb2RlbENoYW5nZShmb3JtQ29udHJvbE5hbWUsIHsgbmFtZTogJ3ZhbHVlJywgbmV3VmFsdWUgfSksXG4gICAgICAgIG1vZGVsQ2hhbmdlOiAoZm9ybUNvbnRyb2xOYW1lLCBjaGFuZ2UpID0+XG4gICAgICAgICAgdGhpcy4jbmdab25lLnJ1bigoKSA9PlxuICAgICAgICAgICAgdGhpcy4jZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRm9ybVNjcmlwdGluZ0FwaVNlcnZpY2UuRVZFTlRfTU9ERUxfQ0hBTkdFRCwge1xuICAgICAgICAgICAgICBmb3JtSWQsXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZSxcbiAgICAgICAgICAgICAgY2hhbmdlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgIH0sXG4gICAgICBzdG9yYWdlOiB7XG4gICAgICAgIGdldEl0ZW06IChrZXkpID0+IGZpcnN0VmFsdWVGcm9tKHRoaXMuI2FwcENhY2hlLmdldEl0ZW0oa2V5KSksXG4gICAgICAgIHNldEl0ZW06IChrZXksIHZhbHVlKSA9PiBmaXJzdFZhbHVlRnJvbSh0aGlzLiNhcHBDYWNoZS5zZXRJdGVtKGtleSwgdmFsdWUpKVxuICAgICAgfSxcbiAgICAgIG5vdGlmaWVyOiB7XG4gICAgICAgIHN1Y2Nlc3M6ICh0ZXh0LCB0aXRsZSkgPT4gdGhpcy4jbm90aWZpY2F0aW9ucy5zdWNjZXNzKHRpdGxlLCB0ZXh0KSxcbiAgICAgICAgZXJyb3I6ICh0ZXh0LCB0aXRsZSkgPT4gdGhpcy4jbm90aWZpY2F0aW9ucy5lcnJvcih0aXRsZSwgdGV4dCksXG4gICAgICAgIGluZm86ICh0ZXh0LCB0aXRsZSkgPT4gdGhpcy4jbm90aWZpY2F0aW9ucy5pbmZvKHRpdGxlLCB0ZXh0KSxcbiAgICAgICAgd2FybmluZzogKHRleHQsIHRpdGxlKSA9PiB0aGlzLiNub3RpZmljYXRpb25zLndhcm5pbmcodGl0bGUsIHRleHQpXG4gICAgICB9LFxuICAgICAgdXRpbDoge1xuICAgICAgICB0cmFuc2xhdGU6IChrZXksIGRhdGEpID0+IHRoaXMuI3RyYW5zbGF0ZS5pbnN0YW50KGtleSwgZGF0YSlcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgZ2V0KHVyaTogc3RyaW5nLCBiYXNlPzogc3RyaW5nLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpIHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLiNiYWNrZW5kLmdldCh1cmksIGJhc2UgfHwgQXBpQmFzZS5ub25lLCBvcHRpb25zIHx8IHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyB9KS5waXBlKFxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9wdGlvbnMgPyByZXMgOiB7IHN0YXR1czogcmVzLnN0YXR1cywgZGF0YTogcmVzLmJvZHkgfTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHV0KHVyaTogc3RyaW5nLCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgYmFzZT86IHN0cmluZywgb3B0aW9ucz86IEh0dHBPcHRpb25zKSB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuI2JhY2tlbmQucHV0KHVyaSwgZGF0YSwgYmFzZSB8fCBBcGlCYXNlLm5vbmUsIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHBvc3QodXJpOiBzdHJpbmcsIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBiYXNlPzogc3RyaW5nLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpIHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy4jYmFja2VuZC5wb3N0KHVyaSwgZGF0YSwgYmFzZSB8fCBBcGlCYXNlLm5vbmUsIG9wdGlvbnMpKTtcbiAgfVxuXG4gIGRlbCh1cmk6IHN0cmluZywgYmFzZT86IHN0cmluZywgb3B0aW9ucz86IEh0dHBPcHRpb25zKSB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuI2JhY2tlbmQuZGVsZXRlKHVyaSwgYmFzZSB8fCBBcGlCYXNlLm5vbmUsIG9wdGlvbnMpKTtcbiAgfVxuXG4gIGdldEN1cnJlbnRVc2VyKCk6IFl1dlVzZXIge1xuICAgIHJldHVybiB0aGlzLiN1c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpO1xuICB9XG5cbiAgZ2V0RG1zT2JqZWN0KGlkOiBzdHJpbmcsIHZlcnNpb246IG51bWJlcik6IFByb21pc2U8RG1zT2JqZWN0PiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuI2Rtc1NlcnZpY2UuZ2V0RG1zT2JqZWN0KGlkLCB2ZXJzaW9uKSlcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3BvbnNlKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2godGhpcy4jaGFuZGxlRXJyb3IpO1xuICB9XG5cbiAgLyoqXG4gICAqIGZldGNoZXMgZG1zIG9iamVjdHMgZnJvbSB0aGUgc2VydmVyIHRoYXQgbWF0Y2ggdGhlIGdpdmVuIHBhcmFtc1xuICAgKlxuICAgKiBAcGFyYW0gZmllbGRzIC0gdGhlIGZpZWxkcyB0byBtYXRjaC4gZXhhbXBsZToge25hbWU6ICdtYXgnLCBwbHo6ICc0NzExMX1cbiAgICogQHBhcmFtIHR5cGUgLSB0aGUgdGFyZ2V0IG9iamVjdCB0eXBlXG4gICAqL1xuICBnZXRSZXN1bHQoZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgdHlwZT86IHN0cmluZyk6IFByb21pc2U8RG1zT2JqZWN0W10+IHtcbiAgICBjb25zdCBzZWFyY2hRdWVyeTogU2VhcmNoUXVlcnkgPSB7XG4gICAgICBmaWx0ZXJzOiBPYmplY3Qua2V5cyhmaWVsZHMpLm1hcCgoZikgPT4gKHtcbiAgICAgICAgZixcbiAgICAgICAgbzogT3BlcmF0b3IuRVFVQUwsXG4gICAgICAgIHYxOiBmaWVsZHNbZl1cbiAgICAgIH0pKVxuICAgIH07XG4gICAgaWYgKHR5cGUpIHNlYXJjaFF1ZXJ5LnR5cGVzID0gW3R5cGVdO1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLiNzZWFyY2hTZXJ2aWNlLnNlYXJjaChzZWFyY2hRdWVyeSkpXG4gICAgICAudGhlbigocmVzOiBTZWFyY2hSZXN1bHQpID0+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShcbiAgICAgICAgICByZXMuaXRlbXMubWFwKChyZXNJdGVtOiBTZWFyY2hSZXN1bHRJdGVtKSA9PiB7XG4gICAgICAgICAgICBuZXcgRG1zT2JqZWN0KHJlc0l0ZW0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKHRoaXMuI2hhbmRsZUVycm9yKTtcbiAgfVxuXG4gIGVuY29kZUZpbGVOYW1lKGZpbGVuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVXRpbHMuZW5jb2RlRmlsZU5hbWUoZmlsZW5hbWUpO1xuICB9XG5cbiAgI2hhbmRsZUVycm9yKGVycm9yOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcbiAgfVxufVxuIl19
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { CommonModule, NgComponentOutlet } from '@angular/common';
|
|
2
|
-
import { Component, computed, DestroyRef, effect, inject, input, signal, untracked, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { Classification, Situation } from '@yuuvis/client-core';
|
|
6
|
-
import { MetadataFormFieldComponent } from '@yuuvis/client-framework/metadata-form';
|
|
7
|
-
import { ObjectFormTranslateService } from '../object-form-translate.service';
|
|
8
|
-
import { ObjectFormService } from '../object-form.service';
|
|
9
|
-
import { FormScriptingApiService } from '../form-scripting.service';
|
|
10
|
-
import { FormScriptingElementExtensionComponent } from '../object-form-script/form-scripting-element-extension/form-scripting-element-extension.component';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/common";
|
|
13
|
-
import * as i2 from "@angular/forms";
|
|
14
|
-
export class ObjectFormElementComponent {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.#destroyRef = inject(DestroyRef);
|
|
17
|
-
this.#formTranslateService = inject(ObjectFormTranslateService);
|
|
18
|
-
this.#objectFormService = inject(ObjectFormService);
|
|
19
|
-
this.#scriptingApi = inject(FormScriptingApiService);
|
|
20
|
-
this.createForm = signal(false);
|
|
21
|
-
this.extensionComponents = [];
|
|
22
|
-
this.#scriptingExtensions = this.#scriptingApi.elementExtensions;
|
|
23
|
-
this.scriptingExtensions = computed(() => Object.values(this.#scriptingExtensions()).filter((ext) => ext.propertyName === this.formControlName));
|
|
24
|
-
this.scriptExtensionCmp = FormScriptingElementExtensionComponent;
|
|
25
|
-
this.situation = input();
|
|
26
|
-
this.element = input();
|
|
27
|
-
this.#elementEffect = effect(() => {
|
|
28
|
-
const element = this.element();
|
|
29
|
-
untracked(() => {
|
|
30
|
-
this.createForm.set(true);
|
|
31
|
-
element && this.#setElement(this.element());
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
#destroyRef;
|
|
36
|
-
#formTranslateService;
|
|
37
|
-
#objectFormService;
|
|
38
|
-
#scriptingApi;
|
|
39
|
-
#scriptingExtensions;
|
|
40
|
-
#elementEffect;
|
|
41
|
-
get extensionComponentInput() {
|
|
42
|
-
const xti = {
|
|
43
|
-
formControlName: this.formControlName || ''
|
|
44
|
-
};
|
|
45
|
-
return xti;
|
|
46
|
-
}
|
|
47
|
-
#setElement(el) {
|
|
48
|
-
if (el && el._eoFormControlWrapper) {
|
|
49
|
-
this.formControlName = el._eoFormControlWrapper.controlName;
|
|
50
|
-
this.formElementRef = el.controls[this.formControlName];
|
|
51
|
-
this.formElementRef._eoFormElement = this.#setGrouping(this.formElementRef?._eoFormElement);
|
|
52
|
-
this.formElementRef?.valueChanges.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.#setupErrors());
|
|
53
|
-
this.extensionComponents = this.#objectFormService.getElementExtensions(this.formControlName);
|
|
54
|
-
this.createForm.set(false);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* formating rules...
|
|
59
|
-
* https://wiki.optimal-systems.de/display/PM/Status+yuuvis+Momentum+-+Flex+client
|
|
60
|
-
*/
|
|
61
|
-
#setGrouping(formElement) {
|
|
62
|
-
return { ...formElement, grouping: !!formElement?.classifications?.includes(Classification.NUMBER_DIGIT) };
|
|
63
|
-
}
|
|
64
|
-
onDataMetaChange(data) {
|
|
65
|
-
this.formElementRef._eoFormElement.dataMeta = data;
|
|
66
|
-
}
|
|
67
|
-
#setupErrors() {
|
|
68
|
-
this.errors = undefined;
|
|
69
|
-
if ((this.situation() !== Situation.SEARCH && this.situation() !== Situation.CREATE && this.formElementRef.errors) ||
|
|
70
|
-
((this.situation() === Situation.SEARCH || this.situation() === Situation.CREATE) &&
|
|
71
|
-
this.formElementRef.errors &&
|
|
72
|
-
(this.formElementRef.dirty || this.formElementRef.touched))) {
|
|
73
|
-
this.errors = Object.keys(this.formElementRef.errors).map((key) => {
|
|
74
|
-
return key === 'eoformScript'
|
|
75
|
-
? this.formElementRef._eoFormElement.error.msg
|
|
76
|
-
: this.#formTranslateService.getErrorLabel(key, this.formElementRef.errors[key].params);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFormElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ObjectFormElementComponent, isStandalone: true, selector: "yuv-object-form-element", inputs: { situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, element: { classPropertyName: "element", publicName: "element", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "yuv-object-form-element" }, ngImport: i0, template: "@let el = element();\n\n@if (!createForm()) {\n @if (el && formElementRef) {\n <div class=\"form-element input\" [formGroup]=\"el\">\n <yuv-metadata-form-field\n [field]=\"formElementRef._eoFormElement\"\n [formControlName]=\"el._eoFormControlWrapper!.controlName\"\n [situation]=\"situation()\"\n ></yuv-metadata-form-field>\n\n <div class=\"ext\">\n @for (cmp of extensionComponents; track $index) {\n <ng-container *ngComponentOutlet=\"cmp; inputs: { input: extensionComponentInput }\"></ng-container>\n }\n @for (scmp of scriptingExtensions(); track $index) {\n <ng-container *ngComponentOutlet=\"scriptExtensionCmp; inputs: { ext: scmp }\"></ng-container>\n }\n </div>\n </div>\n }\n}\n", styles: [":host{flex:1 1 auto}.yuv-object-form-element .form-element{box-sizing:border-box;display:flex;flex-flow:row nowrap}.yuv-object-form-element .form-element .ext{display:flex;flex-flow:row nowrap;gap:2px;align-items:center}.yuv-object-form-element .form-element yuv-metadata-form-field{width:100%}.yuv-object-form-element .form-element .form-field{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}.yuv-object-form-element .form-element .form-field .description{border:0;font-size:var(--font-hint);color:var(--text-color-caption);font-style:italic;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8)}.yuv-object-form-element .form-element .form-field .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}.yuv-object-form-element .form-element .form-field .table{flex-flow:column;align-items:flex-start;border:1px solid var(--panel-divider-color)}.yuv-object-form-element .form-element .form-field .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.yuv-object-form-element .form-element .form-field .table.invalid{border:1px solid var(--color-error)}.yuv-object-form-element .form-element .form-field.inlineError .err-msg{display:none}.yuv-object-form-element .form-element.ng-dirty:not(.ng-invalid)>.form-field:not(.focused)::ng-deep .fe-wrapper>label{background-color:var(--color-dirty-background);color:var(--color-dirty-font)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: MetadataFormFieldComponent, selector: "yuv-metadata-form-field", inputs: ["field", "situation"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectFormElementComponent, decorators: [{
|
|
84
|
-
type: Component,
|
|
85
|
-
args: [{ selector: 'yuv-object-form-element', standalone: true, imports: [CommonModule, MetadataFormFieldComponent, NgComponentOutlet, ReactiveFormsModule], encapsulation: ViewEncapsulation.None, host: { class: 'yuv-object-form-element' }, template: "@let el = element();\n\n@if (!createForm()) {\n @if (el && formElementRef) {\n <div class=\"form-element input\" [formGroup]=\"el\">\n <yuv-metadata-form-field\n [field]=\"formElementRef._eoFormElement\"\n [formControlName]=\"el._eoFormControlWrapper!.controlName\"\n [situation]=\"situation()\"\n ></yuv-metadata-form-field>\n\n <div class=\"ext\">\n @for (cmp of extensionComponents; track $index) {\n <ng-container *ngComponentOutlet=\"cmp; inputs: { input: extensionComponentInput }\"></ng-container>\n }\n @for (scmp of scriptingExtensions(); track $index) {\n <ng-container *ngComponentOutlet=\"scriptExtensionCmp; inputs: { ext: scmp }\"></ng-container>\n }\n </div>\n </div>\n }\n}\n", styles: [":host{flex:1 1 auto}.yuv-object-form-element .form-element{box-sizing:border-box;display:flex;flex-flow:row nowrap}.yuv-object-form-element .form-element .ext{display:flex;flex-flow:row nowrap;gap:2px;align-items:center}.yuv-object-form-element .form-element yuv-metadata-form-field{width:100%}.yuv-object-form-element .form-element .form-field{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)}.yuv-object-form-element .form-element .form-field .description{border:0;font-size:var(--font-hint);color:var(--text-color-caption);font-style:italic;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8)}.yuv-object-form-element .form-element .form-field .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}.yuv-object-form-element .form-element .form-field .table{flex-flow:column;align-items:flex-start;border:1px solid var(--panel-divider-color)}.yuv-object-form-element .form-element .form-field .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.yuv-object-form-element .form-element .form-field .table.invalid{border:1px solid var(--color-error)}.yuv-object-form-element .form-element .form-field.inlineError .err-msg{display:none}.yuv-object-form-element .form-element.ng-dirty:not(.ng-invalid)>.form-field:not(.focused)::ng-deep .fe-wrapper>label{background-color:var(--color-dirty-background);color:var(--color-dirty-font)!important}\n"] }]
|
|
86
|
-
}] });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZvcm0tZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL29iamVjdC1mb3JtL3NyYy9saWIvb2JqZWN0LWZvcm0tZWxlbWVudC9vYmplY3QtZm9ybS1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvb2JqZWN0LWZvcm0vc3JjL2xpYi9vYmplY3QtZm9ybS1lbGVtZW50L29iamVjdC1mb3JtLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVEsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sbUdB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LENBQUM7SUFDSCxDQUFDOytHQTNFVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixzWkN2QnZDLG94QkFzQkEsbWhERExZLFlBQVksdVNBQUUsMEJBQTBCLG1HQUFxQixtQkFBbUI7OzRGQU0vRSwwQkFBMEI7a0JBVHRDLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxpQkFHNUUsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdDb21wb25lbnRPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRGVzdHJveVJlZiwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBzaWduYWwsIFR5cGUsIHVudHJhY2tlZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDbGFzc2lmaWNhdGlvbiwgU2l0dWF0aW9uIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBNZXRhZGF0YUZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9tZXRhZGF0YS1mb3JtJztcbmltcG9ydCB7IE9iamVjdEZvcm1UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vb2JqZWN0LWZvcm0tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JqZWN0Rm9ybUNvbnRyb2xXcmFwcGVyIH0gZnJvbSAnLi4vb2JqZWN0LWZvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE9iamVjdEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vb2JqZWN0LWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBJT2JqZWN0Rm9ybUVsZW1lbnRFeHRlbnNpb25Db21wb25lbnRJbnB1dCwgT2JqZWN0Rm9ybUVsZW1lbnRFeHRlbnNpb24gfSBmcm9tICcuLi9vYmplY3QtZm9ybS1leHRlbnNpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1TY3JpcHRpbmdBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vZm9ybS1zY3JpcHRpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtU2NyaXB0aW5nRWxlbWVudEV4dGVuc2lvbkNvbXBvbmVudCB9IGZyb20gJy4uL29iamVjdC1mb3JtLXNjcmlwdC9mb3JtLXNjcmlwdGluZy1lbGVtZW50LWV4dGVuc2lvbi9mb3JtLXNjcmlwdGluZy1lbGVtZW50LWV4dGVuc2lvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVNjcmlwdGluZ0VsZW1lbnRFeHRlbnNpb24gfSBmcm9tICcuLi9mb3JtLXNjcmlwdGluZy5hcGkuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LW9iamVjdC1mb3JtLWVsZW1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNZXRhZGF0YUZvcm1GaWVsZENvbXBvbmVudCwgTmdDb21wb25lbnRPdXRsZXQsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWZvcm0tZWxlbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1mb3JtLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ3l1di1vYmplY3QtZm9ybS1lbGVtZW50JyB9XG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdEZvcm1FbGVtZW50Q29tcG9uZW50IHtcbiAgI2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICNmb3JtVHJhbnNsYXRlU2VydmljZSA9IGluamVjdChPYmplY3RGb3JtVHJhbnNsYXRlU2VydmljZSk7XG4gICNvYmplY3RGb3JtU2VydmljZSA9IGluamVjdChPYmplY3RGb3JtU2VydmljZSk7XG4gICNzY3JpcHRpbmdBcGkgPSBpbmplY3QoRm9ybVNjcmlwdGluZ0FwaVNlcnZpY2UpO1xuXG4gIGNyZWF0ZUZvcm0gPSBzaWduYWwoZmFsc2UpO1xuXG4gIGZvcm1Db250cm9sTmFtZT86IHN0cmluZztcbiAgZm9ybUVsZW1lbnRSZWY6IGFueTtcbiAgZXJyb3JzPzogc3RyaW5nW107XG4gIGV4dGVuc2lvbkNvbXBvbmVudHM6IFR5cGU8T2JqZWN0Rm9ybUVsZW1lbnRFeHRlbnNpb24+W10gPSBbXTtcbiAgI3NjcmlwdGluZ0V4dGVuc2lvbnMgPSB0aGlzLiNzY3JpcHRpbmdBcGkuZWxlbWVudEV4dGVuc2lvbnM7XG4gIHNjcmlwdGluZ0V4dGVuc2lvbnMgPSBjb21wdXRlZCgoKSA9PlxuICAgIE9iamVjdC52YWx1ZXModGhpcy4jc2NyaXB0aW5nRXh0ZW5zaW9ucygpKS5maWx0ZXIoKGV4dDogRm9ybVNjcmlwdGluZ0VsZW1lbnRFeHRlbnNpb24pID0+IGV4dC5wcm9wZXJ0eU5hbWUgPT09IHRoaXMuZm9ybUNvbnRyb2xOYW1lKVxuICApO1xuXG4gIHNjcmlwdEV4dGVuc2lvbkNtcCA9IEZvcm1TY3JpcHRpbmdFbGVtZW50RXh0ZW5zaW9uQ29tcG9uZW50O1xuICBzaXR1YXRpb24gPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgZWxlbWVudCA9IGlucHV0PE9iamVjdEZvcm1Db250cm9sV3JhcHBlcj4oKTtcbiAgI2VsZW1lbnRFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnQoKTtcblxuICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICB0aGlzLmNyZWF0ZUZvcm0uc2V0KHRydWUpO1xuICAgICAgZWxlbWVudCAmJiB0aGlzLiNzZXRFbGVtZW50KHRoaXMuZWxlbWVudCgpKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZ2V0IGV4dGVuc2lvbkNvbXBvbmVudElucHV0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICBjb25zdCB4dGk6IElPYmplY3RGb3JtRWxlbWVudEV4dGVuc2lvbkNvbXBvbmVudElucHV0ID0ge1xuICAgICAgZm9ybUNvbnRyb2xOYW1lOiB0aGlzLmZvcm1Db250cm9sTmFtZSB8fCAnJ1xuICAgIH07XG4gICAgcmV0dXJuIHh0aSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICB9XG5cbiAgI3NldEVsZW1lbnQoZWw6IE9iamVjdEZvcm1Db250cm9sV3JhcHBlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChlbCAmJiBlbC5fZW9Gb3JtQ29udHJvbFdyYXBwZXIpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2xOYW1lID0gZWwuX2VvRm9ybUNvbnRyb2xXcmFwcGVyLmNvbnRyb2xOYW1lO1xuICAgICAgdGhpcy5mb3JtRWxlbWVudFJlZiA9IGVsLmNvbnRyb2xzW3RoaXMuZm9ybUNvbnRyb2xOYW1lXTtcbiAgICAgIHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQgPSB0aGlzLiNzZXRHcm91cGluZyh0aGlzLmZvcm1FbGVtZW50UmVmPy5fZW9Gb3JtRWxlbWVudCk7XG4gICAgICB0aGlzLmZvcm1FbGVtZW50UmVmPy52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLiNzZXR1cEVycm9ycygpKTtcbiAgICAgIHRoaXMuZXh0ZW5zaW9uQ29tcG9uZW50cyA9IHRoaXMuI29iamVjdEZvcm1TZXJ2aWNlLmdldEVsZW1lbnRFeHRlbnNpb25zKHRoaXMuZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgdGhpcy5jcmVhdGVGb3JtLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGZvcm1hdGluZyBydWxlcy4uLlxuICAgKiBodHRwczovL3dpa2kub3B0aW1hbC1zeXN0ZW1zLmRlL2Rpc3BsYXkvUE0vU3RhdHVzK3l1dXZpcytNb21lbnR1bSstK0ZsZXgrY2xpZW50XG4gICAqL1xuICAjc2V0R3JvdXBpbmcoZm9ybUVsZW1lbnQ6IGFueSkge1xuICAgIHJldHVybiB7IC4uLmZvcm1FbGVtZW50LCBncm91cGluZzogISFmb3JtRWxlbWVudD8uY2xhc3NpZmljYXRpb25zPy5pbmNsdWRlcyhDbGFzc2lmaWNhdGlvbi5OVU1CRVJfRElHSVQpIH07XG4gIH1cblxuICBvbkRhdGFNZXRhQ2hhbmdlKGRhdGE6IGFueSkge1xuICAgIHRoaXMuZm9ybUVsZW1lbnRSZWYuX2VvRm9ybUVsZW1lbnQuZGF0YU1ldGEgPSBkYXRhO1xuICB9XG5cbiAgI3NldHVwRXJyb3JzKCkge1xuICAgIHRoaXMuZXJyb3JzID0gdW5kZWZpbmVkO1xuICAgIGlmIChcbiAgICAgICh0aGlzLnNpdHVhdGlvbigpICE9PSBTaXR1YXRpb24uU0VBUkNIICYmIHRoaXMuc2l0dWF0aW9uKCkgIT09IFNpdHVhdGlvbi5DUkVBVEUgJiYgdGhpcy5mb3JtRWxlbWVudFJlZi5lcnJvcnMpIHx8XG4gICAgICAoKHRoaXMuc2l0dWF0aW9uKCkgPT09IFNpdHVhdGlvbi5TRUFSQ0ggfHwgdGhpcy5zaXR1YXRpb24oKSA9PT0gU2l0dWF0aW9uLkNSRUFURSkgJiZcbiAgICAgICAgdGhpcy5mb3JtRWxlbWVudFJlZi5lcnJvcnMgJiZcbiAgICAgICAgKHRoaXMuZm9ybUVsZW1lbnRSZWYuZGlydHkgfHwgdGhpcy5mb3JtRWxlbWVudFJlZi50b3VjaGVkKSlcbiAgICApIHtcbiAgICAgIHRoaXMuZXJyb3JzID0gT2JqZWN0LmtleXModGhpcy5mb3JtRWxlbWVudFJlZi5lcnJvcnMpLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgIHJldHVybiBrZXkgPT09ICdlb2Zvcm1TY3JpcHQnXG4gICAgICAgICAgPyB0aGlzLmZvcm1FbGVtZW50UmVmLl9lb0Zvcm1FbGVtZW50LmVycm9yLm1zZ1xuICAgICAgICAgIDogdGhpcy4jZm9ybVRyYW5zbGF0ZVNlcnZpY2UuZ2V0RXJyb3JMYWJlbChrZXksIHRoaXMuZm9ybUVsZW1lbnRSZWYuZXJyb3JzW2tleV0ucGFyYW1zKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiQGxldCBlbCA9IGVsZW1lbnQoKTtcblxuQGlmICghY3JlYXRlRm9ybSgpKSB7XG4gIEBpZiAoZWwgJiYgZm9ybUVsZW1lbnRSZWYpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1lbGVtZW50IGlucHV0XCIgW2Zvcm1Hcm91cF09XCJlbFwiPlxuICAgICAgPHl1di1tZXRhZGF0YS1mb3JtLWZpZWxkXG4gICAgICAgIFtmaWVsZF09XCJmb3JtRWxlbWVudFJlZi5fZW9Gb3JtRWxlbWVudFwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWwuX2VvRm9ybUNvbnRyb2xXcmFwcGVyIS5jb250cm9sTmFtZVwiXG4gICAgICAgIFtzaXR1YXRpb25dPVwic2l0dWF0aW9uKClcIlxuICAgICAgPjwveXV2LW1ldGFkYXRhLWZvcm0tZmllbGQ+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJleHRcIj5cbiAgICAgICAgQGZvciAoY21wIG9mIGV4dGVuc2lvbkNvbXBvbmVudHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY21wOyBpbnB1dHM6IHsgaW5wdXQ6IGV4dGVuc2lvbkNvbXBvbmVudElucHV0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgICBAZm9yIChzY21wIG9mIHNjcmlwdGluZ0V4dGVuc2lvbnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJzY3JpcHRFeHRlbnNpb25DbXA7IGlucHV0czogeyBleHQ6IHNjbXAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxufVxuIl19
|