{"version":3,"file":"main.js","mappings":"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","sources":["./apps/evasys/src/app/app-routing.module.ts","./apps/evasys/src/app/app-translate.loader.ts","./apps/evasys/src/app/app-translation.module.ts","./apps/evasys/src/app/app.component.ts","./apps/evasys/src/app/app.component.html","./apps/evasys/src/app/app.init.ts","./apps/evasys/src/app/app.module.ts","./apps/evasys/src/main.ts","./globals/evainsights/api/endpoints.ts","./globals/evainsights/api/path-variables.ts","./globals/evainsights/constants/types.ts","./globals/evainsights/environments/deployment.enum.ts","./globals/evainsights/environments/environment.ts","./globals/evainsights/environments/runtime-environment.ts","./globals/evainsights/logging/code.model.ts","./globals/evainsights/logging/coded-error.ts","./globals/evainsights/logging/default-logger.ts","./globals/evainsights/logging/level.enum.ts","./globals/evainsights/logging/logger.ts","./globals/evainsights/models/common/multi-lang.ts","./globals/evainsights/models/report-item/color-scheme.model.ts","./globals/evainsights/models/report-item/content/axis-chart/axis-chart-report-item-content.model.ts","./globals/evainsights/models/report-item/content/axis-chart/bar-chart-report-item-content.model.ts","./globals/evainsights/models/report-item/content/axis-chart/dimensions/dimension-mapping-config.model.ts","./globals/evainsights/models/report-item/content/axis-chart/dimensions/index-dimension.model.ts","./globals/evainsights/models/report-item/content/axis-chart/dimensions/index.ts","./globals/evainsights/models/report-item/content/axis-chart/dimensions/visualization-dimension.model.ts","./globals/evainsights/models/report-item/content/axis-chart/index.ts","./globals/evainsights/models/report-item/content/axis-chart/line-chart-report-item-content.model.ts","./globals/evainsights/models/report-item/content/axis-chart/matrix.ts","./globals/evainsights/models/report-item/content/common.ts","./globals/evainsights/models/report-item/content/index.ts","./globals/evainsights/models/report-item/content/profile-line-chart-report-item-content.model.ts","./globals/evainsights/models/report-item/content/report-item-content.model.ts","./globals/evainsights/models/report-item/content/report-item-data-request.model.ts","./globals/evainsights/models/report-item/content/rich-text-report-item-content.model.ts","./globals/evainsights/models/report-item/content/topic-wordcloud-report-item-content.model.ts","./globals/evainsights/models/report-item/content/topic-wordcloud-responses-report-item-content.model.ts","./globals/evainsights/models/report-item/index.ts","./globals/evainsights/models/report-item/report-item.model.ts","./globals/evainsights/typeguards/common.ts","./globals/evasys/api/endpoints.enum.ts","./globals/evasys/api/mapper/update-message.mapper.ts","./globals/evasys/environments/environment.ts","./globals/evasys/mapper/general/service-injector-mapper.ts","./globals/shared/animations/3d-rotate/x-3d-rotate.animation.ts","./globals/shared/animations/3d-rotate/y-3d-rotate.animation.ts","./globals/shared/animations/3d-rotate/z-3d-rotate.animation.ts","./globals/shared/animations/angular/3d-rotate/x-3d-rotate.animation.ts","./globals/shared/animations/angular/3d-rotate/y-3d-rotate.animation.ts","./globals/shared/animations/angular/3d-rotate/z-3d-rotate.animation.ts","./globals/shared/animations/angular/animations.ts","./globals/shared/animations/angular/fade/fade-in-left.animation.ts","./globals/shared/animations/angular/fade/fade-out-top.animation.ts","./globals/shared/animations/angular/grow/x-grow.animation.ts","./globals/shared/animations/angular/grow/y-grow.animation.ts","./globals/shared/animations/angular/list.animation.ts","./globals/shared/animations/angular/nested.animation.ts","./globals/shared/animations/angular/opacity.animation.ts","./globals/shared/animations/angular/pagination.animation.ts","./globals/shared/animations/angular/pop.animation.ts","./globals/shared/animations/animations.ts","./globals/shared/animations/fade/fade-in-left.animation.ts","./globals/shared/animations/fade/fade-out-top.animation.ts","./globals/shared/animations/grow/x-grow.animation.ts","./globals/shared/animations/grow/y-grow.animation.ts","./globals/shared/animations/list.animation.ts","./globals/shared/animations/margin/margin-left.animation.ts","./globals/shared/animations/nested.animation.ts","./globals/shared/animations/no-initial-animation.animation.ts","./globals/shared/animations/opacity.animation.ts","./globals/shared/animations/page.animation.ts","./globals/shared/animations/pagination.animation.ts","./globals/shared/animations/pop.animation.ts","./globals/shared/decorators/decorators.ts","./globals/shared/enums/business/level.enum.ts","./globals/shared/enums/business/user-rights.enum.ts","./globals/shared/enums/component/button-design.enum.ts","./globals/shared/enums/component/chip-typeahead-design.enum.ts","./globals/shared/enums/component/design.enum.ts","./globals/shared/enums/component/label-position.enum.ts","./globals/shared/enums/component/loaded-component.enum.ts","./globals/shared/enums/component/notification.enum.ts","./globals/shared/enums/component/selector-changeability.enum.ts","./globals/shared/enums/component/typeahead.enum.ts","./globals/shared/enums/general/evasys-actions.enum.ts","./globals/shared/enums/general/evasys-grant.enum.ts","./globals/shared/enums/general/evasys-loadingStrategies.enum.ts","./globals/shared/enums/general/evasys-property-type-name.enum.ts","./globals/shared/enums/general/evasys-request-method.enum.ts","./globals/shared/enums/general/evasys-response-state.enum.ts","./globals/shared/helper/color.ts","./globals/shared/helper/enum.ts","./globals/shared/helper/object.ts","./globals/shared/helper/typeahead.ts","./globals/shared/helper/window.ts","./globals/shared/models/component/status-card/status-card.enum.ts","./globals/shared/models/general/evasys-revoke-token-type.enum.ts","./globals/shared/validations/email.validator.ts","./globals/shared/validations/equal.validator.ts","./globals/shared/validations/phone.validator.ts","./globals/shared/validations/secure-password.validator.ts","./globals/shared/validations/validations.ts","./libs/evainsights/shared/core/src/index.ts","./libs/evainsights/shared/core/src/lib/evainsights-shared-core.ts","./libs/evainsights/shared/core/src/lib/services/auth/auth-user-service-helper.service.ts","./libs/evainsights/shared/core/src/lib/services/chart/chart.service.ts","./libs/evainsights/shared/core/src/lib/services/common/breadcrumb-update.service.ts","./libs/evainsights/shared/core/src/lib/services/common/dashboard-table-data.provider.ts","./libs/evainsights/shared/core/src/lib/services/common/search-request-param.service.ts","./libs/evainsights/shared/core/src/lib/services/common/ui-config.service.ts","./libs/evainsights/shared/core/src/lib/services/filter/filter.service.ts","./libs/evainsights/shared/core/src/lib/services/form/form.service.ts","./libs/evainsights/shared/core/src/lib/services/item/item-collection.service.ts","./libs/evainsights/shared/core/src/lib/services/item/item.service.ts","./libs/evainsights/shared/core/src/lib/services/language/language.service.ts","./libs/evainsights/shared/core/src/lib/services/organization/endpoints.service.ts","./libs/evainsights/shared/core/src/lib/services/organization/period.service.ts","./libs/evainsights/shared/core/src/lib/services/organization/programme.service.ts","./libs/evainsights/shared/core/src/lib/services/organization/unit.service.ts","./libs/evainsights/shared/core/src/lib/services/participation/participation-event.service.ts","./libs/evainsights/shared/core/src/lib/services/report/report-language.service.ts","./libs/evainsights/shared/core/src/lib/services/report/report-processing.service.ts","./libs/evainsights/shared/core/src/lib/services/report/report-template.service.ts","./libs/evainsights/shared/core/src/lib/services/report/report.service.ts","./libs/evainsights/shared/core/src/lib/services/report/reportBase.service.ts","./libs/evainsights/shared/core/src/lib/services/report/reportItem.service.ts","./libs/evainsights/shared/core/src/lib/services/report/respondent-filter.service.ts","./libs/evainsights/shared/core/src/lib/services/staff/staff.service.ts","./libs/evainsights/shared/core/src/lib/services/survey/survey.service.ts","./libs/evainsights/shared/core/src/lib/services/tenant/tenant.service.ts","./libs/evainsights/shared/core/src/lib/services/topic-modeling/topic-model.service.ts","./libs/evainsights/shared/core/src/lib/services/topic-modeling/topic.service.ts","./libs/evainsights/shared/util/src/index.ts","./libs/evainsights/shared/util/src/lib/datetime/datetime.operators.ts","./libs/evainsights/shared/util/src/lib/directives/input-auto-fill-off.directive.ts","./libs/evainsights/shared/util/src/lib/directives/replace-if-empty.directive.ts","./libs/evainsights/shared/util/src/lib/evainsights-shared-util.module.ts","./libs/evainsights/shared/util/src/lib/fonts/system.ts","./libs/evainsights/shared/util/src/lib/forms/validators/index.ts","./libs/evainsights/shared/util/src/lib/forms/validators/no-whitespace.ts","./libs/evainsights/shared/util/src/lib/forms/validators/required-non-empty-rich-text.ts","./libs/evainsights/shared/util/src/lib/forms/validators/requires-control.ts","./libs/evainsights/shared/util/src/lib/general/as-array.ts","./libs/evainsights/shared/util/src/lib/general/fit-texts.ts","./libs/evainsights/shared/util/src/lib/gridster/interaction.ts","./libs/evainsights/shared/util/src/lib/language/language-util.ts","./libs/evainsights/shared/util/src/lib/language/multi-lang.service.ts","./libs/evainsights/shared/util/src/lib/language/report-multi-lang.service.ts","./libs/evainsights/shared/util/src/lib/language/select.ts","./libs/evainsights/shared/util/src/lib/language/transloco-multi-lang.service.ts","./libs/evainsights/shared/util/src/lib/logging/error-handler.service.ts","./libs/evainsights/shared/util/src/lib/logging/logger.service.ts","./libs/evainsights/shared/util/src/lib/pipe/get-control.pipe.ts","./libs/evainsights/shared/util/src/lib/pipe/report-language-code.pipe.ts","./libs/evainsights/shared/util/src/lib/pipe/translate-multi-lang.pipe.ts","./libs/evainsights/shared/util/src/lib/rxjs/rxjs.operators.ts","./libs/evainsights/shared/util/src/lib/title/title.service.ts","./libs/evasys/shared/core/src/index.ts","./libs/evasys/shared/core/src/lib/actions/index.ts","./libs/evasys/shared/core/src/lib/actions/menu.actions.ts","./libs/evasys/shared/core/src/lib/actions/status.actions.ts","./libs/evasys/shared/core/src/lib/actions/system-info.actions.ts","./libs/evasys/shared/core/src/lib/actions/wizard.actions.ts","./libs/evasys/shared/core/src/lib/effects/menu.effects.ts","./libs/evasys/shared/core/src/lib/effects/status.effects.ts","./libs/evasys/shared/core/src/lib/effects/system-info.effects.ts","./libs/evasys/shared/core/src/lib/effects/wizard.effects.ts","./libs/evasys/shared/core/src/lib/evasys-shared-core.module.ts","./libs/evasys/shared/core/src/lib/modules/menu.module.ts","./libs/evasys/shared/core/src/lib/modules/status.module.ts","./libs/evasys/shared/core/src/lib/modules/system-info.module.ts","./libs/evasys/shared/core/src/lib/modules/wizard.module.ts","./libs/evasys/shared/core/src/lib/reducers/menu.reducer.ts","./libs/evasys/shared/core/src/lib/reducers/status.reducer.ts","./libs/evasys/shared/core/src/lib/reducers/system-info.reducer.ts","./libs/evasys/shared/core/src/lib/reducers/wizard.reducer.ts","./libs/evasys/shared/core/src/lib/selectors/index.ts","./libs/evasys/shared/core/src/lib/selectors/menu.selectors.ts","./libs/evasys/shared/core/src/lib/selectors/status.selectors.ts","./libs/evasys/shared/core/src/lib/selectors/system-info.selectors.ts","./libs/evasys/shared/core/src/lib/selectors/wizard.selectors.ts","./libs/evasys/shared/core/src/lib/services/menu.service.ts","./libs/evasys/shared/core/src/lib/services/product.service.ts","./libs/evasys/shared/core/src/lib/services/status.service.ts","./libs/evasys/shared/core/src/lib/services/system-info.service.ts","./libs/evasys/shared/core/src/lib/services/translate.service.ts","./libs/evasys/shared/core/src/lib/services/wizard.service.ts","./libs/evasys/shared/feature/src/index.ts","./libs/evasys/shared/feature/src/lib/app-shell/components/app-shell/app-shell.component.ts","./libs/evasys/shared/feature/src/lib/app-shell/components/app-shell/app-shell.component.html","./libs/evasys/shared/feature/src/lib/evasys-shared-feature.configuration.ts","./libs/evasys/shared/feature/src/lib/evasys-shared-feature.module.ts","./libs/evasys/shared/feature/src/lib/interceptors/response-notification.interceptor.ts","./libs/evasys/shared/feature/src/lib/loading-spinner/components/loading-spinner/loading-spinner.component.ts","./libs/evasys/shared/feature/src/lib/loading-spinner/components/loading-spinner/loading-spinner.component.html","./libs/evasys/shared/feature/src/lib/navigate/pipes/multi-page-link.pipe.ts","./libs/evasys/shared/feature/src/lib/navigate/services/navigate.service.ts","./libs/evasys/shared/feature/src/lib/permissions/Pipes/permission.pipe.ts","./libs/evasys/shared/feature/src/lib/permissions/directives/permission.directive.ts","./libs/evasys/shared/feature/src/lib/permissions/permissions.module.ts","./libs/evasys/shared/feature/src/lib/services/user-change.service.ts","./libs/evasys/shared/feature/src/lib/system-activation/guards/system-activation.guard.ts","./libs/evasys/shared/feature/src/lib/transloco/pipes/translate.pipe.ts","./libs/evasys/shared/feature/src/lib/update-check/modal-update-check/modal-update-check.component.ts","./libs/evasys/shared/feature/src/lib/update-check/modal-update-check/modal-update-check.component.html","./libs/evasys/shared/ui/src/index.ts","./libs/evasys/shared/ui/src/lib/components/modal-confirm/component/modal-confirm.component.ts","./libs/evasys/shared/ui/src/lib/components/modal-confirm/component/modal-confirm.component.html","./libs/evasys/shared/ui/src/lib/components/modal-confirm/modal-confirm.module.ts","./libs/evasys/shared/ui/src/lib/components/modal-multiple-users/modal-multiple-users.component.ts","./libs/evasys/shared/ui/src/lib/components/modal-multiple-users/modal-multiple-users.component.html","./libs/evasys/shared/ui/src/lib/evasys-shared-ui.module.ts","./libs/evasys/shared/util/src/index.ts","./libs/evasys/shared/util/src/lib/evasys-shared-util.module.ts","./libs/evasys/shared/util/src/lib/pipes/translate-level.pipe.ts","./libs/evasys/shared/util/src/lib/pipes/translate-roles.pipe.ts","./libs/shared/core/src/index.ts","./libs/shared/core/src/lib/actions/auth-user.actions.ts","./libs/shared/core/src/lib/actions/auth.actions.ts","./libs/shared/core/src/lib/actions/config.actions.ts","./libs/shared/core/src/lib/actions/global.actions.ts","./libs/shared/core/src/lib/actions/index.ts","./libs/shared/core/src/lib/actions/notification.actions.ts","./libs/shared/core/src/lib/actions/translate.actions.ts","./libs/shared/core/src/lib/effects/auth-user.effects.ts","./libs/shared/core/src/lib/effects/auth.effects.ts","./libs/shared/core/src/lib/effects/config.effects.ts","./libs/shared/core/src/lib/effects/translate.effects.ts","./libs/shared/core/src/lib/essential/api/helper/request-id.ts","./libs/shared/core/src/lib/essential/api/services/api.service.ts","./libs/shared/core/src/lib/essential/redux/actions/evasys-actions.factory.ts","./libs/shared/core/src/lib/essential/redux/adapter/evasys-entity.adapter.ts","./libs/shared/core/src/lib/essential/redux/effects/evasys.effects.ts","./libs/shared/core/src/lib/essential/redux/reducers/evasys-reducer-case.factory.ts","./libs/shared/core/src/lib/essential/redux/selectors/evasys.selectors.ts","./libs/shared/core/src/lib/essential/redux/services/facade.service.ts","./libs/shared/core/src/lib/essential/redux/states/evasys.state.ts","./libs/shared/core/src/lib/model-classes/user-model.class.ts","./libs/shared/core/src/lib/modules/auth-user.module.ts","./libs/shared/core/src/lib/modules/auth.module.ts","./libs/shared/core/src/lib/modules/config.module.ts","./libs/shared/core/src/lib/modules/notification.module.ts","./libs/shared/core/src/lib/modules/translate.module.ts","./libs/shared/core/src/lib/reducers/auth-user.reducer.ts","./libs/shared/core/src/lib/reducers/auth.reducer.ts","./libs/shared/core/src/lib/reducers/config.reducer.ts","./libs/shared/core/src/lib/reducers/global.reducer.ts","./libs/shared/core/src/lib/reducers/notification.reducer.ts","./libs/shared/core/src/lib/reducers/translate.reducer.ts","./libs/shared/core/src/lib/selectors/auth-user.selectors.ts","./libs/shared/core/src/lib/selectors/auth.selectors.ts","./libs/shared/core/src/lib/selectors/config.selectors.ts","./libs/shared/core/src/lib/selectors/index.ts","./libs/shared/core/src/lib/selectors/notification.selectors.ts","./libs/shared/core/src/lib/selectors/translate.selectors.ts","./libs/shared/core/src/lib/services/auth-user.service.ts","./libs/shared/core/src/lib/services/auth.service.ts","./libs/shared/core/src/lib/services/config.service.ts","./libs/shared/core/src/lib/services/global.service.ts","./libs/shared/core/src/lib/services/notification.service.ts","./libs/shared/core/src/lib/services/translate.service.ts","./libs/shared/core/src/lib/services/url.service.ts","./libs/shared/core/src/lib/shared-core.configuration.ts","./libs/shared/core/src/lib/shared-core.module.ts","./libs/shared/feature/src/index.ts","./libs/shared/feature/src/lib/auth/guards/auth.guard.ts","./libs/shared/feature/src/lib/auth/guards/logout.guard.ts","./libs/shared/feature/src/lib/auth/interceptors/oauth2.interceptor.ts","./libs/shared/feature/src/lib/notification/components/dynamic-notification/dynamic-notification.component.ts","./libs/shared/feature/src/lib/notification/components/dynamic-notification/dynamic-notification.component.html","./libs/shared/feature/src/lib/shared-feature.configuration.ts","./libs/shared/feature/src/lib/shared-feature.module.ts","./libs/shared/ui/src/index.ts","./libs/shared/ui/src/lib/components/app-shell-components/footer/footer.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/footer/footer.component.html","./libs/shared/ui/src/lib/components/app-shell-components/legal-notice/legal-notice.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/legal-notice/legal-notice.component.html","./libs/shared/ui/src/lib/components/app-shell-components/legal-notice/legal-notice.service.ts","./libs/shared/ui/src/lib/components/app-shell-components/menu/menu.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/menu/menu.component.html","./libs/shared/ui/src/lib/components/app-shell-components/notification-collection/notification-collection.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/notification-collection/notification-collection.component.html","./libs/shared/ui/src/lib/components/app-shell-components/product-menu/src/product-menu/product-menu-item.interface.ts","./libs/shared/ui/src/lib/components/app-shell-components/product-menu/src/product-menu/product-menu-item/product-menu-item.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/product-menu/src/product-menu/product-menu-item/product-menu-item.component.html","./libs/shared/ui/src/lib/components/app-shell-components/product-menu/src/product-menu/product-menu.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/product-menu/src/product-menu/product-menu.component.html","./libs/shared/ui/src/lib/components/app-shell-components/product-menu/src/product-menu/product-menu.module.ts","./libs/shared/ui/src/lib/components/app-shell-components/search-help/search-help.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/search-help/search-help.component.html","./libs/shared/ui/src/lib/components/app-shell-components/searchbox/searchbox.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/searchbox/searchbox.component.html","./libs/shared/ui/src/lib/components/app-shell-components/sidebar-container/sidebar-container.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/sidebar-container/sidebar-container.component.html","./libs/shared/ui/src/lib/components/app-shell-components/sidebar/sidebar.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/sidebar/sidebar.component.html","./libs/shared/ui/src/lib/components/app-shell-components/sidemenu/sidemenu.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/sidemenu/sidemenu.component.html","./libs/shared/ui/src/lib/components/app-shell-components/system-usage/system-usage.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/system-usage/system-usage.component.html","./libs/shared/ui/src/lib/components/app-shell-components/top-menu/top-menu.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/top-menu/top-menu.component.html","./libs/shared/ui/src/lib/components/app-shell-components/topmenu/topmenu.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/topmenu/topmenu.component.html","./libs/shared/ui/src/lib/components/app-shell-components/usermenu/usermenu.component.ts","./libs/shared/ui/src/lib/components/app-shell-components/usermenu/usermenu.component.html","./libs/shared/ui/src/lib/components/control-components/abstract-input/abstract-input.component.ts","./libs/shared/ui/src/lib/components/control-components/button-toggle/button-toggle.component.ts","./libs/shared/ui/src/lib/components/control-components/button-toggle/button-toggle.component.html","./libs/shared/ui/src/lib/components/control-components/button-toggle/toggle-button.directive.ts","./libs/shared/ui/src/lib/components/control-components/calendar/src/app/calendar/lib/utils/date.ts","./libs/shared/ui/src/lib/components/control-components/checkbox/checkbox.module.ts","./libs/shared/ui/src/lib/components/control-components/checkbox/checkbox/checkbox.component.ts","./libs/shared/ui/src/lib/components/control-components/checkbox/checkbox/checkbox.component.html","./libs/shared/ui/src/lib/components/control-components/dropdown/dropdown-menu/dropdown-menu.directive.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/dropdown-toggle/dropdown-toggle.directive.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/dropdown-value/dropdown-value.directive.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/dropdown.module.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/dropdown/dropdown.component.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/dropdown/dropdown.component.html","./libs/shared/ui/src/lib/components/control-components/dropdown/old/chip-typeahead/chip-typeahead.component.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/old/chip-typeahead/chip-typeahead.component.html","./libs/shared/ui/src/lib/components/control-components/dropdown/old/dropdown-optional/dropdown-optional.component.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/old/dropdown-optional/dropdown-optional.component.html","./libs/shared/ui/src/lib/components/control-components/dropdown/old/typeahead/typeahead.component.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/old/typeahead/typeahead.component.html","./libs/shared/ui/src/lib/components/control-components/dropdown/styles/dropdown-filter/dropdown-filter.component.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/styles/dropdown-filter/dropdown-filter.component.html","./libs/shared/ui/src/lib/components/control-components/dropdown/styles/dropdown-primary/dropdown-primary.component.ts","./libs/shared/ui/src/lib/components/control-components/dropdown/styles/dropdown-primary/dropdown-primary.component.html","./libs/shared/ui/src/lib/components/control-components/order-selector/order-selector.component.ts","./libs/shared/ui/src/lib/components/control-components/order-selector/order-selector.component.html","./libs/shared/ui/src/lib/components/control-components/radio-button/radio-button.component.ts","./libs/shared/ui/src/lib/components/control-components/radio-button/radio-button.component.html","./libs/shared/ui/src/lib/components/control-components/select-area/select-area.component.ts","./libs/shared/ui/src/lib/components/control-components/select-area/select-area.component.html","./libs/shared/ui/src/lib/components/control-components/selector/selector-group/selector-group.component.ts","./libs/shared/ui/src/lib/components/control-components/selector/selector-group/selector-group.component.html","./libs/shared/ui/src/lib/components/control-components/selector/selector-item/selector-item.component.ts","./libs/shared/ui/src/lib/components/control-components/selector/selector-item/selector-item.component.html","./libs/shared/ui/src/lib/components/control-components/selector/selector-primary/selector-primary.component.ts","./libs/shared/ui/src/lib/components/control-components/selector/selector-primary/selector-primary.component.html","./libs/shared/ui/src/lib/components/control-components/selector/selector.module.ts","./libs/shared/ui/src/lib/components/control-components/selector/selector/selector.component.ts","./libs/shared/ui/src/lib/components/control-components/selector/selector/selector.component.html","./libs/shared/ui/src/lib/components/control-components/text-area/text-area.component.ts","./libs/shared/ui/src/lib/components/control-components/text-area/text-area.component.html","./libs/shared/ui/src/lib/components/control-components/textbox/textbox.module.ts","./libs/shared/ui/src/lib/components/control-components/textbox/textbox/textbox.component.ts","./libs/shared/ui/src/lib/components/control-components/textbox/textbox/textbox.component.html","./libs/shared/ui/src/lib/components/control-components/upload-box/upload-box.component.ts","./libs/shared/ui/src/lib/components/control-components/upload-box/upload-box.component.html","./libs/shared/ui/src/lib/components/dynamic-components/accordion/accordion-item/accordion-item.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/accordion/accordion-item/accordion-item.component.html","./libs/shared/ui/src/lib/components/dynamic-components/accordion/accordion.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/accordion/accordion.component.html","./libs/shared/ui/src/lib/components/dynamic-components/breadcrumb/breadcrumb.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/breadcrumb/breadcrumb.component.html","./libs/shared/ui/src/lib/components/dynamic-components/breadcrumb/breadcrumb.interface.ts","./libs/shared/ui/src/lib/components/dynamic-components/error/error.module.ts","./libs/shared/ui/src/lib/components/dynamic-components/error/error/error.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/error/error/error.component.html","./libs/shared/ui/src/lib/components/dynamic-components/load-component/load-component.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/load-component/load-component.component.html","./libs/shared/ui/src/lib/components/dynamic-components/loading-overlay/loading-overlay.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/loading-overlay/loading-overlay.component.html","./libs/shared/ui/src/lib/components/dynamic-components/loading-overlay/loading-overlay.module.ts","./libs/shared/ui/src/lib/components/dynamic-components/modal/modal.module.ts","./libs/shared/ui/src/lib/components/dynamic-components/modal/modal/modal.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/modal/modal/modal.component.html","./libs/shared/ui/src/lib/components/dynamic-components/more-menu/more-menu-item/more-menu-item.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/more-menu/more-menu-item/more-menu-item.component.html","./libs/shared/ui/src/lib/components/dynamic-components/more-menu/more-menu.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/more-menu/more-menu.component.html","./libs/shared/ui/src/lib/components/dynamic-components/pagination/pagination.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/pagination/pagination.component.html","./libs/shared/ui/src/lib/components/dynamic-components/popper-menu/popper-menu.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/popper-menu/popper-menu.component.html","./libs/shared/ui/src/lib/components/dynamic-components/progress-bar/progress-bar.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/progress-bar/progress-bar.component.html","./libs/shared/ui/src/lib/components/dynamic-components/progress-steps/progress-steps.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/progress-steps/progress-steps.component.html","./libs/shared/ui/src/lib/components/dynamic-components/select-area-pipe/select-area-pipe.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/select-area-pipe/select-area-pipe.component.html","./libs/shared/ui/src/lib/components/dynamic-components/show-more/show-more-container.directive.ts","./libs/shared/ui/src/lib/components/dynamic-components/show-more/show-more.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/show-more/show-more.component.html","./libs/shared/ui/src/lib/components/dynamic-components/status-card/status-card.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/status-card/status-card.component.html","./libs/shared/ui/src/lib/components/dynamic-components/status-card/status-card.module.ts","./libs/shared/ui/src/lib/components/dynamic-components/step-filter/required-step/required-step.directive.ts","./libs/shared/ui/src/lib/components/dynamic-components/step-filter/step-filter-item/step-filter-item.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/step-filter/step-filter-item/step-filter-item.component.html","./libs/shared/ui/src/lib/components/dynamic-components/step-filter/step-filter.config.ts","./libs/shared/ui/src/lib/components/dynamic-components/step-filter/step-filter.module.ts","./libs/shared/ui/src/lib/components/dynamic-components/step-filter/step-filter/step-filter.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/step-filter/step-filter/step-filter.component.html","./libs/shared/ui/src/lib/components/dynamic-components/tabs/tabitem.interface.ts","./libs/shared/ui/src/lib/components/dynamic-components/tabs/tabs.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/tabs/tabs.component.html","./libs/shared/ui/src/lib/components/dynamic-components/wizard/wizard.component.ts","./libs/shared/ui/src/lib/components/dynamic-components/wizard/wizard.component.html","./libs/shared/ui/src/lib/components/static-components/button/button.module.ts","./libs/shared/ui/src/lib/components/static-components/button/button/button.component.ts","./libs/shared/ui/src/lib/components/static-components/button/button/button.component.html","./libs/shared/ui/src/lib/components/static-components/chip/chip.component.ts","./libs/shared/ui/src/lib/components/static-components/chip/chip.component.html","./libs/shared/ui/src/lib/components/static-components/collapse-button/collapse-button.component.ts","./libs/shared/ui/src/lib/components/static-components/collapse-button/collapse-button.component.html","./libs/shared/ui/src/lib/components/static-components/empty-content/empty-content.component.ts","./libs/shared/ui/src/lib/components/static-components/empty-content/empty-content.component.html","./libs/shared/ui/src/lib/components/static-components/header/header.module.ts","./libs/shared/ui/src/lib/components/static-components/header/header/header.component.ts","./libs/shared/ui/src/lib/components/static-components/header/header/header.component.html","./libs/shared/ui/src/lib/components/static-components/list/list.component.ts","./libs/shared/ui/src/lib/components/static-components/list/list.component.html","./libs/shared/ui/src/lib/components/static-components/loading/loading.module.ts","./libs/shared/ui/src/lib/components/static-components/loading/loading/loading.component.ts","./libs/shared/ui/src/lib/components/static-components/loading/loading/loading.component.html","./libs/shared/ui/src/lib/components/static-components/mark/mark.component.ts","./libs/shared/ui/src/lib/components/static-components/mark/mark.component.html","./libs/shared/ui/src/lib/components/static-components/meta-info/meta-info.component.ts","./libs/shared/ui/src/lib/components/static-components/meta-info/meta-info.component.html","./libs/shared/ui/src/lib/components/static-components/meta-info/meta-info.module.ts","./libs/shared/ui/src/lib/components/static-components/note/note.module.ts","./libs/shared/ui/src/lib/components/static-components/note/note/note.component.ts","./libs/shared/ui/src/lib/components/static-components/note/note/note.component.html","./libs/shared/ui/src/lib/components/static-components/overlay/overlay.component.ts","./libs/shared/ui/src/lib/components/static-components/overlay/overlay.component.html","./libs/shared/ui/src/lib/components/static-components/static-notification/static-notification.component.ts","./libs/shared/ui/src/lib/components/static-components/static-notification/static-notification.component.html","./libs/shared/ui/src/lib/components/static-components/table-area/table-area-list/table-area-list.directive.ts","./libs/shared/ui/src/lib/components/static-components/table-area/table-area-register/table-area-nested-element.directive.ts","./libs/shared/ui/src/lib/components/static-components/table-area/table-area-register/table-area-register.service.ts","./libs/shared/ui/src/lib/components/static-components/table-area/table-area.module.ts","./libs/shared/ui/src/lib/components/static-components/table-area/table-area/table-area.component.ts","./libs/shared/ui/src/lib/components/static-components/table-area/table-area/table-area.component.html","./libs/shared/ui/src/lib/components/static-components/table-area/table-area/table-area.service.ts","./libs/shared/ui/src/lib/components/static-components/table-cell-clickable/table-cell-clickable.component.ts","./libs/shared/ui/src/lib/components/static-components/table-cell-clickable/table-cell-clickable.component.html","./libs/shared/ui/src/lib/components/static-components/table-cell-image/table-cell-image.component.ts","./libs/shared/ui/src/lib/components/static-components/table-cell-image/table-cell-image.component.html","./libs/shared/ui/src/lib/components/static-components/table-cell-text/table-cell-text.component.ts","./libs/shared/ui/src/lib/components/static-components/table-cell-text/table-cell-text.component.html","./libs/shared/ui/src/lib/components/static-components/table/table-column/table-column.component.ts","./libs/shared/ui/src/lib/components/static-components/table/table-column/table-column.component.html","./libs/shared/ui/src/lib/components/static-components/table/table-head/table-head.component.ts","./libs/shared/ui/src/lib/components/static-components/table/table-head/table-head.component.html","./libs/shared/ui/src/lib/components/static-components/table/table.configuration.ts","./libs/shared/ui/src/lib/components/static-components/table/table.module.ts","./libs/shared/ui/src/lib/components/static-components/table/table/table.component.ts","./libs/shared/ui/src/lib/components/static-components/table/table/table.component.html","./libs/shared/ui/src/lib/components/template-components/page/page.module.ts","./libs/shared/ui/src/lib/components/template-components/page/page/page.component.ts","./libs/shared/ui/src/lib/components/template-components/page/page/page.component.html","./libs/shared/ui/src/lib/directives/click-away/click-away.module.ts","./libs/shared/ui/src/lib/directives/click-away/click-away/click-away.directive.ts","./libs/shared/ui/src/lib/directives/foldable/foldable.module.ts","./libs/shared/ui/src/lib/directives/foldable/foldable/foldable.directive.ts","./libs/shared/ui/src/lib/directives/hesitate.directive.ts","./libs/shared/ui/src/lib/directives/image/image.directive.ts","./libs/shared/ui/src/lib/directives/image/image.module.ts","./libs/shared/ui/src/lib/directives/is-disabled.directive.ts","./libs/shared/ui/src/lib/directives/numbers-only/numbers-only.module.ts","./libs/shared/ui/src/lib/directives/numbers-only/numbers-only/numbers-only.directive.ts","./libs/shared/ui/src/lib/directives/table-sticky.directive.ts","./libs/shared/ui/src/lib/directives/text-overflow/text-overflow.module.ts","./libs/shared/ui/src/lib/directives/text-overflow/text-overflow/text-overflow.directive.ts","./libs/shared/ui/src/lib/directives/tooltip/tooltip.module.ts","./libs/shared/ui/src/lib/directives/tooltip/tooltip/tooltip.directive.ts","./libs/shared/ui/src/lib/pipes/sidemenu/of-sub-menu.pipe.ts","./libs/shared/ui/src/lib/pipes/wizard/constraints-to-textbox-type.pipe.ts","./libs/shared/ui/src/lib/pipes/wizard/in/in.module.ts","./libs/shared/ui/src/lib/pipes/wizard/in/pipe/in.pipe.ts","./libs/shared/ui/src/lib/pipes/wizard/key-value-to-map.pipe.ts","./libs/shared/ui/src/lib/pipes/wizard/key-value-to-select-items.pipe.ts","./libs/shared/ui/src/lib/popover/max-size/modifier.ts","./libs/shared/ui/src/lib/popover/max-size/popper-options.ts","./libs/shared/ui/src/lib/popover/min-width.ts","./libs/shared/ui/src/lib/services/typeahead-popover.service.ts","./libs/shared/ui/src/lib/shared-ui.configuration.ts","./libs/shared/ui/src/lib/shared-ui.module.ts","./libs/shared/util/src/index.ts","./libs/shared/util/src/lib/appInit/services/app-checker.service.ts","./libs/shared/util/src/lib/directives/if-content/if-content.module.ts","./libs/shared/util/src/lib/directives/if-content/if-content/if-content.directive.ts","./libs/shared/util/src/lib/directives/keyboard-search/directives/keyboard-search-element/keyboard-search-element.directive.ts","./libs/shared/util/src/lib/directives/keyboard-search/directives/keyboard-search/keyboard-search.directive.ts","./libs/shared/util/src/lib/directives/keyboard-search/keyboard-search.module.ts","./libs/shared/util/src/lib/directives/keyboard-search/services/keyboard-listener.service.ts","./libs/shared/util/src/lib/directives/lazy-load/lazy-load.module.ts","./libs/shared/util/src/lib/directives/lazy-load/lazy-load/lazy-load.directive.ts","./libs/shared/util/src/lib/directives/regulation-click/regulation-click.module.ts","./libs/shared/util/src/lib/directives/regulation-click/regulation-click/regulation-click.directive.ts","./libs/shared/util/src/lib/directives/same-width/same-width.directive.ts","./libs/shared/util/src/lib/directives/same-width/same-width.service.ts","./libs/shared/util/src/lib/forms/formArrayValidatorMinMaxSelectedCheckboxes.ts","./libs/shared/util/src/lib/general/counter.ts","./libs/shared/util/src/lib/general/formatter.ts","./libs/shared/util/src/lib/general/web-worker/util.worker.factory.ts","./libs/shared/util/src/lib/general/web-worker/util.worker.ts","./libs/shared/util/src/lib/pipes/can-access.pipe.ts","./libs/shared/util/src/lib/pipes/comma-separated.pipe.ts","./libs/shared/util/src/lib/pipes/entities-to-ids.pipe.ts","./libs/shared/util/src/lib/pipes/filter.pipe.ts","./libs/shared/util/src/lib/pipes/has-only/has-only.module.ts","./libs/shared/util/src/lib/pipes/has-only/has-only/has-only.pipe.ts","./libs/shared/util/src/lib/pipes/has.pipe.ts","./libs/shared/util/src/lib/pipes/ids-to-entities.pipe.ts","./libs/shared/util/src/lib/pipes/inline-transloco/inline-transloco.module.ts","./libs/shared/util/src/lib/pipes/inline-transloco/inline-transloco/inline-transloco.pipe.ts","./libs/shared/util/src/lib/pipes/invoke.pipe.ts","./libs/shared/util/src/lib/pipes/join.pipe.ts","./libs/shared/util/src/lib/pipes/keep-map-order/keep-map-order.module.ts","./libs/shared/util/src/lib/pipes/keep-map-order/keep-map-order/keep-map-order.pipe.ts","./libs/shared/util/src/lib/pipes/modify/modify.module.ts","./libs/shared/util/src/lib/pipes/modify/modify/modify.pipe.ts","./libs/shared/util/src/lib/pipes/name-via-id-in-list.pipe.ts","./libs/shared/util/src/lib/pipes/names-by-ids.pipe.ts","./libs/shared/util/src/lib/pipes/reduce.pipe.ts","./libs/shared/util/src/lib/pipes/sort/sort.module.ts","./libs/shared/util/src/lib/pipes/sort/sort/sort.pipe.ts","./libs/shared/util/src/lib/pipes/splice.pipe.ts","./libs/shared/util/src/lib/pipes/to-map.pipe.ts","./libs/shared/util/src/lib/pipes/to-observable.pipe.ts","./libs/shared/util/src/lib/pipes/to-string.pipe.ts","./libs/shared/util/src/lib/pipes/unescape.pipe.ts","./libs/shared/util/src/lib/pipes/user-rights-designation.pipe.ts","./libs/shared/util/src/lib/pipes/user-rights.pipe.ts","./libs/shared/util/src/lib/rxjs/rxjs.functions.ts","./libs/shared/util/src/lib/rxjs/rxjs.operators.ts","./libs/shared/util/src/lib/screen/directives/screen.directive.ts","./libs/shared/util/src/lib/screen/services/screen.service.ts","./libs/shared/util/src/lib/shared-util.module.ts","./libs/shared/util/src/lib/subjects/local-storage-subject.ts","./libs/shared/util/src/lib/text-measurement/text-measurement.service.ts","./libs/shared/util/src/lib/type-guards/selector-group.type-guard.ts","./libs/shared/util/src/lib/type-guards/selector-item.type-guard.ts","./libs/shared/util/src/lib/web-worker/web-worker.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { AuthGuard } from '@evasys/shared/feature';\nimport { SystemActivationGuard } from '../../../../libs/evasys/shared/feature/src/lib/system-activation/guards/system-activation.guard';\n\nconst routes: Routes = [\n\t{\n\t\tpath: '',\n\t\tloadChildren: () =>\n\t\t\timport('@evasys/evasys/authentication/feature').then((m) => m.EvasysAuthenticationFeatureModule),\n\t},\n\t{\n\t\tpath: 'subunits',\n\t\tloadChildren: () => import('@evasys/evasys/subunit/feature').then((m) => m.EvasysSubunitFeatureModule),\n\t\tcanActivate: [AuthGuard, SystemActivationGuard],\n\t\tdata: {\n\t\t\trights: [UserRightsEnum.ADMINISTRATOR, UserRightsEnum.SUBSECTION_ADMINISTRATOR],\n\t\t},\n\t},\n\t{\n\t\tpath: '**',\n\t\tredirectTo: '',\n\t},\n];\n\n@NgModule({\n\timports: [RouterModule.forRoot(routes)],\n\texports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { inject, Injectable } from '@angular/core';\nimport { TranslocoLoader } from '@ngneat/transloco';\nimport { TranslateService } from '../../../../libs/shared/core/src';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class EvasysTranslateLoader implements TranslocoLoader {\n\t//region Injections\n\tprivate readonly translateService = inject(TranslateService);\n\n\t//endregion\n\n\t/**\n\t * Gets the translations from the server\n\t */\n\tgetTranslation(lang: string): Observable {\n\t\tthis.translateService.clear();\n\t\treturn this.translateService.getTranslation(lang, ['ada', 'api-error', 'oadmin']);\n\t}\n}\n","import { TRANSLOCO_CONFIG, TRANSLOCO_LOADER, TranslocoModule } from '@ngneat/transloco';\nimport { environment } from '@evasys/globals/evasys/environments/environment';\nimport { NgModule } from '@angular/core';\nimport { SharedCoreModule, TranslateService } from '@evasys/shared/core';\nimport { ApplicationInit } from './app.init';\nimport { EvasysTranslateLoader } from './app-translate.loader';\n\n@NgModule({\n\texports: [TranslocoModule],\n\timports: [SharedCoreModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: TRANSLOCO_CONFIG,\n\t\t\tuseValue: {\n\t\t\t\tavailableLangs: [\n\t\t\t\t\t'de_edu',\n\t\t\t\t\t'de_com',\n\t\t\t\t\t'de_qmc',\n\t\t\t\t\t'en_edu',\n\t\t\t\t\t'en_com',\n\t\t\t\t\t'en_qmc',\n\t\t\t\t\t'es_edu',\n\t\t\t\t\t'es_com',\n\t\t\t\t\t'es_qmc',\n\t\t\t\t\t'fr_edu',\n\t\t\t\t\t'fr_com',\n\t\t\t\t\t'fr_qmc',\n\t\t\t\t\t'hu_edu',\n\t\t\t\t\t'hu_com',\n\t\t\t\t\t'hu_qmc',\n\t\t\t\t\t'se_edu',\n\t\t\t\t\t'se_com',\n\t\t\t\t\t'se_qmc',\n\t\t\t\t],\n\t\t\t\treRenderOnLangChange: true,\n\t\t\t\tprodMode: environment.production,\n\t\t\t},\n\t\t\tdeps: [ApplicationInit],\n\t\t},\n\t\t{\n\t\t\tprovide: TRANSLOCO_LOADER,\n\t\t\tuseClass: EvasysTranslateLoader,\n\t\t\tdeps: [TranslateService],\n\t\t},\n\t],\n})\nexport class AppTranslationModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-root',\n\ttemplateUrl: './app.component.html',\n\tstyleUrls: ['./app.component.scss'],\n})\nexport class AppComponent {\n\t//#region Variables\n\t//#endregion Variables\n\t//#region Events\n\t//#endregion Events\n\t//region Methods\n\t//endregion\n}\n","\n\n\n\n\n\n\n\t\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '@evasys/globals/evasys/environments/environment';\nimport { firstValueFrom, map, tap } from 'rxjs';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { AuthUserService, ConfigService } from '@evasys/shared/core';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { contrast, hexToRgb, isLight, mix, shade, tint } from '@evasys/globals/shared/helper/color';\nimport { Dictionary } from '@ngrx/entity';\nimport { SystemInfoService } from '@evasys/evasys/shared/core';\n\nexport function initDefaultLanguage(\n\tapplicationInit: ApplicationInit,\n\thttpClient: HttpClient,\n\ttranslocoService: TranslocoService,\n\tauthUserService: AuthUserService\n) {\n\treturn (): Promise => {\n\t\treturn applicationInit.initDefaultLanguage(httpClient, translocoService, authUserService);\n\t};\n}\n\nexport function initColorSettings(applicationInit: ApplicationInit, document: Document, configService: ConfigService) {\n\treturn (): Promise => {\n\t\treturn applicationInit.initColorSettings(document, configService);\n\t};\n}\n\nexport function initTitle(applicationInit: ApplicationInit, document: Document, systemInfoService: SystemInfoService) {\n\treturn () => applicationInit.initTitle(document, systemInfoService);\n}\n\n@Injectable()\nexport class ApplicationInit {\n\tpublic initDefaultLanguage(\n\t\thttpClient: HttpClient,\n\t\ttranslocoService: TranslocoService,\n\t\tauthUserService: AuthUserService\n\t) {\n\t\treturn authUserService.authenticatedUserPromise\n\t\t\t.then((user) => {\n\t\t\t\tif (user && user.id) {\n\t\t\t\t\treturn firstValueFrom(authUserService.authenticateUser(user?.id?.toString()));\n\t\t\t\t} else {\n\t\t\t\t\treturn user;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((user) => {\n\t\t\t\tif (user && user.lang && user.flavor) {\n\t\t\t\t\tconst lang = user.lang + '_' + user.flavor;\n\t\t\t\t\ttranslocoService.setDefaultLang(lang);\n\t\t\t\t\ttranslocoService.setActiveLang(lang);\n\t\t\t\t} else {\n\t\t\t\t\treturn firstValueFrom(\n\t\t\t\t\t\thttpClient.get(environment.apiHref + 'configs?filter=name eq DEFAULT_LANGUAGE').pipe(\n\t\t\t\t\t\t\tmap(\n\t\t\t\t\t\t\t\t(configResponse: any) =>\n\t\t\t\t\t\t\t\t\tconfigResponse.results[0].value ?? configResponse.results[0].oldValue\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttap((lang) => {\n\t\t\t\t\t\t\t\ttranslocoService.setDefaultLang(lang);\n\t\t\t\t\t\t\t\ttranslocoService.setActiveLang(lang);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tpublic initColorSettings(document: Document, configService: ConfigService): Promise {\n\t\tconst self = ApplicationInit;\n\n\t\treturn firstValueFrom(\n\t\t\tconfigService\n\t\t\t\t.getManyConfigs(\n\t\t\t\t\t[\n\t\t\t\t\t\t'bgcolor1',\n\t\t\t\t\t\t'bgcolor2',\n\t\t\t\t\t\t'bgcolor3',\n\t\t\t\t\t\t'bgcolor4',\n\t\t\t\t\t\t'bgcolor5',\n\t\t\t\t\t\t'bgcolor6',\n\t\t\t\t\t\t'bgcolor7',\n\t\t\t\t\t\t'bgcolor8',\n\t\t\t\t\t\t'bgcolor9',\n\t\t\t\t\t\t'bgcolor10',\n\t\t\t\t\t\t'tabcolor1',\n\t\t\t\t\t\t'tabcolor2',\n\t\t\t\t\t\t'tabcolor3',\n\t\t\t\t\t\t'tabcolor4',\n\t\t\t\t\t\t'tabcolor5',\n\t\t\t\t\t\t'color1',\n\t\t\t\t\t\t'color2',\n\t\t\t\t\t\t'color3',\n\t\t\t\t\t\t'color4',\n\t\t\t\t\t\t'color5',\n\t\t\t\t\t\t'color6',\n\t\t\t\t\t\t'color_primary',\n\t\t\t\t\t\t'color_secondary',\n\t\t\t\t\t\t'color_light',\n\t\t\t\t\t\t'color_table_border',\n\t\t\t\t\t\t'color_card_background',\n\t\t\t\t\t\t'color_card_font',\n\t\t\t\t\t],\n\t\t\t\t\tEvasysLoadingStrategiesEnum.APIONLY\n\t\t\t\t)\n\t\t\t\t.pipe(map((colors) => self.buildColorMap(colors)))\n\t\t).then((colorMap) => {\n\t\t\tlet colorSettingStyles = document.querySelector('#colorSettingStyles');\n\t\t\tif (!colorSettingStyles) {\n\t\t\t\tcolorSettingStyles = document.createElement('style');\n\t\t\t\tcolorSettingStyles.id = 'colorSettingStyles';\n\n\t\t\t\tdocument.querySelector('head').appendChild(colorSettingStyles);\n\t\t\t}\n\n\t\t\tlet colorSettingSheet = ':root{';\n\n\t\t\tcolorMap.forEach((color, varName) => {\n\t\t\t\tif (color) {\n\t\t\t\t\tcolorSettingSheet += `--${varName}:${color};`;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tcolorSettingSheet += '}';\n\n\t\t\tcolorSettingStyles.innerHTML = colorSettingSheet;\n\t\t});\n\t}\n\n\tprivate static buildColorMap(colors: Dictionary): Map {\n\t\tconst self = ApplicationInit;\n\n\t\tconst colorMap = new Map();\n\n\t\tconst topmenuBg = colors['bgcolor9'];\n\t\tcolorMap.set('eva-topmenu-bg', topmenuBg);\n\t\tcolorMap.set('eva-topmenu-logo-bg', colors['bgcolor10']);\n\t\tcolorMap.set('eva-topmenu-item-color', colors['color6']);\n\t\tcolorMap.set('eva-topmenu-item-active-color', colors['bgcolor5']);\n\n\t\tcolorMap.set('eva-sidebar-bg', colors['bgcolor1']);\n\t\tcolorMap.set('eva-sidemenu-item-color', colors['bgcolor8']);\n\t\tcolorMap.set('eva-sidemenu-item-hover-color', colors['bgcolor4']);\n\t\tcolorMap.set('eva-sidemenu-heading-bg', colors['bgcolor3']);\n\t\tcolorMap.set('eva-sidemenu-heading-color', colors['color1']);\n\t\tcolorMap.set('eva-sidemenu-item-active-bg', colors['bgcolor7']);\n\t\tcolorMap.set('eva-sidemenu-item-active-color', colors['bgcolor6']);\n\n\t\tself.addColorWithRgb(colorMap, 'bs-body-bg', colors['bgcolor2']);\n\t\tself.addColorWithRgb(colorMap, 'bs-body-color', colors['color2']);\n\t\tconst primary = colors['color_primary'];\n\t\tself.addColorWithRgb(colorMap, 'bs-primary', primary);\n\t\tconst secondary = colors['color_secondary'];\n\t\tself.addColorWithRgb(colorMap, 'bs-secondary', secondary);\n\t\tconst light = colors['color_light'];\n\t\tself.addColorWithRgb(colorMap, 'bs-light', light);\n\n\t\tcolorMap.set('eva-link-color', colors['color3']);\n\t\tcolorMap.set('eva-link-hover-color', colors['color5']);\n\t\tcolorMap.set('eva-hint-color', colors['color4']);\n\n\t\tcolorMap.set('eva-table-row-bg-odd', colors['tabcolor1']);\n\t\tcolorMap.set('eva-table-row-bg-even', colors['tabcolor2']);\n\t\tcolorMap.set('eva-table-header-bg', colors['tabcolor3']);\n\t\tcolorMap.set('eva-table-header-color', colors['tabcolor4']);\n\t\tcolorMap.set('eva-table-row-color', colors['tabcolor5']);\n\t\tcolorMap.set('eva-table-border-color', colors['color_table_border']);\n\n\t\tcolorMap.set('eva-card-bg', colors['color_card_background']);\n\t\tcolorMap.set('eva-card-color', colors['color_card_font']);\n\n\t\t// region grays\n\n\t\tconst gray2 = '#fafafa';\n\t\tconst gray20 = '#cccccc';\n\t\tconst gray40 = '#9a9a9a';\n\t\tconst gray70 = '#4c4c4c';\n\t\tconst gray75 = '#3e3e3e';\n\t\tconst gray80 = '#333333';\n\t\tconst gray85 = '#222222';\n\t\tconst gray90 = '#191919';\n\t\tconst black = '#000000';\n\n\t\tconst lightTheme = !topmenuBg || isLight(topmenuBg);\n\n\t\tconst usedGray2 = lightTheme ? gray2 : gray20;\n\t\tcolorMap.set('eva-gray2', usedGray2);\n\t\tconst usedGray20 = gray20;\n\t\tcolorMap.set('eva-gray20', usedGray20);\n\t\tconst usedGray40 = lightTheme ? gray20 : gray40;\n\t\tcolorMap.set('eva-gray40', usedGray40);\n\t\tconst usedGray70 = gray70;\n\t\tcolorMap.set('eva-gray70', usedGray70);\n\t\tconst usedGray75 = lightTheme ? gray70 : gray75;\n\t\tcolorMap.set('eva-gray75', usedGray75);\n\t\tconst usedGray80 = gray80;\n\t\tcolorMap.set('eva-gray80', usedGray80);\n\t\tconst usedGray85 = lightTheme ? gray80 : gray85;\n\t\tcolorMap.set('eva-gray85', usedGray85);\n\t\tconst usedGray90 = lightTheme ? gray80 : gray90;\n\t\tcolorMap.set('eva-gray90', usedGray90);\n\n\t\tself.addColorWithRgb(colorMap, 'bs-black', lightTheme ? black : gray90);\n\n\t\t// region Bootstrap grays\n\n\t\tcolorMap.set('bs-gray-100', usedGray2);\n\t\tcolorMap.set('bs-gray-200', usedGray20);\n\t\tcolorMap.set('bs-gray-300', usedGray20);\n\t\tcolorMap.set('bs-gray-400', usedGray40);\n\t\tcolorMap.set('bs-gray-500', usedGray70);\n\n\t\tcolorMap.set('bs-gray-600', usedGray75);\n\t\tcolorMap.set('bs-gray', usedGray75);\n\n\t\tcolorMap.set('bs-gray-700', usedGray80);\n\n\t\tcolorMap.set('bs-gray-800', usedGray85);\n\t\tcolorMap.set('bs-gray-dark', usedGray85);\n\n\t\tcolorMap.set('bs-gray-900', usedGray90);\n\t\tself.addColorWithRgb(colorMap, 'bs-dark', usedGray90);\n\n\t\t// endregion Bootstrap grays\n\n\t\t// endregion grays\n\n\t\t// region generated colors\n\t\tconst buttons: Dictionary = {};\n\t\tif (primary) {\n\t\t\tcolorMap.set('eva-primary-contrast-color', contrast(primary));\n\t\t\tbuttons.primary = primary;\n\t\t}\n\t\tif (secondary) {\n\t\t\tcolorMap.set('eva-secondary-contrast-color', contrast(secondary));\n\t\t\tbuttons.secondary = secondary;\n\t\t}\n\t\tif (light) {\n\t\t\tcolorMap.set('eva-light-contrast-color', contrast(light));\n\t\t}\n\n\t\t// region specialized\n\n\t\tcolorMap.set('eva-dropdown-link-hover-color', mix(black, usedGray90, 0.1));\n\n\t\tself.generateButtonColors(colorMap, buttons);\n\n\t\t// endregion specialized\n\n\t\t// endregion generated colors\n\n\t\treturn colorMap;\n\t}\n\n\tprivate static generateButtonColors(colorMap: Map, buttons: Dictionary): void {\n\t\tfor (const [name, value] of Object.entries(buttons)) {\n\t\t\tconst shouldTint = isLight(value);\n\n\t\t\tconst hoverBg = shouldTint ? tint(value, 0.15) : shade(value, 0.15);\n\t\t\tcolorMap.set('eva-btn-hover-bg-' + name, hoverBg);\n\t\t\tcolorMap.set('eva-btn-hover-border-' + name, shouldTint ? tint(value, 0.1) : shade(value, 0.2));\n\t\t\tcolorMap.set('eva-btn-hover-bg-' + name + '-contrast', contrast(hoverBg));\n\n\t\t\tconst activeBg = shouldTint ? tint(value, 0.2) : shade(value, 0.2);\n\t\t\tcolorMap.set('eva-btn-active-bg-' + name, activeBg);\n\t\t\tcolorMap.set('eva-btn-active-border-' + name, shouldTint ? tint(value, 0.1) : shade(value, 0.25));\n\t\t\tcolorMap.set('eva-btn-active-bg-' + name + '-contrast', contrast(activeBg));\n\t\t}\n\t}\n\n\tprivate static addColorWithRgb(colorMap: Map, name: string, color: string): void {\n\t\tif (color) {\n\t\t\tcolorMap.set(name, color);\n\t\t\tcolorMap.set(name + '-rgb', hexToRgb(color).join());\n\t\t}\n\t}\n\n\tpublic initTitle(document: Document, systemInfoService: SystemInfoService): void {\n\t\tfirstValueFrom(systemInfoService.getOne('system_type', EvasysLoadingStrategiesEnum.APIONLY))\n\t\t\t.then((systemInfo) => (document.querySelector('title').textContent = systemInfo?.value))\n\t\t\t.catch((err) => console.error('Can not init the title: ', err));\n\t}\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\n\nimport { AppComponent } from './app.component';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { StoreModule } from '@ngrx/store';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { EffectsModule } from '@ngrx/effects';\nimport { environment } from '../../../../globals/evasys/environments/environment';\nimport { AppRoutingModule } from './app-routing.module';\nimport { APP_BASE_HREF, DOCUMENT } from '@angular/common';\nimport { AuthUserService, ConfigService, SharedCoreConfiguration, SharedCoreModule } from '@evasys/shared/core';\nimport { SharedUtilModule, UserRightsPipe } from '@evasys/shared/util';\nimport { SharedFeatureModule } from '@evasys/shared/feature';\nimport { SharedUiModule } from '@evasys/shared/ui';\nimport { AppTranslationModule } from './app-translation.module';\nimport { EvasysUserModel } from '@evasys/globals/shared/models/general/evasys-user.model';\nimport { EvasysSharedFeatureModule } from '@evasys/evasys/shared/feature';\nimport { EvasysSharedCoreModule, SystemInfoService } from '@evasys/evasys/shared/core';\nimport { EvasysSharedUtilModule } from '@evasys/evasys/shared/util';\nimport { ApplicationInit, initColorSettings, initDefaultLanguage, initTitle } from './app.init';\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\nimport { EvasysSharedUiModule } from '@evasys/evasys/shared/ui';\nimport { globalReducer } from '../../../../libs/shared/core/src/lib/reducers/global.reducer';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { ExternalIdUserModel } from '@evasys/globals/evasys/models/business/external-id-user.model';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { EvasysRevokeTokenTypeEnum } from '@evasys/globals/shared/models/general/evasys-revoke-token-type.enum';\nimport { StepFilterModule } from '../../../../libs/shared/ui/src/lib/components/dynamic-components/step-filter/step-filter.module';\nimport { TableModule } from '../../../../libs/shared/ui/src/lib/components/static-components/table/table.module';\n\nconst sharedCoreConfiguration = {\n\tapi: {\n\t\tauth: 'oauth',\n\t\tuser: 'users',\n\t\ttranslation: 'translate',\n\t\tconfig: 'configs',\n\t\tstatus: 'status',\n\t\tbaseUrl: environment.apiHref,\n\t\trevokeTokenType: EvasysRevokeTokenTypeEnum.ACCESS_TOKEN,\n\t},\n\tauth: {\n\t\tclientId: environment.clientId,\n\t\tclientSecret: environment.clientSecret,\n\t},\n\tuserMap: (apiData: any) => {\n\t\tconst userRightPipe = new UserRightsPipe();\n\t\tconst userRights = userRightPipe.transform(apiData.userRights);\n\t\tconst adminRights = userRights?.find(\n\t\t\t(userRight) =>\n\t\t\t\tuserRight === UserRightsEnum.ADMINISTRATOR || userRight === UserRightsEnum.SUBSECTION_ADMINISTRATOR\n\t\t);\n\t\treturn {\n\t\t\tuserRights,\n\t\t\tactiveRight: userRights ? adminRights ?? userRights[0] : undefined,\n\t\t\tid: apiData.id,\n\t\t\tlevel: apiData.level,\n\t\t\tfirstname: apiData.firstname,\n\t\t\tsurname: apiData.surname,\n\t\t\tactive: apiData.active,\n\t\t\tfullName: apiData.fullName ?? apiData._additionalData?.fullName,\n\t\t\tlang: apiData._additionalData?.languageSet.lang,\n\t\t\tflavor: apiData._additionalData?.languageSet.flavor,\n\t\t\tencryptedId: apiData.encryptedId,\n\t\t\tsubunitLogo: apiData.subunitLogo,\n\t\t\tsubunitName: apiData.subunitName,\n\t\t\tonlineTemplatesAccess: apiData.onlineTemplatesAccess,\n\t\t} as EvasysUserModel | ExternalIdUserModel;\n\t},\n} as SharedCoreConfiguration;\n\n@NgModule({\n\tdeclarations: [AppComponent],\n\tproviders: [\n\t\tApplicationInit,\n\t\t{ provide: APP_BASE_HREF, useValue: environment.baseHref },\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: initTitle,\n\t\t\tdeps: [ApplicationInit, DOCUMENT, SystemInfoService],\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: initDefaultLanguage,\n\t\t\tdeps: [ApplicationInit, HttpClient, TranslocoService, AuthUserService],\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: APP_INITIALIZER,\n\t\t\tuseFactory: initColorSettings,\n\t\t\tdeps: [ApplicationInit, DOCUMENT, ConfigService],\n\t\t\tmulti: true,\n\t\t},\n\t],\n\timports: [\n\t\t//#region AppModules\n\t\tAppRoutingModule,\n\t\tAppTranslationModule,\n\t\t//#endregion AppModules\n\t\t//#region GeneralModules\n\t\tTranslocoModule,\n\t\tHttpClientModule,\n\t\tBrowserModule,\n\t\tBrowserAnimationsModule,\n\t\tScrollingModule,\n\t\t//#endregion GeneralModules\n\t\t//#region ReduxModules\n\t\tStoreModule.forRoot({}, { metaReducers: [globalReducer] }),\n\t\tStoreDevtoolsModule.instrument({\n\t\t\tmaxAge: 50,\n\t\t\tlogOnly: environment.production,\n\t\t}),\n\t\tEffectsModule.forRoot(),\n\t\t//#endregion ReduxModules\n\t\t//#region SharedModules\n\t\tSharedUiModule.forRoot({\n\t\t\ttranslations: {\n\t\t\t\twizard: {\n\t\t\t\t\tcancel: 'S_BUTTON_CANCEL',\n\t\t\t\t\tback: 'S_BUTTON_BACK',\n\t\t\t\t\tnext: 'S_NEXT',\n\t\t\t\t\tsubmit: 'S_BUTTON_SAVE',\n\t\t\t\t\terrorMessages: {\n\t\t\t\t\t\trequired: 'S_FIELD_REQUIRED',\n\t\t\t\t\t\tmaxLength: 'S_FIELD_MAXLENGTH',\n\t\t\t\t\t\tminLength: 'S_FIELD_MINLENGTH',\n\t\t\t\t\t\tmax: 'S_FIELD_MAX',\n\t\t\t\t\t\tmin: 'S_FIELD_MIN',\n\t\t\t\t\t\temailType: 'S_FIELD_EMAIL_TYPE',\n\t\t\t\t\t\tequal: 'S_FIELD_EQUAL',\n\t\t\t\t\t\tsecurePassword: 'S_PASSWORD_CHECK_GUIDELINE',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tuploadBox: {\n\t\t\t\t\tsearch: 'S_FILEINPUT_BROWSE',\n\t\t\t\t\tnoFile: 'S_FILEINPUT_NO_FILE_SELECTED',\n\t\t\t\t},\n\t\t\t\tusermenu: {\n\t\t\t\t\tlogoutButtonText: 'S_MENU_LOGOUT',\n\t\t\t\t\tchangeRoleDropdownText: 'S_CHANGE_ROLE',\n\t\t\t\t\tswitchUserText: 'S_MENU_CHANGEUSER',\n\t\t\t\t\tuserMenuIconTitle: 'S_USER_MENU',\n\t\t\t\t},\n\t\t\t\tsearchHelp: {\n\t\t\t\t\tsearchMenuButtonText: 'S_MENU_SEARCH_SINGLE',\n\t\t\t\t\thelpMenuButtonText: 'S_HELP',\n\t\t\t\t\tsearchSubmitButtonAltText: 'S_MENU_SEARCH',\n\t\t\t\t\tsearchTextboxLabel: 'S_SEARCH_SYSTEM_LABEL',\n\t\t\t\t\thelpTextboxLabel: 'S_SEARCH_ONLINEHELP_LABEL',\n\t\t\t\t},\n\t\t\t\tsystemUsage: {\n\t\t\t\t\theadlineTranslation: 'S_SYSTEMUSAGE_HEADLINE',\n\t\t\t\t\tsystemTranslation: {\n\t\t\t\t\t\tevasys: 'S_SYSTEMUSAGE_MENU_USERS',\n\t\t\t\t\t\tevaexam: 'S_SYSTEMUSAGE_MENU_USERS_EXAM',\n\t\t\t\t\t},\n\t\t\t\t\tonlineUserTranslation: {\n\t\t\t\t\t\tevasys: 'S_SYSTEMUSAGE_MENU_ONLINE',\n\t\t\t\t\t\tevaexam: 'S_SYSTEMUSAGE_MENU_ONLINE_EXAM',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpagination: {\n\t\t\t\t\tnextButtonText: 'S_BUTTON_NEXT',\n\t\t\t\t\tbackButtonText: 'S_BUTTON_PREVIOUS',\n\t\t\t\t},\n\t\t\t\tsidebar: {\n\t\t\t\t\tpermanentlyOpen: 'S_PERMANENTLY_OPEN',\n\t\t\t\t},\n\t\t\t\tpopperMenu: {\n\t\t\t\t\tshowAll: 'S_SHOW_ALL_ITEMS',\n\t\t\t\t\tnoItemsFound: 'S_ITEMS_NOT_FOUND',\n\t\t\t\t},\n\t\t\t\tproductsMenu: {\n\t\t\t\t\tswitchTo: 'S_PRODUCT_MENU_SWITCH',\n\t\t\t\t\tproducts: 'S_PRODUCT_MENU_TOGGLE',\n\t\t\t\t},\n\t\t\t\tnotificationCollection: {\n\t\t\t\t\tnotificationIconTitle: '',\n\t\t\t\t},\n\t\t\t\tchipTypeahead: {\n\t\t\t\t\tselectAll: '',\n\t\t\t\t\tremoveAll: '',\n\t\t\t\t\tremoveAllTooltip: '',\n\t\t\t\t},\n\t\t\t\tlegalNotice: {\n\t\t\t\t\ttext: 'DATA_PRIVACY_TEXT',\n\t\t\t\t\tlink: 'DATA_PRIVACY_LINK',\n\t\t\t\t},\n\t\t\t\tshowMore: {\n\t\t\t\t\tshowMore: '',\n\t\t\t\t},\n\t\t\t\ttypeahead: {\n\t\t\t\t\tloading: '',\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\tStepFilterModule.forRoot({\n\t\t\ttranslation: {\n\t\t\t\tback: 'S_BUTTON_BACK',\n\t\t\t\tnext: 'S_NEXT',\n\t\t\t\tclear: 'S_CLEAR',\n\t\t\t},\n\t\t}),\n\t\tTableModule.forRoot({\n\t\t\ttranslations: {\n\t\t\t\ttableHead: {\n\t\t\t\t\tsortAscending: 'S_ASCENDING',\n\t\t\t\t\tsortDescending: 'S_DESCENDING',\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\tSharedFeatureModule.forRoot({\n\t\t\tclientSecret: environment.clientSecret,\n\t\t\tisApiUrl: (requestUrl: string) => requestUrl.startsWith(environment.apiHref),\n\t\t\tcatchAllHttpErrors: true,\n\t\t}),\n\t\tSharedCoreModule.forRoot(sharedCoreConfiguration),\n\t\tSharedUtilModule,\n\t\t//#endregion SharedModules\n\t\t//#region EvasysSharedModules\n\t\tEvasysSharedFeatureModule.forRoot({\n\t\t\tmultiPageUrl: environment.oldWorldHref,\n\t\t\tprodMode: environment.production,\n\t\t\tbaseHref: environment.baseHref,\n\t\t}),\n\t\tEvasysSharedCoreModule,\n\t\tEvasysSharedUtilModule,\n\t\tEvasysSharedUiModule,\n\t\t//#endregion EvasysSharedModules\n\t],\n\tbootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from '../../../globals/evasys/environments/environment';\n\nimport 'hammerjs';\n\nif (environment.production) {\n\tenableProdMode();\n\tconst out = window.console.error;\n\twindow.console.error = function (errorType: string, error: Error) {\n\t\tconst logErrorTypes = ['TypeError'];\n\t\tif (logErrorTypes.find((logErrorType) => error?.name?.includes(logErrorType))) {\n\t\t\tout(errorType, error);\n\t\t}\n\t};\n}\n\nplatformBrowserDynamic()\n\t.bootstrapModule(AppModule)\n\t.catch((err) => console.error(err));\n","import { environment } from '@evasys/globals/evainsights/environments/environment';\nimport { replaceUrlPathVariables, VariableReplacer, variableValueReplacer, VariableValues } from './path-variables';\nimport { escapeRegExp } from 'lodash';\n\nfunction getFullUrl(path: string): string {\n\treturn new URL(path, window.location.href).toString();\n}\n\nexport const PATH_DATA_SERVICE = getFullUrl(environment.dataServiceUrl);\nexport const PATH_REPORT_SERVICE = getFullUrl(environment.reportServiceUrl);\nexport const PATH_AUTH_SERVICE = getFullUrl(environment.authServiceUrl);\n\nconst SERVICE_PATHS = [PATH_DATA_SERVICE, PATH_REPORT_SERVICE, PATH_AUTH_SERVICE];\n\nexport const getIsNotPrefixPattern = (prefixes: string[]) => new RegExp(`^(?!${prefixes.map(escapeRegExp).join('|')})`);\nexport const isNotServicePathPattern = getIsNotPrefixPattern(SERVICE_PATHS);\n\nexport function isApiUrl(url: string): boolean {\n\treturn SERVICE_PATHS.some((urlPrefix) => url.startsWith(urlPrefix));\n}\n\nexport class Endpoint {\n\tconstructor(public readonly baseUrl: string, public readonly path: string) {}\n\n\turl = (variableValues: T): string => {\n\t\treturn this.replacePathVariables(variableValueReplacer(variableValues || undefined)).toString();\n\t};\n\n\treplacePathVariables = (replacer: VariableReplacer): URL => {\n\t\treturn replaceUrlPathVariables(new URL(this.path, this.baseUrl), replacer);\n\t};\n}\n\nexport const endpoints = {\n\tgetUserUiConfig: new Endpoint(PATH_DATA_SERVICE, 'config/user'),\n\tgetSystemUiConfig: new Endpoint<{ tenantSubdomain?: string }>(PATH_DATA_SERVICE, 'config/system/:tenantSubdomain'),\n\n\t//#region Unit\n\tgetUnits: new Endpoint(PATH_DATA_SERVICE, 'units'),\n\t//#endregion Unit\n\n\t//#region Staff\n\tgetStaffs: new Endpoint(PATH_DATA_SERVICE, 'staffs'),\n\tgetStaff: new Endpoint<{ loginName: string }>(PATH_DATA_SERVICE, 'staffs/:loginName'),\n\t//#endregion Staff\n\n\t//#region ParticipationEvent\n\tgetParticipationEvents: new Endpoint(PATH_DATA_SERVICE, 'participationEvents'),\n\n\t//#endregion ParticipationEvent\n\n\t//#region Item\n\tgetItems: new Endpoint(PATH_DATA_SERVICE, 'items'),\n\tpostItemsSearch: new Endpoint(PATH_DATA_SERVICE, 'items/search'),\n\tpostItemCollectionsSearch: new Endpoint(PATH_DATA_SERVICE, 'itemCollections/search'),\n\n\t//#endregion Item\n\n\t//#region Programmes\n\tgetProgrammes: new Endpoint(PATH_DATA_SERVICE, 'programmes'),\n\n\t//#endregion Programm\n\n\t//#region Periods\n\tgetPeriods: new Endpoint(PATH_DATA_SERVICE, 'periods'),\n\n\t//#endregion Periods\n\n\t//#region Forms\n\tgetForms: new Endpoint(PATH_DATA_SERVICE, 'forms'),\n\tgetForm: new Endpoint<{ formId: number }>(PATH_DATA_SERVICE, 'forms/:formId'),\n\n\t//#endregion Forms\n\n\t//#region Surveys\n\tgetSurveys: new Endpoint(PATH_DATA_SERVICE, 'surveys'),\n\tgetSurveyPeriodName: new Endpoint(PATH_DATA_SERVICE, 'surveyPeriodName'),\n\n\t//#endregion Surveys\n\n\t//#region Leaders\n\tgetLeaders: new Endpoint(PATH_DATA_SERVICE, 'leaders'),\n\n\t//#endregion Leaders\n\n\t//#region Reports\n\treports: new Endpoint(PATH_REPORT_SERVICE, 'reports'),\n\n\tdeleteReport: new Endpoint<{ reportId: number }>(PATH_REPORT_SERVICE, 'reports/:reportId'),\n\n\tcreateNewRespondentFilterItemForReportIdAndItemOptionIds: new Endpoint<{ reportId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'reports/:reportId/respondentFilter/respondentFilterItems'\n\t),\n\n\tdeleteRespondentFilterItemOptionsForReportIdAndItemId: new Endpoint<{ reportId: number; itemId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'reports/:reportId/respondentFilter/respondentFilterItems/:itemId'\n\t),\n\n\tdeleteReportTemplate: new Endpoint<{ reportTemplateId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'reportTemplates/:reportTemplateId'\n\t),\n\n\treportTemplates: new Endpoint(PATH_REPORT_SERVICE, 'reportTemplates'),\n\n\treport: new Endpoint<{ reportId: number }>(PATH_REPORT_SERVICE, 'reports/:reportId'),\n\n\treportByToken: new Endpoint<{ token: string }>(PATH_REPORT_SERVICE, 'reports/token/:token'),\n\n\treportPublish: new Endpoint<{ reportId: number }>(PATH_REPORT_SERVICE, 'reports/:reportId/publish'),\n\n\treportCalculate: new Endpoint<{ reportId: number }>(PATH_REPORT_SERVICE, 'reports/:reportId/calculate'),\n\n\treportTemplate: new Endpoint<{ reportTemplateId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'reportTemplates/:reportTemplateId'\n\t),\n\n\tgetReportTemplatesForReport: new Endpoint<{ reportId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'reports/:reportId/reportTemplates'\n\t),\n\n\tpostReportItemsForReport: new Endpoint<{ reportId: number }>(PATH_REPORT_SERVICE, 'reports/:reportId/reportitems'),\n\n\tpatchReportItemPlacementsForReport: new Endpoint<{ reportId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'reports/:reportId/reportitems'\n\t),\n\n\tdeleteReportItem: new Endpoint<{ reportId: number }>(PATH_REPORT_SERVICE, 'reportitems/:reportItemId'),\n\n\tpostReportItemsForReportTemplate: new Endpoint<{ reportTemplateId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'reportTemplates/:reportTemplateId/reportitems'\n\t),\n\n\treportReportTemplate: new Endpoint<{ reportId: number; reportTemplateId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'reports/:reportId/reportTemplates/:reportTemplateId'\n\t),\n\n\treportItem: new Endpoint<{ reportItemId: number }>(PATH_REPORT_SERVICE, 'reportitems/:reportItemId'),\n\n\treportSurveys: new Endpoint<{ reportId: number }>(PATH_REPORT_SERVICE, 'reports/:reportId/surveys'),\n\n\tgetReportTemplateForms: new Endpoint<{ reportTemplateId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'reportTemplates/:reportTemplateId/forms'\n\t),\n\t//#endregion Reports\n\n\t//#region Topic Model\n\ttopicModel: new Endpoint<{ topicModelId: number }>(PATH_REPORT_SERVICE, 'topicmodels/:topicModelId'),\n\ttopicsByTopicModelId: new Endpoint<{ topicModelId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'topicmodels/:topicModelId/topics'\n\t),\n\tgetItemIdSurveyPeriodNames: new Endpoint<{ topicModelId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'topicmodels/:topicModelId/itemIdSurveyPeriodNames'\n\t),\n\ttopics: new Endpoint(PATH_REPORT_SERVICE, 'topics'),\n\ttopic: new Endpoint<{ topicId: string }>(PATH_REPORT_SERVICE, 'topics/:topicId'),\n\ttopicResponses: new Endpoint<{ topicId: string }>(PATH_REPORT_SERVICE, 'topics/:topicId/responses'),\n\tassignTopicModel: new Endpoint<{ topicModelId: number }>(PATH_REPORT_SERVICE, 'topicmodels/:topicModelId/assign'),\n\tcheckRemainingTopicAssignments: new Endpoint<{ topicModelId: number }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'topicmodels/:topicModelId/check'\n\t),\n\tgetTopicModelInfos: new Endpoint(PATH_REPORT_SERVICE, 'topicmodelinfos'),\n\tgetTopicModelInfo: new Endpoint<{ topicModelId: number }>(PATH_REPORT_SERVICE, 'topicmodelinfos/:topicModelId'),\n\t//#endregion Topic Model\n\n\t//#region Calculation\n\tcalculateTopicModels: new Endpoint(PATH_REPORT_SERVICE, 'calculate/topicmodels'),\n\t//#endregion Calculation\n\n\t//#region Charts\n\tpostAxisChartData: new Endpoint(PATH_REPORT_SERVICE, 'reportitemdata/axischart'),\n\tpostResponsesData: new Endpoint(PATH_REPORT_SERVICE, 'reportitemdata/responses'),\n\tpostWordFrequencyWordcloudData: new Endpoint(PATH_REPORT_SERVICE, 'reportitemdata/wordfrequencywordcloud'),\n\tpostTopicWordcloudData: new Endpoint(PATH_REPORT_SERVICE, 'reportitemdata/topicwordcloud'),\n\tpostTopicWordcloudResponsesData: new Endpoint(PATH_REPORT_SERVICE, 'reportitemdata/topicwordcloudresponses'),\n\tgetWordcloudResponseDataByTopicId: new Endpoint<{ topicId: string }>(\n\t\tPATH_REPORT_SERVICE,\n\t\t'topics/:topicId/wordcloudresponsedata'\n\t),\n\tgetWordcloudDataByTopicId: new Endpoint<{ topicId: string }>(PATH_REPORT_SERVICE, 'topics/:topicId/wordclouddata'),\n\t//#endregion Charts\n\n\t//#region Endpoints\n\tendpoints: new Endpoint(PATH_AUTH_SERVICE, 'endpoints'),\n\tevasysEndpoint: new Endpoint<{ tenantSubdomain?: string }>(PATH_AUTH_SERVICE, 'endpoints/evasys/:tenantSubdomain'),\n\t//#endregion Endpoints\n\n\t//#region tenant\n\tgetTenantRegisteredBySubDomainName: new Endpoint<{ tenantSubdomain?: string }>(\n\t\tPATH_AUTH_SERVICE,\n\t\t'tenant/registered/:tenantSubdomain'\n\t),\n\t//#endregion tenant\n};\n","export const PATH_VARIABLE_PREFIX = ':';\nexport type VariableReplacer = (variable: string) => string;\n\nexport const replaceUrlPathVariables = (url: URL, replacer: VariableReplacer): URL => {\n\tconst result = new URL(url);\n\tresult.pathname = replacePathVariables(url.pathname, replacer);\n\treturn result;\n};\nexport const replacePathVariables = (path: string, replacer: VariableReplacer): string => {\n\treturn path\n\t\t.split('/')\n\t\t.map((segment) => (isSegmentAVariable(segment) ? replacer(getSegmentVariableName(segment)) : segment))\n\t\t.join('/');\n};\n\nconst isSegmentAVariable = (segment: string): boolean => segment.startsWith(PATH_VARIABLE_PREFIX);\nconst getSegmentVariableName = (segment: string): string => segment.slice(PATH_VARIABLE_PREFIX.length);\n\nexport type VariableValues = { [variable: string]: string | number };\n\nexport const variableValueReplacer = (values?: VariableValues): VariableReplacer => {\n\treturn (variable: string) => {\n\t\tif (!values || !values.hasOwnProperty(variable)) {\n\t\t\tthrow Error(`Missing value for path variable ${variable}`);\n\t\t}\n\t\treturn values[variable].toString();\n\t};\n};\n","export enum ItemType {\n\tALL_QUANTITATIVE = 'All',\n\tSCALA = 'ITEM_SCALA',\n\tOPEN_QUESTION = 'ITEM_OPEN_QUESTION',\n\tSINGLE_CHOICE = 'ITEM_SINGLE_CHOICE',\n\tMULTIPLE_CHOICE = 'ITEM_MULTIPLE_CHOICE',\n}\n\nexport enum AnalysisType {\n\tWORD_FREQUENCY = 'WORD_FREQUENCY',\n\tRESPONSES = 'RESPONSES',\n\tTOPIC = 'TOPIC',\n\tQUANTITATIVE = 'QUANTITATIVE',\n\tRICH_TEXT = 'RICH_TEXT',\n}\n\nexport enum DataBasisType {\n\tQUANTITATIVE_ANALYSIS = 'QUANTITATIVE_ANALYSIS',\n\tQUALITATIVE_ANALYSIS = 'QUALITATIVE_ANALYSIS',\n\tSTRUCTURAL_ELEMENTS = 'STRUCTURAL_ELEMENTS',\n}\n\nexport enum VisualizationType {\n\tWORDCLOUD = 'WORDCLOUD',\n\tBAR_CHART = 'BAR_CHART',\n\tLINE_CHART = 'LINE_CHART',\n\tRADAR_CHART = 'RADAR_CHART',\n\tWORDCLOUD_RESPONSES = 'WORDCLOUD_RESPONSES',\n\tTEXTUAL_COMPARISON = 'TEXTUAL_COMPARISON',\n\tKEYWORD_CARD = 'KEYWORD_CARD',\n\tRICH_TEXT = 'RICH_TEXT',\n\tPROFILE_LINE_CHART = 'PROFILE_LINE_CHART',\n\tRESPONSES = 'RESPONSES',\n}\n\nexport enum BarChartVisualizationType {\n\tSTACKED = 'STACKED',\n\tGROUPED = 'GROUPED',\n}\n\nexport enum BarChartGroupBy {\n\tITEM = 'ITEM',\n\tITEM_OPTION = 'ITEM_OPTION',\n}\n\nexport enum BarChartOrientation {\n\tVERTICAL = 'VERTICAL',\n\tHORIZONTAL = 'HORIZONTAL',\n}\n\nexport enum ReportType {\n\tREPORT = 'REPORT',\n\tTEMPLATE = 'TEMPLATE',\n}\n\nexport enum NumberOfTopics {\n\tFEW = '5',\n\tSOME = '10',\n\tMANY = '25',\n}\n\nexport enum Sentiment {\n\tPOSITIVE = 'POSITIVE',\n\tNEUTRAL = 'NEUTRAL',\n\tNEGATIVE = 'NEGATIVE',\n}\n\nexport enum TopicModelStatus {\n\tOPEN = 'OPEN',\n\tBUILDING = 'BUILDING',\n\tSUCCESS = 'SUCCESS',\n\tERROR = 'ERROR',\n\tFAILED = 'FAILED',\n\tNO_RESPONSES = 'NO_RESPONSES',\n}\nexport enum ValueAxisUnit {\n\tCOUNT = 'COUNT',\n\tPERCENT = 'PERCENT',\n}\n\nexport enum Language {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tFR = 'fr',\n}\n\nexport enum ChartExportFormat {\n\tPNG = 'png',\n}\n\nexport enum RadioButtonGroupDesign {\n\tICONS_ONLY = 'ICONS_ONLY',\n\tBOX_TEXT = 'BOX_TEXT',\n}\n","export enum Deployment {\n\tLOCAL,\n\tSTAGING_DE,\n\tDEV_DE,\n\tDE,\n}\n","import { Environment } from './environment.model';\n\nexport const environment: Environment = {\n\tproduction: false,\n\tclientId: 'evainsights_frontend',\n\tclientSecret: 'clientSecret',\n\t// dataServiceUrl: 'http://localhost:8081/api/data/',\n\tdataServiceUrl: 'https://dev.evainsights.de/api/data/',\n\t// reportServiceUrl: 'http://localhost:8082/api/report/',\n\treportServiceUrl: 'https://dev.evainsights.de/api/report/',\n\t// authServiceUrl: 'http://localhost:8083/api/auth/',\n\tauthServiceUrl: 'https://dev.evainsights.de/api/auth/',\n\tfallbackTenantSubdomain: 'sdi',\n\tenableDeveloperTools: true,\n};\n","import { environment } from './environment';\nimport { Deployment } from './deployment.enum';\n\nexport const getDeploymentFromLocation = (): Deployment => {\n\tif (isLocationSubdomainOf('staging.evainsights.de')) {\n\t\treturn Deployment.STAGING_DE;\n\t} else if (isLocationSubdomainOf('dev.evainsights.de')) {\n\t\treturn Deployment.DEV_DE;\n\t} else if (isLocationSubdomainOf('evainsights.de')) {\n\t\treturn Deployment.DE;\n\t} else if (location.hostname === 'localhost' || isLocationSubdomainOf('localhost')) {\n\t\treturn Deployment.LOCAL;\n\t}\n\n\tthrow Error('Current hostname is unknown. Cannot determine deployment');\n};\n\nconst isLocationSubdomainOf = (domain: string) => location.hostname.endsWith('.' + domain);\n\nexport const runtimeEnvironment = {\n\ttenantSubdomain:\n\t\tlocation.hostname === 'localhost' ? environment.fallbackTenantSubdomain : location.hostname.split('.')[0],\n\tget applicationInsightsConnectionString() {\n\t\treturn environment.applicationInsightsConnectionString?.[getDeploymentFromLocation()] ?? null;\n\t},\n};\n","import { padStart } from 'lodash';\n\nexport interface Code {\n\tdomain: string;\n\tnumber: number;\n}\n\nexport const formatCode = (code: Code) => `${code.domain}-${padStart(code.number.toFixed(0), 3, '0')}`;\n","import { Code } from './code.model';\n\nexport class CodedError extends Error {\n\tconstructor(readonly code: Readonly, message: string) {\n\t\tsuper(message);\n\t}\n}\n\nexport const getErrorCode = (error: unknown): Code | null => {\n\t// Try to extract the error code on a best-effort basis.\n\t// Main challenge is when we throw a CodedError that gets caught in a try-catch, with the catch block throwing a\n\t// new error, there is no clear way to tell if the original source of the error was a CodedError.\n\t// This method tries to unpack the error to get the root source\n\n\tif (error instanceof CodedError) {\n\t\treturn error.code;\n\t} else if (error && typeof error === 'object' && 'rejection' in error && error.rejection instanceof Error) {\n\t\t// Occurs if the CodedError occurs somewhere in a promise.\n\t\t// The error message logged to the console starts with \"Error: Uncaught (in promise)\"\n\t\treturn getErrorCode(error.rejection);\n\t} else {\n\t\treturn null;\n\t}\n};\n","import { Logger } from './logger';\n\nexport let logger: Logger;\n\nexport const setDefaultLogger = (newLogger: Logger) => {\n\tlogger = newLogger;\n};\n","import { eSeverityLevel } from '@microsoft/applicationinsights-web';\n\nexport enum Level {\n\tDEBUG = eSeverityLevel.Verbose,\n\tINFO = eSeverityLevel.Information,\n\tWARN = eSeverityLevel.Warning,\n\tERROR = eSeverityLevel.Error,\n\tFATAL = eSeverityLevel.Critical,\n}\n\nexport const consoleLoggerByLevel: Record void> = {\n\t[Level.DEBUG]: console.debug,\n\t[Level.INFO]: console.info,\n\t[Level.WARN]: console.warn,\n\t[Level.ERROR]: console.error,\n\t[Level.FATAL]: console.error,\n};\n","import { InputLogProperties, LogProperties } from '@evasys/globals/evainsights/logging/log-properties.model';\nimport { formatCode } from '@evasys/globals/evainsights/logging/code.model';\nimport { consoleLoggerByLevel, Level } from '@evasys/globals/evainsights/logging/level.enum';\nimport { getErrorCode } from '@evasys/globals/evainsights/logging/coded-error';\n\nexport abstract class Logger {\n\tdebug = this.getLevelLogger(Level.DEBUG);\n\tinfo = this.getLevelLogger(Level.INFO);\n\twarn = this.getLevelLogger(Level.WARN);\n\terror = this.getLevelLogger(Level.ERROR);\n\tfatal = this.getLevelLogger(Level.FATAL);\n\n\tprivate getLevelLogger(level: Level): LevelLogger {\n\t\treturn (data, props) => this.log(level, data, props);\n\t}\n\n\tlog(level: Level, data: string | Error, props?: InputLogProperties) {\n\t\tconst preparedProps = this.prepareLogProperties(data, props);\n\n\t\tthis.consoleLog(level, data, ...(preparedProps ? [preparedProps] : []));\n\t\tthis.logPreparedProperties(level, data, preparedProps);\n\t}\n\n\tprotected abstract logPreparedProperties(level: Level, data: string | Error, props?: LogProperties): void;\n\n\tprivate prepareLogProperties(data: string | Error, props?: InputLogProperties): LogProperties | undefined {\n\t\tconst code = props && props.code ? props.code : getErrorCode(data);\n\t\treturn code === null ? props : { ...props, code: formatCode(code) };\n\t}\n\n\tprivate consoleLog(level: Level, ...data: any[]) {\n\t\tconsoleLoggerByLevel[level](...data);\n\t}\n}\n\nexport type LevelLogger = (data: string | Error, props?: InputLogProperties) => void;\n","export interface SystemMultiLangEntry {\n\tlang: string;\n\tvalue: T;\n}\n\nexport interface ReportMultiLangEntry {\n\treportLanguageId: number;\n\tvalue: T;\n}\n\nexport interface FormMultiLangEntry {\n\tformLanguageId: number;\n\tvalue: T;\n}\n\nexport type GeneralMultiLangEntry = SystemMultiLangEntry | ReportMultiLangEntry | FormMultiLangEntry;\n\nexport type SystemMultiLang = Array>;\nexport type ReportMultiLang = Array>;\nexport type FormMultiLang = Array>;\n\nexport type GeneralMultiLang = SystemMultiLang | ReportMultiLang | FormMultiLang;\n\nexport const isSystemMultiLang = (value: GeneralMultiLang): value is SystemMultiLang =>\n\tvalue.length === 0 || 'lang' in value[0];\n\nexport const isFormMultiLang = (value: GeneralMultiLang): value is FormMultiLang =>\n\tvalue.length === 0 || 'formLanguageId' in value[0];\n\nexport const isReportMultiLang = (value: GeneralMultiLang): value is ReportMultiLang =>\n\tvalue.length === 0 || 'reportLanguageId' in value[0];\n","import { SystemMultiLang } from '../common/multi-lang';\n\nexport enum ColorSchemeType {\n\tQUALITATIVE = 'QUALITATIVE',\n\tQUANTITATIVE = 'QUANTITATIVE',\n}\n\nexport enum QuantitativeColorSchemeSymmetry {\n\t// What can the color scheme be used for?\n\tSEQUENTIAL, // e.g. to visualize counts in wordclouds or for scala items like very good vs. very poor\n\tDIVERGING, // e.g. for scala item like too little vs. too much\n}\n\nexport enum ThemeVariant {\n\tLIGHT = 'LIGHT',\n\tDARK = 'DARK',\n}\n\nexport interface Theme {\n\tid: number;\n\tname: string;\n\tparent: Theme | null;\n\tforcedVariant: ThemeVariant | null;\n}\n\nexport interface ScaleBase {\n\tthemeId: number;\n\tvariant: ThemeVariant;\n}\n\nexport interface QualitativeScale extends ScaleBase {\n\t// Color palette for cases where the order is not important.\n\t// Another data series added? Just use next color from the colors array.\n\tcolors: Color[];\n}\n\nexport interface ContinuousQuantitativeScale extends ScaleBase {\n\tstops: ColorScaleStop[];\n}\n\nexport interface DiscreteQuantitativeScale extends ScaleBase {\n\t// Color palette for cases where the order is important, e.g., primarily for scala questions.\n\t// The colors property effectively is a list of color palettes of different lengths.\n\t// Example: If we use an ordinal color palette for a pie chart depicting the 5 options of a scala question,\n\t// we search through the outer array colors property to find an inner array of length 5.\n\t// This array of length 5 contains the 5 colors we use for the options, respecting the order given by the item value positions.\n\t// The chart may use the colors in reverse order if configured for it.\n\tcolors: Color[][];\n}\n\nexport type QuantitativeScale = ContinuousQuantitativeScale | DiscreteQuantitativeScale;\nexport type ColorScale = QualitativeScale | QuantitativeScale;\n\nexport interface ColorScaleStop {\n\tcolor: Color;\n\tposition: number; // 0 to 1\n}\n\ninterface SchemeBase {\n\tid: number;\n\tname: SystemMultiLang;\n}\n\nexport interface QualitativeScheme extends SchemeBase {\n\ttype: ColorSchemeType.QUALITATIVE;\n\tscales: QualitativeScale[];\n}\n\nexport interface QuantitativeSchemeBase extends SchemeBase {\n\ttype: ColorSchemeType.QUANTITATIVE;\n\tsymmetry: QuantitativeColorSchemeSymmetry;\n}\n\nexport interface ContinuousQuantitativeScheme extends QuantitativeSchemeBase {\n\tscales: ContinuousQuantitativeScale[];\n}\n\nexport interface DiscreteQuantitativeScheme extends QuantitativeSchemeBase {\n\tscales: DiscreteQuantitativeScale[];\n}\n\nexport type QuantitativeScheme = ContinuousQuantitativeScheme | DiscreteQuantitativeScheme;\nexport type ColorScheme = QualitativeScheme | QuantitativeScheme;\n\nexport type Color = string;\n","import { ReportMultiLang } from '../../../common/multi-lang';\nimport { Period } from '../../../organization/period.model';\nimport { Item } from '../../../item/item.model';\nimport {\n\tColorVisualDimension,\n\tColumnVisualDimension,\n\tGroupVisualDimension,\n\tItemDimension,\n\tItemOptionDimension,\n\tPatternVisualDimension,\n\tPeriodDimension,\n\tRowVisualDimension,\n\tTopicDimension,\n} from './dimensions';\nimport { Matrix } from './matrix';\nimport { NumericalStatisticsConfig } from '../../../report-item-creator';\nimport { TopicModel } from '../../../topic-modeling/topic-model.model';\n\n// Config\n\nexport type AxisChartConfig = {\n\ttitle: ReportMultiLang;\n\tcolors: {\n\t\tcolorSchemeId: number;\n\t\treverse?: boolean;\n\t};\n\tstatistics: {\n\t\tnumerical: NumericalStatisticsConfig;\n\t};\n\taxes: {\n\t\tindex: {\n\t\t\tlabel: ReportMultiLang;\n\t\t};\n\t\tvalue: {\n\t\t\tlabel: ReportMultiLang;\n\t\t};\n\t};\n};\n\nexport type CountAxisChartConfig = AxisChartConfig & {\n\taxes: {\n\t\tvalue: {\n\t\t\tnormalization: ValueAxisNormalization | null;\n\t\t};\n\t};\n\thideZeroCounts?: boolean;\n};\n\nexport interface ValueAxisNormalization {\n\tevidenceDimensionIndices: number[];\n}\n\n// Dimensions\n\nexport type AxisChartVisualDimension =\n\t| ColorVisualDimension\n\t| PatternVisualDimension\n\t| RowVisualDimension\n\t| ColumnVisualDimension\n\t| GroupVisualDimension;\n\nexport type AxisChartIndexDimension = ItemDimension | ItemOptionDimension | PeriodDimension | TopicDimension;\n\n// Data\n\nexport interface AxisChartDataBase {\n\tisRandom: boolean;\n\n\tindexDomains?: Array<{ dimensionIndex: number; periodIds: number[] }>;\n\n\t// All the entities that are either directly or implicitly mentioned in the report item configuration.\n\t// This effectively acts as a sort of report item local \"store\" where the widget can look up whatever information it\n\t// needs for the visualization while avoiding as much redundancy as possible.\n\t// At some point in the future we might decide to move these to not be local to just the report item but rather shared\n\t// between all report items of a report such that we can e.g. also avoid loading them each time the interactive\n\t// filters change.\n\t// Examples:\n\t// 1. The report item has a dimension mapping based on the item options with IDs 5, 6, 7.\n\t// If item options 5 and 6 belong to the item with ID 12 and item option 7 to the item with ID 13, the \"items\" field\n\t// below would contain both items alongside _all_ their options.\n\t// 2. The report item has a period data dimension set to \"present\". The \"periods\" field below would list all periods\n\t// that are present in the dataset\n\tperiods?: Period[]; // incl. id and name\n\titems?: Item[]; // incl. text and option texts + ids for each\n\ttopicModels?: TopicModel[];\n}\n\nexport interface ResponseCountAxisChartData extends AxisChartDataBase {\n\t// corresponds to position in the dimension list\n\tresponseCounts: Matrix;\n\n\tconditionalEvidences: ConditionalEvidence[];\n}\n\nexport interface ConditionalEvidence {\n\tevidenceDimensionIndices: number[];\n\tevidence: Matrix;\n}\n","import {\n\tAxisChartIndexDimension,\n\tAxisChartVisualDimension,\n\tCountAxisChartConfig,\n\tResponseCountAxisChartData,\n} from './axis-chart-report-item-content.model';\nimport { ReportItemContentBase } from '../common';\nimport { BarChartOrientation, VisualizationType } from '../../../../constants/types';\nimport { DimensionMappingConfig, StackVisualDimension } from './dimensions';\nimport { VisualStatisticsConfig } from '../../../report-item-creator';\n\nexport type BarChartContent = ReportItemContentBase;\n\nexport type BarChartConfig = CountAxisChartConfig & {\n\tvisualizationType: VisualizationType.BAR_CHART;\n\torientation: BarChartOrientation;\n\tdimensionMappings: Array;\n\tstatistics: {\n\t\tvisual?: VisualStatisticsConfig;\n\t};\n};\n\nexport type BarChartDimensionMapping = DimensionMappingConfig;\nexport type BarChartIndexDimension = AxisChartIndexDimension;\nexport type BarChartVisualDimension = AxisChartVisualDimension | StackVisualDimension;\n\nexport type BarChartData = ResponseCountAxisChartData;\n","export interface DimensionMappingConfig {\n\tdata: Data;\n\tvisualizations: Visualization[];\n}\n","import { ReportMultiLang } from '../../../../common/multi-lang';\n\nexport enum DataIndexDimensionType {\n\tITEM = 'ITEM',\n\tITEM_OPTION = 'ITEM_OPTION',\n\tPERIOD = 'PERIOD',\n\tTOPIC = 'TOPIC',\n}\n\nexport type IndexDimension = ItemDimension | ItemOptionDimension | PeriodDimension | TopicDimension;\n\nexport interface ItemDimension {\n\ttype: DataIndexDimensionType.ITEM;\n\tdomain: Array<{\n\t\tname: ReportMultiLang;\n\t\titemIds: number[];\n\t\texclude: boolean;\n\t}>;\n}\n\nexport interface ItemOptionDimension {\n\ttype: DataIndexDimensionType.ITEM_OPTION;\n\tdomain: Array<{\n\t\tname: ReportMultiLang; // maybe switch on constructed name types\n\t\titemOptionIds: number[];\n\t\texclude: boolean;\n\t}>;\n}\n\nexport interface PeriodDimension {\n\ttype: DataIndexDimensionType.PERIOD;\n\tdomain: PeriodDimensionDomain;\n}\n\nexport type PeriodDimensionDomain =\n\t| { type: PeriodDomainType.FULL | PeriodDomainType.PRESENT } // auto\n\t| { type: PeriodDomainType.CUSTOM; periodIds: number[] };\n\nexport interface TopicDimension {\n\ttype: DataIndexDimensionType.TOPIC;\n\tdomain: Array<{\n\t\tname: ReportMultiLang;\n\t\titemIds: number[];\n\t\ttopicIds: string[];\n\t\texclude: boolean;\n\t}>;\n}\n\nexport enum PeriodDomainType {\n\tFULL = 'FULL', // all periods starting from the first occurrence to the last\n\tPRESENT = 'PRESENT', // no periods where all series are null. E.g. if the question was asked in summer terms, show only those\n\tCUSTOM = 'CUSTOM', // only the periods explicitly enabled\n}\n","export * from './dimension-mapping-config.model';\nexport * from './index-dimension.model';\nexport * from './visualization-dimension.model';\n","export enum VisualizationDimensionType {\n\tCOLOR = 'COLOR',\n\tPATTERN = 'PATTERN',\n\tGROUP = 'GROUP',\n\tSTACK = 'STACK',\n\tROW = 'ROW',\n\tCOLUMN = 'COLUMN',\n}\n\nexport interface ColorVisualDimension {\n\ttype: VisualizationDimensionType.COLOR;\n\tshowLegend: boolean;\n}\n\nexport interface PatternVisualDimension {\n\ttype: VisualizationDimensionType.PATTERN;\n}\n\nexport interface RowVisualDimension {\n\ttype: VisualizationDimensionType.ROW;\n}\n\nexport interface ColumnVisualDimension {\n\ttype: VisualizationDimensionType.COLUMN;\n\twrap: number | null;\n}\n\nexport interface GroupVisualDimension {\n\ttype: VisualizationDimensionType.GROUP;\n}\n\nexport interface StackVisualDimension {\n\ttype: VisualizationDimensionType.STACK;\n}\n","export * from './axis-chart-report-item-content.model';\nexport * from './bar-chart-report-item-content.model';\nexport * from './dimensions';\nexport * from './line-chart-report-item-content.model';\nexport * from './matrix';\n","import { ReportItemContentBase } from '../common';\nimport {\n\tAxisChartConfig,\n\tAxisChartDataBase,\n\tAxisChartIndexDimension,\n\tAxisChartVisualDimension,\n\tConditionalEvidence,\n\tCountAxisChartConfig,\n\tResponseCountAxisChartData,\n} from './axis-chart-report-item-content.model';\nimport { VisualizationType } from '../../../../constants/types';\nimport { DimensionMappingConfig } from './dimensions';\nimport { ReportMultiLang } from '../../../common/multi-lang';\nimport { Matrix } from './matrix';\n\nexport type LineChartContent = CountLineChartContent | CentralTendencyLineChartContent;\n\n// Count Line Charts\n\nexport type CountLineChartContent = ReportItemContentBase;\n\nexport interface CountLineChartConfig extends CountAxisChartConfig {\n\tvisualizationType: VisualizationType.LINE_CHART;\n\tdimensionMappings: Array;\n\taggregation: ResponseCountAggregation;\n}\n\nexport type CountLineChartData = ResponseCountAxisChartData;\n\n// Central Tendency Aggregated Line Charts\n\nexport type CentralTendencyLineChartContent = ReportItemContentBase<\n\tCentralTendencyLineChartConfig,\n\tCentralTendencyLineChartData\n>;\n\nexport interface CentralTendencyLineChartConfig extends AxisChartConfig {\n\tvisualizationType: VisualizationType.LINE_CHART;\n\tdimensionMappings: Array;\n\taggregation: CentralTendencyAggregation;\n}\n\nexport interface CentralTendencyLineChartData extends AxisChartDataBase {\n\tcentralTendency: Matrix;\n\tconditionalEvidences: ConditionalEvidence[];\n\n\tstatistics: {\n\t\tnumElements: number;\n\t};\n}\n\n// Dimension mappings\n\nexport type LineChartDimensionMapping = DimensionMappingConfig;\nexport type LineChartIndexDimension = AxisChartIndexDimension;\nexport type LineChartVisualDimension = AxisChartVisualDimension;\n\n// Aggregation Config\n\nexport enum AggregationType {\n\tRESPONSE_COUNT = 'RESPONSE_COUNT',\n\tCENTRAL_TENDENCY = 'CENTRAL_TENDENCY',\n}\n\nexport interface ResponseCountAggregation {\n\ttype: AggregationType.RESPONSE_COUNT;\n}\n\nexport enum CentralTendencyMetric {\n\tMEAN = 'MEAN',\n\tMEDIAN = 'MEDIAN',\n}\n\nexport interface CentralTendencyAggregation {\n\ttype: AggregationType.CENTRAL_TENDENCY;\n\tmetric: CentralTendencyMetric;\n\tsources: Array<{\n\t\tname: ReportMultiLang;\n\t\titemOptionIds: number[];\n\t}>;\n\t// temporary solution to reverse the value axis order without having to do another backend request\n\treverseSources: boolean;\n}\n","type ArbitraryDimMatrix = Array | number;\ntype NdimMatrix<\n\tN extends number,\n\tAcc extends ArbitraryDimMatrix = number,\n\tCounter extends never[] = []\n> = Counter['length'] extends N ? Acc : NdimMatrix, [never, ...Counter]>;\nexport type Matrix = number extends N ? ArbitraryDimMatrix : NdimMatrix;\n","import { AnalysisType, DataBasisType } from '../../../constants/types';\n\nexport interface ReportItemContentBase {\n\tconfig: Config;\n\tdata: Data;\n}\n\nexport interface LegacyReportItemContentConfigBase {\n\tvisualizationType: VisualizationType;\n\n\t// originally from the content config shared by all report item types\n\tdataBasis: DataBasisType;\n\tanalysisType?: AnalysisType;\n\tisLongitudinalAnalysis?: boolean;\n}\n","export * from './axis-chart';\nexport * from './common';\nexport * from './profile-line-chart-report-item-content.model';\nexport * from './report-item-content.model';\nexport * from './report-item-data-request.model';\nexport * from './rich-text-report-item-content.model';\nexport * from './topic-wordcloud-report-item-content.model';\nexport * from './topic-wordcloud-responses-report-item-content.model';\n","import { LegacyReportItemContentConfigBase, ReportItemContentBase } from './common';\nimport { VisualizationType } from '../../../constants/types';\nimport { Item } from '../../item/item.model';\nimport { ReportMultiLang } from '../../common/multi-lang';\nimport { ChartDataStatus } from '../../../constants/status';\n\nexport type ProfileLineChartContent = ReportItemContentBase;\n\n// Config\nexport interface ProfileLineChartConfig\n\textends LegacyReportItemContentConfigBase {\n\titems: Item[];\n\n\ttitle: ReportMultiLang;\n\tshowStatistics: boolean;\n\n\tuseMedian: boolean;\n\tshowMedian: boolean;\n\tshowMean: boolean;\n\tfractionDigits: number;\n\tfontFamily: string;\n\tfontSizeStaticValues: string;\n\tfontSizeQuestionText: string;\n}\n\n// Data\n\nexport interface ProfileLineChartData {\n\tlines: LineData[];\n\tstatisticData: StatisticalData[];\n\titems: ItemData[];\n\tstatus?: ChartDataStatus;\n\tcalculatedOn?: string;\n}\n\nexport interface LineData {\n\ttitle: ReportMultiLang;\n\tsurveyId: number;\n\tcolor: string;\n}\n\nexport interface StatisticalData {\n\tsurveyId: number;\n\tdata: Data[];\n}\n\nexport interface ItemData {\n\titemId: string;\n\titemTitle: ReportMultiLang;\n\tleftPolText: ReportMultiLang;\n\trightPolText: ReportMultiLang;\n\tanswerOptions: number;\n}\n\nexport interface Data {\n\titemId: string;\n\tresponseCount: string;\n\tmean: string;\n\tstdDev: string;\n\tmedian: string;\n}\n","import { BarChartContent, LineChartContent } from './axis-chart';\nimport { ProfileLineChartContent } from './profile-line-chart-report-item-content.model';\nimport { RichTextContent } from './rich-text-report-item-content.model';\nimport { TopicWordcloudContent } from './topic-wordcloud-report-item-content.model';\nimport { TopicWordcloudResponsesContent } from './topic-wordcloud-responses-report-item-content.model';\nimport { ResponsesContent } from './responses-report-item-content.model';\nimport { WordFrequencyWordcloudContent } from './word-frequency-wordcloud-report-item-content.model';\n\nexport type WordcloudContent = TopicWordcloudContent | WordFrequencyWordcloudContent;\n\nexport type ReportItemContent =\n\t| BarChartContent\n\t| LineChartContent\n\t| ProfileLineChartContent\n\t| RichTextContent\n\t| WordcloudContent\n\t| TopicWordcloudResponsesContent\n\t| ResponsesContent;\n\nexport type ReportItemContentWithoutData = Omit;\n","import { CentralTendencyMetric, DataIndexDimensionType, PeriodDimensionDomain } from './axis-chart';\n\ninterface AxisChartDataRequest {\n\treportId?: number;\n\tdataDimensions: Array;\n}\n\nexport type AxisChartDataRequestDimension =\n\t| ItemDataRequestDimension\n\t| ItemOptionDataRequestDimension\n\t| PeriodDataRequestDimension\n\t| TopicDataRequestDimension;\n\nexport interface ItemDataRequestDimension {\n\ttype: DataIndexDimensionType.ITEM;\n\tdomain: Array<{ itemIds: number[] }>;\n}\n\nexport interface ItemOptionDataRequestDimension {\n\ttype: DataIndexDimensionType.ITEM_OPTION;\n\tdomain: Array<{ itemOptionIds: number[] }>;\n}\n\nexport interface PeriodDataRequestDimension {\n\ttype: DataIndexDimensionType.PERIOD;\n\tdomain: PeriodDimensionDomain;\n}\n\nexport interface TopicDataRequestDimension {\n\ttype: DataIndexDimensionType.TOPIC;\n\tdomain: Array<{ itemIds: number[]; topicIds: string[] }>;\n}\n\nexport type CountAxisChartDataRequest = AxisChartDataRequest;\nexport type CountLineChartDataRequest = AxisChartDataRequest;\n\nexport interface CentralTendencyLineChartDataRequest extends AxisChartDataRequest {\n\taggregation: {\n\t\tmetric: CentralTendencyMetric;\n\t\tsources: Array<{ itemOptionIds: number[] }>;\n\t};\n}\n\ninterface TopicDataRequest {\n\treportId: number;\n\ttopicId: string;\n\titemIds: number[];\n}\n\nexport type TopicWordcloudDataRequest = TopicDataRequest;\nexport type TopicWordcloudResponsesDataRequest = TopicDataRequest;\n\nexport type RichTextDataRequest = Record;\nexport type ProfileLineChartDataRequest = Record;\n\nexport type ResponsesDataRequest = {\n\treportId?: number;\n\titemIds: number[];\n};\n","import { LegacyReportItemContentConfigBase, ReportItemContentBase } from './common';\nimport { VisualizationType } from '../../../constants/types';\nimport { ReportMultiLang } from '../../common/multi-lang';\nimport { Element } from 'slate';\n\nexport type RichTextContent = ReportItemContentBase;\n\nexport interface RichTextConfig extends LegacyReportItemContentConfigBase {\n\tbody: ReportMultiLang;\n}\n\nexport type RichTextBody = Element[];\n","import { LegacyReportItemContentConfigBase, ReportItemContentBase } from './common';\nimport { VisualizationType } from '../../../constants/types';\nimport { Topic } from '../../topic-modeling/topic.model';\nimport { Item } from '../../item/item.model';\nimport { WordFrequencyWordcloudConfigFields } from './word-frequency-wordcloud-report-item-content.model';\n\nexport type TopicWordcloudContent = ReportItemContentBase;\n\n// Content config\n\nexport type TopicWordcloudConfig = LegacyReportItemContentConfigBase &\n\tTopicWordcloudConfigFields;\n\nexport type TopicWordcloudConfigFields = WordFrequencyWordcloudConfigFields & {\n\ttopicId: string;\n};\n\n// Data\n\nexport interface TopicWordcloudData {\n\ttopic: Topic;\n\tdata: TopicWordcloudDatum[];\n\titems: Item[];\n}\n\n// Doesn't inherit from WordFrequencyWordcloudDatum even though the two share the name and occurrences properties\n// because they also don't inherit in our report service. Adding inheritance here might lead to mismatches if we later\n// decide to add new properties to the WordFrequencyWordcloudDatum which would also apply to the TopicWordcloudDatum\n// here but not in the backend.\nexport interface TopicWordcloudDatum {\n\tname: string;\n\toccurrences: number;\n\tvalue: number;\n}\n","import { VisualizationType } from '../../../constants/types';\nimport { LegacyReportItemContentConfigBase, ReportItemContentBase } from './common';\nimport { TopicWordcloudConfigFields, TopicWordcloudData } from './topic-wordcloud-report-item-content.model';\nimport { TopicResponse } from '../../search/response.model';\n\nexport type TopicWordcloudResponsesContent = ReportItemContentBase<\n\tTopicWordcloudResponsesConfig,\n\tTopicWordcloudResponsesData\n>;\n\n// Content config\n\nexport type TopicWordcloudResponsesConfig = LegacyReportItemContentConfigBase &\n\tTopicWordcloudConfigFields;\n\n// Data\n\nexport interface TopicWordcloudResponsesData {\n\twordcloudContent: TopicWordcloudData;\n\tresponses: TopicResponse[];\n}\n\nexport interface ResponseData {\n\ttext: string;\n\tscore: number;\n}\n","export * from './color-scheme.model';\nexport * from './content';\nexport * from './report-item.model';\n","import { ReportItemContentStatus } from '../../constants/status';\nimport { ReportItemPlacement } from '../report/report-item-placement.model';\nimport { ReportItemContent, ReportItemContentWithoutData } from './content';\n\nexport interface ReportItem {\n\tid: number;\n\tstatus: ReportItemContentStatus;\n\tplacement: ReportItemPlacement;\n\tcontent: Content;\n}\n\nexport type ReportItemWithoutData = Omit & { content: ReportItemContentWithoutData };\n","import { WithNonNullishProperties } from '../../shared/types/with-required-properties.type';\n\nexport const isNullish = (v: unknown): v is null | undefined => v === null || v === undefined;\n\nexport const isNotNullish = (v: T | null | undefined): v is T => !isNullish(v);\n\nexport function assertNotNullish(v: T | undefined | null): asserts v is T {\n\tif (isNullish(v)) {\n\t\tthrow Error('Value should not be undefined');\n\t}\n}\n\nexport function nonNullish(v: T | null | undefined): T {\n\tassertNotNullish(v);\n\treturn v;\n}\n\nexport const getPropertyNotNullishGuard =\n\t

(property: P) =>\n\t(object: T): object is WithNonNullishProperties =>\n\t\tisNotNullish(object[property]);\n","export enum EndpointsEnum {\n\tCONFIGS = 'configs',\n\tINFOS = 'infos',\n\tLOGOS = 'logos',\n\tMENUS = 'menus',\n\tPERIODS = 'periods',\n\tSTATUS = 'status',\n\tSUBUNITS = 'subunits',\n\tUSERS = 'users',\n\tWIZARDS = 'wizards',\n}\n","import { EndpointsEnum } from '../endpoints.enum';\n\nexport const UpdateSuccessMessageMapper = new Map([[EndpointsEnum.CONFIGS, 'S_CONFIG_130']]);\n\nexport const UpdateErrorMessageMapper = new Map([[EndpointsEnum.CONFIGS, 'S_CONFIG_131']]);\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n\tproduction: false,\n\tbaseHref: window['base-href'],\n\toldWorldHref: window['base-href']?.split('/public/ui')[0],\n\tapiHref: window['base-href']?.split('/ui')[0] + '/api/v1/',\n\tauthApiHref: window['base-href']?.split('/ui')[0] + '/api/v1/oauth',\n\tclientId: '578944590d74a3e34cf97ff19069012d',\n\tclientSecret: null,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related dynamic-notification stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an dynamic-notification is thrown.\n */\n// import 'zone.js/dist/zone-dynamic-notification'; // Included with Angular CLI.\n","import { ConfigService } from '../../../../libs/shared/core/src';\n\nexport const ServiceInjectorMapper = {\n\tconfigs: ConfigService,\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const x3DRotateAnimation = () => {\n\treturn trigger('x3DRotateAnimation', [\n\t\t// ...\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(0, 1, 0, 180deg)',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(0, 1, 0, 0deg)',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate('0.2s')]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const y3DRotateAnimation = () => {\n\treturn trigger('y3DRotateAnimation', [\n\t\t// ...\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(1, 0, 0, -180deg)',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(1, 0, 0, 0deg)',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate('0.2s')]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const z3DRotateAnimation = () => {\n\treturn trigger('z3DRotateAnimation', [\n\t\t// ...\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(0, 0, 1, -180deg)',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(0, 0, 1, 0deg)',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate('0.2s')]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const x3DRotateAnimation = () => {\n\treturn trigger('x3DRotateAnimation', [\n\t\t// ...\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(0, 1, 0, 180deg)',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(0, 1, 0, 0deg)',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate('0.2s')]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const y3DRotateAnimation = () => {\n\treturn trigger('y3DRotateAnimation', [\n\t\t// ...\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(1, 0, 0, -180deg)',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(1, 0, 0, 0deg)',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate('0.2s')]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const z3DRotateAnimation = () => {\n\treturn trigger('z3DRotateAnimation', [\n\t\t// ...\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(0, 0, 1, -180deg)',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\ttransform: 'rotate3d(0, 0, 1, 0deg)',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate('0.2s')]),\n\t]);\n};\n","import { popAnimation } from './pop.animation';\nimport { x3DRotateAnimation } from './3d-rotate/x-3d-rotate.animation';\nimport { xGrowAnimation } from './grow/x-grow.animation';\nimport { fadeInLeftAnimation } from './fade/fade-in-left.animation';\nimport { listAnimation } from './list.animation';\nimport { paginationAnimation } from './pagination.animation';\nimport { y3DRotateAnimation } from './3d-rotate/y-3d-rotate.animation';\nimport { z3DRotateAnimation } from './3d-rotate/z-3d-rotate.animation';\nimport { yGrowAnimation } from './grow/y-grow.animation';\nimport { nestedAnimations } from './nested.animation';\nimport { fadeOutTopAnimation } from './fade/fade-out-top.animation';\nimport { opacityAnimation } from './opacity.animation';\n\nexport class Animations {\n\tpublic static popAnimation = popAnimation();\n\tpublic static x3DRotateAnimation = x3DRotateAnimation();\n\tpublic static y3DRotateAnimation = y3DRotateAnimation();\n\tpublic static z3DRotateAnimation = z3DRotateAnimation();\n\tpublic static listAnimation = listAnimation();\n\tpublic static paginationAnimation = paginationAnimation();\n\tpublic static opacityAnimation = opacityAnimation();\n\n\tpublic static xGrowAnimation = (from: string = '0', to: string = '*', ms: number = 250) =>\n\t\txGrowAnimation(from, to, ms);\n\n\tpublic static yGrowAnimation = (from: string = '0', to: string = '*', ms: number = 250) =>\n\t\tyGrowAnimation(from, to, ms);\n\n\tpublic static fadeInLeftAnimation = (ms: number = 400) => fadeInLeftAnimation(ms);\n\n\tpublic static fadeOutTopAnimation = (ms: number = 400) => fadeOutTopAnimation(ms);\n\n\tpublic static nestedAnimations = (child: string = '*') => nestedAnimations(child);\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const fadeInLeftAnimation = (ms: number = 400) => {\n\treturn trigger('fadeInLeftAnimation', [\n\t\ttransition('void => *', [\n\t\t\tstyle({\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: 'translateX(25px)',\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\tms + 'ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: 'translateX(0px)',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\n\t\ttransition('* => void', [\n\t\t\tanimate(\n\t\t\t\tms + 'ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\ttransform: 'translateX(25px)',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const fadeOutTopAnimation = (ms: number = 400) => {\n\treturn trigger('fadeOutTopAnimation', [\n\t\ttransition('void => *', [\n\t\t\tstyle({\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: 'translateY(-25px)',\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\tms + 'ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: 'translateY(0px)',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\n\t\ttransition('* => void', [\n\t\t\tanimate(\n\t\t\t\tms + 'ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\ttransform: 'translateY(-25px)',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const xGrowAnimation = (from: string, to: string, ms: number) => {\n\treturn trigger('xGrowAnimation', [\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\twidth: from,\n\t\t\t\toverflow: 'hidden',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\twidth: to,\n\t\t\t\topacity: '*',\n\t\t\t\toverflow: 'hidden',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate(ms + 'ms ease-in-out')]),\n\t\ttransition(':enter', [\n\t\t\tstyle({\n\t\t\t\twidth: from,\n\t\t\t\toverflow: 'hidden',\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\tms + 'ms',\n\t\t\t\tstyle({\n\t\t\t\t\twidth: to,\n\t\t\t\t\topacity: '*',\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t\ttransition(':leave', [\n\t\t\tanimate(\n\t\t\t\tms + 'ms',\n\t\t\t\tstyle({\n\t\t\t\t\theight: from,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const yGrowAnimation = (from: string, to: string, ms: number) => {\n\treturn trigger('yGrowAnimation', [\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\theight: from,\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\theight: to,\n\t\t\t\topacity: '*',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate(ms + 'ms')]),\n\t\ttransition(':enter', [\n\t\t\tstyle({\n\t\t\t\theight: from,\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\tms + 'ms',\n\t\t\t\tstyle({\n\t\t\t\t\theight: to,\n\t\t\t\t\topacity: '*',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t\ttransition(':leave', [\n\t\t\tanimate(\n\t\t\t\tms + 'ms',\n\t\t\t\tstyle({\n\t\t\t\t\theight: from,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport const listAnimation = () => {\n\treturn trigger('listAnimation', [\n\t\ttransition('* <=> *', [\n\t\t\tquery(\n\t\t\t\t':enter',\n\t\t\t\t[\n\t\t\t\t\tstyle({ opacity: 0, transform: 'translateY(-15px)' }),\n\t\t\t\t\tstagger('50ms', animate('550ms ease-out', style({ opacity: 1, transform: 'translateY(0px)' }))),\n\t\t\t\t],\n\t\t\t\t{ optional: true }\n\t\t\t),\n\t\t\tquery(':leave', animate('50ms', style({ opacity: 0 })), {\n\t\t\t\toptional: true,\n\t\t\t}),\n\t\t]),\n\t]);\n};\n","import { animateChild, query, transition, trigger } from '@angular/animations';\n\nexport const nestedAnimations = (child: string = '*') => {\n\treturn trigger('nestedAnimations', [\n\t\ttransition('* => *', [query('@' + child, animateChild(), { optional: true })]),\n\t]);\n};\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const opacityAnimation = () => {\n\treturn trigger('opacityAnimation', [\n\t\ttransition('void => *', [\n\t\t\tstyle({\n\t\t\t\topacity: 0,\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\t'250ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\n\t\ttransition('* => void', [\n\t\t\tanimate(\n\t\t\t\t250,\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport enum PaginationAnimationEnum {\n\tTO_RIGHT = 'toRight',\n\tTO_LEFT = 'toLeft',\n\tBACK = 'back',\n}\n\nexport const paginationAnimation = () => {\n\treturn trigger('paginationAnimation', [\n\t\tstate(\n\t\t\tPaginationAnimationEnum.TO_LEFT,\n\t\t\tstyle({\n\t\t\t\ttransform: 'translateX(-150%)',\n\t\t\t\topacity: 0,\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\tPaginationAnimationEnum.TO_RIGHT,\n\t\t\tstyle({\n\t\t\t\ttransform: 'translateX(150%)',\n\t\t\t\topacity: 0,\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\tPaginationAnimationEnum.BACK,\n\t\t\tstyle({\n\t\t\t\ttransform: 'translateX(0%)',\n\t\t\t\topacity: 1,\n\t\t\t})\n\t\t),\n\t\ttransition('* => ' + PaginationAnimationEnum.TO_RIGHT, [animate('300ms ease-in-out')]),\n\t\ttransition('* => ' + PaginationAnimationEnum.TO_LEFT, [animate('300ms ease-in-out')]),\n\t\ttransition('* => ' + PaginationAnimationEnum.BACK, [animate('300ms ease-in-out')]),\n\t]);\n};\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const popAnimation = () => {\n\treturn trigger('popAnimation', [\n\t\ttransition('void => *', [\n\t\t\tstyle({\n\t\t\t\theight: 0,\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: 'scale(0.85)',\n\t\t\t\tmarginBottom: 0,\n\t\t\t\tpaddingTop: 0,\n\t\t\t\tpaddingRight: 0,\n\t\t\t\tpaddingBottom: 0,\n\t\t\t\tpaddingLeft: 0,\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\t'50ms',\n\t\t\t\tstyle({\n\t\t\t\t\theight: '*',\n\t\t\t\t\tmarginBottom: '*',\n\t\t\t\t\tpaddingTop: '*',\n\t\t\t\t\tpaddingRight: '*',\n\t\t\t\t\tpaddingBottom: '*',\n\t\t\t\t\tpaddingLeft: '*',\n\t\t\t\t})\n\t\t\t),\n\t\t\tanimate(68),\n\t\t]),\n\n\t\ttransition('* => void', [\n\t\t\tanimate(\n\t\t\t\t50,\n\t\t\t\tstyle({\n\t\t\t\t\ttransform: 'scale(1.05)',\n\t\t\t\t})\n\t\t\t),\n\t\t\tanimate(\n\t\t\t\t50,\n\t\t\t\tstyle({\n\t\t\t\t\ttransform: 'scale(1)',\n\t\t\t\t\topacity: 0.75,\n\t\t\t\t})\n\t\t\t),\n\t\t\tanimate(\n\t\t\t\t'120ms ease-out',\n\t\t\t\tstyle({\n\t\t\t\t\ttransform: 'scale(0.68)',\n\t\t\t\t\topacity: 0,\n\t\t\t\t})\n\t\t\t),\n\t\t\tanimate(\n\t\t\t\t'150ms ease-out',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\tpaddingRight: 0,\n\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\tpaddingLeft: 0,\n\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { popAnimation } from './pop.animation';\nimport { x3DRotateAnimation } from './3d-rotate/x-3d-rotate.animation';\nimport { xGrowAnimation } from './grow/x-grow.animation';\nimport { fadeInLeftAnimation } from './fade/fade-in-left.animation';\nimport { listAnimation } from './list.animation';\nimport { paginationAnimation } from './pagination.animation';\nimport { y3DRotateAnimation } from './3d-rotate/y-3d-rotate.animation';\nimport { z3DRotateAnimation } from './3d-rotate/z-3d-rotate.animation';\nimport { yGrowAnimation } from './grow/y-grow.animation';\nimport { nestedAnimations } from './nested.animation';\nimport { fadeOutTopAnimation } from './fade/fade-out-top.animation';\nimport { opacityAnimation } from './opacity.animation';\nimport { pageAnimation } from './page.animation';\nimport { noInitialAnimation } from './no-initial-animation.animation';\nimport { marginLeftAnimation } from './margin/margin-left.animation';\n\nexport class Animations {\n\tpublic static popAnimation = popAnimation();\n\tpublic static pageAnimation = pageAnimation();\n\tpublic static x3DRotateAnimation = x3DRotateAnimation();\n\tpublic static y3DRotateAnimation = y3DRotateAnimation();\n\tpublic static z3DRotateAnimation = z3DRotateAnimation();\n\tpublic static fadeInLeftAnimation = fadeInLeftAnimation();\n\tpublic static fadeOutTopAnimation = fadeOutTopAnimation();\n\tpublic static listAnimation = listAnimation();\n\tpublic static paginationAnimation = paginationAnimation();\n\tpublic static opacityAnimation = opacityAnimation();\n\tpublic static nestedAnimations = nestedAnimations();\n\n\tpublic static xGrowAnimation = (from: string = '0', to: string = '*') => xGrowAnimation(from, to);\n\n\tpublic static yGrowAnimation = (from: string = '0', to: string = '*') => yGrowAnimation(from, to);\n\tpublic static marginLeftAnimation = (from: string = '0', to: string = '*', time: string = '250ms') =>\n\t\tmarginLeftAnimation(from, to, time);\n\tpublic static noInitialAnimation = noInitialAnimation();\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const fadeInLeftAnimation = () => {\n\treturn trigger('fadeInLeftAnimation', [\n\t\ttransition('void => *', [\n\t\t\tstyle({\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: 'translateX(25px)',\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\t'400ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: 'translateX(0px)',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\n\t\ttransition('* => void', [\n\t\t\tanimate(\n\t\t\t\t'400ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\ttransform: 'translateX(25px)',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const fadeOutTopAnimation = () => {\n\treturn trigger('fadeOutTopAnimation', [\n\t\ttransition('void => *', [\n\t\t\tstyle({\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: 'translateY(-25px)',\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\t'400ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: 'translateY(0px)',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\n\t\ttransition('* => void', [\n\t\t\tanimate(\n\t\t\t\t'400ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\ttransform: 'translateY(-25px)',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const xGrowAnimation = (from: string, to: string) => {\n\treturn trigger('xGrowAnimation', [\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\twidth: from,\n\t\t\t\toverflow: 'hidden',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\twidth: to,\n\t\t\t\topacity: '*',\n\t\t\t\toverflow: 'hidden',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t':leave',\n\t\t\tstyle({\n\t\t\t\twidth: from,\n\t\t\t\toverflow: 'hidden',\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t':enter',\n\t\t\tstyle({\n\t\t\t\twidth: to,\n\t\t\t\topacity: '*',\n\t\t\t\toverflow: 'hidden',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate('400ms ease-in-out')]),\n\t\ttransition(':enter', [\n\t\t\tstyle({\n\t\t\t\twidth: from,\n\t\t\t\toverflow: 'hidden',\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\t'250ms',\n\t\t\t\tstyle({\n\t\t\t\t\twidth: to,\n\t\t\t\t\topacity: '*',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t\ttransition(':leave', [\n\t\t\tstyle({\n\t\t\t\twidth: to,\n\t\t\t\toverflow: 'hidden',\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\t'250ms',\n\t\t\t\tstyle({\n\t\t\t\t\twidth: from,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const yGrowAnimation = (from: string, to: string) => {\n\treturn trigger('yGrowAnimation', [\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\theight: from,\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\theight: to,\n\t\t\t\topacity: '*',\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate('250ms ease-in-out')]),\n\t\ttransition(':enter', [\n\t\t\tstyle({\n\t\t\t\theight: from,\n\t\t\t\toverflow: 'hidden',\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\t'250ms ease-in-out',\n\t\t\t\tstyle({\n\t\t\t\t\theight: to,\n\t\t\t\t\topacity: '*',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t\ttransition(':leave', [\n\t\t\tanimate(\n\t\t\t\t'250ms ease-in-out',\n\t\t\t\tstyle({\n\t\t\t\t\theight: from,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, query, stagger, style, transition, trigger } from '@angular/animations';\n\nexport const listAnimation = () => {\n\treturn trigger('listAnimation', [\n\t\ttransition('* <=> *', [\n\t\t\tquery(\n\t\t\t\t':enter',\n\t\t\t\t[\n\t\t\t\t\tstyle({\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\ttransform: 'translateX(-15px)',\n\t\t\t\t\t}),\n\t\t\t\t\tstagger(\n\t\t\t\t\t\t'50ms',\n\t\t\t\t\t\tanimate(\n\t\t\t\t\t\t\t'550ms ease-out',\n\t\t\t\t\t\t\tstyle({\n\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\ttransform: 'translateX(0px)',\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t],\n\t\t\t\t{ optional: true }\n\t\t\t),\n\t\t\tquery(\n\t\t\t\t':leave',\n\t\t\t\tanimate(\n\t\t\t\t\t'50ms',\n\t\t\t\t\tstyle({\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\toptional: true,\n\t\t\t\t}\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const marginLeftAnimation = (from: string, to: string, time: string) => {\n\treturn trigger('marginLeftAnimation', [\n\t\tstate(\n\t\t\t'false',\n\t\t\tstyle({\n\t\t\t\tmarginLeft: from,\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\t'true',\n\t\t\tstyle({\n\t\t\t\tmarginLeft: to,\n\t\t\t})\n\t\t),\n\t\ttransition('true <=> false', [animate(time + ' ease-out')]),\n\t\ttransition(':enter', [\n\t\t\tstyle({\n\t\t\t\tmarginLeft: from,\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\ttime + ' ease-out',\n\t\t\t\tstyle({\n\t\t\t\t\tmarginLeft: to,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t\ttransition(':leave', [\n\t\t\tanimate(\n\t\t\t\ttime + ' ease-out',\n\t\t\t\tstyle({\n\t\t\t\t\tmarginLeft: from,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animateChild, query, transition, trigger } from '@angular/animations';\n\nexport const nestedAnimations = () => {\n\treturn trigger('nestedAnimations', [transition('* => *', [query('@*', animateChild(), { optional: true })])]);\n};\n","import { transition, trigger } from '@angular/animations';\n\nexport const noInitialAnimation = () => {\n\treturn trigger('noInitialAnimation', [transition(':enter', [])]);\n};\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const opacityAnimation = () => {\n\treturn trigger('opacityAnimation', [\n\t\ttransition('void => *', [\n\t\t\tstyle({\n\t\t\t\topacity: 0,\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\t'250ms',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\n\t\ttransition('* => void', [\n\t\t\tanimate(\n\t\t\t\t250,\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { animate, group, query, style, transition, trigger } from '@angular/animations';\n\nexport const pageAnimation = () => {\n\tconst direction = 'left';\n\tconst optional = { optional: true };\n\treturn trigger('pageAnimation', [\n\t\ttransition('* <=> *', [\n\t\t\tquery(\n\t\t\t\t':enter, :leave',\n\t\t\t\t[\n\t\t\t\t\tstyle({\n\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t[direction]: 0,\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\toptional\n\t\t\t),\n\t\t\tquery(':enter', [style({ [direction]: '-100%' })], optional),\n\t\t\tgroup([\n\t\t\t\tquery(':leave', [animate('600ms ease', style({ [direction]: '100%' }))], optional),\n\t\t\t\tquery(':enter', [animate('600ms ease', style({ [direction]: '0%' }))], optional),\n\t\t\t]),\n\t\t]),\n\t]);\n};\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport enum PaginationAnimationEnum {\n\tTO_RIGHT = 'toRight',\n\tTO_LEFT = 'toLeft',\n\tBACK = 'back',\n}\n\nexport const paginationAnimation = () => {\n\treturn trigger('paginationAnimation', [\n\t\tstate(\n\t\t\tPaginationAnimationEnum.TO_LEFT,\n\t\t\tstyle({\n\t\t\t\ttransform: 'translateX(-150%)',\n\t\t\t\topacity: 0,\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\tPaginationAnimationEnum.TO_RIGHT,\n\t\t\tstyle({\n\t\t\t\ttransform: 'translateX(150%)',\n\t\t\t\topacity: 0,\n\t\t\t})\n\t\t),\n\t\tstate(\n\t\t\tPaginationAnimationEnum.BACK,\n\t\t\tstyle({\n\t\t\t\ttransform: 'translateX(0%)',\n\t\t\t\topacity: 1,\n\t\t\t})\n\t\t),\n\t\ttransition('* => ' + PaginationAnimationEnum.TO_RIGHT, [animate('400ms ease-in-out')]),\n\t\ttransition('* => ' + PaginationAnimationEnum.TO_LEFT, [animate('400ms ease-in-out')]),\n\t\ttransition('* => ' + PaginationAnimationEnum.BACK, [animate('400ms ease-in-out')]),\n\t]);\n};\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const popAnimation = () => {\n\treturn trigger('popAnimation', [\n\t\ttransition('void => *', [\n\t\t\tstyle({\n\t\t\t\theight: 0,\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: 'scale(0.85)',\n\t\t\t\tmarginBottom: 0,\n\t\t\t\tpadding: 0,\n\t\t\t}),\n\t\t\tanimate(\n\t\t\t\t'50ms',\n\t\t\t\tstyle({\n\t\t\t\t\theight: '*',\n\t\t\t\t\tmarginBottom: '*',\n\t\t\t\t\tpadding: '*',\n\t\t\t\t})\n\t\t\t),\n\t\t\tanimate(68),\n\t\t]),\n\n\t\ttransition('* => void', [\n\t\t\tanimate(\n\t\t\t\t50,\n\t\t\t\tstyle({\n\t\t\t\t\ttransform: 'scale(1.05)',\n\t\t\t\t})\n\t\t\t),\n\t\t\tanimate(\n\t\t\t\t50,\n\t\t\t\tstyle({\n\t\t\t\t\ttransform: 'scale(1)',\n\t\t\t\t\topacity: 0.75,\n\t\t\t\t})\n\t\t\t),\n\t\t\tanimate(\n\t\t\t\t'120ms ease-out',\n\t\t\t\tstyle({\n\t\t\t\t\ttransform: 'scale(0.68)',\n\t\t\t\t\topacity: 0,\n\t\t\t\t})\n\t\t\t),\n\t\t\tanimate(\n\t\t\t\t'150ms ease-out',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\tpadding: 0,\n\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t})\n\t\t\t),\n\t\t]),\n\t]);\n};\n","import { bytesToHex as toHex } from '@noble/hashes/utils';\nimport { sha256 } from '@noble/hashes/sha256';\nimport { FormGroup } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nexport function Required() {\n\treturn function (target: Object, propertyKey: PropertyKey) {\n\t\tObject.defineProperty(target, propertyKey, {\n\t\t\tget() {\n\t\t\t\tthrow new Error(`Attribute ${String(propertyKey)} is required`);\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tObject.defineProperty(this, propertyKey, {\n\t\t\t\t\tvalue,\n\t\t\t\t\twritable: true,\n\t\t\t\t});\n\t\t\t},\n\t\t});\n\t};\n}\n\nexport interface CachePropertyDescriptor extends PropertyDescriptor {\n\tget?: (this: T) => R;\n}\n\nexport function Cache(ms?: number) {\n\tconst cache: Map = new Map();\n\n\treturn function (target: any, propertyKey: string, descriptor: PropertyDescriptor | CachePropertyDescriptor) {\n\t\tconst getter = descriptor.get;\n\n\t\tif (getter) {\n\t\t\tdescriptor.get = function (this: T) {\n\t\t\t\tconst value = getter.call(this);\n\n\t\t\t\tObject.defineProperty(this, propertyKey, {\n\t\t\t\t\tconfigurable: descriptor.configurable,\n\t\t\t\t\tenumerable: descriptor.enumerable,\n\t\t\t\t\twritable: false,\n\t\t\t\t\tvalue,\n\t\t\t\t});\n\n\t\t\t\treturn value;\n\t\t\t};\n\t\t} else {\n\t\t\tconst originalMethod = descriptor.value;\n\t\t\tconst prefixKey = `${target.constructor.name}_${propertyKey}_`;\n\n\t\t\tdescriptor.value = function (...args: any[]) {\n\t\t\t\tconst key = prefixKey + toHex(sha256(JSON.stringify(args)));\n\t\t\t\tconst cachedEntry = cache.get(key);\n\n\t\t\t\tif (cachedEntry !== undefined && (!ms || Date.now() - cachedEntry.timestamp < ms)) {\n\t\t\t\t\treturn cachedEntry.data;\n\t\t\t\t}\n\n\t\t\t\tconst result = originalMethod.apply(this, args);\n\n\t\t\t\tcache.set(key, {\n\t\t\t\t\tdata: result,\n\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t});\n\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\t};\n}\n\nexport function LocalStorageForm(key: string): any {\n\treturn function (target: any, propertyKey: string) {\n\t\tconst originalNgOnInit = target.ngOnInit;\n\t\tconst originalngOnDestroy = target.ngOnDestroy;\n\t\tlet subscription: Subscription;\n\n\t\ttarget.ngOnInit = function (this: any) {\n\t\t\tif (originalNgOnInit) {\n\t\t\t\toriginalNgOnInit.apply(this);\n\t\t\t}\n\n\t\t\tif (!key) {\n\t\t\t\tthrow new Error('Form name is required for syncing with localStorage');\n\t\t\t}\n\t\t\tkey = 'LocalStorageForm_' + key;\n\t\t\tconst form: FormGroup = this[propertyKey];\n\n\t\t\tconst storedData = localStorage.getItem(key);\n\t\t\tif (storedData) {\n\t\t\t\tconst parsedData = JSON.parse(storedData);\n\t\t\t\tform.patchValue(parsedData);\n\t\t\t}\n\n\t\t\tsubscription = form.valueChanges.subscribe((value) => {\n\t\t\t\tlocalStorage.setItem(key, JSON.stringify(value));\n\t\t\t});\n\t\t};\n\t\ttarget.ngOnDestroy = function (this: any) {\n\t\t\tif (originalngOnDestroy) {\n\t\t\t\toriginalngOnDestroy.apply(this);\n\t\t\t}\n\t\t\tsubscription?.unsubscribe();\n\t\t};\n\t};\n}\n","export enum LevelEnum {\n\tINSTRUCTOR = 1,\n\tDEAN = 2,\n\tADMINISTRATOR = 3,\n\tDEAN_OF_STUDIES = 4,\n\tDATA_COLLECTOR = 5,\n\tSERIES_PRINT = 7,\n\tREPORT_CREATOR = 8,\n\tWASTE_PAPER_BIN = 9,\n\tONLINE_SURVEY_USER = 10, // Not really used, here for completeness\n\tWEB_VERIFIER = 11,\n\tREPORTING_MASK = 12,\n\tSUBSECTION_ADMINISTRATOR = 13,\n\tMODUL = 14,\n\tSOAP = 15,\n\tONLINE_SURVEY_PARTICIPANTS = 16,\n\tARCHIVED = 21,\n}\n","import { Dictionary } from '@ngrx/entity';\n\nexport enum UserRightsEnum {\n\tINSTRUCTOR = 0x00000001,\n\tDEAN = 0x00000002,\n\tADMINISTRATOR = 0x00000004,\n\tDEAN_OF_STUDIES = 0x00000008,\n\tDATA_COLLECTOR = 0x00000010,\n\tSERIES_PRINT = 0x00000020,\n\tARCHIVED = 0x00000040,\n\tREPORT_CREATOR = 0x00000080,\n\tWASTE_PAPER_BIN = 0x00000100,\n\tWEB_VERIFIER = 0x00000200,\n\tREPORTING_MASK = 0x00000400,\n\tSUBSECTION_ADMINISTRATOR = 0x00000800,\n\tMODUL = 0x00001000,\n\tBAHN_KAM_AND_ABT = 0x00002000,\n\tBAHN_F_AND_E = 0x00004000,\n\tBAHN_SCANKRAFT = 0x00008000,\n\tLINKED_USER = 0x00010000,\n\tFIRSTADMIN = 0x00020000,\n\tEXAM_ACCOUNT = 0x00040000,\n\tSURVEY_ACCOUNT = 0x00080000,\n\tCATEGORIZATION = 0x00100000,\n}\n\n//TODO: UNKNOWN mit strings ersetzen\nexport const UserRightDesignation: Dictionary = {\n\t[UserRightsEnum.INSTRUCTOR]: 'S_USER_INSTRUCTOR',\n\t[UserRightsEnum.DEAN]: 'S_USER_DEAN',\n\t[UserRightsEnum.ADMINISTRATOR]: 'S_ADMINISTRATOR',\n\t[UserRightsEnum.DEAN_OF_STUDIES]: 'S_USER_DEANOFSTUDY',\n\t[UserRightsEnum.DATA_COLLECTOR]: 'S_USER_DATAENTRYASSISTANT',\n\t[UserRightsEnum.SERIES_PRINT]: 'S_MERGE_PRINT',\n\t[UserRightsEnum.ARCHIVED]: 'S_ARCHIVE',\n\t[UserRightsEnum.REPORT_CREATOR]: 'S_USER_REPORTCREATOR',\n\t[UserRightsEnum.WASTE_PAPER_BIN]: 'UNKNOWN',\n\t[UserRightsEnum.WEB_VERIFIER]: 'S_NUTZER_VERIFICATOR',\n\t[UserRightsEnum.REPORTING_MASK]: 'S_REPORT_MASK',\n\t[UserRightsEnum.SUBSECTION_ADMINISTRATOR]: 'S_NUTZER_SUBUNITADMIN',\n\t[UserRightsEnum.MODUL]: 'S_MODULE',\n\t[UserRightsEnum.BAHN_KAM_AND_ABT]: 'UNKNOWN',\n\t[UserRightsEnum.BAHN_F_AND_E]: 'UNKNOWN',\n\t[UserRightsEnum.BAHN_SCANKRAFT]: 'UNKNOWN',\n\t[UserRightsEnum.LINKED_USER]: 'UNKNOWN',\n\t[UserRightsEnum.FIRSTADMIN]: 'S_NUTZER_ADMIN',\n\t[UserRightsEnum.EXAM_ACCOUNT]: 'UNKNOWN',\n\t[UserRightsEnum.SURVEY_ACCOUNT]: 'UNKNOWN',\n\t[UserRightsEnum.CATEGORIZATION]: 'UNKNOWN',\n};\n","//Enum zum Mappen der Bootstrap Klassen\nexport enum ButtonDesignEnum {\n\tPRIMARY = 'primary',\n\tOUTLINE_PRIMARY = 'outline-primary',\n\tSECONDARY = 'secondary',\n\tOUTLINE_SECONDARY = 'outline-secondary',\n\tLINK = 'link',\n\tOUTLINE_LINK = 'outline-link',\n\tDANGER = 'danger',\n\tOUTLINE_DANGER = 'outline-danger',\n}\n","export enum ChipTypeaheadDesignEnum {\n\tDEFAULT = 'chip',\n\tLIST = 'list',\n\tNONE = 'none',\n}\n","export enum DesignEnum {\n\tPRIMARY = 'primary',\n\tSECONDARY = 'secondary',\n\tINFO = 'info',\n\tWARNING = 'warning',\n\tDANGER = 'danger',\n\tLIGHT = 'light',\n\tDARK = 'dark',\n}\n","export enum LabelPositionEnum {\n\t//TOP = 'top',\n\t//BOTTOM = 'bottom',\n\tLEFT = 'left',\n\tRIGHT = 'right',\n}\n","export enum LoadedComponentEnum {\n\tBUTTON,\n\tTEXTBOX,\n\tTEXT,\n\tLOGO,\n}\n","export enum NotificationEnum {\n\tERROR = 'stop',\n\tWARNING = 'warning',\n\tSUCCESS = 'okay',\n}\n\nexport const NotificationEnumMap = {\n\t0: NotificationEnum.ERROR,\n\t1: NotificationEnum.WARNING,\n\t2: NotificationEnum.WARNING,\n};\n","export enum SelectorChangeabilityEnum {\n\tNO_RESTRICTIONS = '0', // ignore\n\tCHANGE_OTHERS_RIGHTS = '1', // ignore: muss backend steuern\n\tNO_DESELECTION = '2',\n}\n","export enum InputValueReplaceStrategy {\n\tKEEP_INPUT_VALUE,\n\tREPLACE_WITH_SELECTED_VALUE,\n}\n","export enum EvasysActionsEnum {\n\tLOAD = 'Load',\n\tLOADONE = 'LoadOne',\n\tLOADONEWITHPARAMS = 'LoadOneWithParams',\n\tLOADWITHPARAMS = 'LoadWithParams',\n\tLOADMANY = 'LoadMany',\n\tLOADALL = 'LoadAll',\n\tLOADMANYWITHPARAMS = 'LoadManyWithParams',\n\tLOADPAGE = 'LoadPage',\n\tLOADPAGEWITHPARAMS = 'LoadPageWithParams',\n\tLOADPAGEWITHFILTER = 'LoadPageWithFilter',\n\tCREATEONE = 'CreateOne',\n\tCREATEONELOCAL = 'CreateOneLocal',\n\tCREATEMANY = 'CreateMany',\n\tUPLOADFILE = 'UploadFile',\n\tEDITONE = 'EditOne',\n\tEDITONELOCAL = 'EditOneLocal',\n\tEDITMANY = 'EditMany',\n\tDELETEONE = 'DeleteOne',\n\tDELETEONELOCAL = 'DeleteOneLocal',\n\tDELETEMANY = 'DeleteMany',\n\tCLEAR = 'Clear',\n\tCUSTOM = 'Custom',\n}\n","export enum EvasysGrantEnum {\n\tPASSWORD = 'password',\n\tREFRESH_TOKEN = 'refresh_token',\n}\n","export enum EvasysLoadingStrategiesEnum {\n\tSTATEONLY = 'StateOnly',\n\tAPIONLY = 'APIOnly',\n\tSTATETHENAPI = 'StateThenAPI',\n\tAPITHENSTATE = 'APIThenState',\n\tSTATEFALLBACKAPI = 'StateFallbackAPI',\n}\n","export enum EvasysPropertyTypeNameEnum {\n\tLIST = 'list',\n\tBUTTON = 'button',\n\tSTRING = 'string',\n\tBOOL = 'bool',\n\tTEXT = 'text',\n\tTEXTAREA = 'textArea',\n\tIMAGE = 'img',\n\tINTEGER = 'int',\n\tCOLOR = 'color',\n\tFLOAT = 'float',\n\tHEADLINE = 'headline',\n}\n","export enum EvasysRequestMethodEnum {\n\tPOST = 'post',\n\tGET = 'get',\n\tDELETE = 'delete',\n\tPUT = 'put',\n\tPATCH = 'patch',\n}\n","export enum EvasysResponseStateEnum {\n\tSUCCESS = 'Success',\n\tFAILURE = 'Failure',\n}\n","export const WHITE = '#ffffff';\nexport const BLACK = '#000000';\n\nexport function hexToRgb(hex: string): RgbColor {\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\treturn result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : null;\n}\n\nexport function rgbToHex(rgb: RgbColor, hashtag: boolean = true): string {\n\tlet hex = '';\n\tfor (const rgbVal of rgb) {\n\t\tconst rgbStringVal = rgbVal.toString(16);\n\t\thex += rgbStringVal.length === 1 ? '0' + rgbStringVal : rgbStringVal;\n\t}\n\treturn (hashtag ? '#' : '') + hex;\n}\n\nexport function mix(hex1: string, hex2: string, ratio: number = 0.5): string {\n\tconst rgb1 = hexToRgb(hex1);\n\tconst rgb2 = hexToRgb(hex2);\n\n\tconst rgbMix = rgb1.map((rgb1Val, i) => {\n\t\treturn Math.ceil(rgb1Val * ratio + rgb2[i] * (1 - ratio));\n\t});\n\n\treturn rgbToHex(rgbMix);\n}\n\nexport function shade(hex: string, ratio: number): string {\n\treturn mix('#000000', hex, ratio);\n}\n\nexport function tint(hex: string, ratio: number): string {\n\treturn mix('#ffffff', hex, ratio);\n}\n\nexport function contrast(hex: string, dark = BLACK, light = WHITE): string {\n\tconst rgb = hexToRgb(hex);\n\n\t// https://stackoverflow.com/a/3943023/112731\n\treturn rgb[0] * 0.299 + rgb[1] * 0.587 + rgb[2] * 0.114 > 186 ? dark : light;\n}\n\nexport function isLight(hex: string): boolean {\n\treturn contrast(hex) === BLACK;\n}\n\ntype RgbColor = [number, number, number];\n","export function enumValues(obj: O): O[keyof O][] {\n\treturn Object.entries(obj)\n\t\t.filter(([key]) => Number.isNaN(Number(key)))\n\t\t.map(([, value]) => value);\n}\n\nexport function enumKeys(obj: O): (keyof O)[] {\n\treturn Object.keys(obj).filter((key) => Number.isNaN(Number(key))) as (keyof O)[];\n}\n\nexport function getEnumValue(obj: O, name: unknown): O[keyof O] | undefined {\n\treturn enumValues(obj).find((enumValue) => enumValue === name);\n}\n\nexport const enumKey = (obj: O, id: unknown) => Object.keys(obj)[Object.values(obj).indexOf(id)];\n","import { isEqual as lodashIsEqual } from 'lodash';\n\nexport function reduceObject(object: object, props: string[]) {\n\treturn Object.keys(object)\n\t\t.filter((key) => props.includes(key))\n\t\t.reduce((obj: any, key: any) => {\n\t\t\tobj[key] = (object as any)[key];\n\t\t\treturn obj;\n\t\t}, {});\n}\n\n/**\n * Same functionality as lodash.isEqual but with generic parameters, sometimes allowing for better typing\n *\n * ```typescript\n * const observable = new Observable();\n *\n * observable.pipe(distinct(isEqual)); // yields an Observable\n * observable.pipe(distinct(lodashIsEqual)); // yields an Observable\n * ```\n */\nexport function isEqual(a: A, b: B) {\n\treturn lodashIsEqual(a, b);\n}\n","import { TypeaheadIdentifierValue, TypeaheadItemIdentifier } from '../models/component/typeahead/typeahead.model';\n\nexport function getTypeaheadIdentifierValue(\n\titem: T,\n\titemIdentifier: TypeaheadItemIdentifier\n): TypeaheadIdentifierValue {\n\tif (typeof itemIdentifier === 'function') {\n\t\treturn itemIdentifier(item);\n\t} else {\n\t\treturn item[itemIdentifier] as TypeaheadIdentifierValue;\n\t}\n}\n","export function getWindowVariable(windowVariable: string): T {\n\treturn window[windowVariable as keyof typeof window];\n}\n","export enum StatusCardEnum {\n\tLOADING = 'LOADING',\n\tSUCCEEDED = 'SUCCEEDED',\n\tFAILED = 'FAILED',\n}\n","export enum EvasysRevokeTokenTypeEnum {\n\tACCESS_TOKEN = 'access_token',\n\tREFRESH_TOKEN = 'refresh_token',\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\n\nexport const emailValidator = (): ValidatorFn => {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tlet validationResult = null;\n\n\t\tconst value: string = control.value;\n\t\tif (!value || value === '') {\n\t\t\treturn null;\n\t\t}\n\n\t\t//angular email validation\n\t\tvalidationResult = Validators.email(control);\n\n\t\t//custom validation\n\t\tif (validationResult === null) {\n\t\t\t//regex copied from backend: module/ep-legacy/src/legacycode/classes/email_validation.php\n\t\t\tconst emailRegex = new RegExp(\n\t\t\t\t\"^['_a-zA-Z0-9-]+(\\\\.['_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\\\\.[a-zA-Z0-9-]{1,})*\\\\.([a-zA-Z]{2,}){1}\"\n\t\t\t);\n\t\t\tvalidationResult = emailRegex.test(value) ? null : { email: true };\n\t\t}\n\n\t\treturn validationResult;\n\t};\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport const equalValidator = (firstControlName: string, secondControlName: string): ValidatorFn => {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tconst firstControl = control.get(firstControlName);\n\t\tconst secondControl = control.get(secondControlName);\n\n\t\tif (firstControl.value != secondControl.value && !(firstControl.disabled || secondControl.disabled)) {\n\t\t\treturn { equal: [firstControlName, secondControlName] };\n\t\t}\n\n\t\treturn null;\n\t};\n};\n","import { AbstractControl, AsyncValidatorFn, ValidationErrors } from '@angular/forms';\nimport { Observable, of } from 'rxjs';\n\nexport const phoneValidator = (): AsyncValidatorFn => {\n\treturn (control: AbstractControl): Observable => {\n\t\tconst value: string = control.value;\n\t\tif (!value || value === '') {\n\t\t\treturn of(null);\n\t\t}\n\t\tconst phoneRegex = new RegExp('^\\\\+?\\\\d+$');\n\t\treturn phoneRegex.test(value) ? of(null) : of({ phone: true });\n\t};\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport const securePasswordValidator = (): ValidatorFn => {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tlet validationResult = null;\n\n\t\tconst value: string = control.value;\n\t\tif (!value || value === '') {\n\t\t\treturn null;\n\t\t}\n\n\t\t//custom validation\n\t\tif (validationResult === null) {\n\t\t\tconst characterRegex: RegExp = /(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).+/;\n\t\t\tconst repetitionRegex: RegExp = /(.)\\1{2}/;\n\n\t\t\tvalidationResult =\n\t\t\t\tcharacterRegex.test(value) && !repetitionRegex.test(value) ? null : { securePassword: true };\n\t\t}\n\n\t\treturn validationResult;\n\t};\n};\n","import { Validators } from '@angular/forms';\nimport { phoneValidator } from './phone.validator';\nimport { equalValidator } from './equal.validator';\nimport { emailValidator } from './email.validator';\nimport { securePasswordValidator } from './secure-password.validator';\n\nexport class Validations extends Validators {\n\tstatic phone = phoneValidator();\n\tstatic equal = (firstControl: string, secondControl: string) => equalValidator(firstControl, secondControl);\n\tstatic override email = emailValidator();\n\tstatic securePassword = securePasswordValidator();\n}\n","export * from './lib/evainsights-shared-core';\n\n// services\nexport * from './lib/services/auth/auth-user-service-helper.service';\nexport * from './lib/services/form/form.service';\nexport * from './lib/services/item/item.service';\nexport * from './lib/services/item/item-collection.service';\nexport * from './lib/services/language/language.service';\nexport * from './lib/services/organization/period.service';\nexport * from './lib/services/organization/programme.service';\nexport * from './lib/services/organization/endpoints.service';\nexport * from './lib/services/organization/unit.service';\nexport * from './lib/services/participation/participation-event.service';\nexport * from './lib/services/report/reportBase.service';\nexport * from './lib/services/report/report.service';\nexport * from './lib/services/report/report-template.service';\nexport * from './lib/services/report/reportItem.service';\nexport * from './lib/services/report/respondent-filter.service';\nexport * from './lib/services/report/report-processing.service';\nexport * from './lib/services/staff/staff.service';\nexport * from './lib/services/survey/survey.service';\nexport * from './lib/services/common/search-request-param.service';\nexport * from './lib/services/common/dashboard-table-data.provider';\nexport * from './lib/services/common/breadcrumb-update.service';\nexport * from './lib/services/common/ui-config.service';\nexport * from './lib/services/chart/chart.service';\nexport * from './lib/services/topic-modeling/topic.service';\nexport * from './lib/services/topic-modeling/topic-model.service';\nexport * from './lib/services/filter/filter.service';\nexport * from './lib/services/tenant/tenant.service';\nexport * from './lib/services/report/report-language.service';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { TranslocoModule } from '@ngneat/transloco';\n\n@NgModule({\n\timports: [CommonModule, FormsModule, TranslocoModule],\n\tdeclarations: [],\n\texports: [],\n})\nexport class EvainsightsSharedCoreModule {}\n","import { inject, Injectable } from '@angular/core';\nimport { EvasysState } from '@evasys/shared/core';\nimport { map } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { EvasysUserModel } from '@evasys/globals/shared/models/general/evasys-user.model';\nimport { sharedSelectors } from '../../../../../../../shared/core/src/lib/selectors';\nimport { Observable } from 'rxjs';\nimport { EvasysTokenModel } from '@evasys/globals/shared/models/general/evasys-token.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class AuthUserServiceHelperService {\n\tprivate readonly userStore = inject(Store>);\n\tprivate readonly tokenStore = inject(Store>);\n\n\tpublic getUserIdFromAuthUser(): Observable {\n\t\treturn this.userStore.select(sharedSelectors.fromAuthUser.selectAuthenticatedUser).pipe(\n\t\t\tmap((user) => {\n\t\t\t\treturn Number(user?.id);\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic getAuthenticatedUser(): Observable {\n\t\treturn this.userStore.select(sharedSelectors.fromAuthUser.selectAuthenticatedUser);\n\t}\n\n\tpublic getToken(): Observable {\n\t\t// token is undefined before logging in\n\t\treturn this.tokenStore.select(sharedSelectors.fromAuth.selectToken);\n\t}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, of, scan, shareReplay } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { AnalysisType, VisualizationType } from '@evasys/globals/evainsights/constants/types';\nimport { map } from 'rxjs/operators';\nimport { pick } from 'lodash';\nimport {\n\tAggregationType,\n\tAxisChartDataRequestDimension,\n\tAxisChartIndexDimension,\n\tBarChartConfig,\n\tBarChartContent,\n\tCentralTendencyLineChartConfig,\n\tCentralTendencyLineChartContent,\n\tCentralTendencyLineChartData,\n\tCentralTendencyLineChartDataRequest,\n\tCountAxisChartDataRequest,\n\tCountLineChartConfig,\n\tCountLineChartContent,\n\tDataIndexDimensionType,\n\tDimensionMappingConfig,\n\tProfileLineChartConfig,\n\tProfileLineChartContent,\n\tProfileLineChartDataRequest,\n\tReportItemContent,\n\tResponseCountAxisChartData,\n\tResponsesDataRequest,\n\tRichTextConfig,\n\tRichTextContent,\n\tRichTextDataRequest,\n\tTopicWordcloudConfig,\n\tTopicWordcloudContent,\n\tTopicWordcloudData,\n\tTopicWordcloudDataRequest,\n\tTopicWordcloudResponsesConfig,\n\tTopicWordcloudResponsesContent,\n\tTopicWordcloudResponsesData,\n\tTopicWordcloudResponsesDataRequest,\n} from '@evasys/globals/evainsights/models/report-item';\nimport { assertNotNullish } from '@evasys/globals/evainsights/typeguards/common';\nimport {\n\tResponsesConfig,\n\tResponsesContent,\n\tResponsesData,\n} from '@evasys/globals/evainsights/models/report-item/content/responses-report-item-content.model';\nimport {\n\tWordFrequencyWordcloudConfig,\n\tWordFrequencyWordcloudContent,\n\tWordFrequencyWordcloudData,\n} from '@evasys/globals/evainsights/models/report-item/content/word-frequency-wordcloud-report-item-content.model';\nimport { isEqual } from '@evasys/globals/shared/helper/object';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ChartService {\n\tprivate readonly http = inject(HttpClient);\n\n\tcountAxisChartLoader: DataLoader = {\n\t\tmatches: (config): config is BarChartConfig | CountLineChartConfig =>\n\t\t\tconfig.visualizationType === VisualizationType.BAR_CHART ||\n\t\t\t(config.visualizationType === VisualizationType.LINE_CHART &&\n\t\t\t\tconfig.aggregation.type === AggregationType.RESPONSE_COUNT),\n\t\tgetParams: (config, reportId) => ({\n\t\t\treportId,\n\t\t\tdataDimensions: config.dimensionMappings.map(this.toDataRequestDimension),\n\t\t}),\n\t\tgetData: (params) => this.http.post(endpoints.postAxisChartData.url(), params),\n\t};\n\n\tcentralTendencyLineChartLoader: DataLoader = {\n\t\tmatches: (config): config is CentralTendencyLineChartConfig =>\n\t\t\tconfig.visualizationType === VisualizationType.LINE_CHART &&\n\t\t\tconfig.aggregation.type === AggregationType.CENTRAL_TENDENCY,\n\t\tgetParams: (config, reportId) => ({\n\t\t\treportId,\n\t\t\tdataDimensions: config.dimensionMappings.map(this.toDataRequestDimension),\n\t\t\taggregation: {\n\t\t\t\tmetric: config.aggregation.metric,\n\t\t\t\tsources: config.aggregation.sources.map(({ itemOptionIds }) => ({ itemOptionIds })),\n\t\t\t},\n\t\t}),\n\t\tgetData: (params) => this.http.post(endpoints.postAxisChartData.url(), params),\n\t};\n\n\twordFrequencyWordcloudLoader: DataLoader = {\n\t\tmatches: (config): config is WordFrequencyWordcloudConfig =>\n\t\t\tconfig.visualizationType === VisualizationType.WORDCLOUD &&\n\t\t\tconfig.analysisType == AnalysisType.WORD_FREQUENCY,\n\t\tgetParams: (config, reportId) => ({ reportId, itemIds: config.itemIds }),\n\t\tgetData: (params) =>\n\t\t\tthis.http.post(endpoints.postWordFrequencyWordcloudData.url(), params),\n\t};\n\n\ttopicWordcloudResponsesLoader: DataLoader = {\n\t\tmatches: (config): config is TopicWordcloudResponsesConfig =>\n\t\t\tconfig.visualizationType === VisualizationType.WORDCLOUD_RESPONSES,\n\t\tgetParams: this.getTopicRequestParams,\n\t\tgetData: (params) =>\n\t\t\tthis.http.post(endpoints.postTopicWordcloudResponsesData.url(), params),\n\t};\n\n\ttopicWordcloudLoader: DataLoader = {\n\t\tmatches: (config): config is TopicWordcloudConfig =>\n\t\t\tconfig.visualizationType === VisualizationType.WORDCLOUD && config.analysisType === AnalysisType.TOPIC,\n\t\tgetParams: this.getTopicRequestParams,\n\t\tgetData: (params) => this.http.post(endpoints.postTopicWordcloudData.url(), params),\n\t};\n\n\trichTextLoader: DataLoader = {\n\t\tmatches: (config): config is RichTextConfig => config.visualizationType === VisualizationType.RICH_TEXT,\n\t\tgetParams: () => ({}),\n\t\tgetData: () => of(null),\n\t};\n\n\tprofileLineChartLoader: DataLoader = {\n\t\tmatches: (config): config is ProfileLineChartConfig =>\n\t\t\tconfig.visualizationType === VisualizationType.PROFILE_LINE_CHART,\n\t\tgetParams: () => ({}),\n\t\tgetData: () => of(null as any),\n\t};\n\n\tresponsesLoader: DataLoader = {\n\t\tmatches: (config): config is ResponsesConfig => config.visualizationType === VisualizationType.RESPONSES,\n\t\tgetParams: ({ itemIds }, reportId) => ({\n\t\t\treportId,\n\t\t\titemIds,\n\t\t}),\n\t\tgetData: (params) => this.http.post(endpoints.postResponsesData.url(), params),\n\t};\n\n\ttoDataRequestDimension = (\n\t\tmapping: DimensionMappingConfig\n\t): AxisChartDataRequestDimension => {\n\t\tconst dataDimension = mapping.data;\n\n\t\tif (dataDimension.type === DataIndexDimensionType.ITEM) {\n\t\t\treturn {\n\t\t\t\ttype: DataIndexDimensionType.ITEM,\n\t\t\t\tdomain: this.toDataRequestDomain(dataDimension.domain, ['itemIds']),\n\t\t\t};\n\t\t} else if (dataDimension.type === DataIndexDimensionType.ITEM_OPTION) {\n\t\t\treturn {\n\t\t\t\ttype: DataIndexDimensionType.ITEM_OPTION,\n\t\t\t\tdomain: this.toDataRequestDomain(dataDimension.domain, ['itemOptionIds']),\n\t\t\t};\n\t\t} else if (dataDimension.type === DataIndexDimensionType.PERIOD) {\n\t\t\treturn {\n\t\t\t\ttype: DataIndexDimensionType.PERIOD,\n\t\t\t\tdomain: dataDimension.domain,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\ttype: DataIndexDimensionType.TOPIC,\n\t\t\t\tdomain: this.toDataRequestDomain(dataDimension.domain, ['itemIds', 'topicIds']),\n\t\t\t};\n\t\t}\n\t};\n\n\ttoDataRequestDomain = (\n\t\tdomain: Point[],\n\t\tproperties: Property[]\n\t) => {\n\t\treturn domain.filter((point) => !point.exclude).map((point) => pick(point, ...properties));\n\t};\n\n\tgetTopicRequestParams(\n\t\t{ topicId, itemIds }: TopicWordcloudConfig | TopicWordcloudResponsesConfig,\n\t\treportId: number | undefined\n\t) {\n\t\tassertNotNullish(reportId);\n\t\treturn { reportId, topicId, itemIds };\n\t}\n\n\t/**\n\t * A Rxjs operator that build complete report item contents including the data from configs.\n\t * Whenever possible, it reuses the previous data to prevent unnecessary network requests.\n\t */\n\tgetReportItemContentFromConfig(reportId: number | undefined) {\n\t\treturn (\n\t\t\tconfigObservable: Observable\n\t\t): Observable> => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\treturn configObservable.pipe(\n\t\t\t\tscan(\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t({ cacheKey: prevCacheKey, data: prevData }, config) => {\n\t\t\t\t\t\tconst cacheQuery = this.makeDataCacheQuery(config, reportId);\n\t\t\t\t\t\t// if the cache key is the same as for the previous observable, reuse the shared data\n\t\t\t\t\t\t// otherwise compute the data and make it shareable for the next report item\n\t\t\t\t\t\tconst dataObservable = isEqual(cacheQuery.key, prevCacheKey)\n\t\t\t\t\t\t\t? prevData\n\t\t\t\t\t\t\t: cacheQuery.compute().pipe(shareReplay(1));\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcacheKey: cacheQuery.key,\n\t\t\t\t\t\t\tdata: dataObservable,\n\t\t\t\t\t\t\tcontent: dataObservable?.pipe(map((data) => ({ config, data }))),\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\t{ cacheKey: null, data: null, content: null }\n\t\t\t\t),\n\t\t\t\tmap(({ content }) => content)\n\t\t\t);\n\t\t};\n\t}\n\n\tprivate makeDataCacheQuery(config: ReportItemContent['config'], reportId: number | undefined): CacheQuery {\n\t\tif (this.countAxisChartLoader.matches(config)) {\n\t\t\treturn this.makeDataCacheQueryWithLoader(config, reportId, this.countAxisChartLoader);\n\t\t} else if (this.centralTendencyLineChartLoader.matches(config)) {\n\t\t\treturn this.makeDataCacheQueryWithLoader(config, reportId, this.centralTendencyLineChartLoader);\n\t\t} else if (this.wordFrequencyWordcloudLoader.matches(config)) {\n\t\t\treturn this.makeDataCacheQueryWithLoader(config, reportId, this.wordFrequencyWordcloudLoader);\n\t\t} else if (this.topicWordcloudResponsesLoader.matches(config)) {\n\t\t\treturn this.makeDataCacheQueryWithLoader(config, reportId, this.topicWordcloudResponsesLoader);\n\t\t} else if (this.topicWordcloudLoader.matches(config)) {\n\t\t\treturn this.makeDataCacheQueryWithLoader(config, reportId, this.topicWordcloudLoader);\n\t\t} else if (this.richTextLoader.matches(config)) {\n\t\t\treturn this.makeDataCacheQueryWithLoader(config, reportId, this.richTextLoader);\n\t\t} else if (this.profileLineChartLoader.matches(config)) {\n\t\t\treturn this.makeDataCacheQueryWithLoader(config, reportId, this.profileLineChartLoader);\n\t\t} else if (this.responsesLoader.matches(config)) {\n\t\t\treturn this.makeDataCacheQueryWithLoader(config, reportId, this.responsesLoader);\n\t\t} else {\n\t\t\tthrow new Error('Unsupported chart');\n\t\t}\n\t}\n\n\tprivate makeDataCacheQueryWithLoader(\n\t\tconfig: Content['config'],\n\t\treportId: number | undefined,\n\t\tloader: DataLoader\n\t): CacheQuery {\n\t\tconst params = loader.getParams(config, reportId);\n\n\t\treturn {\n\t\t\tkey: [loader.getData, params],\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\tcompute: () => loader.getData(params),\n\t\t};\n\t}\n}\n\n// Define the loader for each possible data type in three steps\n// this allows us to decide if we can reuse a previous content request:\n// does the same data loader still match and did the request params stay the same? Then reuse, otherwise request\ninterface DataLoader {\n\t// should this loader handle the request?\n\tmatches: (config: ReportItemContent['config']) => config is Content['config'];\n\t// which parts of the options are actually used when building the content?\n\tgetParams: (config: Content['config'], reportId: number | undefined) => Params;\n\t// build the content given the parameters\n\tgetData: (params: Params) => Observable | null;\n}\n\ninterface CacheQuery {\n\tkey: unknown;\n\tcompute: () => Observable;\n}\n\ninterface ScanAccumulation {\n\tcacheKey: unknown | null;\n\tdata: Observable | null;\n\tcontent: Observable | null;\n}\n","import { map, Observable } from 'rxjs';\nimport { BreadcrumbItem } from '@evasys/shared/ui';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class BreadcrumbUpdateService {\n\tconstructor(readonly translocoService: TranslocoService) {}\n\n\tupdateLastBreadItem(title: string, breadItems: Observable): Observable {\n\t\treturn breadItems.pipe(\n\t\t\tmap((value) => {\n\t\t\t\tvalue[value.length - 1] = {\n\t\t\t\t\tid: 'report-creator',\n\t\t\t\t\tname: this.translocoService.translate('report.reportCreatorEdit', {\n\t\t\t\t\t\ttitle: title,\n\t\t\t\t\t}),\n\t\t\t\t\tqueryParamsHandling: 'preserve',\n\t\t\t\t};\n\t\t\t\treturn value;\n\t\t\t})\n\t\t);\n\t}\n}\n","import { ActivatedRoute, Params } from '@angular/router';\nimport { combineLatest, debounceTime, distinctUntilChanged, map, Observable, share, startWith, Subject } from 'rxjs';\nimport { latestData, trackLoadingStates } from '@evasys/evainsights/shared/util';\nimport { SearchRequest } from '@evasys/globals/evainsights/models/search/SearchRequest';\nimport { EvasysSortingModel } from '@evasys/globals/shared/models/general/evasys-sorting.model';\nimport { SearchSelection } from '@evasys/globals/evainsights/models/search/search-selection.model';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { SearchRequestParamService } from './search-request-param.service';\nimport { asArray } from '../../../../../util/src/lib/general/as-array';\nimport { isEqual } from '@evasys/globals/shared/helper/object';\nimport { Sentiment } from '@evasys/globals/evainsights/constants/types';\nimport { getEnumValue } from '@evasys/globals/shared/helper/enum';\nimport { isNotNullish } from '@evasys/globals/evainsights/typeguards/common';\n\nexport class DashboardTableDataProvider {\n\tconstructor(\n\t\treadonly search: (filter: FulltextSearchRequest) => Observable>,\n\t\treadonly paramService: SearchRequestParamService,\n\t\treadonly activatedRoute: ActivatedRoute,\n\t\treadonly searchKey: K\n\t) {\n\t\tconst urlSortParam = this.activatedRoute.snapshot.queryParams['sort'];\n\t\tif (urlSortParam && urlSortParam.length > 1) {\n\t\t\tconst urlSortParts = urlSortParam.split(',');\n\t\t\tthis.sortField = urlSortParts[0];\n\t\t\tthis.sortOrder = urlSortParts[1];\n\t\t}\n\t\tconst urlSearchTextParam = this.activatedRoute.snapshot.queryParams['searchText'];\n\t\tif (urlSearchTextParam?.length) {\n\t\t\tthis.searchText = urlSearchTextParam;\n\t\t}\n\n\t\tthis.listenToSearchTextChanges();\n\t}\n\n\tsortOrder: string | undefined;\n\tsortField: string | undefined;\n\tsearchText: string | undefined;\n\n\tfilterParams: Observable> = this.activatedRoute.queryParams.pipe(\n\t\tmap((params) => {\n\t\t\tconst searchRequest = defaultSearchRequestParams(params);\n\t\t\tconst sortRequest: { sort?: string } = params['sort'] ? { sort: params['sort'] } : {};\n\n\t\t\tconst textRequest: { [key in K]?: string } = {};\n\t\t\tif (params['searchText'] !== undefined) textRequest[this.searchKey] = params['searchText'];\n\n\t\t\treturn { ...searchRequest, ...sortRequest, ...textRequest };\n\t\t}),\n\t\tdistinctUntilChanged(isEqual)\n\t);\n\n\treload$ = new Subject();\n\n\tsearch$ = new Subject();\n\n\trequests = combineLatest([this.filterParams, this.reload$.pipe(startWith(null))]).pipe(\n\t\tmap(([filterParams]) => this.search(filterParams)),\n\t\ttrackLoadingStates(),\n\t\tshare()\n\t);\n\n\tloading = this.requests.pipe(\n\t\tstartWith({ isLoading: true }),\n\t\tmap((state) => state.isLoading)\n\t);\n\n\tlatestPage: Observable> = this.requests.pipe(latestData());\n\n\tnextPage(page: number) {\n\t\tthis.paramService.updateParams({ page });\n\t}\n\n\treload() {\n\t\tthis.reload$.next();\n\t}\n\n\tsetPageSize(size: number) {\n\t\tthis.paramService.updateParams({ size });\n\t}\n\n\tsortPage(sort: string) {\n\t\tthis.paramService.updateParams({ sort });\n\t}\n\n\tsetSearchText(value: string) {\n\t\tthis.search$.next(value);\n\t}\n\n\tprivate listenToSearchTextChanges() {\n\t\tthis.search$.pipe(debounceTime(200)).subscribe((searchText) => {\n\t\t\tthis.paramService.updateParams({\n\t\t\t\tsearchText: searchText.length ? searchText : undefined,\n\t\t\t});\n\t\t});\n\t}\n\n\tonSort({ columnField, sortOrderAscending }: EvasysSortingModel) {\n\t\tthis.sortOrder = sortOrderAscending ? 'asc' : 'desc';\n\t\tthis.sortField = columnField;\n\t\tconst sortingParams = `${this.sortField},${this.sortOrder}`;\n\t\tthis.sortPage(sortingParams);\n\t}\n\n\tisSortAscending(sortOrder: string) {\n\t\treturn sortOrder === 'asc';\n\t}\n}\n\nexport type FulltextSearchRequest = SearchRequest & { sort?: string } & { [key in K]?: string };\n\nexport const defaultSearchRequestParams = (params: Params): SearchRequest => ({\n\tpage: Number(params['page']) - 1 || 0,\n\tsize: Number(params['pageSize']) || 10,\n\tunits: getParamAsStringArray(params['unitId']).map(Number),\n\tprogrammes: getParamAsStringArray(params['programmeId']).map(Number),\n\tperiods: getParamAsStringArray(params['periodId']).map(Number),\n\tforms: getParamAsStringArray(params['formId']).map(Number),\n\tparticipationEvents: getParamAsStringArray(params['participationEventId']).map(Number),\n\tleaders: getParamAsStringArray(params['leaderId']).map(Number),\n\tsentiments: getParamAsStringArray(params['sentimentId'])\n\t\t.map((str) => getEnumValue(Sentiment, str))\n\t\t.filter(isNotNullish),\n});\n\nconst getParamAsStringArray = (param: string | string[] | undefined) => (param === undefined ? [] : asArray(param));\n\nexport const searchRequestFilterParams = (params: Params, searchSelection: SearchSelection): SearchRequest => ({\n\tpage: Number(params['page']) || 0,\n\tsize: Number(params['pageSize']),\n\tunits: searchSelection.units.map((unit) => unit.key),\n\tprogrammes: searchSelection.programmes.map((programm) => programm.key),\n\tperiods: searchSelection.periods.map((period) => period.key),\n\tforms: searchSelection.forms.map((form) => form.id),\n\tparticipationEvents: searchSelection.participationEvents.map((participationEvent) => participationEvent.key),\n\tleaders: searchSelection.leaders.map((leader) => leader.key),\n});\n","import { inject, Injectable } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PaginatedSearchRequest } from '@evasys/globals/evainsights/models/search/PaginatedSearchRequest';\nimport { isEqual } from '@evasys/globals/shared/helper/object';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class SearchRequestParamService {\n\tprivate router = inject(Router);\n\tprivate activatedRoute = inject(ActivatedRoute);\n\n\tupdateParams(update: Partial & { [k: string]: unknown }) {\n\t\tconst currentParams = this.activatedRoute.snapshot.queryParams;\n\t\tconst { page, size, ...queryParamsUpdate } = update;\n\n\t\tif (size !== undefined) {\n\t\t\tqueryParamsUpdate['pageSize'] = size;\n\t\t}\n\n\t\tif (page !== undefined || (this.areParamsChanged(queryParamsUpdate) && 'page' in currentParams)) {\n\t\t\tqueryParamsUpdate['page'] = page ?? 1;\n\t\t}\n\n\t\tthis.router.navigate([], {\n\t\t\tqueryParams: queryParamsUpdate,\n\t\t\tqueryParamsHandling: 'merge',\n\t\t});\n\t}\n\n\tprivate areParamsChanged(queryParamsUpdate: { [k: string]: unknown }) {\n\t\treturn Object.entries(queryParamsUpdate).some(([name, newValue]) => {\n\t\t\tconst currentValue = this.activatedRoute.snapshot.queryParams[name];\n\t\t\treturn !isEqual(this.asValuesArray(newValue), this.asValuesArray(currentValue));\n\t\t});\n\t}\n\n\t/**\n\t * Map the different Params value formats to a string array.\n\t */\n\tprivate asValuesArray(value: unknown): string[] {\n\t\tif (value === undefined || value === null) {\n\t\t\treturn [];\n\t\t} else if (Array.isArray(value)) {\n\t\t\treturn value.map(String);\n\t\t} else {\n\t\t\treturn [String(value)];\n\t\t}\n\t}\n}\n","import {\n\tBehaviorSubject,\n\tcombineLatest,\n\tdistinctUntilChanged,\n\tfirst,\n\tmap,\n\tObservable,\n\tshareReplay,\n\tskip,\n\tSubscription,\n\tswitchMap,\n} from 'rxjs';\nimport { EnvironmentInjector, inject, Injectable, runInInjectionContext } from '@angular/core';\nimport { UiConfig } from '@evasys/globals/evainsights/models/common/ui-config.model';\nimport { HttpClient } from '@angular/common/http';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { DateTime } from '../../../../../../../shared/ui/src/lib/components/control-components/calendar/src/app/calendar/lib/utils/date';\nimport { AuthUserServiceHelperService } from '../auth/auth-user-service-helper.service';\nimport { runtimeEnvironment } from '@evasys/globals/evainsights/environments/runtime-environment';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class UiConfigService {\n\t//region Injections\n\tprivate readonly http = inject(HttpClient);\n\tprivate readonly authUserServiceHelperService = inject(AuthUserServiceHelperService);\n\tprivate readonly translocoService = inject(TranslocoService);\n\tprivate readonly environmentInjector = inject(EnvironmentInjector);\n\t//endregion\n\n\t//region Variables\n\tprivate _uiConfig$ = new BehaviorSubject({\n\t\tlogoSrc: '/assets/logos/evasys.svg',\n\t\tdecimalFormat: ',',\n\t\tdateFormat: 'd.m.Y',\n\t\tlanguage: 'de_edu',\n\t\ttimeFormat: 'H:i:s',\n\t});\n\tuiConfigUpdaterSubscription?: Subscription;\n\n\t//endregion\n\tpublic readonly isInitialized = this._uiConfig$.pipe(\n\t\tskip(1),\n\t\tfirst(),\n\t\tmap(() => true),\n\t\tshareReplay()\n\t);\n\n\t//region Getter & Setter\n\n\tpublic getUiConfig(): Observable {\n\t\treturn this._uiConfig$.asObservable();\n\t}\n\n\tpublic set uiConfigLanguage(language: string) {\n\t\tthis.isInitialized.subscribe(() => {\n\t\t\tthis._uiConfig$.next({ ...this._uiConfig$.value, language });\n\t\t});\n\t}\n\n\tpublic getTimeDateFormat() {\n\t\treturn combineLatest([this._uiConfig$, this.translocoService.selectTranslate('common.at')]).pipe(\n\t\t\tmap(\n\t\t\t\t([config, atTranslation]) =>\n\t\t\t\t\t`${DateTime.toISOFormat(config.dateFormat)} '${atTranslation}' ${DateTime.toISOFormat(\n\t\t\t\t\t\tconfig.timeFormat\n\t\t\t\t\t)}`\n\t\t\t)\n\t\t);\n\t}\n\t//endregion\n\n\t//region Methods\n\tpublic keepUiConfigUpToDate(useSystemUiConfig = false) {\n\t\tthis.uiConfigUpdaterSubscription?.unsubscribe();\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\tthis.uiConfigUpdaterSubscription = this.authUserServiceHelperService\n\t\t\t\t.getUserIdFromAuthUser()\n\t\t\t\t.pipe(\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tswitchMap((value) =>\n\t\t\t\t\t\tthis.http.get(\n\t\t\t\t\t\t\tuseSystemUiConfig\n\t\t\t\t\t\t\t\t? endpoints.getSystemUiConfig.url({\n\t\t\t\t\t\t\t\t\t\ttenantSubdomain: runtimeEnvironment.tenantSubdomain,\n\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t: endpoints.getUserUiConfig.url()\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\ttakeUntilDestroyed()\n\t\t\t\t)\n\t\t\t\t.subscribe((uiConfig) => {\n\t\t\t\t\tthis._uiConfig$.next({\n\t\t\t\t\t\t...uiConfig,\n\t\t\t\t\t\tlogoSrc:\n\t\t\t\t\t\t\tuiConfig.logoSrc != null && uiConfig.logoSrc.trim() !== ''\n\t\t\t\t\t\t\t\t? uiConfig.logoSrc\n\t\t\t\t\t\t\t\t: this._uiConfig$.value.logoSrc,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t});\n\t}\n\n\t//endregion\n}\n","import { FormService } from '../form/form.service';\nimport { ParticipationEventService } from '../participation/participation-event.service';\nimport { ProgrammeService } from '../organization/programme.service';\nimport { PeriodService } from '../organization/period.service';\nimport { StaffService } from '../staff/staff.service';\nimport { UnitService } from '../organization/unit.service';\nimport { KeyValueModel } from '@evasys/globals/evainsights/models/common/key-value.model';\nimport { Injectable } from '@angular/core';\nimport {\n\tTypeaheadItemPageRequest,\n\tTypeaheadItemSearch,\n} from '@evasys/globals/shared/models/component/typeahead/typeahead.model';\nimport {\n\tFilterAreaControlWriteUrl,\n\tLoadFunction,\n} from '@evasys/globals/evainsights/models/filter/filter-area-control-write-url.model';\nimport { Observable, of } from 'rxjs';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { MultiLangService, pageContent } from '@evasys/evainsights/shared/util';\nimport { Form } from '@evasys/globals/evainsights/models/form/form.model';\nimport { SurveyService } from '../survey/survey.service';\nimport { Survey } from '@evasys/globals/evainsights/models/survey/survey.entity';\nimport { ItemService } from '../item/item.service';\nimport { Item } from '@evasys/globals/evainsights/models/item/item.model';\nimport { TopicModelInfo } from '@evasys/globals/evainsights/models/topic-modeling/topic-model-info.model';\nimport { TopicModelService } from '../topic-modeling/topic-model.service';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { Sentiment } from '@evasys/globals/evainsights/constants/types';\nimport { PagedItemSearchRequest } from '@evasys/globals/evainsights/models/search/ItemSearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class FilterService {\n\tconstructor(\n\t\tprivate participationEventService: ParticipationEventService,\n\t\tprivate periodService: PeriodService,\n\t\tprivate formService: FormService,\n\t\tprivate programmeService: ProgrammeService,\n\t\tprivate staffService: StaffService,\n\t\tprivate readonly unitService: UnitService,\n\t\tprivate readonly surveyService: SurveyService,\n\t\tprivate readonly itemService: ItemService,\n\t\tprivate readonly multiLangService: MultiLangService,\n\t\tprivate translocoService: TranslocoService,\n\t\tprivate readonly topicModelService: TopicModelService\n\t) {}\n\n\tprogrammes = {\n\t\tid: 'programmes' as const,\n\t\t...this.buildItemSearchAndLoad(({ text, ...rest }) =>\n\t\t\tthis.programmeService.getProgrammes({\n\t\t\t\tname: text,\n\t\t\t\t...rest,\n\t\t\t})\n\t\t),\n\t\ticon: { dark: 'book_blue.svg', light: 'book_deactivated.svg' },\n\t\tname: 'filterArea.filter.programme',\n\t\tidentifier: 'key',\n\t\tformatter: 'value',\n\t\temptyResultsText: 'filterArea.filter.programme.error.noneFound',\n\t\tqueryParameterName: 'programmeId',\n\t} satisfies FilterAreaControlWriteUrl;\n\n\tunits = {\n\t\tid: 'units' as const,\n\t\t...this.buildItemSearchAndLoad(({ text, ...rest }) =>\n\t\t\tthis.unitService.getUnits({\n\t\t\t\tname: text,\n\t\t\t\t...rest,\n\t\t\t})\n\t\t),\n\t\ticon: { dark: 'home.svg', light: 'home_deactivated.svg' },\n\t\tname: 'filterArea.filter.unit',\n\t\tidentifier: 'key',\n\t\tformatter: 'value',\n\t\temptyResultsText: 'filterArea.filter.unit.error.noneFound',\n\t\tqueryParameterName: 'unitId',\n\t} satisfies FilterAreaControlWriteUrl;\n\n\tperiods = {\n\t\tid: 'periods' as const,\n\t\t...this.buildItemSearchAndLoad(({ text, ...rest }) =>\n\t\t\tthis.periodService.getPeriods({\n\t\t\t\tname: text,\n\t\t\t\tsort: 'id',\n\t\t\t\t...rest,\n\t\t\t})\n\t\t),\n\t\ticon: { dark: 'calendar.svg', light: 'calendar_deactivated.svg' },\n\t\tname: 'filterArea.filter.period',\n\t\tidentifier: 'key',\n\t\tformatter: 'value',\n\t\temptyResultsText: 'filterArea.filter.period.error.noneFound',\n\t\tqueryParameterName: 'periodId',\n\t} satisfies FilterAreaControlWriteUrl;\n\n\tforms = {\n\t\tid: 'forms' as const,\n\t\t...this.buildItemSearchAndLoad(({ text, ...rest }) =>\n\t\t\tthis.formService.getSearchResult({\n\t\t\t\tname: text,\n\t\t\t\tsort: 'id',\n\t\t\t\t...rest,\n\t\t\t})\n\t\t),\n\t\ticon: { dark: 'desktop.svg', light: 'desktop_deactivated.svg' },\n\t\tname: 'filterArea.filter.form',\n\t\tidentifier: 'id',\n\t\tformatter: 'shortName',\n\t\temptyResultsText: 'filterArea.filter.form.error.noneFound',\n\t\tqueryParameterName: 'formId',\n\t} satisfies FilterAreaControlWriteUrl

;\n\n\tparticipationEvents = {\n\t\tid: 'participationEvents' as const,\n\t\t...this.buildItemSearchAndLoad(({ text, ...rest }) =>\n\t\t\tthis.participationEventService.getSearchResult({\n\t\t\t\teventName: text,\n\t\t\t\t...rest,\n\t\t\t})\n\t\t),\n\t\ticon: { dark: 'index.svg', light: 'index_deactivated.svg' },\n\t\tname: 'filterArea.filter.participationEvent',\n\t\tidentifier: 'key',\n\t\tformatter: 'value',\n\t\temptyResultsText: 'filterArea.filter.participationEvent.error.noneFound',\n\t\tqueryParameterName: 'participationEventId',\n\t} satisfies FilterAreaControlWriteUrl;\n\n\tleaders = {\n\t\tid: 'leaders' as const,\n\t\t...this.buildItemSearchAndLoad(({ text, ...rest }) =>\n\t\t\tthis.staffService.getStaffs({\n\t\t\t\tname: text,\n\t\t\t\t...rest,\n\t\t\t})\n\t\t),\n\t\ticon: { dark: 'ep_user1_blue.svg', light: 'nutzer_deaktiv.svg' },\n\t\tname: 'filterArea.filter.leader',\n\t\tidentifier: 'key',\n\t\tformatter: 'value',\n\t\temptyResultsText: 'filterArea.filter.leader.error.noneFound',\n\t\tqueryParameterName: 'leaderId',\n\t} satisfies FilterAreaControlWriteUrl;\n\n\tsurveys = {\n\t\tid: 'surveys' as const,\n\t\t...this.buildItemSearchAndLoad(({ text, ...rest }) =>\n\t\t\tthis.surveyService.getSearchResult({\n\t\t\t\tdescription: text,\n\t\t\t\t...rest,\n\t\t\t})\n\t\t),\n\t\ticon: { dark: 'survey.svg', light: 'survey_deactivated.svg' },\n\t\tname: 'domain.survey',\n\t\tidentifier: 'id',\n\t\tformatter: 'description',\n\t\temptyResultsText: 'filterArea.filter.survey.error.noneFound',\n\t\tqueryParameterName: 'surveyId',\n\t} satisfies FilterAreaControlWriteUrl;\n\n\titems = {\n\t\tid: 'items' as const,\n\t\t...this.buildItemSearchAndLoad(({ text, ...rest }) =>\n\t\t\tthis.itemService.getSearchResult({\n\t\t\t\titemTextName: text,\n\t\t\t\t...rest,\n\t\t\t} satisfies PagedItemSearchRequest)\n\t\t),\n\t\ticon: { dark: 'question.svg', light: 'question.svg' },\n\t\tname: 'item.item',\n\t\tidentifier: 'id',\n\t\tformatter: (item: Item) => this.multiLangService.translate(item.text, ''),\n\t\temptyResultsText: 'filterArea.filter.item.error.noneFound',\n\t\tqueryParameterName: 'itemId',\n\t} satisfies FilterAreaControlWriteUrl;\n\n\ttopicModels = {\n\t\tid: 'topicModels' as const,\n\t\t...this.buildItemSearchAndLoad(({ text, ...rest }) =>\n\t\t\tthis.topicModelService.getSearchResult({\n\t\t\t\ttitle: text,\n\t\t\t\t...rest,\n\t\t\t})\n\t\t),\n\t\ticon: { dark: 'question.svg', light: 'question.svg' },\n\t\tname: 'topicModel.topicModel',\n\t\tidentifier: 'id',\n\t\tformatter: (topicModel: TopicModelInfo) => topicModel.title,\n\t\temptyResultsText: 'filterArea.filter.item.error.noneFound',\n\t\tqueryParameterName: 'topicModelId',\n\t} satisfies FilterAreaControlWriteUrl;\n\n\tsentiments = {\n\t\tid: 'sentiments' as const,\n\t\titems: [Sentiment.NEUTRAL, Sentiment.POSITIVE, Sentiment.NEGATIVE],\n\t\tload: (ids: string[] | number[]) => of(ids as Sentiment[]),\n\t\ticon: { dark: 'question.svg', light: 'question.svg' },\n\t\tname: 'filterArea.filter.sentiment',\n\t\tidentifier: (sentiment: Sentiment) => sentiment,\n\t\tformatter: (sentiment) => this.translocoService.selectTranslate('sentiment.' + sentiment),\n\t\temptyResultsText: 'filterArea.filter.sentiment.error.noneFound',\n\t\tqueryParameterName: 'sentimentId',\n\t} satisfies FilterAreaControlWriteUrl;\n\n\tbuildItemSearchAndLoad(searchFn: (filter: ApiSearchParams) => Observable>): {\n\t\titems: TypeaheadItemSearch;\n\t\tload: LoadFunction;\n\t} {\n\t\treturn {\n\t\t\titems: (text, filter) => searchFn({ text, ...filter }),\n\t\t\tload: (ids: number[] | string[]) =>\n\t\t\t\tsearchFn({ ids: ids as number[], page: 0, size: ids.length, text: '' }).pipe(pageContent()),\n\t\t};\n\t}\n}\n\ninterface ApiSearchParams extends TypeaheadItemPageRequest {\n\ttext: string;\n\tids?: number[];\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Form } from '@evasys/globals/evainsights/models/form/form.model';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { RestService } from '../rest-service';\nimport { FormSearchRequest } from '@evasys/globals/evainsights/models/search/FormSearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class FormService implements RestService {\n\tconstructor(private http: HttpClient) {\n\t\t// This is intentional;\n\t}\n\n\tgetSearchResult(filter: FormSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.getForms.url(), {\n\t\t\tparams: { ...filter },\n\t\t});\n\t}\n\n\tgetById(formId: number): Observable {\n\t\treturn this.http.get(endpoints.getForm.url({ formId }));\n\t}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { ItemCollection } from '@evasys/globals/evainsights/models/item/item.model';\nimport { PaginatedItemCollectionSearchRequest } from '@evasys/globals/evainsights/models/search/PaginatedItemCollectionSearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ItemCollectionService {\n\tprivate http = inject(HttpClient);\n\n\tsearchItemCollections(\n\t\tfilter: PaginatedItemCollectionSearchRequest = { page: 0, size: 20 }\n\t): Observable> {\n\t\treturn this.http.post>(endpoints.postItemCollectionsSearch.url(), filter);\n\t}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { Item } from '@evasys/globals/evainsights/models/item/item.model';\nimport { PagedItemSearchRequest } from '@evasys/globals/evainsights/models/search/ItemSearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ItemService {\n\tprivate http = inject(HttpClient);\n\n\tgetSearchResult(filter: PagedItemSearchRequest = { page: 0, size: 10 }): Observable> {\n\t\treturn this.http.post>(endpoints.postItemsSearch.url(), filter);\n\t}\n}\n","import { EnvironmentInjector, inject, Injectable, runInInjectionContext } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { UiConfigService } from '../common/ui-config.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { getContextLanguageCode } from '@evasys/evainsights/shared/util';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class LanguageService {\n\t//region Injections\n\tprivate translocoService = inject(TranslocoService);\n\tprivate environmentInjector = inject(EnvironmentInjector);\n\tprivate uiConfigService = inject(UiConfigService);\n\t//endregion\n\n\t//region Changes\n\n\tprivate onUiConfigChange = (language: string) => {\n\t\tthis.translocoService.setActiveLang(language);\n\t};\n\t//endregion\n\n\t//region Methods\n\tinitialize() {\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\tthis.uiConfigService\n\t\t\t\t.getUiConfig()\n\t\t\t\t.pipe(\n\t\t\t\t\ttakeUntilDestroyed(),\n\t\t\t\t\tmap((uiConfig) => uiConfig.language)\n\t\t\t\t)\n\t\t\t\t.subscribe(this.onUiConfigChange);\n\t\t});\n\t}\n\n\tgetActiveSystemLanguageCode(userLanguageCode?: string) {\n\t\tconst activeLang = this.translocoService.getActiveLang();\n\t\tif (userLanguageCode === undefined) {\n\t\t\treturn activeLang;\n\t\t}\n\n\t\tconst contextLanguageCode = getContextLanguageCode(activeLang);\n\t\tconst patchedSystemLanguageCode = `${userLanguageCode}_${contextLanguageCode}`;\n\n\t\treturn this.translocoService.isLang(patchedSystemLanguageCode) ? patchedSystemLanguageCode : activeLang;\n\t}\n\n\t//endregion\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { runtimeEnvironment } from '@evasys/globals/evainsights/environments/runtime-environment';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class EndpointsService {\n\t//region injections\n\tprivate httpClient = inject(HttpClient);\n\t//endregion\n\n\tgetEvasysEndpoint() {\n\t\treturn this.httpClient.get<{ evasysUrl: string }>(\n\t\t\tendpoints.evasysEndpoint.url({ tenantSubdomain: runtimeEnvironment.tenantSubdomain })\n\t\t);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { KeyValueModel } from '@evasys/globals/evainsights/models/common/key-value.model';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { PeriodSearchRequest } from '@evasys/globals/evainsights/models/search/PeriodSearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class PeriodService {\n\tconstructor(private http: HttpClient) {}\n\n\tgetPeriods(filter: PeriodSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.getPeriods.url(), {\n\t\t\tparams: { ...filter },\n\t\t});\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { KeyValueModel } from '@evasys/globals/evainsights/models/common/key-value.model';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { ProgrammeSearchRequest } from '@evasys/globals/evainsights/models/search/ProgrammeSearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ProgrammeService {\n\tconstructor(private http: HttpClient) {}\n\n\tgetProgrammes(filter: ProgrammeSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.getProgrammes.url(), {\n\t\t\tparams: { ...filter },\n\t\t});\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { KeyValueModel } from '@evasys/globals/evainsights/models/common/key-value.model';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { UnitSearchRequest } from '@evasys/globals/evainsights/models/search/UnitSearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class UnitService {\n\tconstructor(private http: HttpClient) {}\n\n\tgetUnits(filter: UnitSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.getUnits.url(), {\n\t\t\tparams: { ...filter },\n\t\t});\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { ParticipationEventSearchRequest } from '@evasys/globals/evainsights/models/search/ParticipationEventSearchRequest';\nimport { KeyValueModel } from '@evasys/globals/evainsights/models/common/key-value.model';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ParticipationEventService {\n\tconstructor(private http: HttpClient) {}\n\n\tgetSearchResult(filter: ParticipationEventSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.getParticipationEvents.url(), {\n\t\t\tparams: { ...filter },\n\t\t});\n\t}\n}\n","import { inject, Injectable, signal } from '@angular/core';\nimport { ReportLanguage } from '@evasys/globals/evainsights/models/report/report-reportTemplate.model';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { isEqual } from '@evasys/globals/shared/helper/object';\nimport { UiConfigService } from '../common/ui-config.service';\nimport { getUserLanguageCode } from '@evasys/evainsights/shared/util';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ReportLanguageService {\n\t//region Injections\n\tuiConfigService = inject(UiConfigService);\n\tprivate readonly translocoService = inject(TranslocoService);\n\t//endregion\n\n\t//region variables\n\tprivate readonly _activeReportLanguage = signal(undefined, { equal: isEqual });\n\n\tpublic readonly activeReportLanguage = this._activeReportLanguage.asReadonly();\n\t//endregion\n\n\t//region methods\n\tchangeActiveReportLanguage(reportLanguage: ReportLanguage) {\n\t\tthis._activeReportLanguage.set(reportLanguage);\n\t}\n\n\tgetPreferredReportLanguage(availableReportLanguages: ReportLanguage[]) {\n\t\treturn this.findClosestReportLanguage(this.activeReportLanguage(), availableReportLanguages);\n\t}\n\n\tfindClosestReportLanguage(target: ReportLanguage | undefined, availableReportLanguages: ReportLanguage[]) {\n\t\t// if the target language is available, use that one\n\t\tconst equalAvailable = availableReportLanguages.find((av) => isEqual(av, target));\n\t\tif (equalAvailable !== undefined) {\n\t\t\treturn equalAvailable;\n\t\t}\n\n\t\t// The report language id is shared between all reports, e.g. 1 for german and 2 for english.\n\t\t// Check if there is some report language available with the same ID and thus same UI language.\n\t\tconst sameIdAvailable = availableReportLanguages.find((av) => av.id === target?.id);\n\t\tif (sameIdAvailable !== undefined) {\n\t\t\treturn sameIdAvailable;\n\t\t}\n\n\t\t// Alternatively try to fall back to the users current UI language.\n\t\tconst userLanguage = getUserLanguageCode(this.translocoService.getActiveLang());\n\t\tconst currentUiLanguage = availableReportLanguages.find((av) => av.primaryUserLanguage === userLanguage);\n\t\tif (currentUiLanguage !== undefined) {\n\t\t\treturn currentUiLanguage;\n\t\t}\n\n\t\t// Or use some other arbitrary report language.\n\t\treturn availableReportLanguages[0];\n\t}\n\n\t//endregion\n}\n","import { computed, Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class ReportProcessingService {\n\tpublic readonly isProcessingTemplate = signal(false);\n\tpublic readonly isProcessingUpdate = signal(false);\n\n\tpublic readonly isProcessing = computed(() =>\n\t\t[this.isProcessingTemplate, this.isProcessingUpdate].some((processing) => processing())\n\t);\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { ReportSearchRequest } from '@evasys/globals/evainsights/models/search/ReportSearchRequest';\nimport { KeyValueModel } from '@evasys/globals/evainsights/models/common/key-value.model';\nimport { ReportTemplate } from '@evasys/globals/evainsights/models/report/report-reportTemplate.model';\nimport { ReportBaseService } from './reportBase.service';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ReportTemplateService implements ReportBaseService {\n\treadonly http = inject(HttpClient);\n\n\tgetSearchResult(filter: ReportSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.reportTemplates.url(), { params: { ...filter } });\n\t}\n\n\tgetById(reportTemplateId: number): Observable {\n\t\treturn this.http.get(endpoints.reportTemplate.url({ reportTemplateId }));\n\t}\n\n\tsaveNew(reportTemplate: ReportTemplate): Observable {\n\t\treturn this.http.post(endpoints.reportTemplates.url(), reportTemplate);\n\t}\n\n\tupdate(reportTemplate: ReportTemplate): Observable {\n\t\treturn this.http.put(\n\t\t\tendpoints.reportTemplate.url({ reportTemplateId: reportTemplate.id }),\n\t\t\treportTemplate\n\t\t);\n\t}\n\n\tdelete(reportTemplate: ReportTemplate): Observable {\n\t\treturn this.http.delete(endpoints.reportTemplate.url({ reportTemplateId: reportTemplate.id }), {\n\t\t\tobserve: 'response',\n\t\t});\n\t}\n\n\tgetForms(reportTemplateId: number): Observable {\n\t\treturn this.http.get(endpoints.getReportTemplateForms.url({ reportTemplateId }));\n\t}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { ReportSearchRequest } from '@evasys/globals/evainsights/models/search/ReportSearchRequest';\nimport { Report, ReportPublishingInfo } from '@evasys/globals/evainsights/models/report/report-reportTemplate.model';\nimport { Survey } from '@evasys/globals/evainsights/models/survey/survey.entity';\nimport { PaginatedSearchRequest } from '@evasys/globals/evainsights/models/search/PaginatedSearchRequest';\nimport { ReportBaseService } from './reportBase.service';\nimport { ReportUpdate } from '@evasys/globals/evainsights/models/report/report-update.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ReportService implements ReportBaseService {\n\treadonly http = inject(HttpClient);\n\n\tgetSearchResult(filter: ReportSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.reports.url(), { params: { ...filter } });\n\t}\n\n\tgetById(reportId: number): Observable {\n\t\treturn this.http.get(endpoints.report.url({ reportId }));\n\t}\n\n\tgetByToken(token: string): Observable {\n\t\treturn this.http.get(endpoints.reportByToken.url({ token }));\n\t}\n\n\tsaveNew(report: Report): Observable {\n\t\treturn this.http.post(endpoints.reports.url(), report);\n\t}\n\n\tupdate(_: Report): Observable {\n\t\tthrow new Error('Update not implemented.');\n\t}\n\n\tpublishReport(reportPublishing: ReportPublishingInfo): Observable> {\n\t\treturn this.http.patch(endpoints.reportPublish.url({ reportId: reportPublishing.reportId }), reportPublishing, {\n\t\t\tobserve: 'response',\n\t\t});\n\t}\n\n\tdelete(report: Report): Observable {\n\t\treturn this.http.delete(endpoints.report.url({ reportId: report.id }));\n\t}\n\n\tgetReportSurveysForReportId(reportId: number, pagination: PaginatedSearchRequest): Observable> {\n\t\treturn this.http.get>(endpoints.reportSurveys.url({ reportId }), { params: { ...pagination } });\n\t}\n\n\tputReportSurveys(reportId: number, surveyIds: number[]): Observable {\n\t\treturn this.http.put(endpoints.reportSurveys.url({ reportId: reportId }), { surveyIds });\n\t}\n\n\tpatch(reportId: number, reportUpdate: ReportUpdate): Observable> {\n\t\treturn this.http.patch(endpoints.report.url({ reportId }), reportUpdate, {\n\t\t\tobserve: 'response',\n\t\t});\n\t}\n\n\tcalculateItems(reportId: number): Observable {\n\t\treturn this.http.post(endpoints.reportCalculate.url({ reportId }), {});\n\t}\n\n\tputReportTemplate(reportId: number, reportTemplateId: number): Observable {\n\t\treturn this.http.put(endpoints.reportReportTemplate.url({ reportId, reportTemplateId }), null);\n\t}\n\n\tremoveReportTemplate(reportId: number, reportTemplateId: number): Observable {\n\t\treturn this.http.delete(endpoints.reportReportTemplate.url({ reportId, reportTemplateId }));\n\t}\n}\n","import { Observable } from 'rxjs';\nimport { RestService } from '../rest-service';\n\nexport interface ReportBaseService extends RestService {\n\tsaveNew(report: T): Observable;\n\tupdate(report: T): Observable;\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { ReportItem, ReportItemWithoutData } from '@evasys/globals/evainsights/models/report-item';\nimport { ReportItemPlacementUpdate } from '@evasys/globals/evainsights/models/report/report-item-placement.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ReportItemService {\n\tconstructor(private http: HttpClient) {\n\t\t// This is intentional;\n\t}\n\n\tgetReportItem(reportItemId: number): Observable {\n\t\treturn this.http.get(endpoints.reportItem.url({ reportItemId }));\n\t}\n\n\tsaveNewReportItemsForReport(reportId: number, reportItems: ReportItemWithoutData[]): Observable {\n\t\treturn this.http.post(endpoints.postReportItemsForReport.url({ reportId }), reportItems);\n\t}\n\n\tsaveNewReportItemsForReportTemplate(\n\t\treportTemplateId: number,\n\t\treportItems: ReportItemWithoutData[]\n\t): Observable {\n\t\treturn this.http.post(\n\t\t\tendpoints.postReportItemsForReportTemplate.url({ reportTemplateId }),\n\t\t\treportItems\n\t\t);\n\t}\n\n\tpatchReportItemPlacementsForReport(\n\t\treportId: number,\n\t\treportItemPlacements: ReportItemPlacementUpdate[]\n\t): Observable> {\n\t\treturn this.http.patch(endpoints.patchReportItemPlacementsForReport.url({ reportId }), reportItemPlacements, {\n\t\t\tobserve: 'response',\n\t\t});\n\t}\n\n\tupdateReportItem(reportItem: ReportItemWithoutData): Observable {\n\t\treturn this.http.put(endpoints.reportItem.url({ reportItemId: reportItem.id }), reportItem);\n\t}\n\n\tdeleteReportItem(reportItemId: number): Observable> {\n\t\treturn this.http.delete(endpoints.reportItem.url({ reportItemId: reportItemId }), {\n\t\t\tobserve: 'response',\n\t\t});\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class RespondentFilterService {\n\tconstructor(readonly http: HttpClient) {}\n\n\tcreateNewRespondentFilterItemOptionByReportIdAndItemOptionIds(reportId: number, itemOptionIds: number[]) {\n\t\treturn this.http.post(\n\t\t\tendpoints.createNewRespondentFilterItemForReportIdAndItemOptionIds.url({ reportId: reportId }),\n\t\t\titemOptionIds\n\t\t);\n\t}\n\n\tdeleteRespondentFilterItemOptionForReportIdAndItemId(reportId: number, itemId: number) {\n\t\treturn this.http.delete(\n\t\t\tendpoints.deleteRespondentFilterItemOptionsForReportIdAndItemId.url({ reportId: reportId, itemId: itemId })\n\t\t);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { KeyValueModel } from '@evasys/globals/evainsights/models/common/key-value.model';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { StaffSearchRequest } from '@evasys/globals/evainsights/models/search/StaffSearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class StaffService {\n\tconstructor(private http: HttpClient) {}\n\n\tgetStaffs(filter: StaffSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.getStaffs.url(), {\n\t\t\tparams: { ...filter },\n\t\t});\n\t}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Survey } from '@evasys/globals/evainsights/models/survey/survey.entity';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { SurveySearchRequest } from '@evasys/globals/evainsights/models/search/SurveySearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class SurveyService {\n\tprivate http = inject(HttpClient);\n\n\tgetSearchResult(filter: SurveySearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.getSurveys.url(), {\n\t\t\tparams: { ...filter },\n\t\t});\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { map } from 'rxjs/operators';\nimport { runtimeEnvironment } from '@evasys/globals/evainsights/environments/runtime-environment';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class TenantService {\n\tconstructor(private http: HttpClient) {\n\t\t// This is intentional;\n\t}\n\n\tgetTenantRegistered(): Observable {\n\t\treturn this.http\n\t\t\t.get<{ value: boolean }>(\n\t\t\t\tendpoints.getTenantRegisteredBySubDomainName.url({\n\t\t\t\t\ttenantSubdomain: runtimeEnvironment.tenantSubdomain,\n\t\t\t\t})\n\t\t\t)\n\t\t\t.pipe(map((response) => response.value));\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { TopicModel } from '@evasys/globals/evainsights/models/topic-modeling/topic-model.model';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { interval, Observable, startWith, switchMap } from 'rxjs';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { TopicModelSearchRequest } from '@evasys/globals/evainsights/models/search/TopicModelSearchRequest';\nimport { TopicModelCalculationRequest } from '@evasys/globals/evainsights/models/topic-modeling/topic-model-calculation-request.model';\nimport { TopicModelInfo } from '@evasys/globals/evainsights/models/topic-modeling/topic-model-info.model';\nimport { RestService } from '../rest-service';\nimport {\n\tTopicModelAssignmentArguments,\n\tTopicModelAssignmentRemaining,\n} from '@evasys/globals/evainsights/models/topic-modeling/topic-model-assignment.model';\nimport { ItemIdSurveyPeriodName } from '@evasys/globals/evainsights/models/survey/survey-period-info.entity';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class TopicModelService\n\timplements RestService\n{\n\tconstructor(private http: HttpClient) {\n\t\t// This is intentional;\n\t}\n\n\tgetSearchResult(filter: TopicModelSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.getTopicModelInfos.url(), {\n\t\t\tparams: { ...filter },\n\t\t});\n\t}\n\n\tgetById(topicModelId: number): Observable {\n\t\treturn this.http.get(endpoints.topicModel.url({ topicModelId }));\n\t}\n\n\tgetInfoById(topicModelId: number): Observable {\n\t\treturn this.http.get(endpoints.getTopicModelInfo.url({ topicModelId }));\n\t}\n\n\tdeleteById(topicModelId: number) {\n\t\treturn this.http.delete(endpoints.topicModel.url({ topicModelId }));\n\t}\n\n\tgetItemSurveyPeriodNames(topicModelId: number): Observable {\n\t\treturn this.http.get(endpoints.getItemIdSurveyPeriodNames.url({ topicModelId }));\n\t}\n\n\tcalculateNewTopicModel(topicModelCalculationRequest: TopicModelCalculationRequest): Observable {\n\t\treturn this.http.post(endpoints.calculateTopicModels.url(), topicModelCalculationRequest);\n\t}\n\n\tpatchTopicModelTitle(topicModelId: number, title: string): Observable> {\n\t\treturn this.http.patch(\n\t\t\tendpoints.topicModel.url({ topicModelId }),\n\t\t\t{ title },\n\t\t\t{\n\t\t\t\tobserve: 'response',\n\t\t\t}\n\t\t);\n\t}\n\n\tlistenById(topicModelId: number) {\n\t\treturn interval(20000).pipe(\n\t\t\tstartWith(undefined),\n\t\t\tswitchMap(() => this.http.get(endpoints.topicModel.url({ topicModelId })))\n\t\t);\n\t}\n\n\tlistenBySearchRequest(filter: TopicModelSearchRequest = {}): Observable> {\n\t\treturn interval(20000).pipe(\n\t\t\tstartWith(undefined),\n\t\t\tswitchMap(() =>\n\t\t\t\tthis.http.get>(endpoints.getTopicModelInfos.url(), {\n\t\t\t\t\tparams: { ...filter },\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\t}\n\n\tassign({ topicModelId, ...body }: TopicModelAssignmentArguments) {\n\t\treturn this.http.post(endpoints.assignTopicModel.url({ topicModelId }), body);\n\t}\n\n\tcheckAssignments({ topicModelId, ...body }: TopicModelAssignmentArguments) {\n\t\treturn this.http.post(\n\t\t\tendpoints.checkRemainingTopicAssignments.url({ topicModelId }),\n\t\t\tbody\n\t\t);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { endpoints } from '@evasys/globals/evainsights/api/endpoints';\nimport { TopicWordcloudDatum } from '@evasys/globals/evainsights/models/report-item';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { TopicMetadata } from '@evasys/globals/evainsights/models/topic-modeling/topic-metadata.model';\nimport { TopicResponse } from '@evasys/globals/evainsights/models/search/response.model';\nimport { TopicResponseSearchRequest } from '@evasys/globals/evainsights/models/search/TopicResponseSearchRequest';\nimport { Topic } from '@evasys/globals/evainsights/models/topic-modeling/topic.model';\nimport { TopicsSearchRequest } from '@evasys/globals/evainsights/models/search/TopicSearchRequest';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class TopicService {\n\tconstructor(private http: HttpClient) {\n\t\t// This is intentional;\n\t}\n\n\tgetTopicMetadata(topicId: string): Observable {\n\t\treturn this.http.get(endpoints.topic.url({ topicId }));\n\t}\n\n\tgetTopics(filter: TopicsSearchRequest = {}): Observable> {\n\t\treturn this.http.get>(endpoints.topics.url(), { params: { ...filter } });\n\t}\n\n\tgetTopicWordcloudData(topicId: string): Observable {\n\t\treturn this.http.get(endpoints.getWordcloudDataByTopicId.url({ topicId }));\n\t}\n\n\tsearchTopicResponses(\n\t\ttopicId: string,\n\t\tfilter: TopicResponseSearchRequest = { text: '', page: 0, size: 10, onlyBuildResponses: false }\n\t): Observable> {\n\t\treturn this.http.get>(endpoints.topicResponses.url({ topicId }), { params: { ...filter } });\n\t}\n\n\tdeleteById(topicId: string): Observable> {\n\t\treturn this.http.delete>(endpoints.topic.url({ topicId }));\n\t}\n\n\tpatchTopicTitle(topicId: string, name: string): Observable> {\n\t\treturn this.http.patch(\n\t\t\tendpoints.topic.url({ topicId }),\n\t\t\t{ name },\n\t\t\t{\n\t\t\t\tobserve: 'response',\n\t\t\t}\n\t\t);\n\t}\n}\n","export * from './lib/evainsights-shared-util.module';\nexport * from './lib/rxjs/rxjs.operators';\nexport * from './lib/datetime/datetime.operators';\nexport * from './lib/pipe/translate-multi-lang.pipe';\nexport * from './lib/language/multi-lang.service';\nexport * from './lib/language/transloco-multi-lang.service';\nexport * from './lib/language/report-multi-lang.service';\nexport * from './lib/language/language-util';\nexport * from './lib/language/select';\nexport * from './lib/forms/validators';\nexport * from './lib/gridster/interaction';\nexport * from './lib/fonts/system';\nexport * from './lib/general/fit-texts';\nexport * from './lib/logging/logger.service';\nexport * from './lib/logging/error-handler.service';\nexport * from './lib/title/title.service';\nexport * from './lib/directives/input-auto-fill-off.directive';\n","export function calculateDateTimeForSystemTimezone(date: Date) {\n\tconst targetTime = new Date(date);\n\t//UTC+2 === -120 and UTC-2 === +120, because of that * -1\n\tconst tzDifference = -1 * targetTime.getTimezoneOffset();\n\treturn new Date(targetTime.getTime() + tzDifference * 60 * 1000);\n}\n\nexport function getDateTimeInSystemTimezone(date: Date | undefined) {\n\treturn date ? calculateDateTimeForSystemTimezone(date) : '';\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[evainsightsInputAutoFillOff]',\n})\nexport class InputAutoFillOffDirective implements OnInit {\n\tprivate _el = inject(ElementRef);\n\n\tngOnInit(): void {\n\t\tthis._el.nativeElement.setAttribute('autocomplete', 'off');\n\t\tthis._el.nativeElement.setAttribute('autocorrect', 'off');\n\t\tthis._el.nativeElement.setAttribute('autocapitalize', 'off');\n\t\tthis._el.nativeElement.setAttribute('spellcheck', 'false');\n\t}\n}\n","import { AfterViewInit, Directive, ElementRef, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\n\n@Directive({\n\tselector: '[evainsightsReplaceIfEmpty]',\n})\nexport class ReplaceIfEmptyDirective implements OnChanges, AfterViewInit, OnDestroy {\n\t@Input('evainsightsReplaceIfEmpty')\n\treplaceOnFormControl?: AbstractControl | null;\n\n\t@Input()\n\tlanguage?: string;\n\n\tprivate htmlInputElement?: HTMLInputElement;\n\tprivate readonly observer: MutationObserver;\n\tprivate defaultValue = '';\n\n\tconstructor(private readonly el: ElementRef) {\n\t\tthis.observer = new MutationObserver((mutations) => {\n\t\t\tmutations.forEach((mutation) => {\n\t\t\t\tif (mutation.type === 'childList') {\n\t\t\t\t\tthis.updateEventListener();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (changes['language'] && !changes['language'].firstChange) {\n\t\t\tthis.updateDefault();\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis.observer.observe(this.el.nativeElement, { childList: true, subtree: true });\n\t\tthis.updateDefault();\n\t\tthis.initEventListener();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.observer.disconnect();\n\t\tif (this.htmlInputElement) {\n\t\t\tthis.htmlInputElement.removeEventListener('blur', this.onBlur);\n\t\t}\n\t}\n\n\tprivate updateDefault() {\n\t\tthis.defaultValue = this.replaceOnFormControl?.value;\n\t}\n\n\tprivate initEventListener() {\n\t\tif (!this.htmlInputElement) {\n\t\t\tthis.htmlInputElement = this.getInputElement();\n\t\t\tif (this.htmlInputElement) {\n\t\t\t\tthis.htmlInputElement.addEventListener('blur', this.onBlur);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate updateEventListener() {\n\t\tif (this.htmlInputElement) {\n\t\t\tthis.htmlInputElement.removeEventListener('blur', this.onBlur);\n\t\t\tthis.htmlInputElement = this.getInputElement();\n\t\t\tif (this.htmlInputElement) {\n\t\t\t\tthis.htmlInputElement.addEventListener('blur', this.onBlur);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate getInputElement() {\n\t\treturn this.el.nativeElement.querySelector('input');\n\t}\n\n\tprivate onBlur = () => {\n\t\tif (this.defaultValue && this.replaceOnFormControl?.hasError('required')) {\n\t\t\tthis.replaceOnFormControl.setValue(this.defaultValue);\n\t\t}\n\t};\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateMultiLangPipe } from './pipe/translate-multi-lang.pipe';\nimport { ReplaceIfEmptyDirective } from './directives/replace-if-empty.directive';\nimport { GetLanguageControlPipe } from './pipe/get-control.pipe';\nimport { ReportLanguageCodePipe } from './pipe/report-language-code.pipe';\n\n@NgModule({\n\timports: [CommonModule],\n\tdeclarations: [TranslateMultiLangPipe, ReplaceIfEmptyDirective, GetLanguageControlPipe, ReportLanguageCodePipe],\n\texports: [TranslateMultiLangPipe, ReplaceIfEmptyDirective, GetLanguageControlPipe, ReportLanguageCodePipe],\n})\nexport class EvainsightsSharedUtilModule {}\n","export interface Font {\n\tfamily: string;\n\tweight: number;\n}\n\nexport function isAvailable(font: Font): boolean {\n\treturn document.fonts.check(`${font.weight} 12px ${font.family}`);\n}\n\nexport function fallback(candidates: Font[], warn = true): Font {\n\tcandidates = candidates.slice();\n\n\tconst primary = candidates[0];\n\tconst found = candidates.find(isAvailable);\n\n\tif (found === undefined) {\n\t\tthrow Error('None of the font candidates are available');\n\t} else if (found !== primary && warn) {\n\t\tconsole.warn(\n\t\t\t`Primary font family \"${primary.family}\" at weight ${primary.weight} is not available. Falling back to \"${found.family}\" at weight ${found.weight}`\n\t\t);\n\t}\n\n\treturn found;\n}\n","export * from './requires-control';\nexport * from './required-non-empty-rich-text';\nexport * from './no-whitespace';\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport function noWhitespaceValidator(): ValidatorFn {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tconst isWhitespace = (control.value || '').trim().length === 0;\n\t\treturn isWhitespace ? { whitespace: true } : null;\n\t};\n}\n","import { Element, Text } from 'slate';\nimport { RichTextBody } from '@evasys/globals/evainsights/models/report-item';\n\nexport const richTextIsEmpty = (richText: RichTextBody): boolean => {\n\treturn richText.length === 0 || richText.every(elementIsEmpty);\n};\n\nconst elementIsEmpty = (element: Element): boolean => {\n\tif (element.children.length === 0) {\n\t\treturn true;\n\t} else if (element.children.length > 1) {\n\t\treturn false;\n\t}\n\n\tconst first = element.children[0];\n\treturn Text.isText(first) && first.text.trim() === '';\n};\n","import { AbstractControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { asArray } from '../../general/as-array';\n\nexport function requiresControl(controls: string | string[]): ValidatorFn {\n\treturn (abstractControl: AbstractControl) => {\n\t\tconst formGroup = abstractControl as FormGroup;\n\t\tconst valid = asArray(controls).every((control) => control in formGroup.controls);\n\t\treturn valid ? null : { requiresControl: true };\n\t};\n}\n","export const asArray = (value: T | T[]): T[] => (Array.isArray(value) ? value : [value]);\n","import { range, sum } from 'lodash';\n\nexport function fitTexts(textLengths: number[], availableWidth: number): number[] {\n\t// fit texts of given lengths into a container with a certain available width by ellipsizing the texts.\n\t// Uses a longest-first strategy.\n\tlet overflow = sum(textLengths) - availableWidth;\n\tif (overflow <= 0) {\n\t\treturn textLengths;\n\t}\n\n\tconst sortOrder = range(0, textLengths.length).sort((i, j) => textLengths[j] - textLengths[i]);\n\n\tfor (let i = 0; i < textLengths.length; i++) {\n\t\tconst diff = textLengths[sortOrder[i]] - (i >= textLengths.length - 1 ? 0 : textLengths[sortOrder[i + 1]]);\n\t\tconst requiredDiff = overflow / (i + 1);\n\n\t\tif (diff === 0) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (diff >= requiredDiff) {\n\t\t\tconst upper = textLengths[sortOrder[i]] - requiredDiff;\n\t\t\treturn textLengths.map((s) => Math.min(s, upper));\n\t\t}\n\n\t\toverflow -= diff * (i + 1);\n\t}\n\n\treturn textLengths;\n}\n","import { GridsterComponent, GridsterItem, GridsterItemComponentInterface, GridsterPush } from 'angular-gridster2';\nimport { range } from 'lodash';\nimport { assertNotNullish } from '@evasys/globals/evainsights/typeguards/common';\n\n// This file provides modifications to Gridster2's inner workings, allowing us to change the behaviour beyond what is\n// currently possible with the GridsterConfig. They opt out of TypeScript checking with `any` as they have to access\n// and/or replace private methods and variables. See [1] for a TypeScript feature proposal that would allow us to\n// instead remove the private access control modifiers, allowing for better typesafety than with the current `any`.\n// [1] https://github.com/microsoft/TypeScript/issues/22677\n\nexport function disableGridsterPushBackSwappingItems() {\n\t// A modified version of the Gridster2's checkPushedItem function. The original implementation often swaps items\n\t// into a different order while pushing, sometimes completely reordering the grid even with only compact north\n\t// and push south enabled. This implementation forces gridster to retain the original ordering.\n\t// https://github.com/tiberiuzuld/angular-gridster2/blob/13d48e374833c759c7d1009e186862136224bba3/projects/angular-gridster2/src/lib/gridsterPush.service.ts#L353\n\t(GridsterPush.prototype as any).checkPushedItem = function (\n\t\tpushedItem: GridsterItemComponentInterface,\n\t\ti: number\n\t): boolean {\n\t\tconst path = this.pushedItemsPath[i];\n\t\tlet j = path.length - 2;\n\t\tlet lastPosition;\n\t\tlet x;\n\t\tlet y;\n\t\tlet change = false;\n\t\tfor (; j > -1; j--) {\n\t\t\tlastPosition = path[j];\n\t\t\tx = pushedItem.$item.x;\n\t\t\ty = pushedItem.$item.y;\n\t\t\tpushedItem.$item.x = lastPosition.x;\n\t\t\tpushedItem.$item.y = lastPosition.y;\n\t\t\tconst collidingItems: GridsterItemComponentInterface[] = this.gridster.findItemsWithItem(pushedItem.$item);\n\t\t\tif (collidingItems.length === 0) {\n\t\t\t\tpushedItem.setSize();\n\t\t\t\tpath.splice(j + 1, path.length - j - 1);\n\t\t\t\tchange = true;\n\t\t\t} else {\n\t\t\t\tpushedItem.$item.x = x;\n\t\t\t\tpushedItem.$item.y = y;\n\n\t\t\t\t// This here is the main addition to the Gridster2's implementation. The original always tried to\n\t\t\t\t// revert back to any one of the prior steps, never doing a return here. This modified\n\t\t\t\t// implementation only ever undoes push sequences up to the point where they collide with another\n\t\t\t\t// item (apart from the item that is currently moving)\n\t\t\t\tif (collidingItems.length > 1 || collidingItems[0] !== this.gridsterItem) {\n\t\t\t\t\treturn change;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (path.length < 2) {\n\t\t\tthis.removeFromPushed(i);\n\t\t}\n\n\t\treturn change;\n\t};\n}\n\nexport function makeGridsterSwapCompact() {\n\t// Override how gridster pushes items away while dragging or resizing. The default behaviour inserts many empty\n\t// cells while swapping items of different sizes. This implementation minimizes the empty spaces.\n\t// See https://github.com/tiberiuzuld/angular-gridster2/issues/432 for the related Gridster issue asking for\n\t// this behaviour to be implemented in gridster itself.\n\t(GridsterPush.prototype as any).addToPushed = function (gridsterItem: GridsterItemComponentInterface) {\n\t\tif (this.pushedItems.indexOf(gridsterItem) < 0) {\n\t\t\tthis.pushedItems.push(gridsterItem);\n\n\t\t\tconst newPath = pathBetween(gridsterItem.item, gridsterItem.$item);\n\n\t\t\tthis.pushedItemsPath.push(newPath);\n\t\t} else {\n\t\t\tconst i = this.pushedItems.indexOf(gridsterItem);\n\t\t\tconst currentPath = this.pushedItemsPath[i];\n\t\t\tconst lastPath = currentPath[currentPath.length - 1];\n\n\t\t\tconst newPath = pathBetween(lastPath, gridsterItem.$item);\n\n\t\t\tthis.pushedItemsPath[i].push(...newPath);\n\t\t}\n\n\t\tfunction pathBetween(start: GridsterItem, end: GridsterItem) {\n\t\t\treturn [\n\t\t\t\t...inclusiveRange(start.x, end.x).map((x) => ({ x, y: start.y })),\n\t\t\t\t...inclusiveRange(start.y, end.y).map((y) => ({ x: end.x, y })),\n\t\t\t];\n\t\t}\n\t};\n}\n\nexport function freezeGridsterRowHeight(gridster: GridsterComponent) {\n\t// Some grid types like `scrollVertical` ignore the `fixedRowHeight` option and set the row height dynamically in\n\t// order to e.g. maintain a specific cell width-to-height ratio.\n\t// This method ensures that gridster will always use the `fixedRowHeight` value.\n\n\tObject.defineProperty(gridster, 'curRowHeight', {\n\t\tget: () => {\n\t\t\tconst height = gridster.options.fixedRowHeight;\n\t\t\tassertNotNullish(height);\n\t\t\treturn height;\n\t\t},\n\t\tset: () => {\n\t\t\t// this is intentional\n\t\t},\n\t});\n}\n\nconst inclusiveRange = (start: number, end: number) => {\n\treturn start <= end ? range(start, end + 1) : range(start, end - 1);\n};\n","export const getUserLanguageCode = (activeLang: string) => {\n\treturn activeLang.substring(0, 2);\n};\n\nexport const getContextLanguageCode = (activeLang: string) => {\n\treturn activeLang.substring(3);\n};\n","import { inject, Injectable } from '@angular/core';\nimport {\n\tFormMultiLang,\n\tFormMultiLangEntry,\n\tGeneralMultiLang,\n\tGeneralMultiLangEntry,\n\tisFormMultiLang,\n\tisReportMultiLang,\n\tisSystemMultiLang,\n\tReportMultiLang,\n\tReportMultiLangEntry,\n\tSystemMultiLang,\n\tSystemMultiLangEntry,\n} from '@evasys/globals/evainsights/models/common/multi-lang';\nimport { findSystemMultiLangEntry } from './select';\n\nimport { map, Observable, of } from 'rxjs';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { getUserLanguageCode } from './language-util';\n\n@Injectable()\nexport abstract class MultiLangService {\n\ttranslocoService = inject(TranslocoService);\n\tuserLang$ = this.translocoService.langChanges$.pipe(map(getUserLanguageCode));\n\n\ttranslate(multiLang: GeneralMultiLang | null | undefined): Observable;\n\ttranslate(multiLang: GeneralMultiLang | null | undefined, fallback: T): Observable;\n\ttranslate(multiLang: GeneralMultiLang | null | undefined, ...fallback: [T] | []): Observable {\n\t\tif (multiLang === null || multiLang === undefined) {\n\t\t\treturn of(fallback.length > 0 ? fallback[0] : undefined);\n\t\t}\n\n\t\treturn this.findGeneralMultiLangEntry(multiLang).pipe(\n\t\t\tmap((entry) => {\n\t\t\t\tif (entry !== undefined) {\n\t\t\t\t\treturn entry.value;\n\t\t\t\t} else if (fallback.length > 0) {\n\t\t\t\t\treturn fallback[0];\n\t\t\t\t} else {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate findGeneralMultiLangEntry(\n\t\tmultiLang: GeneralMultiLang\n\t): Observable | undefined> {\n\t\tif (isSystemMultiLang(multiLang)) {\n\t\t\treturn this.findSystemMultiLangEntry(multiLang);\n\t\t} else if (isFormMultiLang(multiLang)) {\n\t\t\treturn this.findFormMultiLangEntry(multiLang);\n\t\t} else if (isReportMultiLang(multiLang)) {\n\t\t\treturn this.findReportMultiLangEntry(multiLang);\n\t\t}\n\n\t\tthrow Error('Could not determine multilang type for value ' + multiLang);\n\t}\n\n\tprotected findSystemMultiLangEntry(\n\t\tsystemMultiLang: SystemMultiLang\n\t): Observable | undefined> {\n\t\treturn this.fromUserLang((userLang) => findSystemMultiLangEntry(systemMultiLang, userLang));\n\t}\n\n\tprotected abstract findFormMultiLangEntry(\n\t\tformMultiLang: FormMultiLang\n\t): Observable | undefined>;\n\n\tprotected abstract findReportMultiLangEntry(\n\t\treportMultiLang: ReportMultiLang\n\t): Observable | undefined>;\n\n\tprotected fromUserLang(mapFn: (userLang: string) => T): Observable {\n\t\treturn this.userLang$.pipe(map(mapFn));\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport {\n\tFormMultiLang,\n\tFormMultiLangEntry,\n\tReportMultiLang,\n\tReportMultiLangEntry,\n} from '@evasys/globals/evainsights/models/common/multi-lang';\nimport { MultiLangService } from './multi-lang.service';\nimport { ReportLanguage } from '@evasys/globals/evainsights/models/report/report-reportTemplate.model';\nimport { findFormMultiLangEntryForReportLang, findReportMultiLangEntry } from './select';\n\n@Injectable()\nexport class ReportMultiLangService extends MultiLangService {\n\treportLanguage$ = new BehaviorSubject(undefined);\n\n\tpublic setReportLanguage(reportLanguage: ReportLanguage) {\n\t\tthis.reportLanguage$.next(reportLanguage);\n\t}\n\n\tprotected override findFormMultiLangEntry(\n\t\tformMultiLang: FormMultiLang\n\t): Observable | undefined> {\n\t\treturn this.reportLanguage$.pipe(\n\t\t\tmap((reportLanguage) =>\n\t\t\t\treportLanguage !== undefined\n\t\t\t\t\t? findFormMultiLangEntryForReportLang(formMultiLang, reportLanguage)\n\t\t\t\t\t: undefined\n\t\t\t)\n\t\t);\n\t}\n\n\tprotected override findReportMultiLangEntry(\n\t\treportMultiLang: ReportMultiLang\n\t): Observable | undefined> {\n\t\treturn this.reportLanguage$.pipe(\n\t\t\tmap((reportLanguage) =>\n\t\t\t\treportLanguage !== undefined ? findReportMultiLangEntry(reportMultiLang, reportLanguage.id) : undefined\n\t\t\t)\n\t\t);\n\t}\n}\n","import { FormMultiLang, ReportMultiLang, SystemMultiLang } from '@evasys/globals/evainsights/models/common/multi-lang';\nimport { ReportLanguage } from '@evasys/globals/evainsights/models/report/report-reportTemplate.model';\nimport { minBy } from 'lodash';\nimport { nonNullish } from '@evasys/globals/evainsights/typeguards/common';\n\nexport const findSystemMultiLangEntry = (multiLang: SystemMultiLang, userLanguageCode: string) =>\n\tmultiLang.find((l) => l.lang === userLanguageCode);\n\nexport const translateReportMultiLangString = (\n\tmultiLang: ReportMultiLang,\n\treportLanguageId: number,\n\tfallback = ''\n): string => findReportMultiLangEntry(multiLang, reportLanguageId)?.value || fallback;\n\nexport const findReportMultiLangEntry = (multiLang: ReportMultiLang, reportLanguageId: number) =>\n\tmultiLang.find((l) => l.reportLanguageId === reportLanguageId);\n\nexport const mapToReportMultiLang = (\n\tformMultiLang: FormMultiLang,\n\treportLanguages: ReportLanguage[]\n): ReportMultiLang =>\n\treportLanguages.map((reportLanguage) => ({\n\t\treportLanguageId: reportLanguage.id,\n\t\tvalue: selectByReportLanguage(formMultiLang, reportLanguage),\n\t}));\n\nexport const selectByReportLanguage = (formMultiLang: FormMultiLang, reportLanguage: ReportLanguage): T => {\n\tif (formMultiLang.length === 0) {\n\t\tthrow Error('Expected FormMultiLang with at least one translation');\n\t}\n\n\tconst entry = findFormMultiLangEntryForReportLang(formMultiLang, reportLanguage);\n\tif (entry === undefined) {\n\t\tconsole.warn('Languages provided in form multi lang do not match those expected in the report language');\n\t\tconst arbitraryFallback = minBy(formMultiLang, (translation) => translation.formLanguageId);\n\t\treturn nonNullish(arbitraryFallback).value;\n\t}\n\treturn entry.value;\n};\n\nexport const findFormMultiLangEntryForReportLang = (\n\tformMultiLang: FormMultiLang,\n\treportLanguage: ReportLanguage\n) => {\n\tconst reportLanguageFormLanguageIds = new Set(reportLanguage.formLanguages.map((fl) => fl.formLanguageId));\n\treturn formMultiLang.find((langValue) => reportLanguageFormLanguageIds.has(langValue.formLanguageId));\n};\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport {\n\tFormMultiLang,\n\tFormMultiLangEntry,\n\tReportMultiLangEntry,\n} from '@evasys/globals/evainsights/models/common/multi-lang';\nimport { MultiLangService } from './multi-lang.service';\nimport { minBy } from 'lodash';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslocoMultiLangService extends MultiLangService {\n\tprotected override findFormMultiLangEntry(\n\t\tformMultiLang: FormMultiLang\n\t): Observable | undefined> {\n\t\t// TODO: Implement in SDI-2958\n\t\treturn of(formMultiLang.length > 0 ? minBy(formMultiLang, (t) => t.formLanguageId) : undefined);\n\t}\n\n\tprotected override findReportMultiLangEntry(): Observable | undefined> {\n\t\tthrow Error('Cannot translate report multi lang outside the context of a report');\n\t}\n}\n","import { ErrorHandler, Injectable } from '@angular/core';\nimport { LoggerService } from './logger.service';\nimport { HttpErrorResponse } from '@angular/common/http';\n\n@Injectable()\nexport class ErrorHandlerService implements ErrorHandler {\n\tconstructor(private readonly logger: LoggerService) {\n\t\t// this is intentional\n\t}\n\n\thandleError(error: unknown) {\n\t\tif (error instanceof HttpErrorResponse) {\n\t\t\t// any http requests (including errors) are automatically logged as dependencies and don't need to be considered here\n\t\t\treturn;\n\t\t}\n\n\t\tif (!(error instanceof Error)) {\n\t\t\tthrow Error('Cannot handle errors that do not inherit from the Error class');\n\t\t}\n\n\t\tthis.logger.error(error);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AngularPlugin } from '@microsoft/applicationinsights-angularplugin-js';\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\nimport { Logger } from '@evasys/globals/evainsights/logging/logger';\nimport { Level } from '@evasys/globals/evainsights/logging/level.enum';\nimport { LogProperties } from '@evasys/globals/evainsights/logging/log-properties.model';\nimport { setDefaultLogger } from '@evasys/globals/evainsights/logging/default-logger';\nimport { isNotServicePathPattern } from '@evasys/globals/evainsights/api/endpoints';\nimport { runtimeEnvironment } from '@evasys/globals/evainsights/environments/runtime-environment';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class LoggerService extends Logger {\n\tpublic context: Readonly<{ [key: string]: unknown }> = {};\n\n\tprivate applicationInsights?: ApplicationInsights;\n\n\tconstructor(router: Router) {\n\t\tsuper();\n\n\t\tif (runtimeEnvironment.applicationInsightsConnectionString) {\n\t\t\tconst angularPlugin = new AngularPlugin();\n\n\t\t\tthis.applicationInsights = new ApplicationInsights({\n\t\t\t\tconfig: {\n\t\t\t\t\tconnectionString: runtimeEnvironment.applicationInsightsConnectionString,\n\t\t\t\t\textensions: [angularPlugin],\n\t\t\t\t\textensionConfig: {\n\t\t\t\t\t\t[angularPlugin.identifier]: { router },\n\t\t\t\t\t},\n\t\t\t\t\tenableCorsCorrelation: true,\n\t\t\t\t\tcorrelationHeaderExcludePatterns: [isNotServicePathPattern],\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tthis.applicationInsights.addTelemetryInitializer((item) => {\n\t\t\t\titem.data = {\n\t\t\t\t\t...this.context,\n\t\t\t\t\t...item.data,\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tthis.applicationInsights.loadAppInsights();\n\t\t}\n\n\t\tsetDefaultLogger(this);\n\t}\n\n\tprotected override logPreparedProperties(level: Level, data: string | Error, props?: LogProperties) {\n\t\tif (!this.applicationInsights) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof data === 'string') {\n\t\t\tthis.applicationInsights.trackTrace({\n\t\t\t\tmessage: data,\n\t\t\t\tseverityLevel: level,\n\t\t\t\tproperties: props,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.applicationInsights.trackException({\n\t\t\t\texception: data,\n\t\t\t\tseverityLevel: level,\n\t\t\t\tproperties: props,\n\t\t\t});\n\t\t}\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { ReportLanguage } from '@evasys/globals/evainsights/models/report/report-reportTemplate.model';\n\n@Pipe({\n\tname: 'getLanguageControl',\n})\nexport class GetLanguageControlPipe implements PipeTransform {\n\ttransform(formGroup: FormGroup, language: ReportLanguage): AbstractControl | null {\n\t\treturn formGroup.get(language.id.toString());\n\t}\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { ReportLanguage } from '@evasys/globals/evainsights/models/report/report-reportTemplate.model';\nimport { LanguageService } from '@evasys/evainsights/shared/core';\n\n@Pipe({\n\tname: 'reportLanguageCode',\n})\nexport class ReportLanguageCodePipe implements PipeTransform {\n\tprivate readonly languageService = inject(LanguageService);\n\n\ttransform(reportLanguage: ReportLanguage | null | undefined): string {\n\t\treturn this.languageService.getActiveSystemLanguageCode(reportLanguage?.primaryUserLanguage);\n\t}\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { GeneralMultiLang } from '@evasys/globals/evainsights/models/common/multi-lang';\nimport { MultiLangService } from '../language/multi-lang.service';\n\n@Pipe({\n\tname: 'translateMultiLang',\n})\nexport class TranslateMultiLangPipe implements PipeTransform {\n\tmultiLangService = inject(MultiLangService);\n\n\ttransform(texts: GeneralMultiLang | null | undefined): Observable {\n\t\treturn this.multiLangService.translate(texts, '');\n\t}\n}\n","import {\n\tcatchError,\n\tdefer,\n\tfilter,\n\tmap,\n\tmerge,\n\tObservable,\n\tof,\n\tOperatorFunction,\n\tstartWith,\n\tswitchMap,\n\twithLatestFrom,\n} from 'rxjs';\nimport { Page } from '@evasys/globals/evainsights/models/pagination/page.model';\nimport { AbstractControl, FormGroup, UntypedFormArray } from '@angular/forms';\n\nexport const pageContent = () => {\n\treturn (page: Observable>): Observable => {\n\t\treturn page.pipe(map((value) => value.content));\n\t};\n};\n\nexport interface LoadingState {\n\tisLoading: boolean;\n\tdata?: T;\n\terror?: any;\n}\n\nexport const trackLoadingStates = () => {\n\treturn (requests: Observable>): Observable> => {\n\t\treturn requests.pipe(switchMap((request) => request.pipe(trackLoadingState())));\n\t};\n};\n\nexport const trackLoadingState = (): OperatorFunction> => {\n\treturn (source: Observable) =>\n\t\tsource.pipe(\n\t\t\tmap((data) => ({ isLoading: false, data })),\n\t\t\tcatchError((error) => of({ isLoading: false, error })),\n\t\t\tstartWith({ isLoading: true })\n\t\t);\n};\n\nexport const latestData = () => {\n\treturn (states: Observable>): Observable => {\n\t\treturn states.pipe(\n\t\t\tfilter((state) => !state.isLoading && !('error' in state)),\n\t\t\tmap((state) => state.data as T)\n\t\t);\n\t};\n};\n\n/**\n * Like AbstractControl.valueChanges but it\n * - emits only valid and disabled values\n * - includes the initial value if it is valid or disabled\n * - for FormGroup and FormArray controls also includes disabled sub-controls\n */\nexport const validOrDisabledRawFormControlValueChanges = (control: AbstractControl): Observable => {\n\tconst status = merge(\n\t\tdefer(() => of(control.status)),\n\t\tcontrol.statusChanges\n\t);\n\tconst value = merge(\n\t\tdefer(() => of(isCompositeFormControl(control) ? control.getRawValue() : control.value)),\n\t\tformControlRawValueChanges(control)\n\t);\n\n\treturn status.pipe(\n\t\twithLatestFrom(value),\n\t\tfilter(([status]) => status === 'VALID' || status === 'DISABLED'),\n\t\tmap(([, value]) => value)\n\t);\n};\n\n/**\n * Like AbstractControl.valueChanges but also includes values of disabled controls.\n * Solves the problem that a non-disabled form group (i.e. one with at least one non-disabled control) excludes disabled\n * controls from its `.value`.\n *\n * A form group like `new FormGroup({a: new FormControl('x'), b: new FormControl('y')})`\n * - has a value of `{a: 'x', b: 'y'}` if both form controls are non-disabled (e.g. valid or invalid)\n * - has a value of `{a: 'x'}` if the form control b is disabled\n * - has a value of `{a: 'x', b: 'y'}` if both a and b are disabled and the group itself is thus also disabled\n *\n * this method returns `{a: 'x', b: 'y'}` in all three cases\n */\nexport const formControlRawValueChanges = (control: AbstractControl): Observable => {\n\tif (isCompositeFormControl(control)) {\n\t\treturn control.valueChanges.pipe(map(() => control.getRawValue()));\n\t} else {\n\t\treturn control.valueChanges;\n\t}\n};\n\nconst isCompositeFormControl = (control: AbstractControl): control is UntypedFormArray | FormGroup => {\n\treturn control instanceof UntypedFormArray || control instanceof FormGroup;\n};\n","import { inject, Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\n@Injectable({ providedIn: 'root' })\nexport class TitleService {\n\tprivate title = inject(Title);\n\n\tsetTitle(titleText: string) {\n\t\tthis.title.setTitle(titleText + ' - evasys/insights');\n\t}\n}\n","export * from './lib/evasys-shared-core.module';\nexport * from './lib/services/system-info.service';\nexport * from './lib/services/translate.service';\nexport * from './lib/services/wizard.service';\nexport * from './lib/services/status.service';\nexport * from './lib/services/menu.service';\n","import * as fromSystemInfo from './system-info.actions';\nimport * as fromMenu from './menu.actions';\nimport * as fromWizard from './wizard.actions';\nimport * as fromStatus from './status.actions';\n\nexport const evasysActions = {\n\tfromSystemInfo,\n\tfromMenu,\n\tfromWizard,\n\tfromStatus,\n};\n","import { EvasysActionsFactory } from '@evasys/shared/core';\nimport { EvasysMenuModel } from '@evasys/globals/evasys/models/general/evasys-menu.model';\nimport { KeyValue } from '@angular/common';\n\nconst actionsFactory = new EvasysActionsFactory('MENU');\n\nexport const { LoadAllActionSet, ClearActionSet, LoadActionSet } = actionsFactory.createActions();\n\nexport const OpenPermanentlyActionSet = actionsFactory.createCustomActionSet(\n\t'openPermanentlyAction',\n\tfalse\n);\n\nexport const SetSearchTextActionSet = actionsFactory.createCustomActionSet('setSearchTextAction', false);\n\nexport const SetMenuMarkActionSet = actionsFactory.createCustomActionSet, void>(\n\t'setExtrasInfoAction',\n\tfalse\n);\n","import { EvasysStatusModel } from '@evasys/globals/evasys/models/general/evasys-status.model';\nimport { EvasysActionsFactory } from '@evasys/shared/core';\nimport { EvasysNotificationActionModel } from '@evasys/globals/shared/models/evasys-notification-action.model';\n\nconst actionsFactory = new EvasysActionsFactory('STATUS');\n\nexport const { LoadAllActionSet, LoadOneActionSet, LoadActionSet } = actionsFactory.createActions();\n\nexport const EulaAcceptedActionSet = actionsFactory.createCustomActionSet(\n\t'AcceptEula'\n);\n\nexport const transmitEvasysUpdateStatus = actionsFactory.createCustomActionSet(\n\t'transmitEvasysUpdateStatus'\n);\n\nexport const transmitEvasysUpdateRentalStatus = actionsFactory.createCustomActionSet(\n\t'transmitEvasysUpdateRentalStatus'\n);\n\nexport const transmitExtrasUpdateStatus = actionsFactory.createCustomActionSet(\n\t'transmitExtrasUpdateStatus'\n);\n\nexport const deleteOneStatusActionSet = actionsFactory.createCustomActionSet('deleteOneStatus', false);\n\nexport const createOneStatusActionSet = actionsFactory.createCustomActionSet(\n\t'createOneStatus',\n\tfalse\n);\n","import { EvasysActionsFactory } from '@evasys/shared/core';\nimport { SystemInfoModel } from '@evasys/globals/evasys/models/business/system-info.model';\n\nconst actionsFactory = new EvasysActionsFactory('SYSTEM_INFO');\n\nexport const { LoadPageActionSet, LoadOneActionSet, LoadManyActionSet, LoadActionSet } = actionsFactory.createActions();\n","import { EvasysActionsFactory } from '@evasys/shared/core';\nimport { WizardModel } from '@evasys/globals/shared/models/component/wizard/wizard.model';\n\nconst actionsFactory = new EvasysActionsFactory('WIZARD');\n\nexport const { LoadPageActionSet, LoadOneActionSet, LoadManyActionSet, LoadOneWithParamsActionSet, LoadActionSet } =\n\tactionsFactory.createActions();\n\nexport const ToggleWizard = actionsFactory.createCustomActionSet<{ id: string; show: boolean }, void>(\n\t'ToggleWizard',\n\tfalse\n);\n","import { Injectable } from '@angular/core';\nimport { ApiService, EvasysEffects } from '@evasys/shared/core';\nimport { Actions } from '@ngrx/effects';\nimport { EvasysMenuModel } from '@evasys/globals/evasys/models/general/evasys-menu.model';\nimport { evasysActions } from '../actions';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { MenuitemModel } from '@evasys/globals/evasys/models/component/menu-item.model';\nimport { EndpointsEnum } from '@evasys/globals/evasys/api/endpoints.enum';\n\n@Injectable()\nexport class MenuEffects extends EvasysEffects {\n\tprivate API_PATH = EndpointsEnum.MENUS;\n\n\tconstructor(protected override actions$: Actions, protected readonly apiService: ApiService) {\n\t\tsuper(evasysActions.fromMenu, 'menus', actions$);\n\t}\n\n\tloadAll$ = this.createEffect(\n\t\tevasysActions.fromMenu.LoadAllActionSet,\n\t\t() =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH,\n\t\t\t\tmany: true,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tprotected mapToBackend(menu: EvasysMenuModel): any {\n\t\tconst menuForBackend = {\n\t\t\t...menu,\n\t\t} as any;\n\n\t\tdelete menuForBackend.id;\n\t\treturn menuForBackend;\n\t}\n\n\tprotected mapToFrontend(data: any): EvasysMenuModel {\n\t\tlet menus = {\n\t\t\t...data,\n\t\t\tid: data.menuid,\n\t\t\tsubmenus: data.submenus?.results?.map((menu: any) => ({\n\t\t\t\t...menu,\n\t\t\t\tid: menu.menuid,\n\t\t\t\tmenuitems: menu.submenus?.results?.map(\n\t\t\t\t\t(menuitem: any) =>\n\t\t\t\t\t\t({\n\t\t\t\t\t\t\tid: menuitem.menuid,\n\t\t\t\t\t\t\ttitle: menuitem.title,\n\t\t\t\t\t\t\troute: menuitem.link,\n\t\t\t\t\t\t\ticon: menuitem.icon,\n\t\t\t\t\t\t\tmultiPage: menuitem.link?.includes('TOKEN') || menuitem.link?.startsWith('http'),\n\t\t\t\t\t\t} as MenuitemModel)\n\t\t\t\t),\n\t\t\t})),\n\t\t};\n\n\t\tdelete menus.menuid;\n\t\tdelete menus.results;\n\n\t\tmenus.submenus?.results?.forEach((submenu: any) => {\n\t\t\tdelete submenu.results;\n\t\t});\n\n\t\treturn menus;\n\t}\n}\n","import { Actions } from '@ngrx/effects';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\nimport { EvasysStatusModel } from '@evasys/globals/evasys/models/general/evasys-status.model';\nimport { Injectable } from '@angular/core';\nimport { ApiService, EvasysEffects } from '@evasys/shared/core';\nimport { evasysActions } from '../actions';\nimport { EndpointsEnum } from '@evasys/globals/evasys/api/endpoints.enum';\n\n@Injectable()\nexport class StatusEffects extends EvasysEffects {\n\tprivate API_PATH = EndpointsEnum.STATUS;\n\n\tconstructor(protected override actions$: Actions, protected readonly apiService: ApiService) {\n\t\tsuper(evasysActions.fromStatus, 'status', actions$);\n\t}\n\n\tloadAll$ = this.createEffect(\n\t\tevasysActions.fromStatus.LoadAllActionSet,\n\t\t() =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH,\n\t\t\t\tmany: true,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t\tpageSize: -1,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\ttransmitEvasysUpdateStatus$ = this.createEffect(\n\t\tevasysActions.fromStatus.transmitEvasysUpdateStatus,\n\t\t() =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH + '/lastUsageAutoUpdate',\n\t\t\t\tmany: false,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.PATCH,\n\t\t\t\tbody: {},\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\ttransmitEvasysUpdateRentalStatus$ = this.createEffect(\n\t\tevasysActions.fromStatus.transmitEvasysUpdateRentalStatus,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH + '/lastUsageRentalSystem',\n\t\t\t\tmany: false,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.PATCH,\n\t\t\t\tbody: {\n\t\t\t\t\taction: action.payload,\n\t\t\t\t},\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\ttransmitExtrasUpdateStatus$ = this.createEffect(\n\t\tevasysActions.fromStatus.transmitExtrasUpdateStatus,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH + '/extrasUpdateCheck',\n\t\t\t\tmany: false,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.PATCH,\n\t\t\t\tbody: {\n\t\t\t\t\textrasUpdateCheck: action.payload,\n\t\t\t\t},\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tloadOne$ = this.createEffect(\n\t\tevasysActions.fromStatus.LoadOneActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: [this.API_PATH, action.payload].join('/'),\n\t\t\t\tfields: 'name,value',\n\t\t\t\tmany: false,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tacceptEula$ = this.createEffect(\n\t\tevasysActions.fromStatus.EulaAcceptedActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: [this.API_PATH, action.payload.endpoint].join('/'),\n\t\t\t\tmany: false,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.PATCH,\n\t\t\t\tbody: action.payload.queryParams,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tprotected mapToBackend(data: EvasysStatusModel): any {\n\t\treturn data;\n\t}\n\n\tprotected mapToFrontend(data: any): EvasysStatusModel {\n\t\treturn {\n\t\t\t...data,\n\t\t\tid: data?.name,\n\t\t} as EvasysStatusModel;\n\t}\n}\n","import { ApiService, EvasysEffects } from '@evasys/shared/core';\nimport { Actions } from '@ngrx/effects';\nimport { SystemInfoModel } from '@evasys/globals/evasys/models/business/system-info.model';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { evasysActions } from '../actions';\nimport { Injectable } from '@angular/core';\nimport { EndpointsEnum } from '@evasys/globals/evasys/api/endpoints.enum';\n\n@Injectable()\nexport class SystemInfoEffects extends EvasysEffects {\n\tprivate API_PATH = EndpointsEnum.INFOS;\n\n\tconstructor(protected override actions$: Actions, protected readonly apiService: ApiService) {\n\t\tsuper(evasysActions.fromSystemInfo, 'infos', actions$);\n\t}\n\n\tloadPage$ = this.createEffect(\n\t\tevasysActions.fromSystemInfo.LoadPageActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH,\n\t\t\t\tmany: true,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t\tpage: action.payload,\n\t\t\t\tfields: 'name,value',\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tloadMany$ = this.createEffect(\n\t\tevasysActions.fromSystemInfo.LoadManyActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH,\n\t\t\t\tmany: true,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t\tpage: action.payload.page,\n\t\t\t\tpageSize: action.payload.pageSize,\n\t\t\t\tfilter: 'name in ' + action.payload.ids,\n\t\t\t\tfields: 'name,value',\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tloadOne$ = this.createEffect(\n\t\tevasysActions.fromSystemInfo.LoadOneActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: [this.API_PATH, action.payload].join('/'),\n\t\t\t\tfields: 'name,value',\n\t\t\t\tmany: false,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tprotected mapToFrontend(data: any): SystemInfoModel {\n\t\treturn {\n\t\t\t...data,\n\t\t\tid: data.name,\n\t\t} as SystemInfoModel;\n\t}\n\n\tprotected mapToBackend(systemInfo: SystemInfoModel): any {\n\t\tconst newSystemInfo: any = {\n\t\t\t...systemInfo,\n\t\t};\n\n\t\tdelete newSystemInfo.id;\n\n\t\treturn newSystemInfo;\n\t}\n}\n","import { ApiService, EvasysEffects } from '@evasys/shared/core';\nimport { Actions } from '@ngrx/effects';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { evasysActions } from '../actions';\nimport { Injectable } from '@angular/core';\nimport { WizardModel } from '@evasys/globals/shared/models/component/wizard/wizard.model';\nimport { PropertyTypeConstraintsModel } from '@evasys/globals/shared/models/component/wizard/property-type-constraints.model';\nimport { EndpointsEnum } from '@evasys/globals/evasys/api/endpoints.enum';\n\n@Injectable()\nexport class WizardEffects extends EvasysEffects {\n\tprivate API_PATH = EndpointsEnum.WIZARDS;\n\n\tconstructor(protected override actions$: Actions, protected readonly apiService: ApiService) {\n\t\tsuper(evasysActions.fromWizard, 'wizards', actions$);\n\t}\n\n\tloadOne$ = this.createEffect(\n\t\tevasysActions.fromWizard.LoadOneActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: [this.API_PATH, action.payload].join('/'),\n\t\t\t\tmany: false,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tloadOneWithParams$ = this.createEffect(evasysActions.fromWizard.LoadOneWithParamsActionSet, (action: any) => {\n\t\treturn {\n\t\t\tapiPath: [this.API_PATH, action.payload.id].join('/'),\n\t\t\tparams: action.payload.params,\n\t\t\tmany: false,\n\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t} as EvasysApiRequestModel;\n\t});\n\n\tprotected mapToFrontend(data: any): WizardModel {\n\t\treturn {\n\t\t\t...data,\n\t\t\tid: data.wizardname,\n\t\t\tshow: true,\n\t\t\twizardData: data.wizardData.map((wData: any) => ({\n\t\t\t\tusertype: {\n\t\t\t\t\t...wData.usertype,\n\t\t\t\t\tpropertyGroups: wData.usertype.propertyGroups.map((pgroup: any) => ({\n\t\t\t\t\t\t...pgroup,\n\t\t\t\t\t\tproperties: pgroup.properties.map((property: any) => ({\n\t\t\t\t\t\t\t...property,\n\t\t\t\t\t\t\ttype: {\n\t\t\t\t\t\t\t\t...property.type,\n\t\t\t\t\t\t\t\tconstraints: (property.type.constraints as PropertyTypeConstraintsModel[]).reduce(\n\t\t\t\t\t\t\t\t\t(result, item) => {\n\t\t\t\t\t\t\t\t\t\tconst key = Object.keys(item)[0];\n\t\t\t\t\t\t\t\t\t\tresult[key] = item[key];\n\t\t\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})),\n\t\t\t\t\t})),\n\t\t\t\t},\n\t\t\t})),\n\t\t} as WizardModel;\n\t}\n\n\tprotected mapToBackend(wizard: WizardModel): any {\n\t\tconst newWizard = {\n\t\t\t...wizard,\n\t\t};\n\n\t\tdelete newWizard.id;\n\n\t\treturn newWizard;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SystemInfoModule } from './modules/system-info.module';\nimport { MenuModule } from './modules/menu.module';\nimport { WizardModule } from './modules/wizard.module';\nimport { StatusModule } from './modules/status.module';\n\n@NgModule({\n\timports: [CommonModule, MenuModule, SystemInfoModule, WizardModule, StatusModule],\n})\nexport class EvasysSharedCoreModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { MenuEffects } from '../effects/menu.effects';\nimport { menuInitialState, menuReducer, menuMetaReducers } from '../reducers/menu.reducer';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [\n\t\tCommonModule,\n\t\tEffectsModule.forFeature([MenuEffects]),\n\t\tStoreModule.forFeature('menu', menuReducer, { metaReducers: menuMetaReducers, initialState: menuInitialState }),\n\t],\n})\nexport class MenuModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { StatusEffects } from '../effects/status.effects';\nimport { statusReducer } from '../reducers/status.reducer';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [CommonModule, EffectsModule.forFeature([StatusEffects]), StoreModule.forFeature('status', statusReducer)],\n})\nexport class StatusModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EffectsModule } from '@ngrx/effects';\nimport { SystemInfoEffects } from '../effects/system-info.effects';\nimport { StoreModule } from '@ngrx/store';\nimport { metaReducers, systemInfoInitialState, systemInfoReducer } from '../reducers/system-info.reducer';\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tEffectsModule.forFeature([SystemInfoEffects]),\n\t\tStoreModule.forFeature('systemInfos', systemInfoReducer, {\n\t\t\tmetaReducers: metaReducers,\n\t\t\tinitialState: systemInfoInitialState,\n\t\t}),\n\t],\n})\nexport class SystemInfoModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { WizardEffects } from '../effects/wizard.effects';\nimport { wizardReducer } from '../reducers/wizard.reducer';\n\n@NgModule({\n\timports: [CommonModule, EffectsModule.forFeature([WizardEffects]), StoreModule.forFeature('wizard', wizardReducer)],\n})\nexport class WizardModule {}\n","import { defaultEvasysState, EvasysEntityAdapter, EvasysReducerCaseFactory, EvasysState } from '@evasys/shared/core';\nimport { Action, ActionReducer, createReducer, MetaReducer, on } from '@ngrx/store';\nimport { evasysActions } from '../actions';\nimport { MenuState } from '@evasys/globals/evasys/models/states/menu.state';\nimport { EvasysMenuModel } from '@evasys/globals/evasys/models/general/evasys-menu.model';\nimport { localStorageSync } from 'ngrx-store-localstorage';\nimport { Update } from '@ngrx/entity';\nimport { getWindowVariable } from '@evasys/globals/shared/helper/window';\n\nexport const menuAdapter = new EvasysEntityAdapter();\nexport const menuInitialState: EvasysState = menuAdapter.entity.getInitialState({\n\t...defaultEvasysState(),\n\tsupplement: {\n\t\tpermanentlyOpen: false,\n\t\tsearchText: '',\n\t},\n});\n\nconst menuReducerCaseFactory = new EvasysReducerCaseFactory(menuAdapter, evasysActions.fromMenu);\n\nconst { reduceLoadAllActionSet, reduceClearActionSet } =\n\tmenuReducerCaseFactory.reduceEvasysActionSets>();\n\nexport const menuReducer = createReducer(\n\tmenuInitialState,\n\t...reduceLoadAllActionSet,\n\t...reduceClearActionSet,\n\ton(\n\t\tevasysActions.fromMenu.OpenPermanentlyActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload }) => ({\n\t\t\t...state,\n\t\t\tsupplement: { ...state.supplement, permanentlyOpen: payload },\n\t\t})\n\t),\n\ton(\n\t\tevasysActions.fromMenu.SetSearchTextActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload }) => ({\n\t\t\t...state,\n\t\t\tsupplement: { ...state.supplement, searchText: payload },\n\t\t})\n\t),\n\ton(\n\t\tevasysActions.fromMenu.SetMenuMarkActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload }) =>\n\t\t\tmenuAdapter.entity.updateOne(\n\t\t\t\t{ id: payload.key, changes: { mark: payload.value } } as Update,\n\t\t\t\tstate\n\t\t\t)\n\t)\n);\n\nexport function reducer(state: EvasysState | undefined, action: Action) {\n\treturn menuReducer(state, action);\n}\n\n//MetaReducer to store the system info in localStorage\n\nfunction localStorageSyncReducer(\n\treducer: ActionReducer>\n): ActionReducer> {\n\treturn localStorageSync({\n\t\tkeys: ['supplement'],\n\t\trehydrate: true,\n\t\tstorageKeySerializer: (key) =>\n\t\t\t`${getWindowVariable('base-href') ? getWindowVariable('base-href') + '_' : ''}menu_${key}`,\n\t})(reducer);\n}\n\nexport const menuMetaReducers: Array>> = [localStorageSyncReducer];\n","import { createReducer, on } from '@ngrx/store';\nimport { EvasysStatusModel } from '@evasys/globals/evasys/models/general/evasys-status.model';\nimport { defaultEvasysState, EvasysEntityAdapter, EvasysReducerCaseFactory, EvasysState } from '@evasys/shared/core';\nimport { evasysActions } from '../actions';\n\nexport const statusAdapter = new EvasysEntityAdapter();\nexport const statusInitialState: EvasysState = statusAdapter.entity.getInitialState(\n\tdefaultEvasysState()\n);\n\nconst statusReducerCaseFactory = new EvasysReducerCaseFactory(\n\tstatusAdapter,\n\tevasysActions.fromStatus\n);\n\nconst { reduceLoadAllActionSet, reduceLoadOneActionSet, reduceLoadActionSet } =\n\tstatusReducerCaseFactory.reduceEvasysActionSets();\n\nexport const statusReducer = createReducer(\n\tstatusInitialState,\n\t...reduceLoadAllActionSet,\n\t...reduceLoadOneActionSet,\n\t...reduceLoadActionSet,\n\t//region deleteOneStatusActionSet\n\ton(\n\t\tevasysActions.fromStatus.deleteOneStatusActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload }) => statusAdapter.entity.removeOne(payload, state)\n\t),\n\t//endregion\n\t//region createOneStatusActionSet\n\ton(\n\t\tevasysActions.fromStatus.createOneStatusActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload }) => statusAdapter.loadOneSucceed(payload, state)\n\t),\n\t//endregion\n\t//region eulaAccepted\n\ton(evasysActions.fromStatus.EulaAcceptedActionSet.DEFAULT, (state: EvasysState) =>\n\t\tstatusAdapter.load(state)\n\t),\n\ton(evasysActions.fromStatus.EulaAcceptedActionSet.SUCCESS, (state: EvasysState) => ({\n\t\t...state,\n\t\tloading: false,\n\t})),\n\ton(evasysActions.fromStatus.EulaAcceptedActionSet.FAILURE, (state: EvasysState, { error }) => ({\n\t\t...state,\n\t\terror,\n\t\tloading: false,\n\t}))\n\t//endregion\n);\n","import { defaultEvasysState, EvasysEntityAdapter, EvasysReducerCaseFactory, EvasysState } from '@evasys/shared/core';\nimport { SystemInfoModel } from '@evasys/globals/evasys/models/business/system-info.model';\nimport { evasysActions } from '../actions';\nimport { Action, ActionReducer, createReducer, MetaReducer } from '@ngrx/store';\nimport { localStorageSync } from 'ngrx-store-localstorage';\nimport { environment } from '@evasys/globals/evasys/environments/environment';\n\nexport const systemInfoAdapter = new EvasysEntityAdapter();\nexport const systemInfoInitialState: EvasysState = systemInfoAdapter.entity.getInitialState(\n\tdefaultEvasysState()\n);\nconst systemInfoReducerCaseFactory = new EvasysReducerCaseFactory(\n\tsystemInfoAdapter,\n\tevasysActions.fromSystemInfo\n);\n\nconst { reduceLoadPageActionSet, reduceLoadOneActionSet, reduceLoadManyActionSet, reduceLoadActionSet } =\n\tsystemInfoReducerCaseFactory.reduceEvasysActionSets();\n\nexport const systemInfoReducer = createReducer(\n\tsystemInfoInitialState,\n\t...reduceLoadPageActionSet,\n\t...reduceLoadOneActionSet,\n\t...reduceLoadManyActionSet,\n\t...reduceLoadActionSet\n);\n\nexport function reducer(state: EvasysState | undefined, action: Action) {\n\treturn systemInfoReducer(state, action);\n}\n\n//MetaReducer to store the system info in localStorage\n\nfunction localStorageSyncReducer(\n\tactionReducer: ActionReducer>\n): ActionReducer> {\n\treturn localStorageSync({\n\t\tkeys: ['ids', 'entities', 'loadedPages', 'pageConfig'],\n\t\trehydrate: true,\n\t\tstorageKeySerializer: (key) => `${environment.baseHref}_systemInfo_${key}`,\n\t})(actionReducer);\n}\n\nexport const metaReducers: MetaReducer[] = [localStorageSyncReducer];\n","import { defaultEvasysState, EvasysEntityAdapter, EvasysReducerCaseFactory, EvasysState } from '@evasys/shared/core';\nimport { evasysActions } from '../actions';\nimport { Action, createReducer, on } from '@ngrx/store';\nimport { WizardModel } from '@evasys/globals/shared/models/component/wizard/wizard.model';\n\nexport const wizardAdapter = new EvasysEntityAdapter();\nexport const wizardInitialState: EvasysState = wizardAdapter.entity.getInitialState(defaultEvasysState());\nconst wizardReducerCaseFactory = new EvasysReducerCaseFactory(wizardAdapter, evasysActions.fromWizard);\n\nconst { reduceLoadOneActionSet, reduceLoadOneWithParamsActionSet, reduceLoadActionSet } =\n\twizardReducerCaseFactory.reduceEvasysActionSets();\n\nexport const wizardReducer = createReducer(\n\twizardInitialState,\n\t...reduceLoadOneActionSet,\n\t...reduceLoadOneWithParamsActionSet,\n\t...reduceLoadActionSet,\n\ton(evasysActions.fromWizard.ToggleWizard.DEFAULT, (state: EvasysState, { payload }) => {\n\t\tif (state?.entities && state.entities[payload.id]?.show !== undefined) {\n\t\t\tstate.entities[payload.id].show = payload.show;\n\t\t}\n\t\treturn state;\n\t})\n);\n\nexport function reducer(state: EvasysState | undefined, action: Action) {\n\treturn wizardReducer(state, action);\n}\n","import * as fromSystemInfo from './system-info.selectors';\nimport * as fromMenu from './menu.selectors';\nimport * as fromWizard from './wizard.selectors';\nimport * as fromStatus from './status.selectors';\n\nexport const evasysSelectors = {\n\tfromSystemInfo,\n\tfromMenu,\n\tfromWizard,\n\tfromStatus,\n};\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { EvasysState } from '@evasys/shared/core';\nimport { EvasysMenuModel } from '@evasys/globals/evasys/models/general/evasys-menu.model';\nimport { MenuState } from '@evasys/globals/evasys/models/states/menu.state';\nimport { menuAdapter } from '../reducers/menu.reducer';\n\nexport const getMenuState = createFeatureSelector>('menu');\n\nexport const { selectLoading, selectPageConfig, selectPage, selectLoadedPages, selectEntity, selectMany, selectError } =\n\tmenuAdapter.getSelectors(getMenuState);\n\nexport const { selectIds, selectEntities, selectAll, selectTotal } = menuAdapter.entity.getSelectors(getMenuState);\n\nexport const selectPermanentOpenState = createSelector(\n\tgetMenuState,\n\t(state: EvasysState) => state?.supplement?.permanentlyOpen\n);\n\nexport const selectSearchTextState = createSelector(\n\tgetMenuState,\n\t(state: EvasysState) => state?.supplement?.searchText\n);\n","import { createFeatureSelector } from '@ngrx/store';\nimport { EvasysState } from '@evasys/shared/core';\nimport { EvasysStatusModel } from '@evasys/globals/evasys/models/general/evasys-status.model';\nimport { statusAdapter } from '../reducers/status.reducer';\n\nexport const getStatusState = createFeatureSelector>('status');\n\nexport const {\n\tselectLoading,\n\tselectPageConfig,\n\tselectPage,\n\tselectLoadedPages,\n\tselectEntity,\n\tselectMany,\n\tselectError,\n\tselectHasError,\n} = statusAdapter.getSelectors(getStatusState);\n\nexport const { selectEntities, selectAll, selectIds, selectTotal } = statusAdapter.entity.getSelectors(getStatusState);\n","import { createFeatureSelector } from '@ngrx/store';\nimport { EvasysState } from '@evasys/shared/core';\nimport { SystemInfoModel } from '@evasys/globals/evasys/models/business/system-info.model';\nimport { systemInfoAdapter } from '../reducers/system-info.reducer';\n\nexport const getSystemInfoState = createFeatureSelector>('systemInfos');\n\nexport const { selectLoading, selectPageConfig, selectPage, selectLoadedPages, selectEntity, selectMany, selectError } =\n\tsystemInfoAdapter.getSelectors(getSystemInfoState);\nexport const { selectIds, selectEntities, selectAll, selectTotal } =\n\tsystemInfoAdapter.entity.getSelectors(getSystemInfoState);\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { EvasysState } from '@evasys/shared/core';\nimport { WizardModel } from '@evasys/globals/shared/models/component/wizard/wizard.model';\nimport { wizardAdapter } from '../reducers/wizard.reducer';\n\nexport const getWizardState = createFeatureSelector>('wizard');\n\nexport const { selectLoading, selectPageConfig, selectPage, selectLoadedPages, selectEntity, selectMany, selectError } =\n\twizardAdapter.getSelectors(getWizardState);\nexport const { selectIds, selectEntities, selectAll, selectTotal } = wizardAdapter.entity.getSelectors(getWizardState);\n\nexport const selectShowWizard = (id: string) =>\n\tcreateSelector(getWizardState, (state: EvasysState) => state?.entities[id]?.show);\n","import { Injectable } from '@angular/core';\nimport { EvasysState, FacadeService } from '@evasys/shared/core';\nimport { EvasysMenuModel } from '@evasys/globals/evasys/models/general/evasys-menu.model';\nimport { Store } from '@ngrx/store';\nimport { MenuState } from '@evasys/globals/evasys/models/states/menu.state';\nimport { evasysActions } from '../actions';\nimport { evasysSelectors } from '../selectors';\nimport { Observable } from 'rxjs';\nimport { Actions } from '@ngrx/effects';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class MenuService extends FacadeService {\n\tconstructor(\n\t\tprivate readonly menuStore: Store>,\n\t\tprotected readonly actions: Actions\n\t) {\n\t\tsuper(menuStore, evasysActions.fromMenu, evasysSelectors.fromMenu, actions);\n\t}\n\n\tpublic getMenuItems() {\n\t\treturn this.store.select(evasysSelectors.fromMenu.selectAll);\n\t}\n\n\tpublic loadMenus() {\n\t\tthis.store.dispatch(\n\t\t\tevasysActions.fromMenu.LoadAllActionSet.DEFAULT({\n\t\t\t\tpayload: undefined,\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic setMenuMark(menuItemName: string, showMark: boolean) {\n\t\tthis.menuStore.dispatch(\n\t\t\tevasysActions.fromMenu.SetMenuMarkActionSet.DEFAULT({ payload: { key: menuItemName, value: showMark } })\n\t\t);\n\t}\n\n\tpublic openMenuPermanently(open: boolean): void {\n\t\tthis.menuStore.dispatch(evasysActions.fromMenu.OpenPermanentlyActionSet.DEFAULT({ payload: open }));\n\t}\n\n\tpublic getPermanentlyMenuOpenState(): Observable {\n\t\treturn this.menuStore.select(evasysSelectors.fromMenu.selectPermanentOpenState);\n\t}\n\n\tpublic setSearchText(searchText: string) {\n\t\tthis.menuStore.dispatch(evasysActions.fromMenu.SetSearchTextActionSet.DEFAULT({ payload: searchText }));\n\t}\n\n\tpublic getSearchTextState(): Observable {\n\t\treturn this.menuStore.select(evasysSelectors.fromMenu.selectSearchTextState);\n\t}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, first, firstValueFrom } from 'rxjs';\nimport { ProductMenuItem } from '@evasys/shared/ui';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { StatusService } from '@evasys/evasys/shared/core';\nimport { EvasysStatusModel } from '@evasys/globals/evasys/models/general/evasys-status.model';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ProductService {\n\tprivate readonly statusService = inject(StatusService);\n\tprivate readonly productsObservable = new BehaviorSubject([]);\n\n\tprivate evaXDataToRequestList(evaXData: EvasysStatusModel) {\n\t\treturn [\n\t\t\tthis.getEvainsightsProduct(\n\t\t\t\tevaXData?.value.evaInsightsUrl\n\t\t\t\t\t? new URL(evaXData?.value.evaInsightsUrl + '?forwardinfo=' + evaXData?.value.forwardKey)\n\t\t\t\t\t: undefined\n\t\t\t),\n\t\t\tthis.getEvasysPlusProduct(\n\t\t\t\t'Surveys',\n\t\t\t\t'surveys',\n\t\t\t\t'S_EVASYS_PLUS_SURVEYS',\n\t\t\t\tevaXData?.value.forwardKey,\n\t\t\t\t[UserRightsEnum.INSTRUCTOR, UserRightsEnum.DEAN_OF_STUDIES, UserRightsEnum.DEAN],\n\t\t\t\tevaXData?.value.evasysPlusUrl,\n\t\t\t\ttrue\n\t\t\t),\n\t\t\tthis.getEvasysPlusProduct(\n\t\t\t\t'Workflows',\n\t\t\t\t'workflows',\n\t\t\t\t'S_EVASYS_PLUS_WORKFLOWS',\n\t\t\t\tevaXData?.value.forwardKey,\n\t\t\t\t[UserRightsEnum.ADMINISTRATOR, UserRightsEnum.FIRSTADMIN, UserRightsEnum.SUBSECTION_ADMINISTRATOR],\n\t\t\t\tevaXData?.value.evasysPlusUrl,\n\t\t\t\ttrue\n\t\t\t),\n\t\t\tthis.getEvasysPlusProduct(\n\t\t\t\t'SurveyCreator',\n\t\t\t\t'datasets',\n\t\t\t\t'S_EVASYS_PLUS_SURVEY_CREATOR',\n\t\t\t\tevaXData?.value.forwardKey,\n\t\t\t\t[UserRightsEnum.ADMINISTRATOR, UserRightsEnum.FIRSTADMIN, UserRightsEnum.SUBSECTION_ADMINISTRATOR],\n\t\t\t\tevaXData?.value.evasysPlusUrl,\n\t\t\t\ttrue\n\t\t\t),\n\t\t\tthis.getEvasysPlusProduct(\n\t\t\t\t'Dashboards',\n\t\t\t\t'dashboards',\n\t\t\t\t'S_EVASYS_PLUS_DASHBOARDS',\n\t\t\t\tevaXData?.value.forwardKey,\n\t\t\t\t[UserRightsEnum.ADMINISTRATOR, UserRightsEnum.FIRSTADMIN, UserRightsEnum.SUBSECTION_ADMINISTRATOR],\n\t\t\t\tevaXData?.value.evasysPlusUrl,\n\t\t\t\tevaXData?.value.isDashboardFeatureAvailable ?? false\n\t\t\t),\n\t\t];\n\t}\n\n\tprivate getEvainsightsProduct(url?: URL): ProductMenuItem {\n\t\treturn {\n\t\t\tname: 'S_INSIGHTS',\n\t\t\tid: 'evainsights',\n\t\t\turl,\n\t\t\trights: [UserRightsEnum.ADMINISTRATOR, UserRightsEnum.FIRSTADMIN, UserRightsEnum.SUBSECTION_ADMINISTRATOR],\n\t\t\tisActive: true,\n\t\t};\n\t}\n\n\tprivate getEvasysPlusProduct(\n\t\tid: string,\n\t\tpath: string,\n\t\tname: string,\n\t\tforwardKey: string,\n\t\tUserRights: UserRightsEnum[],\n\t\turl?: string,\n\t\tisActive?: boolean\n\t): ProductMenuItem {\n\t\tconst urlString = (url?.endsWith('/') ? url + forwardKey : url + '/' + forwardKey) + '?target=' + path;\n\t\treturn {\n\t\t\tid: 'evasysPlus' + id,\n\t\t\tname: name,\n\t\t\turl: url ? new URL(urlString) : undefined,\n\t\t\trights: UserRights,\n\t\t\tisActive,\n\t\t};\n\t}\n\n\tpublic refreshProductUrls = async () => {\n\t\tawait firstValueFrom(\n\t\t\tthis.statusService.get({\n\t\t\t\tloadingStrategy: EvasysLoadingStrategiesEnum.APIONLY,\n\t\t\t\tid: 'evaxdata',\n\t\t\t})\n\t\t).then((refreshedEvaXData) => {\n\t\t\tthis.productsObservable.next(this.evaXDataToRequestList(refreshedEvaXData));\n\t\t\treturn refreshedEvaXData;\n\t\t});\n\t};\n\n\tpublic getAvailableProducts() {\n\t\tthis.statusService\n\t\t\t.get({\n\t\t\t\tloadingStrategy: EvasysLoadingStrategiesEnum.STATEFALLBACKAPI,\n\t\t\t\tid: 'evaxdata',\n\t\t\t})\n\t\t\t.pipe(first())\n\t\t\t.subscribe((evaXData) => {\n\t\t\t\tthis.productsObservable.next(this.evaXDataToRequestList(evaXData));\n\t\t\t});\n\t\treturn this.productsObservable;\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { EvasysStatusModel } from '@evasys/globals/evasys/models/general/evasys-status.model';\nimport { FacadeService } from '../../../../../../shared/core/src/lib/essential/redux/services/facade.service';\nimport { EvasysState } from '../../../../../../shared/core/src/lib/essential/redux/states/evasys.state';\nimport { evasysActions } from '../actions';\nimport { Observable } from 'rxjs';\nimport { evasysSelectors } from '../selectors';\nimport { catchFailure } from '../../../../../../shared/util/src/lib/rxjs/rxjs.functions';\nimport { loadData } from '@evasys/shared/util';\nimport { map } from 'rxjs/operators';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { Dictionary } from '@ngrx/entity';\nimport { EvasysNotificationActionModel } from '@evasys/globals/shared/models/evasys-notification-action.model';\nimport { Actions } from '@ngrx/effects';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class StatusService extends FacadeService {\n\tconstructor(\n\t\tprivate readonly statusStore: Store>,\n\t\tprotected readonly actions: Actions\n\t) {\n\t\tsuper(statusStore, evasysActions.fromStatus, evasysSelectors.fromStatus, actions);\n\t}\n\n\tpublic getAllStatuses(): Observable> {\n\t\treturn catchFailure(\n\t\t\tthis.store.select(evasysSelectors.fromStatus.selectEntities),\n\t\t\tthis.store.select(evasysSelectors.fromStatus.selectError)\n\t\t).pipe(\n\t\t\tloadData(\n\t\t\t\t() =>\n\t\t\t\t\tthis.store.dispatch(\n\t\t\t\t\t\tevasysActions.fromStatus.LoadAllActionSet.DEFAULT({\n\t\t\t\t\t\t\tpayload: undefined,\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t() => this.store.select(evasysSelectors.fromStatus.selectLoading),\n\t\t\t\tEvasysLoadingStrategiesEnum.APIONLY,\n\t\t\t\ttrue\n\t\t\t),\n\t\t\tmap((entity) => entity as Dictionary)\n\t\t);\n\t}\n\n\tpublic createOneStatus(status: EvasysStatusModel): void {\n\t\tthis.statusStore.dispatch(evasysActions.fromStatus.createOneStatusActionSet.DEFAULT({ payload: status }));\n\t}\n\n\tpublic deleteOneStatus(id: string): void {\n\t\tthis.statusStore.dispatch(evasysActions.fromStatus.deleteOneStatusActionSet.DEFAULT({ payload: id }));\n\t}\n\n\tpublic acceptEula(action: EvasysNotificationActionModel): void {\n\t\tthis.statusStore.dispatch(\n\t\t\tevasysActions.fromStatus.EulaAcceptedActionSet.DEFAULT({\n\t\t\t\tpayload: action,\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic sendEvasysUpdateAnswerToBackend() {\n\t\tthis.statusStore.dispatch(\n\t\t\tevasysActions.fromStatus.transmitEvasysUpdateStatus.DEFAULT({\n\t\t\t\tpayload: undefined,\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic sendEvasysUpdateRentalAnswerToBackend(action: string) {\n\t\tthis.statusStore.dispatch(\n\t\t\tevasysActions.fromStatus.transmitEvasysUpdateRentalStatus.DEFAULT({\n\t\t\t\tpayload: action,\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic sendExtrasUpdateAnswerToBackend(extrasUpdatesAvailable: number) {\n\t\tthis.statusStore.dispatch(\n\t\t\tevasysActions.fromStatus.transmitExtrasUpdateStatus.DEFAULT({\n\t\t\t\tpayload: extrasUpdatesAvailable,\n\t\t\t})\n\t\t);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { EvasysState, FacadeService } from '@evasys/shared/core';\nimport { Store } from '@ngrx/store';\nimport { evasysActions } from '../actions';\nimport { evasysSelectors } from '../selectors';\nimport { SystemInfoModel } from '@evasys/globals/evasys/models/business/system-info.model';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { firstValueFrom } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Actions } from '@ngrx/effects';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class SystemInfoService extends FacadeService {\n\tconstructor(\n\t\tprivate readonly systemInfoStore: Store>,\n\t\tprotected readonly actions: Actions\n\t) {\n\t\tsuper(systemInfoStore, evasysActions.fromSystemInfo, evasysSelectors.fromSystemInfo, actions);\n\t\tthis.initialDispatch();\n\t}\n\n\tprivate initialDispatch() {\n\t\tfirstValueFrom(this.systemInfoStore.select(evasysSelectors.fromSystemInfo.selectLoadedPages))\n\t\t\t.then((loadedPages) => {\n\t\t\t\tif (!loadedPages || loadedPages?.length == 0) {\n\t\t\t\t\tthis.systemInfoStore.dispatch(\n\t\t\t\t\t\tevasysActions.fromSystemInfo.LoadPageActionSet.DEFAULT({\n\t\t\t\t\t\t\tpayload: 1,\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => console.error('Can not initial load Evasys-SystemInfos: ' + err));\n\t}\n\n\tgetManySystemInfos(ids: string[], loadingStrategy: EvasysLoadingStrategiesEnum) {\n\t\treturn this.getMany(ids, 1, loadingStrategy, -1).pipe(\n\t\t\tmap(\n\t\t\t\t(entities: SystemInfoModel[]) =>\n\t\t\t\t\tentities.reduce((result, entity) => {\n\t\t\t\t\t\tconst key = entity.id;\n\t\t\t\t\t\tresult[key] = entity?.value ?? null;\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}, {}) as any\n\t\t\t)\n\t\t);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HashMap, TranslateParams, TranslocoService } from '@ngneat/transloco';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class TranslateService {\n\tpublic constructor(private service: TranslocoService) {}\n\n\tpublic translate(key: string, params?: HashMap, lang?: string): string;\n\tpublic translate(key: string[], params?: HashMap, lang?: string): string[];\n\tpublic translate(key: TranslateParams, params?: HashMap, lang?: string): TranslateParams;\n\tpublic translate(map: Map, params?: HashMap, lang?: string): Map;\n\tpublic translate(keyOrMap: MaybeMap, params?: HashMap, lang?: string): MaybeMap {\n\t\tif (keyOrMap instanceof Map) {\n\t\t\tconst map = new Map(keyOrMap);\n\t\t\tmap.forEach((value, key) => {\n\t\t\t\tmap.set(key, this.service.translate(value, params, lang));\n\t\t\t});\n\t\t\treturn map;\n\t\t}\n\n\t\treturn this.service.translate(keyOrMap, params, lang);\n\t}\n}\n\ntype MaybeMap = T | Map;\n","import { Injectable } from '@angular/core';\nimport { EvasysState, FacadeService } from '@evasys/shared/core';\nimport { Store } from '@ngrx/store';\nimport { evasysActions } from '../actions';\nimport { evasysSelectors } from '../selectors';\nimport { WizardModel } from '@evasys/globals/shared/models/component/wizard/wizard.model';\nimport { Actions } from '@ngrx/effects';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class WizardService extends FacadeService {\n\tconstructor(private readonly wizardStore: Store>, protected readonly actions: Actions) {\n\t\tsuper(wizardStore, evasysActions.fromWizard, evasysSelectors.fromWizard, actions);\n\t}\n}\n","export * from './lib/evasys-shared-feature.module';\nexport * from './lib/navigate/services/navigate.service';\nexport * from './lib/transloco/pipes/translate.pipe';\nexport * from './lib/services/user-change.service';\nexport * from './lib/system-activation/guards/system-activation.guard';\n","import { Component, Injector, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { firstValueFrom, Observable, of, Subscription } from 'rxjs';\nimport { NavigateService } from '../../../navigate/services/navigate.service';\nimport {\n\tAuthService,\n\tAuthUserService,\n\tConfigService,\n\tFacadeService,\n\tNotificationService,\n\tUserModelClass,\n} from '@evasys/shared/core';\nimport { MenuService, StatusService, SystemInfoService } from '@evasys/evasys/shared/core';\nimport { UserRightDesignation, UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { filter, map } from 'rxjs/operators';\nimport { SidemenuItemModel } from '@evasys/globals/evasys/models/component/sidemenu-item.model';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { EvasysFooterModel } from '@evasys/globals/evasys/models/general/evasys-footer.model';\nimport { LegalNoticeService, ProductMenuItem, Tabitem } from '@evasys/shared/ui';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\nimport { HttpClient } from '@angular/common/http';\nimport { EvasysSharedFeatureConfiguration } from '../../../evasys-shared-feature.configuration';\nimport { ServiceInjectorMapper } from '@evasys/globals/evasys/mapper/general/service-injector-mapper';\nimport { Update } from '@ngrx/entity';\nimport { EvasysNotificationActionModel } from '@evasys/globals/shared/models/evasys-notification-action.model';\nimport { EvasysMenuModel } from '@evasys/globals/evasys/models/general/evasys-menu.model';\nimport { LevelEnum } from '@evasys/globals/shared/enums/business/level.enum';\nimport { ModalMultipleUsersComponent } from '@evasys/evasys/shared/ui';\nimport { ExternalIdUserModel } from '@evasys/globals/evasys/models/business/external-id-user.model';\nimport { UserChangeService } from '../../../services/user-change.service';\nimport { NotificationEnum } from '@evasys/globals/shared/enums/component/notification.enum';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { EndpointsEnum } from '@evasys/globals/evasys/api/endpoints.enum';\nimport {\n\tUpdateErrorMessageMapper,\n\tUpdateSuccessMessageMapper,\n} from '@evasys/globals/evasys/api/mapper/update-message.mapper';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { SystemInfoModel } from '@evasys/globals/evasys/models/business/system-info.model';\nimport { ProductService } from '../../../../../../core/src/lib/services/product.service';\n\n@Component({\n\tselector: 'evasys-app-shell',\n\ttemplateUrl: './app-shell.component.html',\n})\nexport class AppShellComponent implements OnInit, OnDestroy {\n\t//region ViewChilds\n\t@ViewChild('multipleUsersModal')\n\tmultipleUsersModal: ModalMultipleUsersComponent;\n\n\t//endregion\n\n\t//region Variables\n\t//region Topmenu-Variables\n\t//region Private\n\tprivate subscriptions: Subscription[] = [];\n\tprivate menuItems: EvasysMenuModel[] = [];\n\tprivate userSwitchData: ExternalIdUserModel[];\n\n\t//endregion\n\t//region Public\n\tpublic userRightDesignation = UserRightDesignation;\n\tpublic title = 'evasys';\n\tpublic topMenuitems: Tabitem[] = [];\n\tpublic notifications: Observable;\n\tpublic user: Observable;\n\tpublic userRights = UserRightsEnum;\n\tpublic authenticated: Observable;\n\tpublic loading: boolean;\n\tpublic isSidebarPermanentlyOpen: Observable;\n\tpublic isNotLoginPage: Observable;\n\tpublic activeSystemUser: number = 0;\n\tpublic activeOnlineUser: number = 0;\n\tpublic system: 'evasys' | 'evaexam';\n\tpublic showSystemUsage: boolean;\n\tpublic canSwitchUser: boolean = false;\n\tpublic logo?: string;\n\tpublic logoAlt?: string;\n\tpublic searchText?: Observable;\n\tpublic productsObservable: Observable;\n\t//endregion\n\n\t//region Sidemenu-Variables\n\n\t//region Public\n\tpublic active: [number, number] = [0, 0];\n\tpublic isSidemenuCollapsed = true;\n\tpublic sidemenuItems: SidemenuItemModel[] = null;\n\tpublic footerTextObservable: Observable;\n\t//endregion\n\n\t//region Getter & Setter\n\n\t//endregion\n\n\tconstructor(\n\t\tprivate readonly router: Router,\n\t\tprivate readonly navigateService: NavigateService,\n\t\tprivate readonly authService: AuthService,\n\t\tprivate readonly authUserService: AuthUserService,\n\t\tprivate readonly systemInfoService: SystemInfoService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly menuService: MenuService,\n\t\tprivate readonly notificationService: NotificationService,\n\t\tprivate readonly httpService: HttpClient,\n\t\tprivate readonly sharedFeatureConfiguration: EvasysSharedFeatureConfiguration,\n\t\tprivate readonly injector: Injector,\n\t\tprivate readonly statusService: StatusService,\n\t\tprivate readonly userChangeService: UserChangeService,\n\t\tprivate readonly translateService: TranslocoService,\n\t\tprivate readonly legalNoticeService: LegalNoticeService,\n\t\tprivate readonly productService: ProductService\n\t) {}\n\n\t//region Events\n\n\t//region Ng-Events\n\tngOnInit(): void {\n\t\tthis.authenticated = this.authService.hasValidToken();\n\t\tthis.user = this.authUserService.authenticatedUserObservable;\n\t\tthis.getSystem();\n\t\tthis.declareFooter();\n\t\tthis.declareIsNotLoginPage();\n\t\tthis.isSidebarPermanentlyOpen = this.menuService.getPermanentlyMenuOpenState();\n\t\tthis.notifications = this.notificationService.getAllForCollection();\n\t\tthis.loadMenus();\n\t\tthis.loadOrganisationLogo();\n\n\t\tthis.setMenuItems();\n\t\tthis.searchText = this.menuService.getSearchTextState();\n\t\tthis.initLegalNotice();\n\t\tthis.handleSystemSwitch();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\t//endregion\n\n\t//region Topmenu-Events\n\n\tonLogout() {\n\t\tthis.authService\n\t\t\t.logout()\n\t\t\t.then(() => this.router.navigate(['']))\n\t\t\t.catch((err) => console.error('Can not Logout on event: ', err));\n\t}\n\n\tonMenuResponse(response: string) {\n\t\tthis.changeActiveSideMenuItems(response);\n\t}\n\n\tonUserRightChange(right: number) {\n\t\tfirstValueFrom(this.user).then(() => {\n\t\t\tthis.authUserService.authenticatedUserPromise.then((authUser) => {\n\t\t\t\tauthUser.changeActiveRole(right);\n\t\t\t\tconst lastviewedpage = this.router.url\n\t\t\t\t\t.split('?')[0]\n\t\t\t\t\t.split('/')\n\t\t\t\t\t.filter((element) => element)\n\t\t\t\t\t.join(',');\n\t\t\t\tthis.navigateService.navigateWithUserRightAndLevel(right, authUser.level, [\n\t\t\t\t\t{ key: 'lastviewedpage', value: lastviewedpage },\n\t\t\t\t]);\n\t\t\t});\n\t\t});\n\t}\n\n\tonSearch(searchValue: string) {\n\t\tthis.navigateService.navigateTo(\n\t\t\t'oadmin.php?search_field=' +\n\t\t\t\tsearchValue +\n\t\t\t\t'&table_list%5B%5D=benutzer&mode=stat_search&table_list%5B%5D=zent_lv&table_list%5B%5D=umfragen&table_list%5B%5D=zent_zustellungen&search=Suchen'\n\t\t);\n\t}\n\n\tonHelp(searchValue: string) {\n\t\tfirstValueFrom(this.systemInfoService.getOne('helplink', EvasysLoadingStrategiesEnum.APIONLY))\n\t\t\t.then((link) => {\n\t\t\t\twindow.open(link.value + '#Help&rhsearch=' + searchValue + '&ux=search');\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.error('fail to help: ', err);\n\t\t\t});\n\t}\n\n\tonNotificationDelete(notificationId: string) {\n\t\tthis.notificationService.deleteOne(notificationId);\n\t}\n\n\tonApiCallAction(action: EvasysNotificationActionModel) {\n\t\tconst service = this.injector.get>(ServiceInjectorMapper[action.apiRoute]);\n\n\t\tconst update: Update = {\n\t\t\tid: action.endpoint,\n\t\t\tchanges: action.queryParams,\n\t\t};\n\n\t\tservice\n\t\t\t.updateOne(update)\n\t\t\t.then((response) => {\n\t\t\t\tthis.notificationService.addNotification(\n\t\t\t\t\tNotificationEnum.SUCCESS,\n\t\t\t\t\tthis.translateService.translate(UpdateSuccessMessageMapper.get(action.apiRoute as EndpointsEnum)),\n\t\t\t\t\tresponse.configid,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tthis.notificationService.addNotification(\n\t\t\t\t\tNotificationEnum.WARNING,\n\t\t\t\t\tthis.translateService.translate(UpdateErrorMessageMapper.get(action.apiRoute as EndpointsEnum)),\n\t\t\t\t\t'update_error',\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\tonOpenUserSwitchAction() {\n\t\tthis.multipleUsersModal.open(this.userSwitchData);\n\t}\n\n\tonSystemUsageAction() {\n\t\tthis.navigateService.navigateTo('public/default/Performance/index');\n\t}\n\n\tonLogoClicked() {\n\t\tthis.router.navigate(['/subunits']);\n\t}\n\n\tonUserMenuOpenAction() {\n\t\tthis.refreshUserSwitch();\n\n\t\tfirstValueFrom(this.statusService.getOne('systemusageblock', EvasysLoadingStrategiesEnum.APIONLY)).then(\n\t\t\t(systemUsage) => {\n\t\t\t\tthis.activeSystemUser = systemUsage.value.users;\n\t\t\t\tthis.activeOnlineUser = systemUsage.value.onlinesurveys;\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic onUserSwitchOpenChange(isOpen: boolean) {\n\t\tif (!isOpen) {\n\t\t\tthis.multipleUsersModal.close();\n\t\t}\n\t}\n\n\tpublic onUserSwitchSubmit(userId: string) {\n\t\tthis.userChangeService.changeUser(userId);\n\t}\n\t//endregion\n\n\t//region Sidemenu-Events\n\n\tonPermanentlyOpenChange(open: boolean) {\n\t\tthis.menuService.openMenuPermanently(open);\n\t}\n\n\t//endregion\n\n\t//endregion\n\n\t//region methods\n\tprivate initLegalNotice() {\n\t\tthis.legalNoticeService.isScantronObservable = this.systemInfoService\n\t\t\t.get({\n\t\t\t\tloadingStrategy: EvasysLoadingStrategiesEnum.APIONLY,\n\t\t\t\tid: 'is_scantron',\n\t\t\t})\n\t\t\t.pipe(map((systemInfo) => systemInfo.value));\n\t}\n\n\tprivate getSystem() {\n\t\tthis.subscriptions.push(\n\t\t\tthis.systemInfoService\n\t\t\t\t.getOne('is_evaexam', EvasysLoadingStrategiesEnum.APIONLY)\n\t\t\t\t.subscribe((isExam) => (this.system = isExam?.value ? 'evaexam' : 'evasys'))\n\t\t);\n\t}\n\n\tprivate declareIsNotLoginPage(): void {\n\t\tthis.isNotLoginPage = this.router.events.pipe(\n\t\t\tfilter((event) => event instanceof NavigationEnd),\n\t\t\tmap((event: any) => {\n\t\t\t\treturn event.url !== '/';\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate handleSystemSwitch() {\n\t\tthis.subscriptions.push(\n\t\t\tthis.authService.hasValidToken().subscribe((hasValidToken) => {\n\t\t\t\tif (hasValidToken) {\n\t\t\t\t\tthis.productsObservable = this.productService.getAvailableProducts();\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate declareFooter() {\n\t\tthis.footerTextObservable = this.systemInfoService\n\t\t\t.getOne('copyright', EvasysLoadingStrategiesEnum.STATETHENAPI)\n\t\t\t.pipe(\n\t\t\t\tfilter((config) => !!config),\n\t\t\t\tmap((config) => config.value),\n\t\t\t\tmap((footer: EvasysFooterModel) => {\n\t\t\t\t\treturn footer.customer + footer.reseller + footer.version + ' - ' + footer.copyright;\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\tprivate loadMenus() {\n\t\tlet userRightPointer = null;\n\t\tthis.subscriptions.push(\n\t\t\tthis.user.subscribe((user) => {\n\t\t\t\tif (user && userRightPointer !== user.activeRight) {\n\t\t\t\t\tuserRightPointer = user.activeRight;\n\t\t\t\t\tthis.menuService.clearAll();\n\t\t\t\t\tif (user.level !== LevelEnum.DEAN_OF_STUDIES) {\n\t\t\t\t\t\tthis.menuService.loadMenus();\n\t\t\t\t\t}\n\t\t\t\t\tthis.refreshUserSwitch();\n\t\t\t\t\tthis.changeSystemUsageRights(user);\n\t\t\t\t} else if (!user) {\n\t\t\t\t\tuserRightPointer = null;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate changeSystemUsageRights(user: UserModelClass) {\n\t\tfirstValueFrom(\n\t\t\tthis.configService.getOneConfigObservable(\n\t\t\t\t'SESSIONLOGGING_SHOWQUICKINFO',\n\t\t\t\tEvasysLoadingStrategiesEnum.APIONLY\n\t\t\t)\n\t\t)\n\t\t\t.then((systemUsageSettingActivated) => {\n\t\t\t\tthis.showSystemUsage =\n\t\t\t\t\t[LevelEnum.ADMINISTRATOR, LevelEnum.SUBSECTION_ADMINISTRATOR].includes(user.level) &&\n\t\t\t\t\tsystemUsageSettingActivated;\n\t\t\t})\n\t\t\t.catch((err) => console.error('Failed to load configuration', err));\n\t}\n\n\tprivate setMenuItems(): void {\n\t\tthis.subscriptions.push(\n\t\t\tthis.menuService.getMenuItems().subscribe((menus: EvasysMenuModel[]) => {\n\t\t\t\tthis.topMenuitems = [];\n\t\t\t\tthis.menuItems = menus;\n\t\t\t\tmenus.forEach((menu) => {\n\t\t\t\t\tthis.addTopmenuItems(menu);\n\t\t\t\t});\n\t\t\t\tthis.changeActiveSideMenuItems('Headmenu_Subunits');\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate addTopmenuItems(menu: EvasysMenuModel): void {\n\t\tthis.topMenuitems.push({\n\t\t\ttitle: menu.title,\n\t\t\tid: menu.id,\n\t\t\thref: of(menu.link),\n\t\t\tisMultiPage: menu.link?.includes('TOKEN'),\n\t\t\tmark: menu.mark,\n\t\t} as Tabitem);\n\t}\n\n\tprivate changeActiveSideMenuItems(activeSubmenu: string): void {\n\t\tthis.sidemenuItems = this.menuItems\n\t\t\t.find((menu) => menu.id === activeSubmenu)\n\t\t\t?.submenus?.map(\n\t\t\t\t(submenu: SidemenuItemModel) =>\n\t\t\t\t\t({\n\t\t\t\t\t\tid: submenu.id,\n\t\t\t\t\t\ttitle: submenu.title,\n\t\t\t\t\t\tmenuitems: submenu.menuitems.map((item) => ({\n\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\ticon: item.icon,\n\t\t\t\t\t\t\troute: item.route,\n\t\t\t\t\t\t})),\n\t\t\t\t\t\ttooltip: submenu.tooltip,\n\t\t\t\t\t\tcanAccess: of(true),\n\t\t\t\t\t} as SidemenuItemModel)\n\t\t\t);\n\t}\n\n\tprivate loadOrganisationLogo() {\n\t\tfirstValueFrom(\n\t\t\t//stateonly beacause the login-resolver is still loading the infos from the api\n\t\t\tthis.systemInfoService.getManySystemInfos(\n\t\t\t\t['logo_key', 'logo_file', 'login_alt_text'],\n\t\t\t\tEvasysLoadingStrategiesEnum.STATEONLY\n\t\t\t)\n\t\t)\n\t\t\t.then((systemInfos) => {\n\t\t\t\tif (systemInfos.logo_key && systemInfos.logo_file) {\n\t\t\t\t\tthis.logo = '../' + systemInfos.logo_key + '/' + systemInfos.logo_file;\n\t\t\t\t}\n\t\t\t\tthis.logoAlt = systemInfos.login_alt_text;\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tconsole.error('Could not get the organization logo.');\n\t\t\t});\n\t}\n\n\tprivate refreshUserSwitch() {\n\t\tfirstValueFrom(this.user).then((authUser) => {\n\t\t\tthis.authUserService.getUserForSwitch(authUser.id).then((users) => {\n\t\t\t\tif (users?.length > 0) {\n\t\t\t\t\tthis.canSwitchUser = true;\n\t\t\t\t\tthis.userSwitchData = users;\n\t\t\t\t} else {\n\t\t\t\t\tthis.canSwitchUser = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t//endregion\n}\n","\n\n\n
\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\t\n\t\t\n\t
\n
\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class EvasysSharedFeatureConfiguration {\n\tmultiPageUrl: string;\n\tprodMode: boolean;\n\tbaseHref: string;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MultiPageLinkPipe } from './navigate/pipes/multi-page-link.pipe';\nimport { NavigateService } from './navigate/services/navigate.service';\nimport { EvasysSharedFeatureConfiguration } from './evasys-shared-feature.configuration';\nimport { TranslatePipe } from './transloco/pipes/translate.pipe';\nimport { AppShellComponent } from './app-shell/components/app-shell/app-shell.component';\nimport { SharedUiModule } from '@evasys/shared/ui';\nimport { SharedUtilModule } from '@evasys/shared/util';\nimport { TranslocoModule, TranslocoPipe } from '@ngneat/transloco';\nimport { ModalUpdateCheckComponent } from './update-check/modal-update-check/modal-update-check.component';\nimport { EvasysSharedCoreModule } from '@evasys/evasys/shared/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ResponseNotificationInterceptor } from './interceptors/response-notification.interceptor';\nimport { EvasysSharedUiModule } from '@evasys/evasys/shared/ui';\nimport { LoadingSpinnerComponent } from './loading-spinner/components/loading-spinner/loading-spinner.component';\nimport { PermissionsModule } from './permissions/permissions.module';\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tSharedUtilModule,\n\t\tSharedUiModule,\n\t\tTranslocoModule,\n\t\tEvasysSharedCoreModule,\n\t\tEvasysSharedUiModule,\n\t\tPermissionsModule,\n\t],\n\tdeclarations: [\n\t\tMultiPageLinkPipe,\n\t\tTranslatePipe,\n\t\tAppShellComponent,\n\t\tModalUpdateCheckComponent,\n\t\tLoadingSpinnerComponent,\n\t],\n\texports: [\n\t\tAppShellComponent,\n\t\tTranslatePipe,\n\t\tModalUpdateCheckComponent,\n\t\tLoadingSpinnerComponent,\n\t\tMultiPageLinkPipe,\n\t\tPermissionsModule,\n\t],\n\tproviders: [\n\t\tNavigateService,\n\t\tTranslocoPipe,\n\t\t{\n\t\t\tprovide: HTTP_INTERCEPTORS,\n\t\t\tuseClass: ResponseNotificationInterceptor,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class EvasysSharedFeatureModule {\n\tstatic forRoot(config: EvasysSharedFeatureConfiguration): ModuleWithProviders {\n\t\treturn {\n\t\t\tngModule: EvasysSharedFeatureModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: EvasysSharedFeatureConfiguration,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport {\n\tHttpErrorResponse,\n\tHttpEvent,\n\tHttpHandler,\n\tHttpInterceptor,\n\tHttpRequest,\n\tHttpResponse,\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { NotificationEnum } from '@evasys/globals/shared/enums/component/notification.enum';\nimport { NotificationService } from '@evasys/shared/core';\nimport { TranslocoService } from '@ngneat/transloco';\n\n@Injectable()\nexport class ResponseNotificationInterceptor implements HttpInterceptor {\n\tconstructor(\n\t\tprivate readonly notificationService: NotificationService,\n\t\tprivate readonly translocoService: TranslocoService\n\t) {}\n\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> {\n\t\treturn next.handle(request).pipe(\n\t\t\ttap((event) => {\n\t\t\t\tif (event instanceof HttpResponse && event?.body?.id !== 'S_DELETE_SUCCESSFUL') {\n\t\t\t\t\tthis.handleSuccessResponse(event);\n\t\t\t\t}\n\t\t\t}),\n\t\t\ttap({\n\t\t\t\terror: (error) => {\n\t\t\t\t\tif (error instanceof HttpErrorResponse) {\n\t\t\t\t\t\tif (error instanceof HttpErrorResponse) {\n\t\t\t\t\t\t\tthis.handleErrorResponse(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate handleSuccessResponse(response: HttpResponse) {\n\t\tif (response?.body?.id && response?.body?.severity && response?.body?.message) {\n\t\t\tthis.getMessage(response?.body, NotificationEnum.SUCCESS);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate handleErrorResponse(errorResponse: HttpErrorResponse) {\n\t\tthis.getMessage(errorResponse?.error, NotificationEnum.ERROR);\n\t}\n\n\t/**\n\t * @param response in case of error it is the response.error content, otherwise wordcloud-response.body\n\t * @param type\n\t * @private\n\t */\n\tprivate getMessage(response: any, type: NotificationEnum) {\n\t\ttry {\n\t\t\tif (response?.message !== undefined && response?.message !== '') {\n\t\t\t\tlet responseCode: string = '';\n\t\t\t\tlet translatedResponse = '';\n\n\t\t\t\tif (response.id) {\n\t\t\t\t\tresponseCode = response.id;\n\t\t\t\t\ttranslatedResponse = this.translocoService.translate(responseCode.toUpperCase());\n\n\t\t\t\t\tif (responseCode.toUpperCase() === translatedResponse && response.message) {\n\t\t\t\t\t\ttranslatedResponse = response.message;\n\t\t\t\t\t} else if (response.placeholder && Array.isArray(response.placeholder)) {\n\t\t\t\t\t\tresponse.placeholder.forEach((placeholder: string, index: string) => {\n\t\t\t\t\t\t\tlet translatedPlaceholder = this.translocoService.translate(placeholder.toUpperCase());\n\t\t\t\t\t\t\ttranslatedResponse = translatedResponse.replace(index, translatedPlaceholder);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttranslatedResponse = this.translocoService.translate('S_UNKNOWN_ERROR');\n\t\t\t\t\tresponseCode = 'responseUnknown';\n\t\t\t\t}\n\n\t\t\t\tif (translatedResponse !== '') {\n\t\t\t\t\tthis.notificationService.addNotification(type, translatedResponse, responseCode);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(this.translocoService.translate('S_UNKNOWN_ERROR'), ': responseUnknown');\n\t\t}\n\t}\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { GlobalService } from '@evasys/shared/core';\n\n@Component({\n\tselector: 'evasys-loading-spinner',\n\ttemplateUrl: './loading-spinner.component.html',\n\tstyleUrls: ['./loading-spinner.component.scss'],\n})\nexport class LoadingSpinnerComponent implements OnInit, OnDestroy {\n\t//#region Variables\n\tpublic loading: Observable;\n\tprivate subscriptions: Subscription[] = [];\n\n\t//#endregion Variables\n\n\tconstructor(private readonly globalService: GlobalService) {}\n\n\t//#region Events\n\tngOnInit(): void {\n\t\tthis.loading = this.globalService.isLoading();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\t//#endregion Events\n}\n","
\n","import { ChangeDetectorRef, Injector, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { NavigateService } from '../services/navigate.service';\n\n@Pipe({\n\tname: 'multiPageLink',\n})\nexport class MultiPageLinkPipe implements PipeTransform, OnDestroy {\n\tprivate asyncPipe: AsyncPipe;\n\n\tconstructor(private readonly injector: Injector, private readonly navigateService: NavigateService) {\n\t\tthis.asyncPipe = new AsyncPipe(injector.get(ChangeDetectorRef));\n\t}\n\n\tngOnDestroy() {\n\t\tthis.asyncPipe.ngOnDestroy();\n\t}\n\n\ttransform(value?: string): string | null {\n\t\treturn this.asyncPipe.transform(this.navigateService.transformUrlObservable(value ?? ''));\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { Router } from '@angular/router';\nimport { LevelEnum } from '@evasys/globals/shared/enums/business/level.enum';\nimport { AuthService } from '@evasys/shared/core';\nimport { map } from 'rxjs/operators';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { EvasysSharedFeatureConfiguration } from '../../evasys-shared-feature.configuration';\nimport { EvasysTokenModel } from '@evasys/globals/shared/models/general/evasys-token.model';\nimport { KeyValue, Location } from '@angular/common';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class NavigateService {\n\tprivate CSRF_ID = 'TOKEN=';\n\n\tconstructor(\n\t\tprivate readonly router: Router,\n\t\tprivate readonly authService: AuthService,\n\t\tprivate readonly evasysSharedFeatureConfiguration: EvasysSharedFeatureConfiguration,\n\t\tprivate readonly location: Location\n\t) {}\n\n\tpublic navigateTo(url: string, addToken: boolean = true): Promise {\n\t\treturn firstValueFrom(this.transformUrlObservable(url, addToken)).then((transformedUrl) => {\n\t\t\twindow.location.href = transformedUrl;\n\t\t});\n\t}\n\n\tpublic navigateBack() {\n\t\tthis.location.back();\n\t}\n\n\tpublic transformUrlObservable(url: string, addToken: boolean = true): Observable {\n\t\treturn this.authService.token.pipe(\n\t\t\tmap((token) => {\n\t\t\t\tconst target = this.targetURL(url);\n\t\t\t\treturn addToken ? this.addToken(target, token) : target;\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate targetURL(url: string) {\n\t\tconst multiPageUrl = this.evasysSharedFeatureConfiguration.multiPageUrl;\n\t\tconst startSlash = !url.startsWith('/') && !multiPageUrl.endsWith('/') ? '/' : '';\n\t\treturn multiPageUrl + startSlash + url;\n\t}\n\n\tprivate addToken(url: string, token: EvasysTokenModel) {\n\t\tconst separator = url.includes('?') ? '&' : '?';\n\t\tconst csrf = token?.csrf;\n\t\treturn url + separator + this.CSRF_ID + csrf;\n\t}\n\n\t/**\n\t * navigate user to start page\n\t *\n\t * @param right\n\t * @param level\n\t */\n\tpublic async navigateWithUserRightAndLevel(\n\t\tright: UserRightsEnum,\n\t\tlevel: LevelEnum,\n\t\turlParams?: KeyValue[]\n\t) {\n\t\tconst urlParamsString = urlParams.reduce((urlParamsString, param) => {\n\t\t\tconst addChar = urlParamsString.length === 0 ? '' : '&';\n\t\t\treturn urlParamsString + addChar + param.key + '=' + param.value;\n\t\t}, '');\n\t\tif (!this.navigateWithUserRights(right, urlParamsString)) {\n\t\t\tthis.navigateWithUserLevel(level, urlParamsString);\n\t\t}\n\t}\n\n\tprivate navigateWithUserLevel(userLevel: LevelEnum, urlParamsString: string) {\n\t\tswitch (userLevel) {\n\t\t\tcase LevelEnum.INSTRUCTOR:\n\t\t\t\tthis.navigateTo(\n\t\t\t\t\t'public/userAccess/switchUserAccess/handleAccess?desiredRole=' +\n\t\t\t\t\t\tLevelEnum.INSTRUCTOR +\n\t\t\t\t\t\t'&' +\n\t\t\t\t\t\turlParamsString\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase LevelEnum.DEAN_OF_STUDIES:\n\t\t\t\tthis.navigateTo(\n\t\t\t\t\t'public/userAccess/switchUserAccess/handleAccess?desiredRole=' +\n\t\t\t\t\t\tLevelEnum.DEAN_OF_STUDIES +\n\t\t\t\t\t\t'&' +\n\t\t\t\t\t\turlParamsString\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase LevelEnum.DEAN:\n\t\t\t\tthis.navigateTo(\n\t\t\t\t\t'public/userAccess/switchUserAccess/handleAccess?desiredRole=' +\n\t\t\t\t\t\tLevelEnum.DEAN +\n\t\t\t\t\t\t'&' +\n\t\t\t\t\t\turlParamsString\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate navigateWithUserRights(userRight: UserRightsEnum, urlParamsString: string) {\n\t\tswitch (userRight) {\n\t\t\tcase UserRightsEnum.ADMINISTRATOR:\n\t\t\tcase UserRightsEnum.SUBSECTION_ADMINISTRATOR:\n\t\t\t\tthis.router.navigate(['subunits']);\n\t\t\t\tbreak;\n\t\t\tcase UserRightsEnum.REPORT_CREATOR:\n\t\t\t\tthis.navigateTo(\n\t\t\t\t\t'public/userAccess/switchUserAccess/handleAccess?desiredRole=' +\n\t\t\t\t\t\tLevelEnum.REPORT_CREATOR +\n\t\t\t\t\t\t'&' +\n\t\t\t\t\t\turlParamsString\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase UserRightsEnum.WEB_VERIFIER:\n\t\t\t\tthis.navigateTo(\n\t\t\t\t\t'public/userAccess/switchUserAccess/handleAccess?desiredRole=' +\n\t\t\t\t\t\tLevelEnum.WEB_VERIFIER +\n\t\t\t\t\t\t'&' +\n\t\t\t\t\t\turlParamsString\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase UserRightsEnum.DATA_COLLECTOR:\n\t\t\t\tthis.navigateTo(\n\t\t\t\t\t'public/userAccess/switchUserAccess/handleAccess?desiredRole=' +\n\t\t\t\t\t\tLevelEnum.DATA_COLLECTOR +\n\t\t\t\t\t\t'&' +\n\t\t\t\t\t\turlParamsString\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase UserRightsEnum.INSTRUCTOR:\n\t\t\t\tthis.navigateTo(\n\t\t\t\t\t'public/userAccess/switchUserAccess/handleAccess?desiredRole=' +\n\t\t\t\t\t\tLevelEnum.INSTRUCTOR +\n\t\t\t\t\t\t'&' +\n\t\t\t\t\t\turlParamsString\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase UserRightsEnum.DEAN_OF_STUDIES:\n\t\t\t\tthis.navigateTo(\n\t\t\t\t\t'public/userAccess/switchUserAccess/handleAccess?desiredRole=' +\n\t\t\t\t\t\tLevelEnum.DEAN_OF_STUDIES +\n\t\t\t\t\t\t'&' +\n\t\t\t\t\t\turlParamsString\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase UserRightsEnum.DEAN:\n\t\t\t\tthis.navigateTo(\n\t\t\t\t\t'public/userAccess/switchUserAccess/handleAccess?desiredRole=' +\n\t\t\t\t\t\tLevelEnum.DEAN +\n\t\t\t\t\t\t'&' +\n\t\t\t\t\t\turlParamsString\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic navigateToStartPage() {\n\t\tfirstValueFrom(this.authService.getCompleteStartPage())\n\t\t\t.then(async (startPage) => {\n\t\t\t\t//On new world: We want to user angular routing navigation\n\t\t\t\tif (startPage.includes('/ui/')) {\n\t\t\t\t\tfirstValueFrom(this.authService.getStartPage())\n\t\t\t\t\t\t.then((startPage) => {\n\t\t\t\t\t\t\tconst route = [startPage.split('/ui/')[1] ?? ''];\n\t\t\t\t\t\t\tif (this.router.url === '/' + route.join('/')) {\n\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.router.navigate(route);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => console.error('Can not navigate to start page (ui): ', err));\n\t\t\t\t} else {\n\t\t\t\t\tthis.navigateTo(startPage, false);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => console.error('Can not navigate to start page: ', err));\n\t}\n\n\tpublic navigateToExternWebsite(url: string) {\n\t\twindow.location.href = url;\n\t}\n}\n","import { ChangeDetectorRef, Injector, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { AuthUserService } from '@evasys/shared/core';\nimport { AsyncPipe } from '@angular/common';\nimport { map } from 'rxjs/operators';\n\n@Pipe({\n\tname: 'permission',\n\tpure: false,\n})\nexport class PermissionPipe implements PipeTransform, OnDestroy {\n\tprivate asyncPipe: AsyncPipe;\n\n\tconstructor(private userService: AuthUserService, private injector: Injector) {\n\t\tthis.asyncPipe = new AsyncPipe(injector.get(ChangeDetectorRef));\n\t}\n\n\tngOnDestroy() {\n\t\tthis.asyncPipe.ngOnDestroy();\n\t}\n\n\t/**\n\t * checks the permission of the current user and only returns the string value again\n\t * when at least one of the given permissions match\n\t *\n\t * @param value\n\t * @param userRights\n\t */\n\ttransform(value: string | boolean, userRights: UserRightsEnum[]): string | undefined {\n\t\treturn this.asyncPipe.transform(\n\t\t\tthis.userService.authenticatedUserObservable.pipe(\n\t\t\t\tmap((user) => {\n\t\t\t\t\tlet pipedValue = undefined;\n\n\t\t\t\t\tuserRights.forEach((userRight) => {\n\t\t\t\t\t\tif (userRight === user?.activeRight) {\n\t\t\t\t\t\t\tpipedValue = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\treturn pipedValue;\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\t}\n}\n","import { Directive, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { AuthUserService, UserModelClass } from '@evasys/shared/core';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n\tselector: '[evasysPermission]',\n})\nexport class PermissionDirective implements OnInit, OnDestroy {\n\t//region Input & Output\n\t@Input()\n\tevasysPermission?: UserRightsEnum[];\n\t//endregion\n\n\t//region Variables\n\tprivate currentUser?: UserModelClass;\n\tprivate subscriptions: Subscription[] = [];\n\t//endregion\n\n\t//region constructor\n\tconstructor(\n\t\tprivate readonly authUserService: AuthUserService,\n\t\tprivate templateRef: TemplateRef,\n\t\tprivate viewContainer: ViewContainerRef\n\t) {}\n\t//endregion\n\n\t//region Events\n\tngOnInit() {\n\t\tthis.subscriptions.push(\n\t\t\tthis.authUserService.authenticatedUserObservable.subscribe((user) => {\n\t\t\t\tthis.currentUser = user;\n\t\t\t\tthis.updateView();\n\t\t\t})\n\t\t);\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\t//endregion\n\n\t//region Methods\n\tprivate updateView() {\n\t\tif (this.checkPermission()) {\n\t\t\tif (!this.viewContainer.get(0)) {\n\t\t\t\tthis.viewContainer.createEmbeddedView(this.templateRef);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.viewContainer.clear();\n\t\t}\n\t}\n\n\tprivate checkPermission(): boolean {\n\t\tif (this.currentUser?.activeRight) {\n\t\t\tfor (const checkPermission of this.evasysPermission) {\n\t\t\t\tif (this.currentUser.activeRight === checkPermission) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\t//endregion\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PermissionPipe } from './Pipes/permission.pipe';\nimport { PermissionDirective } from './directives/permission.directive';\n\n@NgModule({\n\tdeclarations: [PermissionPipe, PermissionDirective],\n\texports: [PermissionPipe, PermissionDirective],\n\timports: [CommonModule],\n})\nexport class PermissionsModule {}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NavigateService } from '../navigate/services/navigate.service';\nimport { firstValueFrom } from 'rxjs';\nimport { NotificationEnumMap } from '@evasys/globals/shared/enums/component/notification.enum';\nimport { AuthService, NotificationService } from '@evasys/shared/core';\nimport { HttpErrorResponse } from '@angular/common/http';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class UserChangeService {\n\tpublic constructor(\n\t\tprivate readonly router: Router,\n\t\tprivate readonly navigateService: NavigateService,\n\t\tprivate readonly authService: AuthService,\n\t\tprivate readonly notificationService: NotificationService\n\t) {}\n\n\tpublic async changeUser(id: string): Promise {\n\t\ttry {\n\t\t\tawait this.authService.logout();\n\t\t\tconst authenticated = await this.authService.login({\n\t\t\t\t// we need to pass some random credentials to be accepted by the backend\n\t\t\t\t// (these are not used, only the externalId is used for authentication)\n\t\t\t\tusername: 'kF3as7i4fGd$43apW',\n\t\t\t\tpassword: 'hSDG3aJFao4kl3GDRhs63rSFG',\n\t\t\t\tuserId: id,\n\t\t\t});\n\t\t\tif (authenticated) {\n\t\t\t\tthis.showLoginMessages();\n\t\t\t\tthis.navigateService.navigateToStartPage();\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Change the user failed: ', error);\n\t\t\tif (error instanceof HttpErrorResponse && error.error) {\n\t\t\t\tawait this.router.navigate(['']);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate showLoginMessages() {\n\t\tfirstValueFrom(this.authService.getLoginMessages())\n\t\t\t.then((notifications) => {\n\t\t\t\tnotifications?.forEach((notification) => {\n\t\t\t\t\tthis.notificationService.addNotification(\n\t\t\t\t\t\tNotificationEnumMap[notification.severity],\n\t\t\t\t\t\tnotification.message,\n\t\t\t\t\t\tnotification.id,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tnotification.action\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => console.error('show login messages failed: ', err));\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\nimport { SystemInfoService } from '@evasys/evasys/shared/core';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { NavigateService } from '../../navigate/services/navigate.service';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class SystemActivationGuard {\n\tconstructor(\n\t\tprivate readonly systemInfoService: SystemInfoService,\n\t\tprivate readonly navigationService: NavigateService\n\t) {}\n\n\tcanActivate(_route: ActivatedRouteSnapshot, _state: RouterStateSnapshot): Promise | UrlTree {\n\t\treturn firstValueFrom(\n\t\t\tthis.systemInfoService.getOne('is_system_deactivated', EvasysLoadingStrategiesEnum.STATEFALLBACKAPI)\n\t\t)\n\t\t\t.then((info) => {\n\t\t\t\tif (info.value as boolean) {\n\t\t\t\t\tthis.navigationService.navigateTo('oadmin.php?mode=einst_config2file');\n\t\t\t\t}\n\t\t\t\treturn !info.value;\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.error('Can not get system deactivation info: ', err);\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { HashMap, TranslocoPipe } from '@ngneat/transloco';\n\n@Pipe({\n\tname: 'translate',\n})\nexport class TranslatePipe implements PipeTransform {\n\tpublic constructor(private translocoPipe: TranslocoPipe) {}\n\n\tpublic transform(key: string, params?: HashMap, inlineLang?: string): string;\n\tpublic transform(map: Map, params?: HashMap, inlineLang?: string): Map;\n\tpublic transform(keyOrMap: KeyOrMap, params?: HashMap, inlineLang?: string): KeyOrMap {\n\t\tif (keyOrMap instanceof Map) {\n\t\t\tconst map = new Map(keyOrMap);\n\t\t\tmap.forEach((value, key) => {\n\t\t\t\tmap.set(key, this.translocoPipe.transform(value, params, inlineLang));\n\t\t\t});\n\t\t\treturn map;\n\t\t}\n\n\t\treturn this.translocoPipe.transform(keyOrMap, params, inlineLang);\n\t}\n}\n\ntype KeyOrMap = string | Map;\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { StatusService } from '@evasys/evasys/shared/core';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { EvasysStatusModel } from '@evasys/globals/evasys/models/general/evasys-status.model';\nimport { Subscription } from 'rxjs';\n\n@Component({\n\tselector: 'evasys-modal-update-check',\n\ttemplateUrl: './modal-update-check.component.html',\n})\nexport class ModalUpdateCheckComponent implements OnInit, OnDestroy {\n\t// region variables\n\tpublic updateCheckResponse?: EvasysStatusModel;\n\tpublic modalOpen = false;\n\tprivate subscriptions: Subscription[] = [];\n\n\t// endregion\n\n\tconstructor(private readonly statusService: StatusService) {}\n\n\t// region events\n\tngOnInit(): void {\n\t\tthis.subscriptions.push(\n\t\t\tthis.statusService\n\t\t\t\t.get({\n\t\t\t\t\tid: 'UpdateCheckResponse',\n\t\t\t\t\tloadingStrategy: EvasysLoadingStrategiesEnum.STATEONLY,\n\t\t\t\t})\n\t\t\t\t.subscribe({\n\t\t\t\t\tnext: (response) => {\n\t\t\t\t\t\tthis.updateCheckResponse = response;\n\t\t\t\t\t\tif (response && this.updateCheckResponse?.value?.message) {\n\t\t\t\t\t\t\tthis.modalOpen = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\terror: (error) => {\n\t\t\t\t\t\tconsole.error('Can not show the modal for the update check: Request failed');\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t);\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tpublic onClose(opened: boolean) {\n\t\tif (!opened) {\n\t\t\tthis.modalOpen = false;\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tpublic onAccept() {\n\t\tthis.modalOpen = false;\n\t\tthis.close();\n\t}\n\n\t// endregion\n\n\t// region methods\n\tprivate close() {\n\t\tnew Promise((resolve) => setTimeout(resolve, 300)).then(() =>\n\t\t\tthis.statusService.deleteOneStatus('UpdateCheckResponse')\n\t\t);\n\t}\n\n\t// endregion\n}\n","\n\t\n\t

\n\t
\n\t\t{{\n\t\t\t'S_BUTTON_ACCEPT' | transloco\n\t\t}}\n\t
\n\n","export * from './lib/evasys-shared-ui.module';\nexport * from './lib/components/modal-confirm/component/modal-confirm.component';\nexport * from './lib/components/modal-multiple-users/modal-multiple-users.component';\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { ModalComponent } from '@evasys/shared/ui';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\n\n@Component({\n\tselector: 'evasys-modal-confirm',\n\ttemplateUrl: './modal-confirm.component.html',\n})\nexport class ModalConfirmComponent {\n\t@ViewChild('modal')\n\tpublic modal!: ModalComponent;\n\n\t@Input()\n\t@Required()\n\tpublic id!: string;\n\n\t@Output()\n\tpublic accept = new EventEmitter();\n\n\t@Output()\n\tpublic reject = new EventEmitter();\n\n\tpublic readonly designs = ButtonDesignEnum;\n\n\tpublic confirm(): void {\n\t\tthis.modal.open();\n\t}\n}\n","\n\t\n\t
\n\t\t\n\t\t\t{{ 'S_BUTTON_OK' | transloco }}\n\t\t\n\t\t\n\t\t\t{{ 'S_BUTTON_CANCEL' | transloco }}\n\t\t\n\t
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalConfirmComponent } from './component/modal-confirm.component';\nimport { ButtonModule } from '../../../../../../../shared/ui/src/lib/components/static-components/button/button.module';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { ModalModule } from '../../../../../../../shared/ui/src/lib/components/dynamic-components/modal/modal.module';\n\n@NgModule({\n\tdeclarations: [ModalConfirmComponent],\n\timports: [CommonModule, ButtonModule, TranslocoModule, ModalModule],\n\texports: [ModalConfirmComponent],\n})\nexport class ModalConfirmModule {}\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { ExternalIdUserModel } from '@evasys/globals/evasys/models/business/external-id-user.model';\nimport { sortBy } from 'lodash';\n\n@Component({\n\tselector: 'evasys-modal-multiple-users',\n\ttemplateUrl: './modal-multiple-users.component.html',\n})\nexport class ModalMultipleUsersComponent {\n\t//region Input & Output\n\n\t@Output()\n\topenChange: EventEmitter = new EventEmitter();\n\n\t@Output()\n\tsubmitChange: EventEmitter = new EventEmitter();\n\n\t//endregion\n\n\t//region Variables\n\tpublic name?: string;\n\tpublic externalIdUsers?: ExternalIdUserModel[];\n\n\tpublic opened = false;\n\t//endregion\n\n\t//region Events\n\n\tonSubmit(id: string) {\n\t\tthis.close();\n\t\tthis.submitChange.emit(id);\n\t}\n\n\t//endregion\n\n\t//region Methods\n\n\tpublic close(): Promise {\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.opened = false;\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.name = null;\n\t\t\t\tthis.externalIdUsers = null;\n\n\t\t\t\tresolve();\n\t\t\t}, 100);\n\t\t});\n\t}\n\n\tpublic open(externalIdUsers: ExternalIdUserModel[]) {\n\t\tthis.name = externalIdUsers[0].fullName;\n\t\tlet userList: ExternalIdUserModel[] = sortBy(externalIdUsers, ['subunitName', 'orderId'], ['asc', 'asc']);\n\t\tuserList = userList.reduce((list: ExternalIdUserModel[], user: ExternalIdUserModel) => {\n\t\t\t// orderId 0 is Administrator\n\t\t\tif (user.orderId === 0) {\n\t\t\t\treturn [user, ...list];\n\t\t\t} else {\n\t\t\t\treturn [...list, user];\n\t\t\t}\n\t\t}, []);\n\n\t\tthis.externalIdUsers = userList;\n\t\tthis.opened = true;\n\t}\n}\n","\n\t \n\t
\n\t\t

{{ 'S_USERSELECTIONSCREEN_TITLE' | transloco }}

\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ 's_teilbereich' | transloco }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ 'S_SYSTEMUSAGE_USERLEVEL' | transloco }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedUiModule } from '@evasys/shared/ui';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { SharedUtilModule } from '@evasys/shared/util';\nimport { ModalMultipleUsersComponent } from './components/modal-multiple-users/modal-multiple-users.component';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { ModalConfirmModule } from './components/modal-confirm/modal-confirm.module';\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tNgbModule,\n\t\tReactiveFormsModule,\n\t\tRouterModule,\n\t\tSharedUtilModule,\n\t\tSharedUiModule,\n\t\tTranslocoModule,\n\t\tModalConfirmModule,\n\t],\n\tdeclarations: [ModalMultipleUsersComponent],\n\texports: [ModalConfirmModule, ModalMultipleUsersComponent],\n})\nexport class EvasysSharedUiModule {}\n","export * from './lib/evasys-shared-util.module';\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateLevelPipe } from './pipes/translate-level.pipe';\nimport { TranslateRolesPipe } from './pipes/translate-roles.pipe';\nimport { SharedUtilModule } from '@evasys/shared/util';\n\n@NgModule({\n\timports: [CommonModule, SharedUtilModule],\n\tdeclarations: [TranslateLevelPipe, TranslateRolesPipe],\n\texports: [TranslateLevelPipe, TranslateRolesPipe],\n})\nexport class EvasysSharedUtilModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LevelEnum } from '@evasys/globals/shared/enums/business/level.enum';\nimport { SystemInfoService, TranslateService } from '@evasys/evasys/shared/core';\nimport { map, Observable } from 'rxjs';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\n\n@Pipe({\n\tname: 'translateLevel',\n})\nexport class TranslateLevelPipe implements PipeTransform {\n\tprivate readonly levelToLangKeyMap: Map = new Map([\n\t\t[LevelEnum.DEAN, 'S_USER_DEAN'],\n\t\t[LevelEnum.ADMINISTRATOR, 'S_ADMINISTRATOR'],\n\t\t[LevelEnum.DEAN_OF_STUDIES, 'S_USER_DEANOFSTUDY'],\n\t\t[LevelEnum.DATA_COLLECTOR, 'S_USER_DATAENTRYASSISTANT'],\n\t\t[LevelEnum.SERIES_PRINT, 'S_MERGE_PRINT'],\n\t\t[LevelEnum.REPORT_CREATOR, 'S_USER_REPORTCREATOR'],\n\t\t[LevelEnum.WEB_VERIFIER, 'S_NUTZER_VERIFICATOR'],\n\t\t[LevelEnum.REPORTING_MASK, 'S_REPORT_MASK'],\n\t\t[LevelEnum.SUBSECTION_ADMINISTRATOR, 'S_NUTZER_SUBUNITADMIN'],\n\t\t[LevelEnum.MODUL, 'S_MODULE'],\n\t\t[LevelEnum.SOAP, 'S_SOAP_USER'],\n\t\t[LevelEnum.ARCHIVED, 'S_ARCHIVE'],\n\t]);\n\n\tpublic constructor(\n\t\tprivate readonly translateService: TranslateService,\n\t\tprivate readonly systemInfoService: SystemInfoService\n\t) {}\n\n\ttransform(value: LevelEnum): Observable {\n\t\treturn this.systemInfoService.getOne('is_evaexam', EvasysLoadingStrategiesEnum.STATEFALLBACKAPI).pipe(\n\t\t\tmap((systemInfo) => {\n\t\t\t\tconst evaexam = systemInfo?.value;\n\n\t\t\t\tlet langKey = this.levelToLangKeyMap.get(value);\n\n\t\t\t\tif (!langKey && value === LevelEnum.INSTRUCTOR) {\n\t\t\t\t\tlangKey = evaexam ? 'S_USER_EXAMINER' : 'S_USER_INSTRUCTOR';\n\t\t\t\t}\n\n\t\t\t\treturn langKey ? this.translateService.translate(langKey) : null;\n\t\t\t})\n\t\t);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserRightsEnum, UserRightDesignation } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { TranslateService } from '@evasys/evasys/shared/core';\n\n@Pipe({\n\tname: 'translateRoles',\n})\nexport class TranslateRolesPipe implements PipeTransform {\n\tpublic constructor(private readonly translateService: TranslateService) {}\n\n\tpublic transform(roleBitmap: number, filter: UserRightsEnum[] = []): string[] {\n\t\tlet userRoles: UserRightsEnum[];\n\t\tif (filter.length) {\n\t\t\tuserRoles = filter;\n\t\t} else {\n\t\t\tuserRoles = Object.keys(UserRightDesignation).map((role) => parseInt(role));\n\t\t}\n\n\t\tconst roleStrings: string[] = [];\n\t\tfor (const role of userRoles) {\n\t\t\tif (TranslateRolesPipe.roleInBitmap(roleBitmap, role)) {\n\t\t\t\tconst langKey = UserRightDesignation[role];\n\t\t\t\tif (langKey) {\n\t\t\t\t\troleStrings.push(this.translateService.translate(langKey));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn roleStrings;\n\t}\n\n\tprivate static roleInBitmap(bitmap: number, role: UserRightsEnum): boolean {\n\t\treturn (bitmap & role) !== 0;\n\t}\n}\n","export * from './lib/shared-core.module';\n\nexport * from './lib/services/auth.service';\nexport * from './lib/services/config.service';\nexport * from './lib/services/translate.service';\nexport * from './lib/services/auth-user.service';\nexport * from './lib/services/notification.service';\nexport * from './lib/services/global.service';\nexport * from './lib/services/url.service';\n\nexport * from './lib/model-classes/user-model.class';\n\nexport * from './lib/essential/api/services/api.service';\nexport * from './lib/essential/api/helper/request-id';\nexport * from './lib/essential/redux/selectors/evasys.selectors';\nexport * from './lib/essential/redux/states/evasys.state';\nexport * from './lib/essential/redux/adapter/evasys-entity.adapter';\nexport * from './lib/essential/redux/effects/evasys.effects';\nexport * from './lib/essential/redux/actions/evasys-actions.factory';\nexport * from './lib/essential/redux/reducers/evasys-reducer-case.factory';\nexport * from './lib/essential/redux/services/facade.service';\n\nexport * from './lib/shared-core.configuration';\n","import { EvasysActionsFactory } from '../essential/redux/actions/evasys-actions.factory';\nimport { EvasysUserModel } from '@evasys/globals/shared/models/general/evasys-user.model';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { ExternalIdUserModel } from '@evasys/globals/evasys/models/business/external-id-user.model';\n\nconst actionsFactory = new EvasysActionsFactory('AUTHUSER');\n\nexport const { LoadActionSet } = actionsFactory.createActions();\n\nexport const AuthenticateUserActionSet = actionsFactory.createCustomActionSet(\n\t'AuthenticateUser'\n);\n\nexport const UnauthenticateUserActionSet = actionsFactory.createCustomActionSet('UnauthenticateUser');\n\nexport const ChangeActiveRoleActionSet = actionsFactory.createCustomActionSet<\n\t{ id: number; activeRole: UserRightsEnum },\n\tEvasysUserModel\n>('ChangeActiveUserRight', false);\n\nexport const GetUserSwitchDataActionSet = actionsFactory.createCustomActionSet(\n\t'GetUserSwitchData'\n);\n","import { EvasysActionsFactory } from '../essential/redux/actions/evasys-actions.factory';\nimport { EvasysTokenModel } from '@evasys/globals/shared/models/general/evasys-token.model';\nimport { LoginModel } from '@evasys/globals/evasys/models/business/login.model';\nimport { EvasysRevocationRequestModel } from '@evasys/globals/shared/models/general/evasys-revocation-request.model';\n\nconst actionsFactory = new EvasysActionsFactory('AUTH');\n\nexport const { LoadOneActionSet, ClearActionSet, LoadActionSet } = actionsFactory.createActions();\n\nexport const LoginActionSet = actionsFactory.createCustomActionSet('Login');\nexport const LogoutActionSet = actionsFactory.createCustomActionSet('Logout');\nexport const RefreshActionSet = actionsFactory.createCustomActionSet('Refresh');\n","import { EvasysActionsFactory } from '../essential/redux/actions/evasys-actions.factory';\nimport { ConfigModel } from '@evasys/globals/evasys/models/business/config.model';\nimport { EvasysCollectionModel } from '@evasys/globals/shared/models/general/evasys-collection.model';\n\nconst actionsFactory = new EvasysActionsFactory('CONFIG');\n\nexport const { LoadPageActionSet, LoadManyActionSet, EditOneActionSet, LoadActionSet } = actionsFactory.createActions();\n\nexport const LoadOneWithConfigName = actionsFactory.createCustomActionSet>(\n\t'LoadOneWithConfigName'\n);\n","import { EvasysActionsFactory } from '../essential/redux/actions/evasys-actions.factory';\n\nconst actionsFactory = new EvasysActionsFactory('GLOBAL');\n\nexport const ClearActionSet = actionsFactory.createCustomActionSet('Clear', false);\n","import * as fromTranslate from './translate.actions';\nimport * as fromConfigs from './config.actions';\nimport * as fromAuth from './auth.actions';\nimport * as fromNotifications from './notification.actions';\nimport * as fromAuthUser from './auth-user.actions';\nimport * as fromGlobal from './global.actions';\n\nexport const sharedActions = {\n\tfromTranslate,\n\tfromConfigs,\n\tfromAuth,\n\tfromAuthUser,\n\tfromGlobal,\n\tfromNotifications,\n};\n","import { EvasysActionsFactory } from '../essential/redux/actions/evasys-actions.factory';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\nimport { Update } from '@ngrx/entity';\n\nconst actionsFactory = new EvasysActionsFactory('NOTIFICATION');\n\nexport const { ClearActionSet, LoadActionSet } = actionsFactory.createActions();\n\nexport const CreateOneActionSet = actionsFactory.createCustomActionSet(\n\t'createOne',\n\tfalse\n);\nexport const CreateManyActionSet = actionsFactory.createCustomActionSet(\n\t'createMany',\n\tfalse\n);\nexport const DeleteOneActionSet = actionsFactory.createCustomActionSet('deleteOne', false);\nexport const UpdateOneActionSet = actionsFactory.createCustomActionSet, void>(\n\t'updateOne',\n\tfalse\n);\n","import { EvasysActionsFactory } from '../essential/redux/actions/evasys-actions.factory';\nimport { EvasysTranslationModel } from '@evasys/globals/evasys/models/general/evasys-translation.model';\nimport { EvasysCollectionModel } from '@evasys/globals/shared/models/general/evasys-collection.model';\n\nconst actionsFactory = new EvasysActionsFactory('TRANSLATE');\nexport const { ClearActionSet, LoadActionSet } = actionsFactory.createActions();\n\nexport const LoadTranslationSet = actionsFactory.createCustomActionSet<\n\t{ language: string; prefix: string[]; page: number },\n\tEvasysCollectionModel\n>('LoadTranslation');\n","import { Injectable } from '@angular/core';\nimport { Actions } from '@ngrx/effects';\nimport { EvasysEffects } from '../essential/redux/effects/evasys.effects';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\nimport { sharedActions } from '../actions/index';\nimport { SharedCoreConfiguration } from '../shared-core.configuration';\nimport { EvasysUserModel } from '@evasys/globals/shared/models/general/evasys-user.model';\nimport { ApiService } from '../essential/api/services/api.service';\nimport { ExternalIdUserModel } from '@evasys/globals/evasys/models/business/external-id-user.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class AuthUserEffects extends EvasysEffects {\n\tprivate API_PATH = this.sharedCoreConfiguration.api.user;\n\n\tconstructor(\n\t\tprotected override actions$: Actions,\n\t\tprotected readonly apiService: ApiService,\n\t\tpublic readonly sharedCoreConfiguration: SharedCoreConfiguration\n\t) {\n\t\tsuper(sharedActions.fromAuthUser, sharedCoreConfiguration.api.user, actions$);\n\t}\n\n\tauthenticateUser$ = this.createEffect(\n\t\tsharedActions.fromAuthUser.AuthenticateUserActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH + '/' + action.payload,\n\t\t\t\tmany: false,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tswitchUser$ = this.createEffect(\n\t\tsharedActions.fromAuthUser.GetUserSwitchDataActionSet,\n\t\t() =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH,\n\t\t\t\tmany: true,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t\tparams: [['action', 'loginSwitchUser']],\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tprotected mapToFrontend = (data: any) => this.sharedCoreConfiguration.userMap(data);\n\n\tprotected mapToBackend(user: EvasysUserModel): any {\n\t\treturn {\n\t\t\t...user,\n\t\t};\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { EvasysEffects } from '../essential/redux/effects/evasys.effects';\nimport { Actions } from '@ngrx/effects';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { sharedActions } from '../actions/index';\nimport { EvasysGrantEnum } from '@evasys/globals/shared/enums/general/evasys-grant.enum';\nimport { EvasysTokenModel } from '@evasys/globals/shared/models/general/evasys-token.model';\nimport { SharedCoreConfiguration } from '../shared-core.configuration';\nimport { ApiService } from '../essential/api/services/api.service';\n\n@Injectable()\nexport class AuthEffects extends EvasysEffects {\n\tprivate API_PATH = this.sharedCoreConfiguration.api.auth;\n\n\tconstructor(\n\t\tprotected override actions$: Actions,\n\t\tprotected readonly apiService: ApiService,\n\t\tprivate readonly sharedCoreConfiguration: SharedCoreConfiguration\n\t) {\n\t\tsuper(sharedActions.fromAuth, sharedCoreConfiguration.api.auth, actions$);\n\t}\n\n\tlogin$ = this.createEffect(sharedActions.fromAuth.LoginActionSet, (action) => {\n\t\tconst clientSecret = this.sharedCoreConfiguration.auth.clientSecret;\n\n\t\treturn {\n\t\t\tapiPath: this.API_PATH,\n\t\t\tmany: false,\n\t\t\trequestMethod: EvasysRequestMethodEnum.POST,\n\t\t\tbody: {\n\t\t\t\tusername: action.payload.sso ? ' ' : action.payload.username,\n\t\t\t\tpassword: action.payload.sso ? ' ' : action.payload.password,\n\t\t\t\tgrant_type: EvasysGrantEnum.PASSWORD,\n\t\t\t\tclient_id: this.sharedCoreConfiguration.auth.clientId,\n\t\t\t\t...(clientSecret != null && { client_secret: clientSecret }),\n\t\t\t\tchosenUserId: action.payload.userId,\n\t\t\t\tcaptchaResetKey: action.payload.captchaResetKey,\n\t\t\t\tcaptchaInputString: action.payload.captchaInputString,\n\t\t\t\tforwardinfo: action.payload.sso,\n\t\t\t\tsession: action.payload.sso,\n\t\t\t\ttenant_subdomain: action.payload.tenantSubdomain,\n\t\t\t},\n\t\t};\n\t});\n\n\trefresh$ = this.createEffect(sharedActions.fromAuth.RefreshActionSet, (action) => {\n\t\tconst clientSecret = this.sharedCoreConfiguration.auth.clientSecret;\n\n\t\treturn {\n\t\t\tapiPath: this.API_PATH,\n\t\t\tmany: false,\n\t\t\trequestMethod: EvasysRequestMethodEnum.POST,\n\t\t\tbody: {\n\t\t\t\trefresh_token: action.payload,\n\t\t\t\tgrant_type: EvasysGrantEnum.REFRESH_TOKEN,\n\t\t\t\tclient_id: this.sharedCoreConfiguration.auth.clientId,\n\t\t\t\t...(clientSecret != null && { client_secret: clientSecret }),\n\t\t\t},\n\t\t};\n\t});\n\n\tlogout$ = this.createEffect(\n\t\tsharedActions.fromAuth.LogoutActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH + '/revoke',\n\t\t\t\tmany: false,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.POST,\n\t\t\t\tbody: action.payload,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tprotected mapToFrontend(data: any): EvasysTokenModel {\n\t\tif (data === null) {\n\t\t\treturn null;\n\t\t}\n\t\tconst expire_time = new Date();\n\t\tlet detail;\n\t\tif (data.detail) {\n\t\t\tdetail = JSON.parse(data.detail);\n\t\t}\n\n\t\texpire_time?.setSeconds(expire_time?.getSeconds() + data?.expires_in);\n\t\tconst token: any = {\n\t\t\t...data,\n\t\t\tid: data.userid ? data.userid : '-1',\n\t\t\texpire_time: expire_time?.getTime()?.toString(),\n\t\t\tmultipleExternalIds: !!data.mainUserFullName,\n\t\t\tdetail,\n\t\t} as EvasysTokenModel;\n\n\t\tdelete token.users;\n\t\tdelete token.mainUserFullName;\n\n\t\treturn token;\n\t}\n\n\tprotected mapToBackend(config: EvasysTokenModel): any {\n\t\treturn {\n\t\t\t...config,\n\t\t};\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { EvasysEffects } from '../essential/redux/effects/evasys.effects';\nimport { Actions } from '@ngrx/effects';\nimport { ConfigModel } from '@evasys/globals/evasys/models/business/config.model';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { sharedActions } from '../actions/index';\nimport { SharedCoreConfiguration } from '../shared-core.configuration';\nimport { ApiService } from '../essential/api/services/api.service';\n\n@Injectable()\nexport class ConfigEffects extends EvasysEffects {\n\tprivate API_PATH = this.sharedCoreConfiguration.api.config;\n\n\tconstructor(\n\t\tprotected override actions$: Actions,\n\t\tprotected readonly apiService: ApiService,\n\t\tprivate readonly sharedCoreConfiguration: SharedCoreConfiguration\n\t) {\n\t\tsuper(sharedActions.fromConfigs, sharedCoreConfiguration.api.config, actions$);\n\t}\n\n\tloadPage$ = this.createEffect(\n\t\tsharedActions.fromConfigs.LoadPageActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH,\n\t\t\t\tmany: true,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t\tpage: action.payload,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\teditOne$ = this.createEffect(sharedActions.fromConfigs.EditOneActionSet, (action: any) => ({\n\t\tapiPath: [this.API_PATH, action.payload.id].join('/'),\n\t\tmany: false,\n\t\trequestMethod: EvasysRequestMethodEnum.PATCH,\n\t\tbody: action.payload.changes,\n\t}));\n\n\tloadMany$ = this.createEffect(\n\t\tsharedActions.fromConfigs.LoadManyActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH,\n\t\t\t\tmany: true,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t\tpage: action.payload.page,\n\t\t\t\tpageSize: action.payload.pageSize,\n\t\t\t\tfilter: 'name in ' + action.payload.ids,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tloadOneWithConfigName$ = this.createEffect(\n\t\tsharedActions.fromConfigs.LoadOneWithConfigName,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath: this.API_PATH,\n\t\t\t\tmany: true,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t\tfilter: 'name eq ' + action.payload,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n\n\tprotected mapToFrontend(data: any): ConfigModel {\n\t\treturn {\n\t\t\t...data,\n\t\t\tid: data.configid,\n\t\t} as ConfigModel;\n\t}\n\n\tprotected mapToBackend(config: ConfigModel): any {\n\t\tconst newConfig = {\n\t\t\t...config,\n\t\t};\n\n\t\tdelete newConfig.oldValue;\n\n\t\treturn newConfig;\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { EvasysEffects } from '../essential/redux/effects/evasys.effects';\nimport { Actions } from '@ngrx/effects';\nimport { EvasysTranslationModel } from '@evasys/globals/evasys/models/general/evasys-translation.model';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { sharedActions } from '../actions/index';\nimport { SharedCoreConfiguration } from '../shared-core.configuration';\nimport { ApiService } from '../essential/api/services/api.service';\n\n@Injectable()\nexport class TranslateEffects extends EvasysEffects {\n\tprivate API_PATH = this.sharedCoreConfiguration.api?.translation;\n\n\tconstructor(\n\t\tprotected override actions$: Actions,\n\t\tprotected readonly apiService: ApiService,\n\t\tprivate readonly sharedCoreConfiguration: SharedCoreConfiguration\n\t) {\n\t\tsuper(sharedActions.fromTranslate, sharedCoreConfiguration.api?.translation, actions$);\n\t}\n\n\tloadPage$ = this.createEffect(sharedActions.fromTranslate.LoadTranslationSet, (action: any) => {\n\t\tlet filter = 'language eq ' + action.payload.language;\n\t\tif (action.payload.prefix.length > 0) {\n\t\t\tconst identifierCondition = action.payload.prefix\n\t\t\t\t?.map((prefix: string) => 'identifier co ' + prefix)\n\t\t\t\t.join(' or ')\n\t\t\t\t.toString();\n\t\t\tfilter = filter + ' and (' + identifierCondition + ' or identifier sw ' + action.payload.language + ')';\n\t\t} else {\n\t\t\tfilter = filter + ' and identifier sw ' + action.payload.language;\n\t\t}\n\t\treturn {\n\t\t\tapiPath: this.API_PATH,\n\t\t\tmany: true,\n\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\tfilter,\n\t\t\tview: 'detail',\n\t\t\tpageSize: -1,\n\t\t} as EvasysApiRequestModel;\n\t});\n\n\tprotected mapToFrontend(data: any): EvasysTranslationModel {\n\t\tconst translationMap = {\n\t\t\t...data,\n\t\t\tid: data.identifier,\n\t\t} as EvasysTranslationModel;\n\n\t\t//region Maping the Placeholder in translation from {x} to transloco common {{x}}\n\t\tconst regex = /{\\d+}/g;\n\t\tconst values = Object.values(translationMap.translations).map((translation: string | undefined) =>\n\t\t\ttranslation?.replace(regex, '{$&}')\n\t\t);\n\t\tconst keys = Object.keys(translationMap.translations);\n\t\t//endregion\n\n\t\ttranslationMap.translations = Object.assign({}, ...keys.map((key, index) => ({ [key]: values[index] })));\n\t\treturn translationMap;\n\t}\n\n\tprotected mapToBackend(): any {\n\t\treturn '';\n\t}\n}\n","export class RequestId {\n\tpublic static generate() {\n\t\treturn 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n\t\t\tconst r = (Math.random() * 16) | 0,\n\t\t\t\tv = c == 'x' ? r : (r & 0x3) | 0x8;\n\t\t\treturn v.toString(16);\n\t\t});\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { EvasysCollectionModel } from '@evasys/globals/shared/models/general/evasys-collection.model';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { catchError, first, map } from 'rxjs/operators';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\nimport { SharedCoreConfiguration } from '../../../shared-core.configuration';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ApiService {\n\tconstructor(private readonly http: HttpClient, private readonly sharedCoreConfiguration: SharedCoreConfiguration) {}\n\n\tprivate getDynamicParams(requestParams: any, httpParams: any) {\n\t\trequestParams.forEach(([key, value]: any) => {\n\t\t\thttpParams = httpParams.append(key, value);\n\t\t});\n\t\treturn httpParams;\n\t}\n\n\tpublic request(\n\t\trequest: EvasysApiRequestModel,\n\t\tmapResponse: (data: any) => M = (data: any) => data,\n\t\tmapRequest: (data: M) => any = (data: any) => data\n\t) {\n\t\tconst params = this.getParams(request);\n\n\t\trequest = this.handleFileUpload(this.handleRequestBodyMapping(request, mapRequest));\n\n\t\treturn this.http\n\t\t\t.request(\n\t\t\t\trequest.requestMethod,\n\t\t\t\t(request.baseUrl ?? this.sharedCoreConfiguration.api.baseUrl) + request.apiPath,\n\t\t\t\t{\n\t\t\t\t\tbody: request.body,\n\t\t\t\t\tparams,\n\t\t\t\t}\n\t\t\t)\n\t\t\t.pipe(\n\t\t\t\tmap((response: any) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\trequest.requestMethod === EvasysRequestMethodEnum.GET ||\n\t\t\t\t\t\trequest.requestMethod === EvasysRequestMethodEnum.POST ||\n\t\t\t\t\t\trequest.requestMethod === EvasysRequestMethodEnum.PATCH\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn request.many\n\t\t\t\t\t\t\t? this.mapMany(response, request.apiPath, mapResponse)\n\t\t\t\t\t\t\t: mapResponse(response);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn response;\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tcatchError((err) => {\n\t\t\t\t\tconsole.error('An error occurred in api request/response: ', err);\n\t\t\t\t\tthrow err;\n\t\t\t\t}),\n\t\t\t\tfirst()\n\t\t\t);\n\t}\n\n\tprivate mapMany(response: any, apiPath: string, mapFunction: (data: any) => M) {\n\t\treturn {\n\t\t\tentities: (Array.isArray(response) ? (response as M[]) : (response.results as M[])).map((entity) =>\n\t\t\t\tmapFunction(entity)\n\t\t\t),\n\t\t\tpageConfig: {\n\t\t\t\tpageCount: response.page_count,\n\t\t\t\tpageSize: response.page_size,\n\t\t\t\ttotalItems: response.total_items,\n\t\t\t\tpage: response.page,\n\t\t\t},\n\t\t} as EvasysCollectionModel;\n\t}\n\n\tprivate handleRequestBodyMapping(request: EvasysApiRequestModel, mapRequest: (data: M) => any) {\n\t\tif (\n\t\t\trequest.body &&\n\t\t\tObject.keys(request.body).length > 0 &&\n\t\t\t(request.requestMethod === EvasysRequestMethodEnum.POST ||\n\t\t\t\trequest.requestMethod === EvasysRequestMethodEnum.PUT ||\n\t\t\t\trequest.requestMethod === EvasysRequestMethodEnum.DELETE ||\n\t\t\t\trequest.requestMethod === EvasysRequestMethodEnum.PATCH)\n\t\t) {\n\t\t\trequest.body = mapRequest(request.body);\n\t\t}\n\t\treturn request;\n\t}\n\n\tprivate getFile(request: EvasysApiRequestModel): File | null {\n\t\tif (request?.fileData?.file instanceof File) {\n\t\t\t//passing file directly\n\t\t\treturn request.fileData.file;\n\t\t} else if (request.body && request.body[request?.fileData?.file] instanceof File) {\n\t\t\t//passing file as body part\n\t\t\treturn request.body[request.fileData.file];\n\t\t}\n\t\treturn null;\n\t}\n\n\tprivate replaceFilePropertyWithName(request: EvasysApiRequestModel, file: File) {\n\t\tif (!(request.fileData.file instanceof File)) {\n\t\t\tconst bodyUpdate = {};\n\t\t\tObject.defineProperty(bodyUpdate, request.fileData.file, {\n\t\t\t\tvalue: file.name,\n\t\t\t\twritable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t});\n\t\t\treturn { ...request.body, ...bodyUpdate };\n\t\t}\n\t\treturn request.body;\n\t}\n\n\tprivate checkRequestMethod(request: EvasysApiRequestModel) {\n\t\tif (request.requestMethod !== EvasysRequestMethodEnum.POST) {\n\t\t\tconsole.warn(\n\t\t\t\t'Can not use \"' +\n\t\t\t\t\trequest.requestMethod +\n\t\t\t\t\t'\" for a file upload. Only \"POST\" is allowed. (automatically changed to \"POST\"'\n\t\t\t);\n\t\t\trequest.requestMethod = EvasysRequestMethodEnum.POST;\n\t\t}\n\t\treturn request;\n\t}\n\n\tprivate handleFileUpload(request: EvasysApiRequestModel) {\n\t\tconst file = this.getFile(request);\n\t\t//handle file upload\n\t\tif (file) {\n\t\t\tif (request.fileData.formName) {\n\t\t\t\t//Files (binary) can only passed with the content type multipart/form-data\n\t\t\t\tconst formData = new FormData();\n\t\t\t\tformData.append(request.fileData.formName, file, file.name);\n\t\t\t\t//stringify body if exists\n\t\t\t\tif (request.body) {\n\t\t\t\t\tformData.append('data', JSON.stringify(this.replaceFilePropertyWithName(request, file)));\n\t\t\t\t}\n\n\t\t\t\trequest.body = formData;\n\n\t\t\t\t//the backend only can get the file through POST\n\t\t\t\trequest = this.checkRequestMethod(request);\n\t\t\t} else {\n\t\t\t\tconsole.error('Can not create a request with a file: No form name is passed.');\n\t\t\t}\n\t\t}\n\t\treturn request;\n\t}\n\n\tprivate getParams(request: EvasysApiRequestModel) {\n\t\tlet params = new HttpParams();\n\t\tif (request.requestMethod === EvasysRequestMethodEnum.GET) {\n\t\t\tif (request.fields) {\n\t\t\t\tparams = params.append('fields', request.fields);\n\t\t\t}\n\t\t\tif (request.filter) {\n\t\t\t\tparams = params.append('filter', request.filter);\n\t\t\t}\n\t\t\tif (request.page) {\n\t\t\t\tparams = params.append('page', request.page.toString());\n\t\t\t}\n\t\t\tif (request.order) {\n\t\t\t\tparams = params.append('order_by', request.order);\n\t\t\t}\n\t\t\tif (request.view) {\n\t\t\t\tparams = params.append('view', request.view);\n\t\t\t}\n\t\t\tif (request.pageSize) {\n\t\t\t\tparams = params.append('page_size', request.pageSize);\n\t\t\t}\n\t\t\tif (request.params && request.params.length > 0) {\n\t\t\t\tparams = this.getDynamicParams(request.params, params);\n\t\t\t}\n\t\t\treturn params;\n\t\t}\n\t\treturn null;\n\t}\n}\n","import { EvasysActionsEnum } from '@evasys/globals/shared/enums/general/evasys-actions.enum';\nimport { EvasysResponseStateEnum } from '@evasys/globals/shared/enums/general/evasys-response-state.enum';\nimport { EvasysManyInPagesModel } from '@evasys/globals/evasys/models/general/evasys-many-in-pages.model';\nimport { Update } from '@ngrx/entity';\nimport { createAction, props } from '@ngrx/store';\nimport { EvasysCollectionModel } from '@evasys/globals/shared/models/general/evasys-collection.model';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { EvasysActionSet } from '@evasys/globals/shared/models/general/evasys-action-set.models';\nimport { EvasysFacadeGetModel } from '@evasys/globals/evasys/models/general/evasys-facade-get.model';\n\nexport class EvasysActionsFactory {\n\tprivate readonly _token = '[' + this.token?.toUpperCase() + ']';\n\n\tconstructor(private readonly token: string) {}\n\n\t//#region Methods\n\n\t/**\n\t *\n\t * @typeParam IN - The type of the Payload for the Effect\n\t * @typeParam OUT - The type of the Response\n\t *\n\t * @template IN - The type of the Payload for the Effect\n\t * @template OUT - The type of the Response\n\t * @param type\n\t * @param apiRequest\n\t */\n\tprivate createActionSet(type: string, apiRequest: boolean = true): EvasysActionSet {\n\t\tif (apiRequest) {\n\t\t\treturn {\n\t\t\t\tDEFAULT: createAction([this._token, type].join(' '), props<{ payload: IN }>()),\n\t\t\t\tSUCCESS: createAction(\n\t\t\t\t\t[this._token, type, EvasysResponseStateEnum.SUCCESS].join(' '),\n\t\t\t\t\tprops<{ payload: OUT }>()\n\t\t\t\t),\n\t\t\t\tFAILURE: createAction(\n\t\t\t\t\t[this._token, type, EvasysResponseStateEnum.FAILURE].join(' '),\n\t\t\t\t\tprops<{ error: HttpErrorResponse }>()\n\t\t\t\t),\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tDEFAULT: createAction([this._token, EvasysActionsEnum.DELETEMANY].join(' '), props<{ payload: IN }>()),\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * @param actionType - type of action (for example: COMPARE, LOAD, REFRESH)\n\t * @param apiRequest\n\t *\n\t * @typeParam IN - The type of the Payload for the Effect\n\t * @typeParam OUT - The type of the Response\n\t *\n\t * @template IN - The type of the Payload for the Effect\n\t * @template OUT - The type of the Response\n\t */\n\tpublic createCustomActionSet = (actionType: string, apiRequest: boolean = true) =>\n\t\tthis.createActionSet(\n\t\t\tapiRequest\n\t\t\t\t? [EvasysActionsEnum.CUSTOM, actionType].join(' ')\n\t\t\t\t: [EvasysActionsEnum.CUSTOM, actionType, 'NoResponse'].join(' ')\n\t\t);\n\n\tpublic createActions() {\n\t\treturn {\n\t\t\tLoadActionSet: this.createActionSet, EvasysCollectionModel | M>(\n\t\t\t\tEvasysActionsEnum.LOAD\n\t\t\t),\n\t\t\tLoadPageActionSet: this.createActionSet>(\n\t\t\t\tEvasysActionsEnum.LOADPAGEWITHPARAMS\n\t\t\t),\n\t\t\tLoadOneActionSet: this.createActionSet(EvasysActionsEnum.LOADONE),\n\t\t\tLoadAllActionSet: this.createActionSet>(EvasysActionsEnum.LOADALL),\n\t\t\tLoadOneWithParamsActionSet: this.createActionSet<{ id: string | number; params: [string, string][] }, M>(\n\t\t\t\tEvasysActionsEnum.LOADONEWITHPARAMS\n\t\t\t),\n\t\t\tLoadWithParamsActionSet: this.createActionSet<{ params: [string, string][] }, EvasysCollectionModel>(\n\t\t\t\tEvasysActionsEnum.LOADWITHPARAMS\n\t\t\t),\n\t\t\tLoadManyActionSet: this.createActionSet>(\n\t\t\t\tEvasysActionsEnum.LOADMANY\n\t\t\t),\n\t\t\tLoadPageWithFilterActionSet: this.createActionSet<\n\t\t\t\t{ page: number; filter: string; pageSize: number },\n\t\t\t\tEvasysCollectionModel\n\t\t\t>(EvasysActionsEnum.LOADPAGEWITHFILTER),\n\t\t\tCreateOneActionSet: this.createActionSet(EvasysActionsEnum.CREATEONE),\n\t\t\tCreateOneLocalActionSet: this.createActionSet(EvasysActionsEnum.CREATEONELOCAL, false),\n\t\t\tUploadFileActionSet: this.createActionSet<{ file: File; id?: number }, Partial>(\n\t\t\t\tEvasysActionsEnum.UPLOADFILE\n\t\t\t),\n\t\t\tEditOneActionSet: this.createActionSet, M>(EvasysActionsEnum.EDITONE),\n\t\t\tEditOneLocalActionSet: this.createActionSet, M>(EvasysActionsEnum.EDITONELOCAL, false),\n\t\t\tEditManyActionSet: this.createCustomActionSet[], EvasysCollectionModel>(\n\t\t\t\tEvasysActionsEnum.EDITMANY\n\t\t\t),\n\t\t\tDeleteOneActionSet: this.createActionSet(EvasysActionsEnum.DELETEONE),\n\t\t\tDeleteOneLocalActionSet: this.createActionSet(\n\t\t\t\tEvasysActionsEnum.DELETEONELOCAL,\n\t\t\t\tfalse\n\t\t\t),\n\t\t\tDeleteManyActionSet: this.createActionSet(EvasysActionsEnum.DELETEMANY),\n\t\t\tClearActionSet: this.createCustomActionSet(EvasysActionsEnum.CLEAR, false),\n\t\t};\n\t}\n\n\t//#endregion Methods\n}\n","import { createEntityAdapter } from '@ngrx/entity';\nimport { EvasysCollectionModel } from '@evasys/globals/shared/models/general/evasys-collection.model';\nimport { cloneDeep } from 'lodash';\nimport {\n\tentitySelector,\n\terrorSelector,\n\thasErrorSelector,\n\tloadedPagesSelector,\n\tloadingSelector,\n\tmanyEntitiesSelector,\n\tmanyEntitiesWithFilterSelector,\n\tpageConfigSelector,\n\tpageSelector,\n\tresponseSelector,\n\tselectWithFilterSelector,\n} from '../selectors/evasys.selectors';\nimport { EvasysState } from '../states/evasys.state';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nexport class EvasysEntityAdapter {\n\tpublic entity = createEntityAdapter();\n\n\tload>(state: S): S {\n\t\treturn { ...state, error: undefined, loading: true };\n\t}\n\n\tloadFailed>(state: S, error: HttpErrorResponse): S {\n\t\treturn { ...state, error: error, loading: false };\n\t}\n\n\tloadManySucceed>(collection: EvasysCollectionModel, state: S): S {\n\t\tif (!collection?.pageConfig) {\n\t\t\tthrow Error('call on loadManySucceed but no collection! Try loadOneSucceed!');\n\t\t}\n\t\tconst newState = cloneDeep(state);\n\t\tif (collection?.pageConfig?.page && !state.loadedPages?.includes(collection.pageConfig?.page)) {\n\t\t\tnewState.loadedPages?.push(collection.pageConfig?.page);\n\t\t}\n\t\tconst upsertedState = this.entity.upsertMany(collection.entities, {\n\t\t\t...newState,\n\t\t\tloading: false,\n\t\t\tpageConfig: collection.pageConfig,\n\t\t});\n\n\t\treturn upsertedState;\n\t}\n\n\tloadOneSucceed>(item: T, state: S): S {\n\t\treturn this.entity.upsertOne(item, {\n\t\t\t...state,\n\t\t\tloading: false,\n\t\t});\n\t}\n\n\tgetSelectors(state: any) {\n\t\treturn {\n\t\t\tselectLoading: loadingSelector(state),\n\t\t\tselectPageConfig: pageConfigSelector(state),\n\t\t\tselectPage: pageSelector(state),\n\t\t\tselectLoadedPages: loadedPagesSelector(state),\n\t\t\tselectEntity: entitySelector(state),\n\t\t\tselectMany: manyEntitiesSelector(state),\n\t\t\tselectManyWithFilter: manyEntitiesWithFilterSelector(state),\n\t\t\tselectError: errorSelector(state),\n\t\t\tselectResponse: responseSelector(state),\n\t\t\tselectHasError: hasErrorSelector(state),\n\t\t\tselectWithFilter: (filter: (entity: T) => boolean) => selectWithFilterSelector(state, filter),\n\t\t};\n\t}\n}\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { catchError, map, mergeMap } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { ApiService } from '../../api/services/api.service';\nimport { EvasysApiRequestModel } from '@evasys/globals/shared/models/general/evasys-api-request.model';\nimport { EvasysRequestMethodEnum } from '@evasys/globals/shared/enums/general/evasys-request-method.enum';\n\n/**\n * @typeParam M - The type of the expected frontend model\n *\n * @template M - The type of the expected frontend model\n */\nexport abstract class EvasysEffects {\n\tprotected abstract readonly apiService: ApiService;\n\n\tprotected constructor(\n\t\tprotected readonly fromActions: any,\n\t\tprotected readonly apiPath: string,\n\t\tprotected readonly actions$: Actions\n\t) {}\n\n\tprotected abstract mapToFrontend(data: any): M;\n\n\tprotected abstract mapToBackend(subunit: M): any;\n\n\t/**\n\t *@param mapFunction A callback function to map the response data of the api to the frontend model data structure\n\t */\n\n\tprivate createSuccessAction(\n\t\trequest: EvasysApiRequestModel,\n\t\tresponse: any,\n\t\taction: any,\n\t\tactionSet: any,\n\t\trequestId?: number\n\t) {\n\t\tswitch (request.requestMethod) {\n\t\t\tcase EvasysRequestMethodEnum.GET:\n\t\t\t\treturn actionSet.SUCCESS({ payload: response, requestId });\n\t\t\tcase EvasysRequestMethodEnum.POST:\n\t\t\t\treturn actionSet.SUCCESS({ payload: response, requestId });\n\t\t\tcase EvasysRequestMethodEnum.DELETE:\n\t\t\t\treturn actionSet.SUCCESS({ payload: action.payload, requestId });\n\t\t\tcase EvasysRequestMethodEnum.PUT:\n\t\t\t\treturn actionSet.SUCCESS({ payload: response, requestId });\n\t\t\tcase EvasysRequestMethodEnum.PATCH:\n\t\t\t\treturn actionSet.SUCCESS({ payload: response, requestId });\n\t\t}\n\t}\n\n\t/**\n\t * @param actionSet The Action-Type of the Action. You get the Action-Type via the self defined enum in the Actions.\n\t * @param requestFunction A callback function to config the api request\n\t */\n\tprotected createEffect(actionSet: any, requestFunction: (action: any) => EvasysApiRequestModel) {\n\t\treturn createEffect(() => {\n\t\t\ttry {\n\t\t\t\treturn this.actions$.pipe(\n\t\t\t\t\tofType(actionSet.DEFAULT),\n\t\t\t\t\tmergeMap((action) => {\n\t\t\t\t\t\tconst request = requestFunction(action);\n\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t// @ts-ignore: Object is possibly 'undefined'.\n\t\t\t\t\t\treturn this.apiService.request(request, this.mapToFrontend, this.mapToBackend).pipe(\n\t\t\t\t\t\t\tmap((response) => {\n\t\t\t\t\t\t\t\treturn this.createSuccessAction(request, response, action, actionSet, action.requestId);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tcatchError((error) => {\n\t\t\t\t\t\t\t\treturn of(actionSet.FAILURE({ error, requestId: actionSet.DEFAULT.requestId }));\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'Can not handle effect: Maybe you forgot to add the action set (LoadActionSet)! ' + err\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\n\t//General Effects\n\n\tload$ = this.createEffect(\n\t\tthis.fromActions.LoadActionSet,\n\t\t(action: any) =>\n\t\t\t({\n\t\t\t\tapiPath:\n\t\t\t\t\taction?.payload?.id && !Array.isArray(action.payload.id)\n\t\t\t\t\t\t? this.apiPath + '/' + action?.payload?.id\n\t\t\t\t\t\t: this.apiPath,\n\t\t\t\tmany: Array.isArray(action.payload.id) || action.payload.id === undefined,\n\t\t\t\trequestMethod: EvasysRequestMethodEnum.GET,\n\t\t\t\tpage: action.payload?.page,\n\t\t\t\torder: action.payload?.order,\n\t\t\t\tpageSize: action.payload?.pageSize,\n\t\t\t\tparams: action.payload?.params,\n\t\t\t\tfields: action.payload?.fields,\n\t\t\t\tview: action.payload?.view,\n\t\t\t} as EvasysApiRequestModel)\n\t);\n}\n","import { on, ReducerTypes } from '@ngrx/store';\nimport { EvasysCollectionModel } from '@evasys/globals/shared/models/general/evasys-collection.model';\nimport { EvasysState } from '../states/evasys.state';\nimport { EvasysEntityAdapter } from '../adapter/evasys-entity.adapter';\nimport { ActionCreator } from '@ngrx/store/src/models';\n\nexport class EvasysReducerCaseFactory {\n\tconstructor(private adapter: EvasysEntityAdapter, private from: any) {\n\t\t// This is intentional\n\t}\n\n\t// region Special handlers\n\n\tprivate createOneSuccessStateChange>(state: S, { payload }): S {\n\t\treturn this.adapter.entity.addOne(payload as M, { ...state, loading: false });\n\t}\n\n\tprivate deleteOneSuccessStateChange>(state: S, { payload }): S {\n\t\treturn this.adapter.entity.removeOne(payload as string, {\n\t\t\t...state,\n\t\t\tloading: false,\n\t\t});\n\t}\n\n\tprivate editOneSuccessStateChange>(state: S, { payload }): S {\n\t\treturn this.adapter.entity.updateOne({ id: payload.id, changes: payload }, { ...state, loading: false });\n\t}\n\n\t// endregion Special handlers\n\n\t//#region ReduceCases\n\n\tprivate reduceLoadActionSet>(): ReducerTypes[] {\n\t\tif (this.from.LoadActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.LoadActionSet.DEFAULT, (state) => {\n\t\t\t\t\treturn this.adapter.load(state);\n\t\t\t\t}),\n\t\t\t\ton(this.from.LoadActionSet.SUCCESS, (state, { payload }) => {\n\t\t\t\t\tif (payload?.entities) {\n\t\t\t\t\t\treturn this.adapter.loadManySucceed(payload as EvasysCollectionModel, state);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.adapter.loadOneSucceed(payload as M, state);\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ton(this.from.LoadActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceLoadPageActionSet>(): ReducerTypes[] {\n\t\tif (this.from.LoadPageActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.LoadPageActionSet.DEFAULT, (state) => {\n\t\t\t\t\treturn this.adapter.load(state);\n\t\t\t\t}),\n\t\t\t\ton(this.from.LoadPageActionSet.SUCCESS, (state, { payload }) =>\n\t\t\t\t\tthis.adapter.loadManySucceed(payload as EvasysCollectionModel, state)\n\t\t\t\t),\n\t\t\t\ton(this.from.LoadPageActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceUploadFileActionSet>(): ReducerTypes<\n\t\tS,\n\t\treadonly ActionCreator[]\n\t>[] {\n\t\tif (this.from.UploadFileActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.UploadFileActionSet.DEFAULT, (state) => {\n\t\t\t\t\treturn this.adapter.load(state);\n\t\t\t\t}),\n\t\t\t\ton(this.from.UploadFileActionSet.SUCCESS, (state, { payload }) => {\n\t\t\t\t\treturn this.adapter.entity.updateOne(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: payload.id,\n\t\t\t\t\t\t\tchanges: payload,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ ...state, loading: false }\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t\t\ton(this.from.UploadFileActionSet.FAILURE, (state, { error }) => ({\n\t\t\t\t\t...state,\n\t\t\t\t\terror,\n\t\t\t\t\tloading: false,\n\t\t\t\t})),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceLoadManyActionSet>(): ReducerTypes[] {\n\t\tif (this.from.LoadManyActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.LoadManyActionSet.DEFAULT, (state) => this.adapter.load(state)),\n\t\t\t\ton(this.from.LoadManyActionSet.SUCCESS, (state, { payload }) => {\n\t\t\t\t\treturn this.adapter.loadManySucceed(payload as EvasysCollectionModel, state);\n\t\t\t\t}),\n\t\t\t\ton(this.from.LoadManyActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceLoadPageWithFilterActionSet>(): ReducerTypes<\n\t\tS,\n\t\treadonly ActionCreator[]\n\t>[] {\n\t\tif (this.from.LoadPageWithFilterActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.LoadPageWithFilterActionSet.DEFAULT, (state) => this.adapter.load(state)),\n\t\t\t\ton(this.from.LoadPageWithFilterActionSet.SUCCESS, (state, { payload }) => {\n\t\t\t\t\treturn this.adapter.loadManySucceed(payload as EvasysCollectionModel, state);\n\t\t\t\t}),\n\t\t\t\ton(this.from.LoadPageWithFilterActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceLoadAllActionSet>(): ReducerTypes[] {\n\t\tif (this.from.LoadAllActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.LoadAllActionSet.DEFAULT, (state) => this.adapter.load(state)),\n\t\t\t\ton(this.from.LoadAllActionSet.SUCCESS, (state, { payload }) => {\n\t\t\t\t\treturn this.adapter.loadManySucceed(payload as EvasysCollectionModel, state);\n\t\t\t\t}),\n\t\t\t\ton(this.from.LoadAllActionSet.FAILURE, (state, { error }) => ({\n\t\t\t\t\t...state,\n\t\t\t\t\terror,\n\t\t\t\t\tloading: false,\n\t\t\t\t})),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceLoadWithParamsActionSet>(): ReducerTypes<\n\t\tS,\n\t\treadonly ActionCreator[]\n\t>[] {\n\t\tif (this.from.LoadWithParamsActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.LoadWithParamsActionSet.DEFAULT, (state) => this.adapter.load(state)),\n\t\t\t\ton(this.from.LoadWithParamsActionSet.SUCCESS, (state, { payload }) => {\n\t\t\t\t\treturn this.adapter.loadManySucceed(payload as EvasysCollectionModel, state);\n\t\t\t\t}),\n\t\t\t\ton(this.from.LoadWithParamsActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceLoadOneActionSet>(): ReducerTypes[] {\n\t\tif (this.from.LoadOneActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.LoadOneActionSet.DEFAULT, (state) => this.adapter.load(state)),\n\t\t\t\ton(this.from.LoadOneActionSet.SUCCESS, (state, { payload }) =>\n\t\t\t\t\tthis.adapter.loadOneSucceed(payload as M, state)\n\t\t\t\t),\n\t\t\t\ton(this.from.LoadOneActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceLoadOneWithParamsActionSet>(): ReducerTypes<\n\t\tS,\n\t\treadonly ActionCreator[]\n\t>[] {\n\t\tif (this.from.LoadOneWithParamsActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.LoadOneWithParamsActionSet.DEFAULT, (state) => this.adapter.load(state)),\n\t\t\t\ton(this.from.LoadOneWithParamsActionSet.SUCCESS, (state, { payload }) =>\n\t\t\t\t\tthis.adapter.loadOneSucceed(payload as M, state)\n\t\t\t\t),\n\t\t\t\ton(this.from.LoadOneWithParamsActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceCreateOneActionSet>(): ReducerTypes[] {\n\t\tif (this.from.CreateOneActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.CreateOneActionSet.DEFAULT, this.adapter.load.bind(this)),\n\t\t\t\ton(this.from.CreateOneActionSet.SUCCESS, this.createOneSuccessStateChange.bind(this)),\n\t\t\t\ton(this.from.CreateOneActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceCreateOneLocalActionSet>(): ReducerTypes<\n\t\tS,\n\t\treadonly ActionCreator[]\n\t>[] {\n\t\tif (this.from.CreateOneLocalActionSet) {\n\t\t\treturn [on(this.from.CreateOneLocalActionSet.SUCCESS, this.createOneSuccessStateChange.bind(this))];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceDeleteOneActionSet>(): ReducerTypes[] {\n\t\tif (this.from.DeleteOneActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.DeleteOneActionSet.DEFAULT, this.adapter.load.bind(this)),\n\t\t\t\ton(this.from.DeleteOneActionSet.SUCCESS, this.deleteOneSuccessStateChange.bind(this)),\n\t\t\t\ton(this.from.DeleteOneActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceDeleteOneLocalActionSet>(): ReducerTypes<\n\t\tS,\n\t\treadonly ActionCreator[]\n\t>[] {\n\t\tif (this.from.DeleteOneLocalActionSet) {\n\t\t\treturn [on(this.from.DeleteOneLocalActionSet.SUCCESS, this.deleteOneSuccessStateChange.bind(this))];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceDeleteManyActionSet>(): ReducerTypes<\n\t\tS,\n\t\treadonly ActionCreator[]\n\t>[] {\n\t\tif (this.from.DeleteManyActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.DeleteManyActionSet.DEFAULT, this.adapter.load.bind(this)),\n\t\t\t\ton(this.from.DeleteManyActionSet.SUCCESS, (state, { payload }) =>\n\t\t\t\t\tthis.adapter.entity.removeMany(payload as string[], {\n\t\t\t\t\t\t...state,\n\t\t\t\t\t\tloading: false,\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\ton(this.from.DeleteManyActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceEditOneActionSet>(): ReducerTypes[] {\n\t\tif (this.from.EditOneActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.EditOneActionSet.DEFAULT, this.adapter.load.bind(this)),\n\t\t\t\ton(this.from.EditOneActionSet.SUCCESS, this.editOneSuccessStateChange.bind(this)),\n\t\t\t\ton(this.from.EditOneActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceEditOneLocalActionSet>(): ReducerTypes<\n\t\tS,\n\t\treadonly ActionCreator[]\n\t>[] {\n\t\tif (this.from.EditOneLocalActionSet) {\n\t\t\treturn [on(this.from.EditOneLocalActionSet.SUCCESS, this.editOneSuccessStateChange.bind(this))];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceEditManyActionSet>(): ReducerTypes[] {\n\t\tif (this.from.EditManyActionSet) {\n\t\t\treturn [\n\t\t\t\ton(this.from.EditManyActionSet.DEFAULT, this.adapter.load.bind(this)),\n\t\t\t\ton(this.from.EditManyActionSet.SUCCESS, (state, { payload }) =>\n\t\t\t\t\tthis.adapter.entity.updateMany(payload, { ...state, loading: false })\n\t\t\t\t),\n\t\t\t\ton(this.from.EditManyActionSet.FAILURE, this.adapter.loadFailed.bind(this)),\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate reduceClearActionSet>(): ReducerTypes[] {\n\t\tif (this.from.ClearActionSet) {\n\t\t\treturn [on(this.from.ClearActionSet.DEFAULT, (state) => this.adapter.entity.removeAll(state))];\n\t\t}\n\t\treturn [];\n\t}\n\n\t//#endregion ReduceCases\n\n\tpublic reduceEvasysActionSets>() {\n\t\treturn {\n\t\t\treduceLoadActionSet: this.reduceLoadActionSet(),\n\t\t\treduceLoadPageActionSet: this.reduceLoadPageActionSet(),\n\t\t\treduceLoadManyActionSet: this.reduceLoadManyActionSet(),\n\t\t\treduceLoadAllActionSet: this.reduceLoadAllActionSet(),\n\t\t\treduceLoadOneActionSet: this.reduceLoadOneActionSet(),\n\t\t\treduceLoadOneWithParamsActionSet: this.reduceLoadOneWithParamsActionSet(),\n\t\t\treduceLoadWithParamsActionSet: this.reduceLoadWithParamsActionSet(),\n\t\t\treduceLoadPageWithFilterActionSet: this.reduceLoadPageWithFilterActionSet(),\n\n\t\t\treduceCreateOneActionSet: this.reduceCreateOneActionSet(),\n\t\t\treduceCreateOneLocalActionSet: this.reduceCreateOneLocalActionSet(),\n\t\t\treduceUploadFileActionSet: this.reduceUploadFileActionSet(),\n\n\t\t\treduceDeleteOneActionSet: this.reduceDeleteOneActionSet(),\n\t\t\treduceDeleteOneLocalActionSet: this.reduceDeleteOneLocalActionSet(),\n\t\t\treduceDeleteManyActionSet: this.reduceDeleteManyActionSet(),\n\n\t\t\treduceEditOneActionSet: this.reduceEditOneActionSet(),\n\t\t\treduceEditOneLocalActionSet: this.reduceEditOneLocalActionSet(),\n\t\t\treduceEditManyActionSet: this.reduceEditManyActionSet(),\n\n\t\t\treduceClearActionSet: this.reduceClearActionSet(),\n\t\t};\n\t}\n}\n","import { createSelector } from '@ngrx/store';\nimport { EvasysPageConfigModel } from '@evasys/globals/shared/models/general/evasys-page-config.model';\nimport { EvasysManyInPagesModel } from '@evasys/globals/evasys/models/general/evasys-many-in-pages.model';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nexport function loadingSelector(state: any) {\n\treturn createSelector(state, (loadingState: any) => {\n\t\treturn loadingState.loading as boolean;\n\t});\n}\n\nexport function selectWithFilterSelector(state: any, filter: (entity: T) => boolean) {\n\treturn createSelector(state, (entitiesState: any) => {\n\t\tconst entities = Object.values(entitiesState.entities);\n\t\treturn filter ? entities.filter((entity: T) => filter(entity)) : entities;\n\t});\n}\n\nexport function loadedPagesSelector(state: any) {\n\treturn createSelector(state, (loadedPagesState: any) => {\n\t\treturn loadedPagesState.loadedPages as number[];\n\t});\n}\n\nexport function pageConfigSelector(state: any) {\n\treturn createSelector(state, (pageConfigState: any) => {\n\t\treturn pageConfigState.pageConfig as EvasysPageConfigModel;\n\t});\n}\n\nexport function pageSelector(state: any) {\n\treturn createSelector(state, (pageState, props) => {\n\t\tif (pageState && props?.page) {\n\t\t\tconst toPage = props.page;\n\t\t\tlet loadedPages = pageState.loadedPages as number[];\n\t\t\tloadedPages = [...loadedPages].sort((a, b) => a - b).slice(0, toPage);\n\n\t\t\tconst start = (loadedPages.length - 1) * pageState.pageConfig?.pageSize;\n\t\t\tconst end = loadedPages.length * pageState.pageConfig?.pageSize;\n\n\t\t\tconst entities = (pageState.ids as any[])?.map((id) => pageState.entities[id]) as any[];\n\t\t\treturn pageState.pageConfig?.pageSize === -1 ? entities : entities?.slice(start, end);\n\t\t} else {\n\t\t\treturn undefined;\n\t\t}\n\t});\n}\n\nexport function entitySelector(state: any) {\n\treturn createSelector(state, (entityState: any, entityProps: any) => {\n\t\treturn entityState.entities[entityProps.id];\n\t});\n}\n\nexport function responseSelector(state: any) {\n\treturn createSelector(state, (responseState: any) => {\n\t\treturn { error: responseState.error, entities: responseState.entities };\n\t});\n}\n\nexport function errorSelector(state: any) {\n\treturn createSelector(state, (errorState: any) => {\n\t\treturn errorState.error as HttpErrorResponse;\n\t});\n}\n\nexport function hasErrorSelector(state: any) {\n\treturn createSelector(state, (hasErrorState: any) => {\n\t\treturn hasErrorState.error ? true : false;\n\t});\n}\n\nexport function manyEntitiesSelector(state: any) {\n\treturn createSelector(state, (manyEntitiesState: any, manyEntitiesProps: EvasysManyInPagesModel) => {\n\t\tconst toPage = manyEntitiesProps?.page;\n\t\tconst pageSize = manyEntitiesProps?.pageSize;\n\t\tconst ids = manyEntitiesProps?.ids;\n\n\t\tconst start = (toPage - 1) * pageSize;\n\t\tconst end = toPage * pageSize;\n\n\t\tif (toPage && ids) {\n\t\t\tif (manyEntitiesState.ids) {\n\t\t\t\tconst entities = manyEntitiesState.ids\n\t\t\t\t\t.filter((key) => manyEntitiesProps.ids.includes(key))\n\t\t\t\t\t.map((key) => manyEntitiesState.entities[key]);\n\t\t\t\t//-1 is no pagination\n\t\t\t\treturn pageSize !== -1 ? entities.splice(start, end) : entities;\n\t\t\t} else {\n\t\t\t\tconsole.warn('ids are undefined');\n\t\t\t\treturn [];\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.error('no given props in many selector!');\n\t\t\treturn [];\n\t\t}\n\t});\n}\n\nexport function manyEntitiesWithFilterSelector(state: any) {\n\treturn createSelector(\n\t\tstate,\n\t\t(\n\t\t\tmanyWithFilterState: any,\n\t\t\tmanyWithFilterProps: {\n\t\t\t\tpage: number;\n\t\t\t\tfilter: (entity: T) => boolean;\n\t\t\t\tpageSize?: number;\n\t\t\t}\n\t\t) => {\n\t\t\tconst toPage = manyWithFilterProps?.page;\n\t\t\tconst filter = manyWithFilterProps?.filter;\n\n\t\t\tconst start = (toPage - 1) * (manyWithFilterProps.pageSize ?? manyWithFilterState.pageConfig?.pageSize);\n\t\t\tconst end = toPage * (manyWithFilterProps.pageSize ?? manyWithFilterState.pageConfig?.pageSize);\n\n\t\t\tif (toPage && filter) {\n\t\t\t\tconst result = Object.values(manyWithFilterState.entities).filter((entity: T) => filter(entity));\n\n\t\t\t\treturn manyWithFilterProps.pageSize === -1 ? result : result.splice(start, end);\n\t\t\t} else {\n\t\t\t\tconsole.error('Can not select the entities with filter: No filter or page is set.');\n\t\t\t\treturn [];\n\t\t\t}\n\t\t}\n\t);\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { loadData } from '@evasys/shared/util';\nimport { map } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { EvasysState } from '../states/evasys.state';\nimport { EvasysPageConfigModel } from '@evasys/globals/shared/models/general/evasys-page-config.model';\nimport { Dictionary, Update } from '@ngrx/entity';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { catchFailure, dispatchResult, load } from '../../../../../../util/src/lib/rxjs/rxjs.functions';\nimport { Actions } from '@ngrx/effects';\nimport { EvasysFacadeGetModel } from '@evasys/globals/evasys/models/general/evasys-facade-get.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport abstract class FacadeService {\n\tprotected requestCounter = 0;\n\n\tprotected constructor(\n\t\tprotected readonly store: Store>,\n\t\tprivate readonly fromActions: any,\n\t\tprivate readonly fromSelectors: any,\n\t\tprotected readonly actions: Actions\n\t) {\n\t\t// This is intentional\n\t}\n\n\t//#region read\n\n\tpublic get(options: EvasysFacadeGetModel): Observable {\n\t\tlet entityCount = undefined;\n\t\tif (options.id !== undefined) {\n\t\t\tentityCount = Array.isArray(options.id) ? options.id.length : 1;\n\t\t}\n\t\tthis.requestCounter += 1;\n\t\treturn load(\n\t\t\tthis.actions,\n\t\t\tthis.fromActions.LoadActionSet,\n\t\t\tthis.store,\n\t\t\tthis.fromActions.LoadActionSet.DEFAULT({ payload: options, requestId: this.requestCounter }),\n\t\t\t() => {\n\t\t\t\tif (entityCount === 1) {\n\t\t\t\t\treturn this.store.select(this.fromSelectors.selectEntity, {\n\t\t\t\t\t\tid: Array.isArray(options.id) ? options.id[0] : options.id,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn this.store.select(this.fromSelectors.selectWithFilter(options.filterState));\n\t\t\t\t}\n\t\t\t},\n\t\t\toptions.loadingStrategy,\n\t\t\tentityCount,\n\t\t\toptions.asEvasysCollectionModel\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tpublic getAllLoaded(): Observable {\n\t\treturn this.store.select(this.fromSelectors.selectAll);\n\t}\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tpublic getAll(loadingStrategy: EvasysLoadingStrategiesEnum): Observable {\n\t\treturn catchFailure(\n\t\t\tthis.store.select(this.fromSelectors.selectAll),\n\t\t\tthis.store.select(this.fromSelectors.selectError)\n\t\t).pipe(\n\t\t\tloadData(\n\t\t\t\t() => this.store.dispatch(this.fromActions.LoadAllActionSet.DEFAULT({ payload: undefined })),\n\t\t\t\t() => this.store.select(this.fromSelectors.selectLoading),\n\t\t\t\tloadingStrategy\n\t\t\t)\n\t\t);\n\t}\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tpublic getOne(id: string | number, loadingStrategy: EvasysLoadingStrategiesEnum): Observable {\n\t\treturn catchFailure(\n\t\t\tthis.store.select(this.fromSelectors.selectEntity, { id }),\n\t\t\tthis.store.select(this.fromSelectors.selectError)\n\t\t).pipe(\n\t\t\tloadData(\n\t\t\t\t() =>\n\t\t\t\t\tthis.store.dispatch(\n\t\t\t\t\t\tthis.fromActions.LoadOneActionSet.DEFAULT({\n\t\t\t\t\t\t\tpayload: id,\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t() => this.store.select(this.fromSelectors.selectLoading),\n\t\t\t\tloadingStrategy,\n\t\t\t\tfalse\n\t\t\t),\n\t\t\tmap((entity) => entity as T)\n\t\t);\n\t}\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tpublic getOneWithParams(\n\t\tid: string | number,\n\t\tparams: [string, string | number][],\n\t\tloadingStrategy: EvasysLoadingStrategiesEnum\n\t) {\n\t\treturn catchFailure(\n\t\t\tthis.store.select(this.fromSelectors.selectEntity, { id }),\n\t\t\tthis.store.select(this.fromSelectors.selectError)\n\t\t).pipe(\n\t\t\tloadData(\n\t\t\t\t() =>\n\t\t\t\t\tthis.store.dispatch(\n\t\t\t\t\t\tthis.fromActions.LoadOneWithParamsActionSet.DEFAULT({\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t() => this.store.select(this.fromSelectors.selectLoading),\n\t\t\t\tloadingStrategy,\n\t\t\t\tfalse\n\t\t\t),\n\t\t\tmap((entities) => entities as T)\n\t\t);\n\t}\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tpublic getMany(\n\t\tids: string[] | number[],\n\t\tpage: number,\n\t\tloadingStrategy: EvasysLoadingStrategiesEnum,\n\t\tpageSize = -1\n\t): Observable {\n\t\treturn load(\n\t\t\tthis.actions,\n\t\t\tthis.fromActions.LoadManyActionSet,\n\t\t\tthis.store,\n\t\t\tthis.fromActions.LoadManyActionSet.DEFAULT({\n\t\t\t\tpayload: {\n\t\t\t\t\tids,\n\t\t\t\t\tpage,\n\t\t\t\t\tpageSize,\n\t\t\t\t},\n\t\t\t}),\n\t\t\t() =>\n\t\t\t\tthis.store.select(this.fromSelectors.selectMany, {\n\t\t\t\t\tids,\n\t\t\t\t\tpage,\n\t\t\t\t\tpageSize,\n\t\t\t\t}),\n\t\t\tloadingStrategy,\n\t\t\tids.length\n\t\t);\n\t}\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tpublic getPage(page: number, loadingStrategy: EvasysLoadingStrategiesEnum): Observable {\n\t\treturn this.store.select(this.fromSelectors.selectPage, { page }).pipe(\n\t\t\tloadData(\n\t\t\t\t() =>\n\t\t\t\t\tthis.store.dispatch(\n\t\t\t\t\t\tthis.fromActions.LoadPageActionSet.DEFAULT({\n\t\t\t\t\t\t\tpayload: page,\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t() => this.store.select(this.fromSelectors.selectLoading),\n\t\t\t\tloadingStrategy\n\t\t\t),\n\t\t\tmap((entities) => entities as T[])\n\t\t);\n\t}\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tpublic getAllUntilPage(page: number, loadingStrategy: EvasysLoadingStrategiesEnum): Observable {\n\t\treturn catchFailure(\n\t\t\tthis.store.select(this.fromSelectors.selectEntities),\n\t\t\tthis.store.select(this.fromSelectors.selectError)\n\t\t).pipe(\n\t\t\tloadData(\n\t\t\t\t() =>\n\t\t\t\t\tthis.store.dispatch(\n\t\t\t\t\t\tthis.fromActions.LoadPageActionSet.DEFAULT({\n\t\t\t\t\t\t\tpayload: page,\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t() => this.store.select(this.fromSelectors.selectLoading),\n\t\t\t\tloadingStrategy\n\t\t\t),\n\t\t\tmap((entities) => (Array.isArray(entities) ? entities : Object.values(entities)))\n\t\t);\n\t}\n\n\tpublic getPageConfigs(): Observable {\n\t\treturn this.store.select(this.fromSelectors.selectPageConfig);\n\t}\n\n\tpublic isLoading(): Observable {\n\t\treturn this.store.select(this.fromSelectors.selectLoading);\n\t}\n\n\tpublic getError(): Observable {\n\t\treturn this.store.select(this.fromSelectors.selectError);\n\t}\n\n\tpublic getResponse(): Observable<{\n\t\terror: HttpErrorResponse;\n\t\tentities: Dictionary;\n\t}> {\n\t\treturn this.store.select(this.fromSelectors.selectResponse);\n\t}\n\n\t//#endregion read\n\n\t//#region write\n\tpublic onlyLoadPage(page: number): void {\n\t\tthis.store.dispatch(this.fromActions.LoadPageActionSet.DEFAULT({ payload: page }));\n\t}\n\n\tpublic deleteOne(id: string | number): Promise {\n\t\tthis.store.dispatch(this.fromActions.DeleteOneActionSet.DEFAULT({ payload: id }));\n\t\treturn dispatchResult(this.actions, this.fromActions.DeleteOneActionSet);\n\t}\n\n\tpublic deleteOneLocal(id: string | number): void {\n\t\tthis.store.dispatch(this.fromActions.DeleteOneLocalActionSet.DEFAULT({ payload: id }));\n\t}\n\n\tpublic deleteMany(ids: number[] | string[]): Promise {\n\t\tthis.store.dispatch(this.fromActions.DeleteManyActionSet.DEFAULT({ payload: ids }));\n\t\treturn dispatchResult(this.actions, this.fromActions.DeleteManyActionSet);\n\t}\n\n\tpublic createOne(obj: T): Promise {\n\t\tthis.store.dispatch(this.fromActions.CreateOneActionSet.DEFAULT({ payload: obj }));\n\t\treturn dispatchResult(this.actions, this.fromActions.CreateOneActionSet);\n\t}\n\n\tpublic createOneLocal(obj: T): void {\n\t\tthis.store.dispatch(this.fromActions.CreateOneLocalActionSet.DEFAULT({ payload: obj }));\n\t}\n\n\tpublic updateOne(update: Update): Promise {\n\t\tthis.store.dispatch(this.fromActions.EditOneActionSet.DEFAULT({ payload: update }));\n\t\treturn dispatchResult(this.actions, this.fromActions.EditOneActionSet);\n\t}\n\n\tpublic updateOneLocal(update: Update) {\n\t\tthis.store.dispatch(this.fromActions.EditOneLocalActionSet.DEFAULT({ payload: update }));\n\t}\n\n\tpublic updateMany(updates: Update[]): Promise {\n\t\tthis.store.dispatch(this.fromActions.EditManyActionSet.DEFAULT({ payload: updates }));\n\t\treturn dispatchResult(this.actions, this.fromActions.EditManyActionSet);\n\t}\n\n\tpublic clearAll() {\n\t\tthis.store.dispatch(this.fromActions.ClearActionSet.DEFAULT({ payload: undefined }));\n\t}\n\n\t//#endregion write\n}\n","import { EntityState } from '@ngrx/entity';\nimport { EvasysPageConfigModel } from '@evasys/globals/shared/models/general/evasys-page-config.model';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nexport interface EvasysState extends EntityState {\n\terror?: HttpErrorResponse;\n\tloading: boolean;\n\tloadedPages: number[];\n\tpageConfig: EvasysPageConfigModel;\n\tsupplement: S;\n}\n\nexport function defaultEvasysState() {\n\treturn {\n\t\tids: [],\n\t\tentities: {},\n\t\terror: undefined,\n\t\tloading: false,\n\t\tloadedPages: [],\n\t\tsupplement: undefined,\n\t\tpageConfig: {\n\t\t\tpageCount: 0,\n\t\t\tpageSize: 0,\n\t\t\tpage: 0,\n\t\t\ttotalItems: 0,\n\t\t},\n\t};\n}\n","import { Store } from '@ngrx/store';\nimport { EvasysUserModel } from '@evasys/globals/shared/models/general/evasys-user.model';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { LevelEnum } from '@evasys/globals/shared/enums/business/level.enum';\nimport { sharedActions } from '../actions';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { OnlineTemplatesAccessEnum } from '@evasys/globals/evasys/enums/online-templates-access.enum';\n\nexport class UserModelClass implements EvasysUserModel {\n\tid: number;\n\tactiveRight: UserRightsEnum;\n\tuserRights: UserRightsEnum[];\n\tlevel: LevelEnum;\n\tfirstname: string;\n\tfullName: string;\n\tfullUnitName: string;\n\tsurname: string;\n\tactive?: boolean;\n\tlang?: string;\n\tflavor?: string;\n\tonlineTemplatesAccess: OnlineTemplatesAccessEnum;\n\n\tconstructor(userModel: EvasysUserModel, private readonly userStore: Store>) {\n\t\tthis.setModel(userModel);\n\t\tthis.activeRight = userModel.activeRight ?? this.userRights[0];\n\t}\n\n\tpublic isAuthorized(role: UserRightsEnum[]): boolean {\n\t\treturn role.includes(this.activeRight);\n\t}\n\n\tpublic changeActiveRole(role: UserRightsEnum): void {\n\t\treturn this.userStore.dispatch(\n\t\t\tsharedActions.fromAuthUser.ChangeActiveRoleActionSet.DEFAULT({\n\t\t\t\tpayload: {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tactiveRole: role,\n\t\t\t\t},\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate setModel(userModel: EvasysUserModel) {\n\t\tfor (const key of Object.keys(userModel)) {\n\t\t\tthis[key] = userModel[key];\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { metaReducers, userInitialState, authUserReducer } from '../reducers/auth-user.reducer';\nimport { AuthUserEffects } from '../effects/auth-user.effects';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [\n\t\tCommonModule,\n\t\tEffectsModule.forFeature([AuthUserEffects]),\n\t\tStoreModule.forFeature('authUser', authUserReducer, { metaReducers, initialState: userInitialState }),\n\t],\n})\nexport class AuthUserModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { AuthEffects } from '../effects/auth.effects';\nimport { authInitialState, metaReducers, authReducer } from '../reducers/auth.reducer';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [\n\t\tCommonModule,\n\t\tEffectsModule.forFeature([AuthEffects]),\n\t\tStoreModule.forFeature('auth', authReducer, { metaReducers, initialState: authInitialState }),\n\t],\n})\nexport class AuthModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { ConfigEffects } from '../effects/config.effects';\nimport { configInitialState, configReducer, metaReducers } from '../reducers/config.reducer';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [\n\t\tCommonModule,\n\t\tEffectsModule.forFeature([ConfigEffects]),\n\t\tStoreModule.forFeature('configs', configReducer, { metaReducers, initialState: configInitialState }),\n\t],\n})\nexport class ConfigsModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StoreModule } from '@ngrx/store';\nimport { metaReducers, notificationInitialState, notificationReducer } from '../reducers/notification.reducer';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [\n\t\tCommonModule,\n\t\tStoreModule.forFeature('notification', notificationReducer, {\n\t\t\tmetaReducers,\n\t\t\tinitialState: notificationInitialState,\n\t\t}),\n\t],\n})\nexport class NotificationModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { TranslateEffects } from '../effects/translate.effects';\nimport { translationInitialState, translateReducer, metaReducers } from '../reducers/translate.reducer';\n\n@NgModule({\n\tdeclarations: [],\n\timports: [\n\t\tCommonModule,\n\t\tEffectsModule.forFeature([TranslateEffects]),\n\t\tStoreModule.forFeature('translate', translateReducer, { metaReducers, initialState: translationInitialState }),\n\t],\n})\nexport class TranslateModule {}\n","import { Action, ActionReducer, createReducer, MetaReducer, on } from '@ngrx/store';\nimport { sharedActions } from '../actions/index';\nimport { Update } from '@ngrx/entity';\nimport { localStorageSync } from 'ngrx-store-localstorage';\nimport { EvasysUserModel } from '@evasys/globals/shared/models/general/evasys-user.model';\nimport { EvasysEntityAdapter } from '../essential/redux/adapter/evasys-entity.adapter';\nimport { defaultEvasysState, EvasysState } from '../essential/redux/states/evasys.state';\nimport { EvasysReducerCaseFactory } from '../essential/redux/reducers/evasys-reducer-case.factory';\nimport { getWindowVariable } from '@evasys/globals/shared/helper/window';\n\nexport const userAdapter = new EvasysEntityAdapter();\n\nexport const userInitialState: EvasysState = userAdapter.entity.getInitialState(defaultEvasysState());\n\nconst authUserReducerCaseFactory = new EvasysReducerCaseFactory(\n\tuserAdapter,\n\tsharedActions.fromAuthUser\n);\n\nconst { reduceLoadActionSet } = authUserReducerCaseFactory.reduceEvasysActionSets();\n\nexport const authUserReducer = createReducer(\n\tuserInitialState,\n\t...reduceLoadActionSet,\n\ton(\n\t\tsharedActions.fromAuthUser.ChangeActiveRoleActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload: { id, activeRole } }) => {\n\t\t\tconst update: Update = {\n\t\t\t\tid,\n\t\t\t\tchanges: { activeRight: activeRole },\n\t\t\t};\n\t\t\treturn userAdapter.entity.updateOne(update, state);\n\t\t}\n\t),\n\ton(sharedActions.fromAuthUser.AuthenticateUserActionSet.DEFAULT, (state: EvasysState) =>\n\t\tuserAdapter.load(state)\n\t),\n\ton(\n\t\tsharedActions.fromAuthUser.AuthenticateUserActionSet.SUCCESS,\n\t\t(state: EvasysState, { payload }) => {\n\t\t\tconst update = userAdapter.loadOneSucceed(payload, userAdapter.entity.removeAll(state));\n\t\t\treturn update;\n\t\t}\n\t),\n\ton(\n\t\tsharedActions.fromAuthUser.AuthenticateUserActionSet.FAILURE,\n\t\t(state: EvasysState, { error }) => ({ ...state, error, loading: false })\n\t),\n\ton(sharedActions.fromAuthUser.UnauthenticateUserActionSet.DEFAULT, (state: EvasysState) =>\n\t\tuserAdapter.entity.removeAll(state)\n\t)\n);\n\nexport function reducer(state: EvasysState | undefined, action: Action) {\n\treturn authUserReducer(state, action);\n}\n\n//MetaReducer to store the authenticated user in localStorage\n\nfunction localStorageSyncReducer(reducer: ActionReducer>) {\n\treturn localStorageSync({\n\t\tkeys: ['ids', 'entities'],\n\t\trehydrate: true,\n\t\tstorageKeySerializer: (key) =>\n\t\t\t`${\n\t\t\t\tgetWindowVariable('base-href') ? getWindowVariable('base-href') + '_' : ''\n\t\t\t}authedUser_${key}`,\n\t})(reducer);\n}\n\nexport const metaReducers: Array>> = [localStorageSyncReducer];\n","import { sharedActions } from '../actions';\nimport { Action, ActionReducer, createReducer, MetaReducer, on } from '@ngrx/store';\nimport { localStorageSync } from 'ngrx-store-localstorage';\nimport { EvasysTokenModel } from '@evasys/globals/shared/models/general/evasys-token.model';\nimport { EvasysEntityAdapter } from '../essential/redux/adapter/evasys-entity.adapter';\nimport { defaultEvasysState, EvasysState } from '../essential/redux/states/evasys.state';\nimport { EvasysReducerCaseFactory } from '../essential/redux/reducers/evasys-reducer-case.factory';\nimport { getWindowVariable } from '@evasys/globals/shared/helper/window';\n\nexport const authAdapter = new EvasysEntityAdapter();\nexport const authInitialState: EvasysState = authAdapter.entity.getInitialState(defaultEvasysState());\nconst authReducerCaseFactory = new EvasysReducerCaseFactory(authAdapter, sharedActions.fromAuth);\n\nconst { reduceClearActionSet, reduceLoadActionSet } = authReducerCaseFactory.reduceEvasysActionSets();\n\nexport const authReducer = createReducer(\n\tauthInitialState,\n\t...reduceClearActionSet,\n\t...reduceLoadActionSet,\n\t//#region reduceLogin\n\ton(sharedActions.fromAuth.LoginActionSet.DEFAULT, (state: EvasysState) =>\n\t\tauthAdapter.load(authAdapter.entity.removeAll(state))\n\t),\n\ton(sharedActions.fromAuth.LoginActionSet.SUCCESS, (state: EvasysState, { payload }) =>\n\t\tauthAdapter.loadOneSucceed(payload, state)\n\t),\n\ton(sharedActions.fromAuth.LoginActionSet.FAILURE, (state: EvasysState, { error }) => ({\n\t\t...state,\n\t\tloading: false,\n\t\terror,\n\t})),\n\t//#endregion reduceLogin\n\t//#region reduceRefresh\n\ton(sharedActions.fromAuth.RefreshActionSet.DEFAULT, (state: EvasysState) =>\n\t\tauthAdapter.load(state)\n\t),\n\ton(sharedActions.fromAuth.RefreshActionSet.SUCCESS, (state: EvasysState, { payload }) =>\n\t\tauthAdapter.loadOneSucceed(payload, state)\n\t),\n\ton(sharedActions.fromAuth.RefreshActionSet.FAILURE, (state: EvasysState, { error }) => ({\n\t\t...state,\n\t\terror,\n\t\tloading: false,\n\t})),\n\t//#endregion reduceRefresh\n\t//#region reduceLogout\n\ton(sharedActions.fromAuth.LogoutActionSet.DEFAULT, (state: EvasysState) => ({\n\t\t...state,\n\t\tloading: true,\n\t})),\n\ton(sharedActions.fromAuth.LogoutActionSet.SUCCESS, (state: EvasysState) =>\n\t\tauthAdapter.entity.removeAll({ ...state, loading: false })\n\t),\n\ton(sharedActions.fromAuth.LogoutActionSet.FAILURE, (state: EvasysState, { error }) => ({\n\t\t...state,\n\t\terror,\n\t\tloading: false,\n\t}))\n\t//#endregion reduceLogout\n);\n\nexport function reducer(state: EvasysState | undefined, action: Action) {\n\treturn authReducer(state, action);\n}\n\n//MetaReducer to store the config in localStorage\n\nfunction localStorageSyncReducer(\n\treducer: ActionReducer>\n): ActionReducer> {\n\treturn localStorageSync({\n\t\tkeys: ['ids', 'entities'],\n\t\trehydrate: true,\n\t\tstorageKeySerializer: (key) =>\n\t\t\t`${getWindowVariable('base-href') ? getWindowVariable('base-href') + '_' : ''}auth_${key}`,\n\t})(reducer);\n}\n\nexport const metaReducers: Array>> = [localStorageSyncReducer];\n","import { Action, ActionReducer, createReducer, MetaReducer, on } from '@ngrx/store';\nimport { ConfigModel } from '@evasys/globals/evasys/models/business/config.model';\nimport { localStorageSync } from 'ngrx-store-localstorage';\nimport { sharedActions } from '../actions/index';\nimport { EvasysEntityAdapter } from '../essential/redux/adapter/evasys-entity.adapter';\nimport { defaultEvasysState, EvasysState } from '../essential/redux/states/evasys.state';\nimport { EvasysReducerCaseFactory } from '../essential/redux/reducers/evasys-reducer-case.factory';\nimport { getWindowVariable } from '@evasys/globals/shared/helper/window';\n\nexport const configAdapter = new EvasysEntityAdapter();\nexport const configInitialState: EvasysState = configAdapter.entity.getInitialState(defaultEvasysState());\nconst configReducerCaseFactory = new EvasysReducerCaseFactory(configAdapter, sharedActions.fromConfigs);\n\nconst { reduceLoadPageActionSet, reduceLoadManyActionSet, reduceEditOneActionSet, reduceLoadActionSet } =\n\tconfigReducerCaseFactory.reduceEvasysActionSets();\n\nexport const configReducer = createReducer(\n\tconfigInitialState,\n\t...reduceLoadPageActionSet,\n\t...reduceLoadManyActionSet,\n\t...reduceEditOneActionSet,\n\t...reduceLoadActionSet,\n\ton(sharedActions.fromConfigs.LoadOneWithConfigName.DEFAULT, (state: EvasysState) =>\n\t\tconfigAdapter.load(state)\n\t),\n\ton(sharedActions.fromConfigs.LoadOneWithConfigName.SUCCESS, (state: EvasysState, { payload }) =>\n\t\tconfigAdapter.loadManySucceed(payload, state)\n\t),\n\ton(sharedActions.fromConfigs.LoadOneWithConfigName.FAILURE, (state: EvasysState, { error }) => ({\n\t\t...state,\n\t\terror,\n\t\tloading: false,\n\t}))\n);\n\nexport function reducer(state: EvasysState | undefined, action: Action) {\n\treturn configReducer(state, action);\n}\n\n//MetaReducer to store the config in localStorage\n\nfunction localStorageSyncReducer(\n\treducer: ActionReducer>\n): ActionReducer> {\n\treturn localStorageSync({\n\t\tkeys: ['ids', 'entities', 'loadedPages', 'pageConfig'],\n\t\trehydrate: true,\n\t\tstorageKeySerializer: (key) =>\n\t\t\t`${\n\t\t\t\tgetWindowVariable('base-href') ? getWindowVariable('base-href') + '_' : ''\n\t\t\t}config_${key}`,\n\t})(reducer);\n}\n\nexport const metaReducers: Array>> = [localStorageSyncReducer];\n","import { sharedActions } from '../actions';\nimport { ActionReducer } from '@ngrx/store';\n\nexport function globalReducer(reducer: ActionReducer): ActionReducer {\n\treturn function (state: any, action: any) {\n\t\tif (action.type === sharedActions.fromGlobal.ClearActionSet.DEFAULT.type) {\n\t\t\tconst expections = ['translate'];\n\t\t\tstate = expections.reduce((clearedState, expectation) => {\n\t\t\t\tclearedState[expectation] = state[expectation];\n\t\t\t\treturn clearedState;\n\t\t\t}, {});\n\t\t}\n\n\t\treturn reducer(state, action);\n\t};\n}\n","import { sharedActions } from '../actions';\nimport { Action, ActionReducer, createReducer, MetaReducer, on } from '@ngrx/store';\nimport { localStorageSync } from 'ngrx-store-localstorage';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\nimport { EvasysEntityAdapter } from '../essential/redux/adapter/evasys-entity.adapter';\nimport { defaultEvasysState, EvasysState } from '../essential/redux/states/evasys.state';\nimport { EvasysReducerCaseFactory } from '../essential/redux/reducers/evasys-reducer-case.factory';\nimport { getWindowVariable } from '@evasys/globals/shared/helper/window';\n\nexport const notificationAdapter = new EvasysEntityAdapter();\nexport const notificationInitialState: EvasysState =\n\tnotificationAdapter.entity.getInitialState(defaultEvasysState());\nconst notificationReducerCaseFactory = new EvasysReducerCaseFactory(\n\tnotificationAdapter,\n\tsharedActions.fromNotifications\n);\n\nconst { reduceClearActionSet, reduceLoadActionSet } = notificationReducerCaseFactory.reduceEvasysActionSets();\n\nexport const notificationReducer = createReducer(\n\tnotificationInitialState,\n\t...reduceClearActionSet,\n\t...reduceLoadActionSet,\n\ton(\n\t\tsharedActions.fromNotifications.CreateOneActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload }) => notificationAdapter.entity.addOne(payload, state)\n\t),\n\ton(\n\t\tsharedActions.fromNotifications.CreateManyActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload }) => notificationAdapter.entity.addMany(payload, state)\n\t),\n\ton(\n\t\tsharedActions.fromNotifications.DeleteOneActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload }) =>\n\t\t\tnotificationAdapter.entity.removeOne(payload, state)\n\t),\n\ton(\n\t\tsharedActions.fromNotifications.UpdateOneActionSet.DEFAULT,\n\t\t(state: EvasysState, { payload }) =>\n\t\t\tnotificationAdapter.entity.updateOne(payload, state)\n\t)\n);\n\nexport function reducer(state: EvasysState | undefined, action: Action) {\n\treturn notificationReducer(state, action);\n}\n\n//MetaReducer to store the config in localStorage\n\nfunction localStorageSyncReducer(\n\tsyncReducer: ActionReducer>\n): ActionReducer> {\n\treturn localStorageSync({\n\t\tkeys: ['ids', 'entities'],\n\t\trehydrate: true,\n\t\tstorageKeySerializer: (key) =>\n\t\t\t`${\n\t\t\t\tgetWindowVariable('base-href') ? getWindowVariable('base-href') + '_' : ''\n\t\t\t}notification_${key}`,\n\t})(syncReducer);\n}\n\nexport const metaReducers: Array>> = [localStorageSyncReducer];\n","import { EvasysEntityAdapter } from '../essential/redux/adapter/evasys-entity.adapter';\nimport { defaultEvasysState, EvasysState } from '../essential/redux/states/evasys.state';\nimport { EvasysReducerCaseFactory } from '../essential/redux/reducers/evasys-reducer-case.factory';\nimport { Action, ActionReducer, createReducer, MetaReducer, on } from '@ngrx/store';\nimport { localStorageSync } from 'ngrx-store-localstorage';\nimport { EvasysTranslationModel } from '@evasys/globals/evasys/models/general/evasys-translation.model';\nimport { sharedActions } from '../actions/index';\nimport { getWindowVariable } from '@evasys/globals/shared/helper/window';\n\nexport const translationAdapter = new EvasysEntityAdapter();\nexport const translationInitialState: EvasysState = translationAdapter.entity.getInitialState(\n\tdefaultEvasysState()\n);\nconst translationReducerCaseFactory = new EvasysReducerCaseFactory(\n\ttranslationAdapter,\n\tsharedActions.fromTranslate\n);\n\nconst { reduceClearActionSet, reduceLoadActionSet } = translationReducerCaseFactory.reduceEvasysActionSets();\n\nexport const translateReducer = createReducer(\n\ttranslationInitialState,\n\t...reduceClearActionSet,\n\t...reduceLoadActionSet,\n\t//#region reduceTranslate\n\ton(sharedActions.fromTranslate.LoadTranslationSet.DEFAULT, (state: EvasysState) => {\n\t\treturn translationAdapter.load(state);\n\t}),\n\ton(\n\t\tsharedActions.fromTranslate.LoadTranslationSet.SUCCESS,\n\t\t(state: EvasysState, { payload }) => {\n\t\t\treturn translationAdapter.loadManySucceed(payload, state);\n\t\t}\n\t),\n\ton(\n\t\tsharedActions.fromTranslate.LoadTranslationSet.FAILURE,\n\t\t(state: EvasysState, { error }) => ({\n\t\t\t...state,\n\t\t\terror,\n\t\t\tloading: false,\n\t\t})\n\t)\n\t//#endregion reduceTranslate\n);\n\nexport function reducer(state: EvasysState | undefined, action: Action) {\n\treturn translateReducer(state, action);\n}\n\n//MetaReducer to store the config in localStorage\n\nfunction localStorageSyncReducer(\n\treducer: ActionReducer>\n): ActionReducer> {\n\treturn localStorageSync({\n\t\tkeys: ['ids', 'entities', 'pageConfig', 'loadedPages'],\n\t\trehydrate: true,\n\t\tstorageKeySerializer: (key) =>\n\t\t\t`${\n\t\t\t\tgetWindowVariable('base-href') ? getWindowVariable('base-href') + '_' : ''\n\t\t\t}translation_${key}`,\n\t})(reducer);\n}\n\nexport const metaReducers: MetaReducer>[] = [localStorageSyncReducer];\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { userAdapter } from '../reducers/auth-user.reducer';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { EvasysUserModel } from '@evasys/globals/shared/models/general/evasys-user.model';\n\nexport const getUserState = createFeatureSelector>('authUser');\n\nexport const { selectLoading, selectPageConfig, selectPage, selectLoadedPages, selectEntity, selectMany, selectError } =\n\tuserAdapter.getSelectors(getUserState);\nexport const { selectIds, selectEntities, selectAll, selectTotal } = userAdapter.entity.getSelectors(getUserState);\n\nexport const selectAuthenticatedUser = createSelector(\n\tgetUserState,\n\t(state: EvasysState): EvasysUserModel | null => {\n\t\treturn state.ids?.length > 0 ? state.entities[state.ids[0]] : null;\n\t}\n);\n\nexport const selectHasAuthenticatedUserOrError = createSelector(\n\tgetUserState,\n\t(state: EvasysState): boolean => {\n\t\treturn (state.ids && state.ids.length > 0) || !!state.error;\n\t}\n);\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { EvasysTokenModel } from '@evasys/globals/shared/models/general/evasys-token.model';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { authAdapter } from '../reducers/auth.reducer';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\n\nexport const getAuthState = createFeatureSelector>('auth');\n\nexport const {\n\tselectLoading,\n\tselectPageConfig,\n\tselectPage,\n\tselectLoadedPages,\n\tselectEntity,\n\tselectMany,\n\tselectError,\n\tselectHasError,\n} = authAdapter.getSelectors(getAuthState);\nexport const { selectIds, selectEntities, selectAll, selectTotal } = authAdapter.entity.getSelectors(getAuthState);\n\nexport const selectToken = createSelector(getAuthState, (state: EvasysState): EvasysTokenModel => {\n\treturn Object.values(state.entities)[0];\n});\n\nexport const selectHasValidToken = createSelector(getAuthState, (state: EvasysState): boolean => {\n\treturn (\n\t\tstate.ids &&\n\t\tstate.ids.length > 0 &&\n\t\tNumber(Object.values(state.entities)[0].expire_time) > new Date().getTime() &&\n\t\t!state.error\n\t);\n});\n\nexport const selectHasValidTokenOrError = createSelector(\n\tgetAuthState,\n\t(state: EvasysState): boolean => {\n\t\treturn (\n\t\t\t(state.ids &&\n\t\t\t\tstate.ids.length > 0 &&\n\t\t\t\tNumber(Object.values(state.entities)[0]?.expire_time) > new Date().getTime()) ||\n\t\t\t!!state.error\n\t\t);\n\t}\n);\n\nexport const selectLoginMessages = createSelector(\n\tgetAuthState,\n\t(state: EvasysState): EvasysNotificationModel[] => {\n\t\treturn Object.values(state.entities)[0]?.loginAdditionalData?.loginMessages;\n\t}\n);\n\nexport const selectStartPage = createSelector(getAuthState, (state: EvasysState): string => {\n\treturn Object.values(state.entities)[0]?.loginAdditionalData?.userStartPage;\n});\n\nexport const selectCompleteStartPage = createSelector(getAuthState, (state: EvasysState): string => {\n\treturn Object.values(state.entities)[0]?.loginAdditionalData?.userStartPageComplete;\n});\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { configAdapter } from '../reducers/config.reducer';\nimport { ConfigModel } from '@evasys/globals/evasys/models/business/config.model';\n\nexport const getConfigState = createFeatureSelector>('configs');\n\nexport const {\n\tselectLoading,\n\tselectPageConfig,\n\tselectPage,\n\tselectLoadedPages,\n\tselectEntity,\n\tselectMany,\n\tselectError,\n\tselectHasError,\n\tselectManyWithFilter,\n\tselectResponse,\n} = configAdapter.getSelectors(getConfigState);\nexport const { selectIds, selectEntities, selectAll, selectTotal } = configAdapter.entity.getSelectors(getConfigState);\n\nexport function selectConfigWithName(name: string) {\n\treturn createSelector(getConfigState, (state: any) => {\n\t\tconst config: ConfigModel = Object.values(state.entities).filter(\n\t\t\t(entity: ConfigModel) => entity.name === name\n\t\t)[0];\n\t\treturn config;\n\t});\n}\n\nexport function selectConfigsWithName(names: string[]) {\n\treturn createSelector(getConfigState, (state: any) => {\n\t\tconst configs: ConfigModel[] = Object.values(state.entities).filter((entity: ConfigModel) =>\n\t\t\tnames.includes(entity.name)\n\t\t);\n\t\treturn configs;\n\t});\n}\n","import * as fromTranslate from './translate.selectors';\nimport * as fromConfigs from './config.selectors';\nimport * as fromAuth from './auth.selectors';\nimport * as fromAuthUser from './auth-user.selectors';\nimport * as fromNotifications from './notification.selectors';\n\nexport const sharedSelectors = {\n\tfromTranslate,\n\tfromConfigs,\n\tfromAuth,\n\tfromAuthUser,\n\tfromNotifications,\n};\n","import { createFeatureSelector } from '@ngrx/store';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\nimport { notificationAdapter } from '../reducers/notification.reducer';\n\nexport const getNotificationState = createFeatureSelector>('notification');\n\nexport const { selectEntity, selectMany } = notificationAdapter.getSelectors(getNotificationState);\n\nexport const { selectIds, selectEntities, selectAll, selectTotal } =\n\tnotificationAdapter.entity.getSelectors(getNotificationState);\n","import { createFeatureSelector } from '@ngrx/store';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { translationAdapter } from '../reducers/translate.reducer';\nimport { EvasysTranslationModel } from '@evasys/globals/evasys/models/general/evasys-translation.model';\n\nexport const getTranslateState = createFeatureSelector>('translate');\n\nexport const { selectLoading, selectPageConfig, selectPage, selectLoadedPages, selectEntity, selectMany } =\n\ttranslationAdapter.getSelectors(getTranslateState);\nexport const { selectIds, selectEntities, selectAll, selectTotal } =\n\ttranslationAdapter.entity.getSelectors(getTranslateState);\n","import { Injectable } from '@angular/core';\nimport { firstValueFrom, from, Observable } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { sharedSelectors } from '../selectors/index';\nimport { map, switchMap } from 'rxjs/operators';\nimport { UserModelClass } from '../model-classes/user-model.class';\nimport { EvasysUserModel } from '@evasys/globals/shared/models/general/evasys-user.model';\nimport { sharedActions } from '../actions';\nimport { dispatchResult } from '@evasys/shared/util';\nimport { Actions } from '@ngrx/effects';\nimport { ExternalIdUserModel } from '@evasys/globals/evasys/models/business/external-id-user.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class AuthUserService {\n\t//region Getter & Setter\n\tpublic get authenticatedUserObservable(): Observable {\n\t\treturn this.userStore.select(sharedSelectors.fromAuthUser.selectAuthenticatedUser).pipe(\n\t\t\tmap((user) => {\n\t\t\t\tif (user) {\n\t\t\t\t\treturn new UserModelClass(user, this.userStore);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic get authenticatedUserPromise(): Promise {\n\t\treturn firstValueFrom(this.authenticatedUserObservable);\n\t}\n\t//endregion\n\n\tconstructor(private readonly userStore: Store>, private readonly actions: Actions) {}\n\n\t//region Methods\n\n\tpublic authenticateUser(userId: string): Observable {\n\t\tconst result = from(dispatchResult(this.actions, sharedActions.fromAuthUser.AuthenticateUserActionSet)).pipe(\n\t\t\tswitchMap(() => this.userStore.select(sharedSelectors.fromAuthUser.selectAuthenticatedUser))\n\t\t);\n\n\t\tthis.userStore.dispatch(sharedActions.fromAuthUser.AuthenticateUserActionSet.DEFAULT({ payload: userId }));\n\t\treturn result;\n\t}\n\n\tpublic unauthenticateUser(): void {\n\t\tthis.userStore.dispatch(sharedActions.fromAuthUser.UnauthenticateUserActionSet.DEFAULT(null));\n\t}\n\n\tpublic getUserForSwitch(externalId: number): Promise {\n\t\tconst userForSwitch = dispatchResult(this.actions, sharedActions.fromAuthUser.GetUserSwitchDataActionSet).then(\n\t\t\t(result) => {\n\t\t\t\tif (result?.entities !== undefined && Array.isArray(result.entities)) {\n\t\t\t\t\treturn result.entities;\n\t\t\t\t} else {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tthis.userStore.dispatch(\n\t\t\tsharedActions.fromAuthUser.GetUserSwitchDataActionSet.DEFAULT({\n\t\t\t\tpayload: externalId,\n\t\t\t})\n\t\t);\n\n\t\treturn userForSwitch;\n\t}\n\t//endregion\n}\n","import { Injectable } from '@angular/core';\nimport { firstValueFrom, from, Observable } from 'rxjs';\nimport { sharedActions } from '../actions';\nimport { Store } from '@ngrx/store';\nimport { catchError, map } from 'rxjs/operators';\nimport { sharedSelectors } from '../selectors';\nimport { AuthUserService } from './auth-user.service';\nimport { EvasysTokenModel } from '@evasys/globals/shared/models/general/evasys-token.model';\nimport { FacadeService } from '../essential/redux/services/facade.service';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { LoginModel } from '@evasys/globals/evasys/models/business/login.model';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\nimport { GlobalService } from './global.service';\nimport { Actions } from '@ngrx/effects';\nimport { dispatchResult } from '@evasys/shared/util';\nimport { SharedCoreConfiguration } from '../shared-core.configuration';\nimport { EvasysRevocationRequestModel } from '@evasys/globals/shared/models/general/evasys-revocation-request.model';\nimport { EvasysRevokeTokenTypeEnum } from '@evasys/globals/shared/models/general/evasys-revoke-token-type.enum';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class AuthService extends FacadeService {\n\tconstructor(\n\t\tprivate readonly tokenStore: Store>,\n\t\tprivate readonly globalService: GlobalService,\n\t\tprivate readonly userService: AuthUserService,\n\t\tprotected override actions: Actions,\n\t\tprivate readonly sharedCoreConfiguration: SharedCoreConfiguration\n\t) {\n\t\tsuper(tokenStore, sharedActions.fromAuth, sharedSelectors.fromAuth, actions);\n\t}\n\n\tget token(): Observable {\n\t\treturn this.tokenStore.select(sharedSelectors.fromAuth.selectToken);\n\t}\n\n\tpublic login(loginModel: LoginModel): Promise {\n\t\tthis.requestCounter += 1;\n\t\tconst result = dispatchResult(this.actions, sharedActions.fromAuth.LoginActionSet).then((token) => {\n\t\t\tif (token.access_token) {\n\t\t\t\treturn firstValueFrom(this.userService.authenticateUser(token.userid)).then(() => {\n\t\t\t\t\treturn token;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn new Promise(undefined);\n\t\t});\n\n\t\tthis.tokenStore.dispatch(\n\t\t\tsharedActions.fromAuth.LoginActionSet.DEFAULT({\n\t\t\t\tpayload: {\n\t\t\t\t\t...loginModel,\n\t\t\t\t},\n\t\t\t\trequestId: this.requestCounter,\n\t\t\t})\n\t\t);\n\n\t\treturn result;\n\t}\n\n\tpublic async logout() {\n\t\tthis.requestCounter += 1;\n\t\ttry {\n\t\t\tconst token = await firstValueFrom(this.tokenStore.select(sharedSelectors.fromAuth.selectToken));\n\t\t\tif (token && token.access_token) {\n\t\t\t\tconst logoutResult = dispatchResult(this.actions, sharedActions.fromAuth.LogoutActionSet).finally(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.userService.unauthenticateUser();\n\t\t\t\t\t\tthis.globalService.clear();\n\t\t\t\t\t\t//remove localStorage of LocalStorageForm Decorator\n\t\t\t\t\t\tObject.keys(localStorage)\n\t\t\t\t\t\t\t.filter((x) => x.startsWith('LocalStorageForm_'))\n\t\t\t\t\t\t\t.forEach((x) => localStorage.removeItem(x));\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tconst payload: EvasysRevocationRequestModel =\n\t\t\t\t\tthis.sharedCoreConfiguration.api.revokeTokenType === EvasysRevokeTokenTypeEnum.REFRESH_TOKEN\n\t\t\t\t\t\t? { token: token.refresh_token, token_type_hint: EvasysRevokeTokenTypeEnum.REFRESH_TOKEN }\n\t\t\t\t\t\t: { token: token.access_token, token_type_hint: EvasysRevokeTokenTypeEnum.ACCESS_TOKEN };\n\n\t\t\t\tthis.tokenStore.dispatch(\n\t\t\t\t\tsharedActions.fromAuth.LogoutActionSet.DEFAULT({\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\trequestId: this.requestCounter,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\treturn logoutResult;\n\t\t\t} else {\n\t\t\t\treturn Promise.resolve(true);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error('Can not logout: ', err);\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\t}\n\n\tpublic refreshLogin(): Observable {\n\t\treturn from(\n\t\t\tfirstValueFrom(this.tokenStore.select(sharedSelectors.fromAuth.selectToken)).then((token) => {\n\t\t\t\tif (token) {\n\t\t\t\t\tthis.requestCounter += 1;\n\t\t\t\t\tconst result = dispatchResult(this.actions, sharedActions.fromAuth.RefreshActionSet);\n\t\t\t\t\tthis.tokenStore.dispatch(\n\t\t\t\t\t\tsharedActions.fromAuth.RefreshActionSet.DEFAULT({\n\t\t\t\t\t\t\tpayload: token.refresh_token,\n\t\t\t\t\t\t\trequestId: this.requestCounter,\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t\treturn result;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t})\n\t\t).pipe(\n\t\t\tcatchError((err) => {\n\t\t\t\tconsole.error('Can not refresh the token: ', err);\n\t\t\t\tthrow err;\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic hasValidToken(): Observable {\n\t\treturn this.tokenStore.select(sharedSelectors.fromAuth.selectHasValidToken);\n\t}\n\n\tpublic hasToken(): Observable {\n\t\treturn this.tokenStore.select(sharedSelectors.fromAuth.selectToken).pipe(map((token) => !!token));\n\t}\n\n\tpublic getLoginMessages(): Observable {\n\t\treturn this.tokenStore.select(sharedSelectors.fromAuth.selectLoginMessages);\n\t}\n\n\tpublic getStartPage(): Observable {\n\t\treturn this.tokenStore.select(sharedSelectors.fromAuth.selectStartPage);\n\t}\n\n\tpublic getCompleteStartPage(): Observable {\n\t\treturn this.tokenStore.select(sharedSelectors.fromAuth.selectCompleteStartPage);\n\t}\n\n\tpublic clear(): void {\n\t\tthis.tokenStore.dispatch(\n\t\t\tsharedActions.fromAuth.ClearActionSet.DEFAULT({\n\t\t\t\tpayload: undefined,\n\t\t\t})\n\t\t);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigModel } from '@evasys/globals/evasys/models/business/config.model';\nimport { Store } from '@ngrx/store';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { firstValueFrom, Observable, throwError } from 'rxjs';\nimport { sharedSelectors } from '../selectors';\nimport { sharedActions } from '../actions';\nimport { loadData } from '@evasys/shared/util';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { FacadeService } from '../essential/redux/services/facade.service';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { catchFailure } from '../../../../util/src/lib/rxjs/rxjs.functions';\nimport { Actions } from '@ngrx/effects';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ConfigService extends FacadeService {\n\tconstructor(private configStore: Store>, protected override actions: Actions) {\n\t\tsuper(configStore, sharedActions.fromConfigs, sharedSelectors.fromConfigs, actions);\n\t}\n\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tpublic getOneConfigObservable(\n\t\tid: string,\n\t\tloadingStrategy = EvasysLoadingStrategiesEnum.APIONLY\n\t): Observable {\n\t\treturn this.configStore.select(sharedSelectors.fromConfigs.selectConfigWithName(id)).pipe(\n\t\t\tloadData(\n\t\t\t\t() =>\n\t\t\t\t\tthis.configStore.dispatch(sharedActions.fromConfigs.LoadOneWithConfigName.DEFAULT({ payload: id })),\n\t\t\t\t() => this.configStore.select(sharedSelectors.fromConfigs.selectLoading),\n\t\t\t\tloadingStrategy,\n\t\t\t\tfalse\n\t\t\t),\n\t\t\tmap((config: ConfigModel) => (config?.value as T) || null),\n\t\t\ttap((configValue) => {\n\t\t\t\tif (configValue === null) {\n\t\t\t\t\tconsole.error('Can not get configuration with name: ', id);\n\t\t\t\t}\n\t\t\t}),\n\t\t\tcatchError((err) => throwError('Can not load Evasys-Config: ' + err))\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tpublic getOneConfigPromise(id: string, loadingStrategy = EvasysLoadingStrategiesEnum.APIONLY) {\n\t\treturn firstValueFrom(this.getOneConfigObservable(id, loadingStrategy));\n\t}\n\n\t/**\n\t * @deprecated use the simple get-Method\n\t */\n\tgetManyConfigs(names: string[], loadingStrategy: EvasysLoadingStrategiesEnum) {\n\t\treturn catchFailure(\n\t\t\tthis.store.select(sharedSelectors.fromConfigs.selectConfigsWithName(names)),\n\t\t\tthis.store.select(sharedSelectors.fromConfigs.selectError)\n\t\t).pipe(\n\t\t\tloadData(\n\t\t\t\t() =>\n\t\t\t\t\tthis.store.dispatch(\n\t\t\t\t\t\tsharedActions.fromConfigs.LoadManyActionSet.DEFAULT({\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tids: names,\n\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\tpageSize: -1,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t() => this.store.select(sharedSelectors.fromConfigs.selectLoading),\n\t\t\t\tloadingStrategy,\n\t\t\t\ttrue,\n\t\t\t\tnames.length\n\t\t\t),\n\t\t\tmap(\n\t\t\t\t(entities: ConfigModel[]) =>\n\t\t\t\t\tentities.reduce((result, entity) => {\n\t\t\t\t\t\tconst key = entity.name;\n\t\t\t\t\t\tresult[key] = entity?.value || null;\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}, {}) as any\n\t\t\t)\n\t\t);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport get = Reflect.get;\nimport { sharedActions } from '../actions';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class GlobalService {\n\tconstructor(private readonly globalStore: Store) {}\n\n\tpublic isLoading(): Observable {\n\t\treturn this.globalStore.pipe(\n\t\t\tmap((sub) => Object.keys(sub).map((key) => get(sub, key).loading as boolean)),\n\t\t\tmap((allLoadingStates) => allLoadingStates.includes(true))\n\t\t);\n\t}\n\n\tpublic clear(): void {\n\t\tthis.globalStore.dispatch(sharedActions.fromGlobal.ClearActionSet.DEFAULT({ payload: undefined }));\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { Store } from '@ngrx/store';\nimport { sharedSelectors } from '../selectors';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\nimport { ActivatedRoute } from '@angular/router';\nimport { NotificationEnum } from '@evasys/globals/shared/enums/component/notification.enum';\nimport { sharedActions } from '../actions';\nimport { Update } from '@ngrx/entity';\nimport { EvasysNotificationActionModel } from '@evasys/globals/shared/models/evasys-notification-action.model';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class NotificationService {\n\tconstructor(\n\t\tprivate readonly notificationStore: Store>,\n\t\tprivate readonly activatedRoute: ActivatedRoute\n\t) {\n\t\tthis.listenToQueryParams();\n\t}\n\n\tpublic getAll() {\n\t\treturn this.notificationStore.select(sharedSelectors.fromNotifications.selectAll);\n\t}\n\n\tpublic getAllForCollection() {\n\t\treturn this.notificationStore.select(sharedSelectors.fromNotifications.selectAll).pipe(\n\t\t\tmap((notifications) => {\n\t\t\t\treturn notifications.filter((notification) => {\n\t\t\t\t\treturn notification.showInCollection;\n\t\t\t\t});\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic createOne(notification: EvasysNotificationModel) {\n\t\tthis.notificationStore.dispatch(\n\t\t\tsharedActions.fromNotifications.CreateOneActionSet.DEFAULT({\n\t\t\t\tpayload: notification,\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic createMany(notifications: EvasysNotificationModel[]) {\n\t\tthis.notificationStore.dispatch(\n\t\t\tsharedActions.fromNotifications.CreateManyActionSet.DEFAULT({\n\t\t\t\tpayload: notifications,\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic updateOne(notificationUpdate: Update) {\n\t\tthis.notificationStore.dispatch(\n\t\t\tsharedActions.fromNotifications.UpdateOneActionSet.DEFAULT({\n\t\t\t\tpayload: notificationUpdate,\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic addNotification(\n\t\tseverity: NotificationEnum,\n\t\tmessage: string,\n\t\tid: string,\n\t\tshowInCollection?: boolean,\n\t\taction?: EvasysNotificationActionModel\n\t) {\n\t\tthis.createOne({ severity, message, id, displayed: false, showInCollection, action });\n\t}\n\n\tpublic deleteOne(id: string) {\n\t\tthis.notificationStore.dispatch(\n\t\t\tsharedActions.fromNotifications.DeleteOneActionSet.DEFAULT({\n\t\t\t\tpayload: id,\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic clear() {\n\t\tthis.notificationStore.dispatch(sharedActions.fromNotifications.ClearActionSet.DEFAULT(undefined));\n\t}\n\n\tprivate listenToQueryParams() {\n\t\tthis.activatedRoute.queryParams.subscribe((params) => {\n\t\t\tif (\n\t\t\t\tparams?.messageType &&\n\t\t\t\tparams?.message &&\n\t\t\t\tObject.keys(NotificationEnum).includes(params.messageType) &&\n\t\t\t\ttypeof params.message === 'string'\n\t\t\t) {\n\t\t\t\tthis.addNotification(NotificationEnum[params.messageType], params.message, 'queryParam');\n\t\t\t}\n\t\t});\n\t}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { EvasysState } from '../essential/redux/states/evasys.state';\nimport { EvasysTranslationModel } from '@evasys/globals/evasys/models/general/evasys-translation.model';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { loadData } from '@evasys/shared/util';\nimport { map } from 'rxjs/operators';\nimport { sharedSelectors } from '../selectors/index';\nimport { sharedActions } from '../actions/index';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class TranslateService {\n\t//region Injections\n\tprivate readonly translationStore = inject(Store>);\n\n\tpublic getTranslation(language: string, prefix: string[] = []): Observable {\n\t\treturn this.translationStore.select(sharedSelectors.fromTranslate.selectEntities).pipe(\n\t\t\tmap((translations) => {\n\t\t\t\t//go through all ids and check whether every prefix is contained in an id\n\t\t\t\tconst areAllFilesLoaded = (prefixes, translations, language) => {\n\t\t\t\t\tconst ids = Object.keys(translations);\n\n\t\t\t\t\treturn prefixes.every((prefix) => !!ids.find((id) => id.includes(prefix) && id.includes(language)));\n\t\t\t\t};\n\n\t\t\t\tif (areAllFilesLoaded(prefix, translations, language)) {\n\t\t\t\t\treturn translations;\n\t\t\t\t} else {\n\t\t\t\t\treturn {};\n\t\t\t\t}\n\t\t\t}),\n\t\t\tloadData(\n\t\t\t\t() =>\n\t\t\t\t\tthis.translationStore.dispatch(\n\t\t\t\t\t\tsharedActions.fromTranslate.LoadTranslationSet.DEFAULT({\n\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\tlanguage,\n\t\t\t\t\t\t\t\tprefix,\n\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t() => this.translationStore.select(sharedSelectors.fromTranslate.selectLoading),\n\t\t\t\tEvasysLoadingStrategiesEnum.STATEFALLBACKAPI\n\t\t\t),\n\t\t\tmap((data) => Object.assign({}, ...Object.values(data).map((translation) => translation.translations)))\n\t\t);\n\t}\n\n\tpublic clear() {\n\t\tthis.translationStore.dispatch(sharedActions.fromTranslate.ClearActionSet.DEFAULT(undefined));\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, pairwise, shareReplay, startWith } from 'rxjs';\nimport { Event, NavigationEnd, Router } from '@angular/router';\nimport { filter, map } from 'rxjs/operators';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class UrlService {\n\tpublic previousUrl$: Observable;\n\n\tconstructor(router: Router) {\n\t\tthis.previousUrl$ = router.events.pipe(\n\t\t\tfilter(UrlService.isNavigationEnd),\n\t\t\tpairwise(),\n\t\t\tmap(([previous]) => previous.url),\n\t\t\tstartWith(null),\n\t\t\tshareReplay(1)\n\t\t);\n\t}\n\n\tprivate static isNavigationEnd(event: Event): event is NavigationEnd {\n\t\treturn event instanceof NavigationEnd;\n\t}\n\n\tinitialize() {\n\t\t// trigger the URL tracking\n\t\tthis.previousUrl$\n\t\t\t.subscribe(() => {\n\t\t\t\t/* this is intentional */\n\t\t\t})\n\t\t\t.unsubscribe();\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { EvasysUserModel } from '@evasys/globals/shared/models/general/evasys-user.model';\nimport { ExternalIdUserModel } from '@evasys/globals/evasys/models/business/external-id-user.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport abstract class SharedCoreConfiguration {\n\tpublic abstract api: {\n\t\tauth: string;\n\t\tuser: string;\n\t\ttranslation: string;\n\t\tconfig: string;\n\t\tbaseUrl: string;\n\t\trevokeTokenType: string;\n\t};\n\n\tpublic abstract auth: {\n\t\tclientId: string;\n\t\tclientSecret: string;\n\t};\n\n\tpublic abstract userMap: (apiData: any) => EvasysUserModel | ExternalIdUserModel;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from './modules/translate.module';\nimport { ConfigsModule } from './modules/config.module';\nimport { AuthModule } from './modules/auth.module';\nimport { AuthUserModule } from './modules/auth-user.module';\nimport { SharedCoreConfiguration } from './shared-core.configuration';\nimport { NotificationModule } from './modules/notification.module';\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tRouterModule,\n\n\t\tAuthUserModule,\n\t\tConfigsModule,\n\t\tTranslateModule,\n\t\tAuthModule,\n\t\tNotificationModule,\n\t],\n})\nexport class SharedCoreModule {\n\tstatic forRoot(config: SharedCoreConfiguration): ModuleWithProviders {\n\t\treturn {\n\t\t\tngModule: SharedCoreModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: SharedCoreConfiguration,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n","export * from './lib/shared-feature.module';\nexport * from './lib/auth/guards/auth.guard';\nexport * from './lib/auth/guards/logout.guard';\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, UrlSerializer, UrlTree } from '@angular/router';\nimport { from, Observable, of } from 'rxjs';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { switchMap } from 'rxjs/operators';\nimport { AuthService, AuthUserService } from '@evasys/shared/core';\nimport { omit } from 'lodash';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class AuthGuard {\n\tconstructor(\n\t\tprivate readonly router: Router,\n\t\tprivate readonly authService: AuthService,\n\t\tprivate readonly authUserService: AuthUserService,\n\t\tprivate readonly urlSerializer: UrlSerializer\n\t) {}\n\n\tcanActivate(route: ActivatedRouteSnapshot): Observable {\n\t\tconst userRights = route.data.rights;\n\t\tconst userLevels = route.data.levels;\n\n\t\treturn this.authUserService.authenticatedUserObservable.pipe(\n\t\t\tswitchMap((user) => {\n\t\t\t\tif (route.data.addRedirectAndSessionUrlParams && route.queryParams['forwardinfo']) {\n\t\t\t\t\tconst redirectUrl = this.urlSerializer.serialize(\n\t\t\t\t\t\tthis.router.createUrlTree(\n\t\t\t\t\t\t\troute.url.map((segment) => segment.path),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tqueryParams: omit(route.queryParams, 'forwardinfo'),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\tconst loginUrl = this.urlSerializer.serialize(\n\t\t\t\t\t\tthis.router.createUrlTree([], {\n\t\t\t\t\t\t\tqueryParams: {\n\t\t\t\t\t\t\t\tredirectUrl,\n\t\t\t\t\t\t\t\tforwardinfo: route.queryParams['forwardinfo'],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t\treturn from(\n\t\t\t\t\t\tthis.authService\n\t\t\t\t\t\t\t.logout()\n\t\t\t\t\t\t\t.then(() => this.router.parseUrl(loginUrl))\n\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\treturn this.router.parseUrl('');\n\t\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t} else if (user && (userRights === null || user.isAuthorized(userRights))) {\n\t\t\t\t\treturn of(true);\n\t\t\t\t} else if (\n\t\t\t\t\t(user && !!userRights.find((userRight) => user.userRights?.includes(userRight))) ||\n\t\t\t\t\t(user && !!userLevels.includes(user.level))\n\t\t\t\t) {\n\t\t\t\t\tconst newActiveRole = userRights.find(\n\t\t\t\t\t\t(userRight) => userRight !== UserRightsEnum.FIRSTADMIN && user.userRights.includes(userRight)\n\t\t\t\t\t);\n\t\t\t\t\tuser.changeActiveRole(newActiveRole);\n\t\t\t\t\treturn of(true);\n\t\t\t\t} else {\n\t\t\t\t\treturn from(\n\t\t\t\t\t\tthis.authService\n\t\t\t\t\t\t\t.logout()\n\t\t\t\t\t\t\t.then(() => this.router.parseUrl(''))\n\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\treturn this.router.parseUrl('');\n\t\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { UrlTree } from '@angular/router';\nimport { from, Observable, of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { AuthService } from '@evasys/shared/core';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class LogoutGuard {\n\tpublic constructor(private readonly authService: AuthService) {}\n\n\tpublic canActivate(): Observable {\n\t\treturn this.authService.hasToken().pipe(\n\t\t\tswitchMap((isAuthenticated) => {\n\t\t\t\t//Hat Token und ist nicht abgelaufen\n\t\t\t\tif (isAuthenticated) {\n\t\t\t\t\treturn from(this.authService.logout());\n\t\t\t\t} else {\n\t\t\t\t\treturn of(true);\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { BehaviorSubject, from, Observable, of, throwError } from 'rxjs';\nimport { catchError, filter, finalize, switchMap, take } from 'rxjs/operators';\nimport { AuthService } from '@evasys/shared/core';\nimport { EvasysTokenModel } from '@evasys/globals/shared/models/general/evasys-token.model';\nimport { EvasysGrantEnum } from '@evasys/globals/shared/enums/general/evasys-grant.enum';\nimport { SharedFeatureConfiguration } from '../../shared-feature.configuration';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class Oauth2Interceptor implements HttpInterceptor {\n\tprivate isRefreshing = false;\n\tprivate refreshTokenSubject = new BehaviorSubject(null);\n\n\tconstructor(private readonly config: SharedFeatureConfiguration, private readonly authService: AuthService) {}\n\n\thandle401Error(req: HttpRequest, next: HttpHandler, error: HttpErrorResponse): Observable> {\n\t\tif (!this.isRefreshing) {\n\t\t\tthis.isRefreshing = true;\n\t\t\tthis.refreshTokenSubject.next(null);\n\n\t\t\treturn this.authService.refreshLogin().pipe(\n\t\t\t\tswitchMap((newToken: EvasysTokenModel | null) => {\n\t\t\t\t\tif (newToken) {\n\t\t\t\t\t\tthis.refreshTokenSubject.next(newToken.access_token);\n\n\t\t\t\t\t\treturn next.handle(this.addHeader(req, newToken.access_token)).pipe(\n\t\t\t\t\t\t\tcatchError((error) => {\n\t\t\t\t\t\t\t\treturn of(error);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn from(\n\t\t\t\t\t\t\tthis.authService.logout().then((logout) => {\n\t\t\t\t\t\t\t\tconsole.info('user logout on refresh the token - no token', logout);\n\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t\treturn logout;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tcatchError((error) => {\n\t\t\t\t\treturn from(\n\t\t\t\t\t\tthis.authService\n\t\t\t\t\t\t\t.logout()\n\t\t\t\t\t\t\t.then((logout) => {\n\t\t\t\t\t\t\t\tconsole.info('user logout - token error response: 401', logout);\n\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t\treturn throwError(() => error);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\t\tconsole.error('user logout failed - ', err);\n\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t\treturn throwError(() => error);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t\t\tfinalize(() => {\n\t\t\t\t\tthis.isRefreshing = false;\n\t\t\t\t})\n\t\t\t);\n\t\t} else {\n\t\t\t//The error response for the logout after failing refresh must pass.\n\t\t\t//Otherwise the logout never get a response and we get a white page\n\t\t\tif (req.url.includes('revoke')) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\treturn this.refreshTokenSubject.pipe(\n\t\t\t\tfilter((token) => token != null),\n\t\t\t\ttake(1),\n\t\t\t\tswitchMap((accessToken) => {\n\t\t\t\t\treturn next.handle(this.addHeader(req, accessToken));\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> {\n\t\tif (\n\t\t\t(!request.body || request.body.grant_type !== EvasysGrantEnum.PASSWORD) &&\n\t\t\tthis.config.isApiUrl(request.url)\n\t\t) {\n\t\t\treturn this.authService.token.pipe(\n\t\t\t\ttake(1),\n\t\t\t\tswitchMap((token) => next.handle(this.addHeader(request, token?.access_token))),\n\t\t\t\tcatchError((error) => {\n\t\t\t\t\tif (error instanceof HttpErrorResponse && error.status === 401) {\n\t\t\t\t\t\treturn this.handle401Error(request, next, error);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.config.catchAllHttpErrors ? of(error) : throwError(() => error);\n\t\t\t\t})\n\t\t\t);\n\t\t} else {\n\t\t\treturn next.handle(request);\n\t\t}\n\t}\n\n\tprivate addHeader(request: HttpRequest, accessToken): HttpRequest {\n\t\tconst headers = {};\n\t\tif (accessToken) {\n\t\t\tif ((request?.body as any)?.grant_type !== 'refresh_token') {\n\t\t\t\tObject.assign(headers, { Authorization: `Bearer ${accessToken}` });\n\t\t\t}\n\t\t} else if (this.config.clientSecret != null) {\n\t\t\tObject.assign(headers, { Eva: this.config.clientSecret });\n\t\t}\n\n\t\tif (!(request?.body instanceof FormData)) {\n\t\t\tObject.assign(headers, { 'Content-Type': 'application/json' });\n\t\t}\n\n\t\treturn request.clone({\n\t\t\tsetHeaders: headers,\n\t\t});\n\t}\n}\n","import { Component, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Animations } from '@evasys/globals/shared/animations/angular/animations';\nimport { NotificationEnum } from '@evasys/globals/shared/enums/component/notification.enum';\nimport { NgbAlertConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\nimport { FacadeService, NotificationService } from '@evasys/shared/core';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\nimport { Update } from '@ngrx/entity';\nimport { ServiceInjectorMapper } from '@evasys/globals/evasys/mapper/general/service-injector-mapper';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { EndpointsEnum } from '@evasys/globals/evasys/api/endpoints.enum';\nimport {\n\tUpdateErrorMessageMapper,\n\tUpdateSuccessMessageMapper,\n} from '@evasys/globals/evasys/api/mapper/update-message.mapper';\n\n@Component({\n\tselector: 'evasys-notification',\n\ttemplateUrl: './dynamic-notification.component.html',\n\tstyleUrls: ['./dynamic-notification.component.scss'],\n\tproviders: [NgbAlertConfig],\n\tanimations: [Animations.popAnimation],\n})\nexport class DynamicNotificationComponent implements OnInit, OnDestroy {\n\t//region Variables\n\tpublic notifications: EvasysNotificationModel[] = [];\n\tpublic buttonDesign = ButtonDesignEnum;\n\tprivate notificationsSubscription: Subscription;\n\n\t//endregion\n\n\tconstructor(\n\t\tprivate readonly notificationService: NotificationService,\n\t\tprivate readonly alertConfig: NgbAlertConfig,\n\t\tprivate readonly injector: Injector,\n\t\tprivate readonly translateService: TranslocoService\n\t) {}\n\n\t//region events\n\n\tngOnInit(): void {\n\t\tthis.alertConfig.dismissible = false;\n\t\tthis.handleNotifications();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.notificationsSubscription.unsubscribe();\n\t}\n\n\tonClosed(notification: EvasysNotificationModel) {\n\t\tconst index = this.notifications.indexOf(notification);\n\t\tif (index !== -1) {\n\t\t\tthis.notifications.splice(index, 1);\n\t\t\tif (!notification.showInCollection) {\n\t\t\t\tthis.notificationService.deleteOne(notification.id);\n\t\t\t}\n\t\t}\n\t}\n\n\tonApiCallAction(notification: EvasysNotificationModel) {\n\t\tconst service = this.injector.get>(ServiceInjectorMapper[notification.action.apiRoute]);\n\n\t\tlet update: Update = {\n\t\t\tid: notification.action.endpoint,\n\t\t\tchanges: notification.action.queryParams,\n\t\t};\n\n\t\tservice\n\t\t\t.updateOne(update)\n\t\t\t.then((response) => {\n\t\t\t\tthis.notificationService.addNotification(\n\t\t\t\t\tNotificationEnum.SUCCESS,\n\t\t\t\t\tthis.translateService.translate(\n\t\t\t\t\t\tUpdateSuccessMessageMapper.get(notification.action.apiRoute as EndpointsEnum)\n\t\t\t\t\t),\n\t\t\t\t\tresponse.configid,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tthis.notificationService.addNotification(\n\t\t\t\t\tNotificationEnum.WARNING,\n\t\t\t\t\tthis.translateService.translate(\n\t\t\t\t\t\tUpdateErrorMessageMapper.get(notification.action.apiRoute as EndpointsEnum)\n\t\t\t\t\t),\n\t\t\t\t\t'update_error',\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t});\n\t\tthis.notificationService.deleteOne(notification.id);\n\t}\n\n\t//endregion\n\n\t//region methods\n\n\tasCssClass(type: NotificationEnum) {\n\t\tconst keys = Object.keys(NotificationEnum).filter((x) => NotificationEnum[x] == type);\n\t\treturn keys.length > 0 ? keys[0] : null;\n\t}\n\n\tprivate handleNotifications() {\n\t\tthis.notificationsSubscription = this.notificationService.getAll().subscribe((notifications) => {\n\t\t\tnotifications\n\t\t\t\t.filter((notification) => !notification?.displayed)\n\t\t\t\t.forEach((notification) => {\n\t\t\t\t\tif (!!notification) {\n\t\t\t\t\t\t// set a flag to the state of the notification as it was displayed to the user.\n\t\t\t\t\t\t// interactionLink is added as Mock-data, as it will be added to the model in a later story\n\t\t\t\t\t\tconst update: Update = {\n\t\t\t\t\t\t\tid: notification.id,\n\t\t\t\t\t\t\tchanges: {\n\t\t\t\t\t\t\t\tdisplayed: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.notificationService.updateOne(update);\n\t\t\t\t\t\t// min: 5 sec, max: 10 sec, from 1 to 5: one second per element\n\t\t\t\t\t\tconst duration =\n\t\t\t\t\t\t\t5000 + (this.notifications.length <= 5 ? this.notifications.length * 1000 : 5000);\n\t\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, duration)).then(() => this.onClosed(notification));\n\t\t\t\t\t\tthis.notifications.push(notification);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t});\n\t}\n\n\t//endregion\n}\n","
\n\t\n\t\t\n\t\t\t\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{{ notification.action?.text }}\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t
\n
\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class SharedFeatureConfiguration {\n\tclientSecret: string;\n\tcatchAllHttpErrors?: boolean;\n\tisApiUrl: (url: string) => boolean;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DynamicNotificationComponent } from './notification/components/dynamic-notification/dynamic-notification.component';\nimport { NgbAlertModule } from '@ng-bootstrap/ng-bootstrap';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthGuard } from './auth/guards/auth.guard';\nimport { Oauth2Interceptor } from './auth/interceptors/oauth2.interceptor';\nimport { SharedFeatureConfiguration } from './shared-feature.configuration';\nimport { SharedCoreModule } from '@evasys/shared/core';\nimport { SharedUtilModule } from '@evasys/shared/util';\nimport { SharedUiModule } from '@evasys/shared/ui';\n\n@NgModule({\n\timports: [CommonModule, NgbAlertModule, SharedCoreModule, SharedUtilModule, SharedUiModule],\n\tdeclarations: [DynamicNotificationComponent],\n\texports: [DynamicNotificationComponent],\n\tproviders: [\n\t\tAuthGuard,\n\t\t{\n\t\t\tprovide: HTTP_INTERCEPTORS,\n\t\t\tuseClass: Oauth2Interceptor,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class SharedFeatureModule {\n\tstatic forRoot(config: SharedFeatureConfiguration): ModuleWithProviders {\n\t\treturn {\n\t\t\tngModule: SharedFeatureModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: SharedFeatureConfiguration,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n","export * from './lib/shared-ui.module';\nexport * from './lib/components/dynamic-components/modal/modal/modal.component';\nexport * from './lib/components/control-components/dropdown/dropdown/dropdown.component';\nexport * from './lib/components/dynamic-components/select-area-pipe/select-area-pipe.component';\nexport * from './lib/components/control-components/select-area/select-area.component';\nexport * from './lib/components/dynamic-components/tabs/tabitem.interface';\nexport * from './lib/components/dynamic-components/breadcrumb/breadcrumb.interface';\nexport * from './lib/components/app-shell-components/legal-notice/legal-notice.service';\nexport * from './lib/popover/max-size/popper-options';\nexport * from './lib/components/control-components/dropdown/old/typeahead/typeahead.component';\nexport * from './lib/components/control-components/dropdown/old/chip-typeahead/chip-typeahead.component';\nexport * from './lib/components/app-shell-components/product-menu/src/product-menu/product-menu-item.interface';\nexport * from './lib/components/control-components/dropdown/dropdown.module';\nexport * from './lib/components/control-components/textbox/textbox.module';\nexport * from './lib/components/static-components/table/table/table.component';\nexport * from './lib/components/dynamic-components/step-filter/step-filter.module';\nexport * from './lib/components/template-components/page/page.module';\nexport * from './lib/components/static-components/header/header.module';\nexport * from './lib/components/control-components/selector/selector.module';\nexport * from './lib/components/static-components/loading/loading.module';\nexport * from './lib/components/static-components/table/table.module';\nexport * from './lib/components/static-components/button/button.module';\nexport * from './lib/components/static-components/loading/loading/loading.component';\nexport * from './lib/directives/image/image.module';\nexport * from './lib/components/control-components/checkbox/checkbox.module';\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-footer',\n\ttemplateUrl: './footer.component.html',\n\t// We don't use this to set global style, for some reason without this\n\t// angular filters the style-attributes in our footer-text, making\n\t// things like DEV-version not marked in red.\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class FooterComponent {\n\t//region Input & Output\n\n\t@Input()\n\tpublic footerText?: string;\n\n\t//endregion\n}\n","
\n\t
\n\t\n
\n","import { Component, Input } from '@angular/core';\nimport { LegalNoticeService } from './legal-notice.service';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\nimport { of } from 'rxjs';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-legal-notice',\n\ttemplateUrl: './legal-notice.component.html',\n})\nexport class LegalNoticeComponent {\n\t@Required()\n\t@Input()\n\tid: string;\n\tpublic get text() {\n\t\treturn this.config.translations.legalNotice.text;\n\t}\n\n\tpublic get link() {\n\t\treturn this.config.translations.legalNotice.link;\n\t}\n\n\tpublic get isScantronLicense() {\n\t\treturn this.legalNoticeService.isScantronObservable ?? of(false);\n\t}\n\n\tconstructor(\n\t\tpublic readonly legalNoticeService: LegalNoticeService,\n\t\tpublic readonly config: SharedUiConfiguration\n\t) {}\n}\n","\n\t{{ text | transloco }}\n\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class LegalNoticeService {\n\tprivate _isVisible = false;\n\tprivate _isScantronObservable: Observable;\n\n\tpublic set isScantronObservable(isScantronObservable: Observable) {\n\t\tthis._isScantronObservable = isScantronObservable;\n\t}\n\n\tpublic get isScantronObservable() {\n\t\treturn this._isScantronObservable;\n\t}\n\n\tpublic set isVisible(visible: boolean) {\n\t\tthis._isVisible = visible;\n\t}\n\tpublic get isVisible(): boolean {\n\t\treturn this._isVisible;\n\t}\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MenuitemModel } from '@evasys/globals/evasys/models/component/menu-item.model';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-menu',\n\ttemplateUrl: './menu.component.html',\n\tstyleUrls: ['./menu.component.scss'],\n})\nexport class MenuComponent {\n\t//#region Input & Output\n\t@Input()\n\t@Required()\n\tid?: string;\n\n\t@Input()\n\tmenuItems: MenuitemModel[] = [];\n\n\t@Input()\n\ttitle = 'empty';\n\n\t@Input()\n\tactive = 0;\n\n\t@Output()\n\tactiveChange = new EventEmitter();\n\n\t@Input()\n\tlabelRight = false;\n\n\t//#endregion Input & Output\n\n\t//#region Variables\n\n\t//#endregion Variables\n\n\t//#region Events\n\n\tonActiveChange(id: number) {\n\t\tthis.activeChange.emit(id);\n\t\t//if is function\n\t\tif (this.menuItems[id]?.callback && {}.toString.call(this.menuItems[id]?.callback) === '[object Function]') {\n\t\t\tthis.menuItems[id].callback();\n\t\t}\n\t}\n\n\t//#endregion Events\n}\n","
\n\t

\n\t\t{{ title }}\n\t

\n
\n\n\n\t
  • \n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t{{ menuitem.title }}\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{{ menuitem.title }}\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t
  • \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\nimport { EvasysNotificationActionModel } from '@evasys/globals/shared/models/evasys-notification-action.model';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\nimport { Animations } from '@evasys/globals/shared/animations/animations';\n\n@Component({\n\tselector: 'evasys-notification-collection',\n\ttemplateUrl: './notification-collection.component.html',\n\tanimations: [Animations.yGrowAnimation('0px', '*'), Animations.nestedAnimations],\n})\nexport class NotificationCollectionComponent {\n\t//#region Input & Output\n\n\t@Input()\n\tid: string;\n\n\t@Input()\n\tnotifications: EvasysNotificationModel[] = [];\n\n\t@Output()\n\tpublic deleteAction: EventEmitter = new EventEmitter();\n\n\t@Output()\n\tpublic apiCallAction: EventEmitter =\n\t\tnew EventEmitter();\n\n\t//#endregion\n\n\t//#region Variables\n\n\tpublic collapsed = true;\n\n\t//#endregion\n\n\tpublic constructor(public readonly config: SharedUiConfiguration) {}\n\n\t//#region Events\n\n\tpublic onCollapseToggle(): void {\n\t\tthis.collapsed = !this.collapsed;\n\t}\n\n\tonDeleteAction(notificationId: string): void {\n\t\tthis.deleteAction.emit(notificationId);\n\t}\n\n\tonApiCallAction(action: EvasysNotificationActionModel): void {\n\t\tthis.apiCallAction.emit(action);\n\t}\n\n\t//#endregion\n}\n","\n\t 0\" [id]=\"'notificationAvailable'\">\n\t\t\n\t\n\n\n\n\t\n\t\t\n\t\t\t{{ 'S_NO_MESSAGES_AVAILABLE' | transloco }}\n\t\t\n\t\t\n\t\t\t
    \n\t\t\t\t

    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t\t\t{{ notification.action?.text }}\n\t\t\t\n\t\t\n\t\n\n","import { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\n\nexport interface ProductMenuItem {\n\tid: string;\n\tname: string;\n\turl?: URL | string;\n\trights?: UserRightsEnum[];\n\tisActive?: boolean;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-product-menu-item',\n\ttemplateUrl: './product-menu-item.component.html',\n})\nexport class ProductMenuItemComponent {\n\t@Input()\n\tid: string;\n\n\t@Input()\n\tname: string;\n\n\t@Input()\n\tlogo: string;\n\n\t@Input()\n\turl: URL | string;\n\n\tget href() {\n\t\treturn this.url instanceof URL ? this.url.href : this.url;\n\t}\n}\n","\n\t{{ name }}\n\n","import { Component, Input } from '@angular/core';\nimport { SharedUiConfiguration } from '../../../../../shared-ui.configuration';\n\n@Component({\n\tselector: 'evasys-product-menu',\n\ttemplateUrl: './product-menu.component.html',\n})\nexport class ProductMenuComponent {\n\t@Input()\n\trefreshMethod?: () => Promise;\n\n\t@Input()\n\tproductstranslation?: string;\n\t@Input()\n\tswitchtotranslation?: string;\n\n\t@Input()\n\tswitchlogo?: string;\n\n\t@Input()\n\trenderOnOpen = false;\n\n\tisOpen = false;\n\n\tprivate expireTime = 15 * 60 * 1000;\n\tlastRefresh?: number;\n\n\tconstructor(public readonly config: SharedUiConfiguration) {}\n\n\tonOpenStateChange(isOpen: boolean) {\n\t\tif (this.refreshMethod && isOpen && (!this.lastRefresh || Date.now() - this.lastRefresh >= this.expireTime)) {\n\t\t\tthis.refreshMethod()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.lastRefresh = Date.now();\n\t\t\t\t\tthis.isOpen = isOpen;\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.error('Can not refresh the product urls: ', err);\n\t\t\t\t});\n\t\t} else {\n\t\t\tthis.isOpen = isOpen;\n\t\t}\n\t}\n}\n","
    \n\t\n\n\t\n\t\t{{\n\t\t\tswitchtotranslation ?? (config.translations.productsMenu.switchTo | transloco)\n\t\t}}\n\t\t\n\t
    \n\n","import { NgModule } from '@angular/core';\nimport { ProductMenuComponent } from './product-menu.component';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { ProductMenuItemComponent } from './product-menu-item/product-menu-item.component';\nimport { ImageModule } from '../../../../../directives/image/image.module';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n\tdeclarations: [ProductMenuComponent, ProductMenuItemComponent],\n\timports: [CommonModule, TranslocoModule, ImageModule],\n\texports: [ProductMenuComponent, ProductMenuItemComponent],\n})\nexport class ProductMenuModule {}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ScreenService, ScreenSizes } from '../../../../../../util/src/lib/screen/services/screen.service';\nimport { Observable } from 'rxjs';\nimport { FormBuilder } from '@angular/forms';\nimport { Validations } from '@evasys/globals/shared/validations/validations';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\n\nenum MenuState {\n\tNONE,\n\tSEARCHING,\n\tHELPING,\n}\n\n@Component({\n\tselector: 'evasys-search-help',\n\ttemplateUrl: './search-help.component.html',\n})\nexport class SearchHelpComponent implements OnInit {\n\t//#region Input & Output\n\t@Input()\n\tsearchText: string;\n\n\t@Output()\n\thelpAction = new EventEmitter();\n\n\t@Output()\n\tsearchAction = new EventEmitter();\n\n\t//#endregion Input & Output\n\n\t//#region Variables\n\tpublic MenuStateEnum = MenuState;\n\tpublic menuState = MenuState.NONE;\n\tpublic isMenuCollapsed = true;\n\tpublic isLargeScreenObservable: Observable | null = null;\n\tpublic searchButtonDesign = ButtonDesignEnum.OUTLINE_LINK;\n\t//#endregion Variables\n\n\t//#region Form\n\tpublic searchForm = this.formBuilder.group({\n\t\tsearching: ['', [Validations.required]],\n\t});\n\t//#endregion Form\n\n\tconstructor(\n\t\tprivate readonly screenService: ScreenService,\n\t\tprivate readonly formBuilder: FormBuilder,\n\t\tpublic readonly config: SharedUiConfiguration\n\t) {}\n\n\t//#region events\n\tngOnInit(): void {\n\t\tthis.isLargeScreenObservable = this.screenService.isSizeBiggerThanObservable(ScreenSizes.M);\n\t}\n\n\tonButtonClick(menuState: MenuState): void {\n\t\tif (this.isActive(menuState)) {\n\t\t\tthis.menuState = MenuState.NONE;\n\t\t} else {\n\t\t\tthis.menuState = menuState;\n\t\t\tthis.searchForm.get('searching').setValue(menuState === MenuState.HELPING ? this.searchText : '');\n\t\t}\n\t\tthis.isMenuCollapsed = !(this.isActive(MenuState.SEARCHING) || this.isActive(MenuState.HELPING));\n\t}\n\n\tonSearchSubmit() {\n\t\tif (this.menuState === MenuState.HELPING) {\n\t\t\tthis.helpAction.emit(this.searchForm.controls.searching.value);\n\t\t} else if (this.menuState === MenuState.SEARCHING) {\n\t\t\tthis.searchAction.emit(this.searchForm.controls.searching.value);\n\t\t}\n\t}\n\n\tpublic onClickOutside(): void {\n\t\tthis.menuState = MenuState.NONE;\n\t\tthis.isMenuCollapsed = true;\n\t}\n\n\t//#endregion events\n\n\t//#region methods\n\tisActive(menuState: MenuState): boolean {\n\t\treturn menuState === this.menuState;\n\t}\n\n\t//#endregion methods\n}\n","
    \n\t
    \n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t{{\n\t\t\t\t\tconfig?.translations?.searchHelp.searchMenuButtonText | transloco\n\t\t\t\t}}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{{\n\t\t\t\t\tconfig?.translations?.searchHelp.helpMenuButtonText | transloco\n\t\t\t\t}}\n\t\t\t\n\t\t
    \n\t
    \n\t\n\t\t\n\t\t\t{{\n\t\t\t\tmenuState === MenuStateEnum.SEARCHING\n\t\t\t\t\t? (config?.translations?.searchHelp.searchTextboxLabel | transloco)\n\t\t\t\t\t: (config?.translations.searchHelp.helpTextboxLabel | transloco)\n\t\t\t}}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t
    \n\n","import { Component, forwardRef, Input, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-searchbox',\n\ttemplateUrl: './searchbox.component.html',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => SearchboxComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class SearchboxComponent implements ControlValueAccessor {\n\t@Required()\n\t@Input()\n\tid!: string;\n\n\t_language = signal(undefined);\n\t@Input()\n\tset language(language: string) {\n\t\tthis._language.set(language);\n\t}\n\n\t@Input()\n\tthinStyle = false;\n\n\tvalue = '';\n\n\t_onChange: (value: string) => void = () => {\n\t\t// this is intentional\n\t};\n\n\t_onTouched = () => {\n\t\t// this is intentional\n\t};\n\n\tonChange() {\n\t\tthis._onChange(this.value);\n\t}\n\n\tregisterOnChange(fn: (_: string) => void) {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void) {\n\t\tthis._onTouched = fn;\n\t}\n\n\twriteValue(value: string | null) {\n\t\tthis.value = value ?? '';\n\t\tthis.onChange();\n\t}\n}\n","
    \n\t\n\t\n\t\t{{ _language() | inlineTransloco : 'common.search' | async }}\n\t\n
    \n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-sidebar-container',\n\ttemplateUrl: './sidebar-container.component.html',\n})\nexport class SidebarContainerComponent {\n\t@Input()\n\tscrollbar = true;\n}\n","
    \n\t\n\t
    \n\t\t\n\t
    \n\t\n
    \n","import { Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { Animations } from '@evasys/globals/shared/animations/angular/animations';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\n\n@Component({\n\tselector: 'evasys-sidebar',\n\ttemplateUrl: './sidebar.component.html',\n\tanimations: [Animations.xGrowAnimation('50px', '*', 200)],\n})\nexport class SidebarComponent implements OnInit {\n\t@HostBinding('class')\n\thostClass = 'col-auto h-100 p-0';\n\n\t//#region Input & Output\n\t@Output()\n\tcollapsedChange = new EventEmitter();\n\n\t@Input()\n\tvisible = true;\n\n\t@Input()\n\topenTimeout?: number;\n\n\t@Input()\n\tset permanentlyOpen(value: boolean) {\n\t\tthis._permanentlyOpen = value;\n\t\tthis.updateCollapsed();\n\t}\n\n\t@Output()\n\tpermanentlyOpenChange = new EventEmitter();\n\n\t//#endregion Input & Output\n\n\tconstructor(public readonly config: SharedUiConfiguration) {}\n\n\t//#region Variables\n\t_hover: boolean;\n\t_permanentlyOpen = false;\n\t_collapsed: boolean;\n\t//#endregion Variables\n\n\t//#region Events\n\n\tonPermanentlyOpen(open: boolean) {\n\t\tthis._permanentlyOpen = open;\n\t\tthis.permanentlyOpenChange.emit(open);\n\t\tthis.updateCollapsed();\n\t}\n\n\tonHover(hover: boolean) {\n\t\tthis._hover = hover;\n\t\tthis.updateCollapsed();\n\t}\n\n\tngOnInit() {\n\t\tthis.updateCollapsed();\n\t}\n\n\t//#endregion Events\n\n\t//region Methods\n\n\tupdateCollapsed() {\n\t\tthis._collapsed = !this._permanentlyOpen && !this._hover;\n\t\tthis.collapsedChange.emit(this._collapsed);\n\t}\n\t//endregion\n}\n","\n\t
    \n\t\t
    \n\t\t\t\n\t\t
    \n\n\t\t
    \n\t\t\t{{ config?.translations?.sidebar.permanentlyOpen | transloco }}\n\t\t
    \n\t
    \n\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { SidemenuItemModel } from '@evasys/globals/evasys/models/component/sidemenu-item.model';\nimport { combineLatest, Observable, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { NavigationEnd, Router } from '@angular/router';\n\n@Component({\n\tselector: 'evasys-sidemenu',\n\ttemplateUrl: './sidemenu.component.html',\n})\nexport class SidemenuComponent implements OnInit, OnDestroy {\n\t//#region Input & Output\n\t@Input()\n\tactive: [number | null, number | null] = [null, null];\n\n\t@Output()\n\tactiveChange = new EventEmitter<[number, number]>();\n\n\t@Input()\n\tcollapsed = false;\n\n\t@Input()\n\tset sidemenuItems(sideMenuItems: SidemenuItemModel[]) {\n\t\tthis._sidemenuItems = sideMenuItems;\n\t\tif (this._sidemenuItems) {\n\t\t\tthis.menuAccess = combineLatest(this._sidemenuItems.map((item) => item.canAccess)).pipe(\n\t\t\t\tmap((accessArr) => accessArr.includes(true))\n\t\t\t);\n\t\t}\n\t}\n\n\t//#endregion Variables\n\n\t//#region Variables\n\t_sidemenuItems: SidemenuItemModel[] = [];\n\tmenuAccess?: Observable;\n\tsubscriptions: Subscription[] = [];\n\n\t//#endregion Variables\n\n\tconstructor(private readonly router: Router) {\n\t\t//init\n\t}\n\n\t//#region Events\n\tngOnInit(): void {\n\t\tthis.handleOutsideRouting();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tonActiveChange(i: number, $event: number) {\n\t\tthis.active = [i, $event];\n\t\tthis.activeChange.emit([i, $event]);\n\t}\n\n\t//#endregion Events\n\n\t//#region Methods\n\t/**\n\t * checks if there is an active item in the side menu after navigation.\n\t *\n\t * If one is found it is set to active.\n\t * If not active is set to [null, null].\n\t *\n\t * @private\n\t */\n\tprivate handleOutsideRouting() {\n\t\tthis.subscriptions.push(\n\t\t\tthis.router.events.subscribe((event) => {\n\t\t\t\tif (event instanceof NavigationEnd) {\n\t\t\t\t\t// checks if one of the sideMenu items contains the current url as route\n\t\t\t\t\tconst searchIndex: number | undefined = this._sidemenuItems\n\t\t\t\t\t\t?.map((mItem) => {\n\t\t\t\t\t\t\tconst index = mItem.menuitems.findIndex((item) => item.route === event.url);\n\t\t\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\t\t\tconst groupIndex = this._sidemenuItems.findIndex((group) => group.id === mItem.id);\n\t\t\t\t\t\t\t\tthis.active = [groupIndex, index];\n\t\t\t\t\t\t\t\tthis.activeChange.emit([groupIndex, index]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn index;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.find((result) => result !== -1);\n\n\t\t\t\t\tif (searchIndex === undefined) {\n\t\t\t\t\t\tthis.active = [null, null];\n\t\t\t\t\t\tthis.activeChange.emit([null, null]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\t//#endregion Methods\n}\n","
    \n\t\n\t\t\n\t\n
    \n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\n\n@Component({\n\tselector: 'evasys-system-usage',\n\ttemplateUrl: './system-usage.component.html',\n})\nexport class SystemUsageComponent {\n\t// region Inputs & Outputs\n\t@Input()\n\tsystem: 'evasys' | 'evaexam';\n\n\t@Input()\n\tactiveSystemUser: number;\n\n\t@Input()\n\tactiveOnlineUser: number;\n\n\t@Output()\n\tsystemUsageCall = new EventEmitter();\n\t//endregion\n\n\tconstructor(public readonly sharedUiConfigs: SharedUiConfiguration) {}\n\n\t// region Events\n\tpublic onSystemUsageCall(): void {\n\t\tthis.systemUsageCall.emit();\n\t}\n\t// endregion\n}\n","\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-top-menu',\n\ttemplateUrl: './top-menu.component.html',\n})\nexport class TopMenuComponent {\n\t//region Input & Output\n\t@Input()\n\tpublic logo: string;\n\n\t@Input()\n\tpublic logoAlt?: string;\n\n\t@Output()\n\tpublic logoClickedAction = new EventEmitter();\n\t//endregion\n\n\t//region Variables\n\tpublic isMobileMenuCollapsed = true;\n\t//#endregion\n}\n","\n\t
    \n\t\t\n\t\t\t\n\t\t\n\t\t
    \n\t
    \n\n\t\n\n\t
    \n\n\t\n\t\t
    \n\t\t
    \n\t\t\t\n\t\t
    \n\t\t
    \n\t\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\nimport { EvasysNotificationActionModel } from '@evasys/globals/shared/models/evasys-notification-action.model';\nimport { ProductMenuItem, Tabitem } from '@evasys/shared/ui';\nimport { Observable } from 'rxjs';\n\n@Component({\n\tselector: 'evasys-topmenu',\n\ttemplateUrl: './topmenu.component.html',\n})\nexport class TopmenuComponent {\n\t//#region Input & Output\n\t@Input()\n\tpublic logo?: string;\n\n\t@Input()\n\tpublic logoAlt?: string;\n\n\t@Input()\n\tproducts: ProductMenuItem[];\n\n\t@Input()\n\tpublic username?: string;\n\n\t@Input()\n\tpublic role?: string;\n\n\t@Input()\n\tpublic menuItems: Tabitem[] = [];\n\n\t@Input()\n\tnotifications: EvasysNotificationModel[] = [];\n\n\t@Input()\n\tpublic roleItems: Map = new Map();\n\n\t@Input()\n\tpublic canSwitchUser: boolean;\n\n\t@Input()\n\tpublic showSystemUsage: boolean;\n\n\t@Input()\n\tpublic searchText: string;\n\n\t@Input()\n\tpublic system: 'evasys' | 'evaexam';\n\n\t@Input()\n\tpublic activeSystemUser: number;\n\n\t@Input()\n\tpublic activeOnlineUser: number;\n\n\t@Input()\n\tproductRefreshMethod: () => Promise;\n\n\t@Output()\n\tpublic menuResponse = new EventEmitter();\n\n\t@Output()\n\tpublic roleResponse = new EventEmitter();\n\n\t@Output()\n\tpublic logoutResponse = new EventEmitter();\n\n\t@Output()\n\tpublic searchAction: EventEmitter = new EventEmitter();\n\n\t@Output()\n\tpublic helpAction = new EventEmitter();\n\n\t@Output()\n\tpublic deleteNotificationAction: EventEmitter = new EventEmitter();\n\n\t@Output()\n\tpublic apiCallAction: EventEmitter =\n\t\tnew EventEmitter();\n\n\t@Output()\n\tpublic openUserSwitch = new EventEmitter();\n\n\t@Output()\n\tpublic systemUsageCall = new EventEmitter();\n\n\t@Output()\n\tpublic userMenuOpened = new EventEmitter();\n\n\t@Output()\n\tpublic logoClickedAction = new EventEmitter();\n\t//#endregion Input & Output\n\n\t//#region Variables\n\tpublic isMobileMenuCollapsed = true;\n\n\t//#endregion Variables\n\n\t//region Events\n\tonDeleteNotification($event: string) {\n\t\tthis.deleteNotificationAction.emit($event);\n\t}\n\n\tonApiCallAction($event: EvasysNotificationActionModel) {\n\t\tthis.apiCallAction.emit($event);\n\t}\n\t//endregion\n\n\t//region methods\n\tconnected = (result: boolean, currentProduct: ProductMenuItem) => {\n\t\tif (result) {\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn !(currentProduct.url instanceof Observable) && !!currentProduct.url;\n\t\t}\n\t};\n\n\t//endregion\n}\n","\n\t
    \n\t\t\n\t\t\t\n\t\t\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t
    \n\t\n\n\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\n\t\t\n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\n\t\n\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { Animations } from '@evasys/globals/shared/animations/angular/animations';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n\tselector: 'evasys-usermenu',\n\ttemplateUrl: './usermenu.component.html',\n\tstyleUrls: ['./usermenu.component.scss'],\n\tanimations: [Animations.z3DRotateAnimation, Animations.yGrowAnimation('0px', '*'), Animations.nestedAnimations()],\n})\nexport class UsermenuComponent {\n\t// region Inputs & Outputs\n\t@Input()\n\troles: Map = new Map();\n\n\t@Input()\n\tusername = 'empty';\n\n\t@Input()\n\tsystem: 'evasys' | 'evaexam';\n\n\t@Input()\n\trole = 'empty';\n\n\t@Input()\n\tcanSwitchUser = false;\n\n\t@Input()\n\tshowSystemUsage: boolean;\n\n\t@Input()\n\tactiveSystemUser: number;\n\n\t@Input()\n\tactiveOnlineUser: number;\n\n\t@Output()\n\troleResponse = new EventEmitter();\n\n\t@Output()\n\tlogoutResponse = new EventEmitter();\n\n\t@Output()\n\topenUserSwitch = new EventEmitter();\n\n\t@Output()\n\tsystemUsageCall = new EventEmitter();\n\n\t@Output()\n\tuserMenuOpened = new EventEmitter();\n\t// endregion Inputs & Outputs\n\n\t// region ViewChilds & ViewChildren\n\n\t@ViewChild('growPanel')\n\tgrowPanel: any;\n\n\t@ViewChild('usernameRef')\n\tusernameRef: any;\n\n\t// endregion ViewChilds & ViewChildren\n\n\t// region Variables\n\n\tpublic isCollapsed = true;\n\tpublic roleControl = new FormControl();\n\n\t// endregion Variables\n\n\tconstructor(public readonly config: SharedUiConfiguration) {}\n\n\t// region Events\n\n\trespond(value: string) {\n\t\tif (value !== null) {\n\t\t\tthis.roleResponse.emit(value);\n\t\t}\n\t}\n\n\tpublic onCollapseToggle(): void {\n\t\tthis.isCollapsed = !this.isCollapsed;\n\n\t\tif (!this.isCollapsed) {\n\t\t\tthis.userMenuOpened.emit();\n\t\t}\n\t}\n\n\t// endregion Events\n}\n","
    \n\t\n\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    \n\t\t\t\t\t\t{{ username }}\n\t\t\t\t\t

    \n\t\t\t\t\t

    {{ role }}

    \n\t\t\t\t
    \n\t\t\t\t= 1\"\n\t\t\t\t\t[id]=\"'roleDropdown'\"\n\t\t\t\t\t(valueChange)=\"respond($event)\"\n\t\t\t\t\t[menuPlacement]=\"'bottom-end'\"\n\t\t\t\t\t[formControls]=\"[roleControl]\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\tconfig?.translations?.usermenu.changeRoleDropdownText | transloco\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t{{ value }}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{{ role.value }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\n\t\t\t\t
    \n\t\t\t\t\t{{ config?.translations?.usermenu.logoutButtonText | transloco }}\n\t\t\t\t\t\n\n\t\t\t\t\t{{ config?.translations?.usermenu.switchUserText | transloco }}\n\t\t\t\t\t\n\t\t\t\t
    \n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t\n\n","import { Component, Input } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { Subscription } from 'rxjs';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n\ttemplate: '',\n})\nexport abstract class AbstractInputComponent {\n\t//region Input & Output\n\t@Input()\n\t@Required()\n\tid: string | undefined;\n\n\t@Input()\n\treadonly = false;\n\n\t@Input()\n\trequired = false;\n\n\t@Input()\n\tset value(value: T) {\n\t\tthis.writeValue(value);\n\t}\n\n\t@Input()\n\tset isDisabled(disabled: boolean) {\n\t\tthis.setDisabledState(disabled);\n\t}\n\n\t//endregion\n\n\t//region Variables\n\tprotected subscriptions: Subscription[] = [];\n\tprotected touched = false;\n\tpublic _isDisabled = false;\n\tpublic input = new FormControl();\n\t//endregion\n\n\t//region Events\n\tonInput(): void {\n\t\tthis._onChange(this.input.value);\n\t}\n\n\tprivate _onTouched: any = () => {\n\t\t//default\n\t};\n\tprivate _onChange: any = () => {\n\t\t//default\n\t};\n\n\tprotected onWriteValue(value: T) {\n\t\t//no implementation needed\n\t}\n\t//endregion\n\n\t//region ControlValueAccessor\n\n\tregisterOnChange(fn: (_: any) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis._isDisabled = isDisabled;\n\t\tisDisabled ? this.input.disable() : this.input.enable();\n\t}\n\n\twriteValue(value: T): void {\n\t\tif (!this.touched) {\n\t\t\tthis._onTouched();\n\t\t\tthis.touched = true;\n\t\t}\n\t\tif (value === null) {\n\t\t\tthis.input.reset();\n\t\t}\n\t\tthis.input.setValue(value);\n\t\tthis.onWriteValue(value);\n\t}\n\n\t//endregion\n}\n","import { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { Subject } from 'rxjs';\n\n@Component({\n\tselector: 'evasys-button-toggle',\n\ttemplateUrl: './button-toggle.component.html',\n\tstyleUrls: ['button-toggle.component.scss'],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: ButtonToggleComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class ButtonToggleComponent implements ControlValueAccessor {\n\t//region Inputs & Outputs\n\t@Input()\n\t@Required()\n\tid!: string;\n\n\t@Input()\n\ttitle: string;\n\t//endregion\n\n\t//region Variables\n\tprivate _isDisabled = false;\n\tprivate _valueChanges: Subject = new Subject();\n\tprivate _value: T;\n\tprivate _onChange = (value: T) => {\n\t\treturn;\n\t};\n\tprivate _onTouched = () => {\n\t\treturn;\n\t};\n\t//endregion\n\n\t//region Getter & Setter\n\tget isDisabled(): boolean {\n\t\treturn this._isDisabled;\n\t}\n\n\tget value() {\n\t\treturn this._value;\n\t}\n\n\tget valueChanges() {\n\t\treturn this._valueChanges;\n\t}\n\n\t//endregion\n\n\t//region Events\n\tpublic onChange() {\n\t\tthis._onChange(this.value);\n\t}\n\n\tpublic onTouched() {\n\t\tthis._onTouched();\n\t}\n\n\t//endregion\n\n\t//region ControlValueAccessor\n\n\tregisterOnChange(fn: any): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis._isDisabled = isDisabled;\n\t}\n\n\twriteValue(obj: any): void {\n\t\tthis._value = obj;\n\t\tthis._valueChanges.next(obj);\n\t}\n\t//endregion\n}\n","
    \n\t{{ title }}:\n\t
    \n\t\t\n\t
    \n
    \n","import { Directive, ElementRef, HostBinding, HostListener, Input, OnDestroy, OnInit } from '@angular/core';\nimport { ButtonToggleComponent } from './button-toggle.component';\nimport { Subscription } from 'rxjs';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\nenum StateClasses {\n\tdeactivated = 'px-2 text-nowrap border-0 text-dark',\n\tactivated = 'px-2 text-nowrap bg-primary text-white border-0',\n}\n\n@Directive({\n\tselector: '[evasysToggleButton]',\n})\nexport class ToggleButtonDirective implements OnInit, OnDestroy {\n\t//region Inputs & Outputs\n\t@Input('evasysToggleButton')\n\tvalue: T;\n\n\t@Required()\n\t@Input()\n\tid!: string;\n\t//endregion\n\n\t//region HostBindings\n\t@HostBinding('class')\n\telementClass = StateClasses.deactivated;\n\t//endregion\n\n\t//region Variables\n\tprivate valueChangeSubsription: Subscription;\n\t//endregion\n\n\t//region Hostlistener\n\t@HostListener('click', ['$event']) onClick() {\n\t\tthis.buttonToggleComponent?.writeValue(this.value);\n\t\tthis.buttonToggleComponent?.onChange();\n\t\tthis.buttonToggleComponent?.onTouched();\n\t}\n\t//endregion\n\n\tconstructor(private buttonToggleComponent: ButtonToggleComponent, private readonly elementRef: ElementRef) {}\n\n\t//region Events\n\tngOnInit() {\n\t\tthis.elementRef.nativeElement.setAttribute(\n\t\t\t'data-cy',\n\t\t\t`buttonToggle-${this.buttonToggleComponent.id}-${this.id}`\n\t\t);\n\t\tthis.checkIsActive(this.buttonToggleComponent?.value);\n\t\tthis.valueChangeSubsription = this.buttonToggleComponent.valueChanges.subscribe((value) => {\n\t\t\tthis.checkIsActive(value);\n\t\t});\n\t}\n\n\tngOnDestroy() {\n\t\tthis.valueChangeSubsription.unsubscribe();\n\t}\n\t//endregion\n\n\t//region Methods\n\tcheckIsActive(newValue: T) {\n\t\tif (newValue === this.value) {\n\t\t\tthis.elementClass = StateClasses.activated;\n\t\t} else {\n\t\t\tthis.elementClass = StateClasses.deactivated;\n\t\t}\n\t}\n\t//endregion\n}\n","export class DateTime extends Date {\n public static dateIsValid(date: Date): boolean {\n return !Number.isNaN(new Date(date).getTime());\n }\n\n public static toISOFormat(value: string | undefined): string {\n if (value != undefined) {\n value = value?.replace('d', 'dd');\n value = value?.replace('M', 'MMM');\n value = value?.replace('m', 'MM');\n value = value?.replace('y', 'yy');\n value = value?.replace('Y', 'yyyy');\n\n value = value?.replace('h', 'hh');\n value = value?.replace('H', 'HH');\n value = value?.replace('i', 'mm');\n value = value?.replace('s', 'ss');\n value = value?.replace('a', 'aaa');\n value = value?.replace('A', 'a');\n\n return value;\n }\n\n return 'dd.MM.yyyy hh:mm';\n }\n\n public static getDefaultChar(value: string): string {\n if (value.includes('.')) {\n return '.';\n }\n\n if (value.includes('-')) {\n return '-';\n }\n\n if (value.includes('/')) {\n return '/';\n }\n\n return '.';\n }\n\n public static createDatePattern(initFormat: string, defaultChar: string): string {\n const dateTimeFormatSpilt: string[] = initFormat.split(' ');\n const dateFormatSplit: string[] = dateTimeFormatSpilt[0].split(defaultChar);\n const timeFormatSplit: string[] = dateTimeFormatSpilt[1].split(':');\n let datePattern: string = '';\n\n for (let i = 0; i < dateFormatSplit.length; i++) {\n if (dateFormatSplit[i] == 'dd') {\n datePattern += '(\\\\d{2})';\n }\n\n if (dateFormatSplit[i] == 'MMM' || dateFormatSplit[i] == 'MM') {\n datePattern += '(\\\\d{2})';\n }\n\n if (dateFormatSplit[i] == 'yy' || dateFormatSplit[i] == 'yyyy') {\n datePattern += '(\\\\d{4})';\n }\n if (i <= 1) {\n datePattern += defaultChar;\n }\n }\n\n datePattern += '\\\\s';\n\n if (timeFormatSplit !== undefined) {\n if (timeFormatSplit[0] !== undefined) {\n datePattern += '(\\\\d{2})';\n }\n\n datePattern += ':';\n\n if (timeFormatSplit[1] !== undefined) {\n datePattern += '(\\\\d{2})';\n }\n\n datePattern += ':';\n\n if (timeFormatSplit[2] !== undefined) {\n datePattern += '(\\\\d{2})';\n }\n }\n\n return datePattern;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\n\n@NgModule({\n\tdeclarations: [CheckboxComponent],\n\timports: [CommonModule],\n\texports: [CheckboxComponent],\n})\nexport class CheckboxModule {}\n","import {\n\tAfterViewInit,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEventEmitter,\n\tInput,\n\tOnChanges,\n\tOnDestroy,\n\tOnInit,\n\tOutput,\n\tRenderer2,\n\tSimpleChanges,\n\tViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValidationErrorModel } from '@evasys/globals/evasys/models/component/validation-error.model';\nimport { Subject, Subscription } from 'rxjs';\nimport { LabelPositionEnum } from '@evasys/globals/shared/enums/component/label-position.enum';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-checkbox',\n\ttemplateUrl: './checkbox.component.html',\n\tstyleUrls: ['./checkbox.component.scss'],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: CheckboxComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class CheckboxComponent implements ControlValueAccessor, OnChanges, AfterViewInit, OnDestroy, OnInit {\n\t//region ViewChilds\n\t@ViewChild('labelElement')\n\tlabelElement: ElementRef;\n\n\t@ViewChild('input') inputElem: ElementRef;\n\t//endregion\n\n\t//#region Input & Output\n\t@Input()\n\t@Required()\n\tid: string | undefined;\n\n\t@Input()\n\tname: string | undefined;\n\n\t@Input()\n\terrors: ValidationErrorModel[] = [];\n\n\t@Input()\n\tlabelPosition: LabelPositionEnum = LabelPositionEnum.RIGHT;\n\n\t@Input()\n\thiddenLabel = false;\n\n\t@Input()\n\tset isDisabled(disabled: boolean) {\n\t\tthis.setDisabledState(disabled);\n\t}\n\n\t@Input()\n\tvalue: string | number | null = null;\n\n\t@Input()\n\tpublic set checked(checked: boolean) {\n\t\tlet value;\n\t\tif (checked) {\n\t\t\tvalue = this.value ?? checked;\n\t\t} else {\n\t\t\tvalue = this.value === null || this.value === undefined ? checked : null;\n\t\t}\n\t\tthis.input.setValue(value);\n\n\t\tthis._checked = checked;\n\t}\n\n\t@Input()\n\tpublic arrange: 'start' | 'center' = 'start';\n\n\t@Input()\n\tpublic role: 'checkbox' | 'switch' = 'checkbox';\n\n\t@Output()\n\tcheckedChange: EventEmitter = new EventEmitter();\n\n\t@Output()\n\tclearAction: EventEmitter = new EventEmitter();\n\n\t@Input()\n\tindeterminate = false;\n\n\t//#endregion Input & Output\n\n\t//#region Variables\n\tprivate subscriptions: Subscription[] = [];\n\n\tpublic _isDisabled = false;\n\tpublic _checked = false;\n\tpublic input = new FormControl();\n\tpublic _labelPosition = LabelPositionEnum;\n\tprivate changeEvent: Subject = new Subject();\n\t//#endregion Input & Output\n\n\t//#region Ctor\n\tconstructor(private readonly changeDetectionRef: ChangeDetectorRef, private renderer: Renderer2) {}\n\n\t//#endregion Ctor\n\n\t//#region Events\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (changes.indeterminate && this.inputElem) {\n\t\t\tthis.renderer.setProperty(\n\t\t\t\tthis.inputElem.nativeElement,\n\t\t\t\t'indeterminate',\n\t\t\t\tchanges.indeterminate.currentValue\n\t\t\t);\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tif (this.indeterminate) {\n\t\t\tthis.renderer.setProperty(this.inputElem.nativeElement, 'indeterminate', this.indeterminate);\n\t\t}\n\t}\n\n\t_onChange: any = () => {\n\t\t//default\n\t};\n\t_onTouched: any = () => {\n\t\t//default\n\t};\n\n\tngOnInit() {\n\t\tthis.listenToChangeEvent();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((subscription) => subscription.unsubscribe());\n\t}\n\n\tonChecked(): void {\n\t\tthis.changeEvent.next(!this._checked);\n\t}\n\n\t//#endregion Events\n\n\t//#region Methods\n\tpublic isInvalid(): boolean {\n\t\treturn !!this.errors.find((error) => error.trigger);\n\t}\n\n\tpublic clear() {\n\t\tthis._checked = false;\n\t\tthis.input.setValue(this.value ? null : false);\n\t\tthis.clearAction.emit();\n\t}\n\n\tprivate listenToChangeEvent() {\n\t\tthis.subscriptions.push(\n\t\t\tthis.changeEvent.subscribe((change) => {\n\t\t\t\tthis.checked = change;\n\t\t\t\tthis._onChange(change ? this.input.value : false);\n\t\t\t\tthis.checkedChange.emit(change);\n\t\t\t})\n\t\t);\n\t}\n\n\t//endregion Methods\n\n\t//#region ControlValueAccessor\n\n\tregisterOnChange(fn: (_: any) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis._isDisabled = isDisabled;\n\t\tisDisabled ? this.input.disable() : this.input.enable();\n\t}\n\n\twriteValue(value: any): void {\n\t\tif (value === null) {\n\t\t\tthis.input.reset();\n\t\t}\n\t\tthis.input.setValue(value);\n\t\tthis._checked = !!value;\n\t}\n\n\t//#endregion ControlValueAccessor\n}\n","\n\t\n\t\n\n\t\n\n","import {\n\tDirective,\n\teffect,\n\tEnvironmentInjector,\n\tinject,\n\tOnInit,\n\trunInInjectionContext,\n\tTemplateRef,\n\tViewContainerRef,\n} from '@angular/core';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n\tselector: '[evasysDropdownMenu]',\n})\nexport class DropdownMenuDirective implements OnInit {\n\t//region Variables\n\tPUFFER_HEIGHT = 70;\n\t//endregion\n\n\t//region ViewChild\n\tprivate templateRef = inject(TemplateRef);\n\tprivate dropdownComponent = inject(DropdownComponent);\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate environmentInjector = inject(EnvironmentInjector);\n\n\t//endregion\n\n\t//region Events\n\tngOnInit() {\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\teffect(this.onOpenStateChanged, { allowSignalWrites: true });\n\t\t});\n\t}\n\n\tonOpenStateChanged = () => {\n\t\tif (this.dropdownComponent.isOpen()) {\n\t\t\tconst embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t\tembeddedViewRef.rootNodes[0].setAttribute('evasysDropdownMenu', '');\n\t\t\tembeddedViewRef.rootNodes[0].classList.add('w-max-content', 'overflow-auto', 'minw-100');\n\t\t\tthis.determineMenuHeight(embeddedViewRef.rootNodes[0]);\n\t\t\tthis.determineMenuWidth(embeddedViewRef.rootNodes[0]);\n\t\t\tthis.dropdownComponent.dropdownMenuComponent.set(embeddedViewRef.rootNodes[0]);\n\t\t} else {\n\t\t\tthis.viewContainerRef.clear();\n\t\t}\n\t};\n\n\tdetermineMenuHeight(node: HTMLElement) {\n\t\tlet menuHeight =\n\t\t\twindow.innerHeight -\n\t\t\tnode.getBoundingClientRect().y -\n\t\t\tnode.getBoundingClientRect().height -\n\t\t\tthis.PUFFER_HEIGHT;\n\t\tif (menuHeight < 250) {\n\t\t\tmenuHeight = 250;\n\t\t}\n\t\tnode.style.maxHeight = menuHeight + 'px';\n\t}\n\n\tdetermineMenuWidth(node: HTMLElement) {\n\t\tconst menuWidth = window.innerWidth * 0.5;\n\t\tnode.style.maxWidth = menuWidth + 'px';\n\t}\n\n\t//endregion\n}\n","import {\n\tcomputed,\n\tDirective,\n\teffect,\n\tElementRef,\n\tEnvironmentInjector,\n\tinject,\n\tInput,\n\tOnInit,\n\trunInInjectionContext,\n} from '@angular/core';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\nimport { createPopper, Instance, Modifier, OptionsGeneric } from '@popperjs/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[evasysDropdownToggle]',\n})\nexport class DropdownToggleDirective implements OnInit {\n\t//region Inputs & Outputs\n\t@Input()\n\tpublic eventType: 'click' | 'focus' | 'mouseover' = 'click';\n\t//endregion\n\n\t//region Injections\n\tprivate dropdownComponent = inject(DropdownComponent);\n\tprivate environmentInjector = inject(EnvironmentInjector);\n\tprivate elementRef = inject(ElementRef);\n\t//endregion\n\n\t//region Variables\n\tprivate popperInstance: Instance;\n\tprivate popperOptions = computed>>>>(() => ({\n\t\tplacement: this.dropdownComponent._menuPlacement(),\n\t}));\n\n\t//endregion\n\n\t//region Events\n\tngOnInit() {\n\t\tthis.elementRef.nativeElement.setAttribute('data-cy', 'dropdown-toggle-' + this.dropdownComponent.id);\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\teffect(this.onDropdownMenuChanged);\n\t\t\tfromEvent(this.elementRef.nativeElement, this.eventType).pipe(takeUntilDestroyed()).subscribe(this.onEvent);\n\t\t});\n\t}\n\n\tonDropdownMenuChanged = () => {\n\t\tif (this.dropdownComponent.dropdownMenuComponent()) {\n\t\t\tthis.popperInstance?.destroy();\n\t\t\tif (this.dropdownComponent.dropdownMenuComponent() && this.dropdownComponent._menuPlacement())\n\t\t\t\tthis.popperInstance = createPopper(\n\t\t\t\t\tthis.elementRef.nativeElement,\n\t\t\t\t\tthis.dropdownComponent.dropdownMenuComponent(),\n\t\t\t\t\tthis.popperOptions()\n\t\t\t\t);\n\t\t}\n\t};\n\n\tonEvent = () => {\n\t\tif (!this.dropdownComponent._isDisabled()) {\n\t\t\tthis.dropdownComponent.isOpen.update((isOpen) => !isOpen);\n\t\t}\n\t};\n\n\t//endregion\n}\n","import {\n\tDirective,\n\teffect,\n\tEnvironmentInjector,\n\tinject,\n\tInput,\n\tOnInit,\n\trunInInjectionContext,\n\tTemplateRef,\n\tViewContainerRef,\n} from '@angular/core';\nimport { DropdownComponent } from '../dropdown/dropdown.component';\nimport { KeyValue } from '@angular/common';\nimport { isMap } from 'lodash';\n\n@Directive({\n\tselector: '[evasysDropdownValue]',\n})\nexport class DropdownValueDirective implements OnInit {\n\t//region Inputs & Outputs\n\t_mapping?: KeyValue[] | Map;\n\t@Input('evasysDropdownValueMapping')\n\tset mapping(mapping: KeyValue[] | Map | undefined | null) {\n\t\tthis._mapping = mapping;\n\t}\n\n\t//endregion\n\n\t//region Injections\n\tprivate dropdownComponent = inject(DropdownComponent);\n\tprivate environmentInjector = inject(EnvironmentInjector);\n\tprivate templateRef = inject(TemplateRef);\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\t//endregion\n\n\t//region Variables\n\tprivate context = {\n\t\tvalue: null,\n\t};\n\t//endregion\n\n\t//region Events\n\tngOnInit() {\n\t\tthis.viewContainerRef.clear();\n\t\tconst embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.templateRef, this.context);\n\t\tembeddedViewRef.rootNodes[0].setAttribute('evasysDropdownValue', '');\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\teffect(this.onValueChanged);\n\t\t});\n\t}\n\n\tprivate onValueChanged = () => {\n\t\tconst mappedValue = isMap(this._mapping)\n\t\t\t? this._mapping.get(this.dropdownComponent._value())\n\t\t\t: this._mapping?.find((keyValue) => keyValue.key === this.dropdownComponent._value())?.value;\n\t\tthis.context.value = mappedValue ?? this.dropdownComponent._value();\n\t};\n\t//endregion\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DropdownComponent } from './dropdown/dropdown.component';\nimport { DropdownPrimaryComponent } from './styles/dropdown-primary/dropdown-primary.component';\nimport { DropdownFilterComponent } from './styles/dropdown-filter/dropdown-filter.component';\nimport { DropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\nimport { NgxPopperjsModule } from 'ngx-popperjs';\nimport { DropdownToggleDirective } from './dropdown-toggle/dropdown-toggle.directive';\nimport { DropdownValueDirective } from './dropdown-value/dropdown-value.directive';\nimport { TextOverflowModule } from '../../../directives/text-overflow/text-overflow.module';\nimport { ClickAwayModule } from '../../../directives/click-away/click-away.module';\nimport { ImageModule } from '../../../directives/image/image.module';\n\n@NgModule({\n\tdeclarations: [\n\t\tDropdownComponent,\n\t\tDropdownPrimaryComponent,\n\t\tDropdownFilterComponent,\n\t\tDropdownMenuDirective,\n\t\tDropdownToggleDirective,\n\t\tDropdownValueDirective,\n\t],\n\timports: [CommonModule, NgxPopperjsModule, TextOverflowModule, ClickAwayModule, ImageModule],\n\texports: [\n\t\tDropdownComponent,\n\t\tDropdownPrimaryComponent,\n\t\tDropdownFilterComponent,\n\t\tDropdownMenuDirective,\n\t\tDropdownToggleDirective,\n\t\tDropdownValueDirective,\n\t],\n})\nexport class DropdownModule {}\n","import {\n\tComponent,\n\teffect,\n\tEnvironmentInjector,\n\tEventEmitter,\n\tinject,\n\tInput,\n\tOnInit,\n\tOutput,\n\trunInInjectionContext,\n\tsignal,\n} from '@angular/core';\nimport { AbstractControl, FormControlStatus } from '@angular/forms';\nimport { Placement } from '@popperjs/core';\nimport { startWith, Subscription } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n\tselector: 'evasys-dropdown',\n\ttemplateUrl: './dropdown.component.html',\n\tstyles: [':host {display: flex}'],\n})\nexport class DropdownComponent implements OnInit {\n\t//region Input & Output\n\t@Input({ required: true })\n\tid?: string;\n\n\t@Input()\n\tset isDisabled(isDisabled: boolean) {\n\t\tif (isDisabled) {\n\t\t\tthis.controls().forEach((control) => control.disable());\n\t\t} else {\n\t\t\tthis.controls().forEach((control) => control.enable());\n\t\t}\n\t\tthis._isDisabled.set(isDisabled);\n\t}\n\n\t@Input()\n\tset value(value: T) {\n\t\tthis.controls().forEach((control) => control.setValue(value));\n\t}\n\n\t@Input()\n\tset formControls(formControls: AbstractControl[]) {\n\t\tthis.controls.set(formControls);\n\t}\n\n\t@Input()\n\tset menuPlacement(menuPlacement: Placement) {\n\t\tthis._menuPlacement.set(menuPlacement);\n\t}\n\t_menuPlacement = signal('bottom-start');\n\n\t@Input()\n\tsplitControlValues = false;\n\n\t@Output()\n\tvalueChange = new EventEmitter();\n\n\t//endregion;\n\n\t//region Injections\n\tprivate environmentInjector = inject(EnvironmentInjector);\n\t//endregion\n\n\t//region Variables\n\tpublic _value = signal(null);\n\tpublic isOpen = signal(false);\n\tpublic _isDisabled = signal(false);\n\tpublic _isInvalid = signal(false);\n\tpublic dropdownMenuComponent = signal(null);\n\tpublic controls = signal([]);\n\tprivate subscriptions: Subscription[] = [];\n\n\t//endregion\n\n\t//region Events\n\tngOnInit() {\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\teffect(this.onControlsChanged, { allowSignalWrites: true });\n\t\t\teffect(() => {\n\t\t\t\tthis.valueChange.emit(this._value());\n\t\t\t});\n\t\t});\n\t}\n\n\tonControlsChanged = () => {\n\t\tthis.subscriptions.forEach((subscription) => subscription.unsubscribe());\n\t\tthis.subscriptions = [];\n\t\tthis.controls().forEach((control, index) => {\n\t\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\t\tthis.subscriptions.push(\n\t\t\t\t\tcontrol.valueChanges\n\t\t\t\t\t\t.pipe(startWith(control.value), takeUntilDestroyed())\n\t\t\t\t\t\t.subscribe((value) => this.onValueChanged(value, index))\n\t\t\t\t);\n\t\t\t\tthis.subscriptions.push(\n\t\t\t\t\tcontrol.statusChanges.pipe(takeUntilDestroyed()).subscribe(this.onStatusChanged)\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t};\n\n\tonValueChanged = (value: T, index: number) => {\n\t\tif (this.splitControlValues) {\n\t\t\tthis._value.update((currentValue) => {\n\t\t\t\tif (!Array.isArray(currentValue)) {\n\t\t\t\t\tcurrentValue = [];\n\t\t\t\t}\n\t\t\t\tcurrentValue[index] = value;\n\t\t\t\treturn currentValue;\n\t\t\t});\n\t\t} else if (this._value() !== value) {\n\t\t\tthis._value.set(value);\n\t\t}\n\t};\n\n\tonStatusChanged = (status: FormControlStatus) => {\n\t\tswitch (status) {\n\t\t\tcase 'DISABLED':\n\t\t\t\tthis._isDisabled.set(true);\n\t\t\t\tbreak;\n\t\t\tcase 'INVALID':\n\t\t\t\tthis._isInvalid.set(true);\n\t\t\t\tbreak;\n\t\t\tcase 'VALID':\n\t\t\t\tthis._isInvalid.set(false);\n\t\t\t\tthis._isDisabled.set(false);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tonClickAway = () => {\n\t\tif (this.isOpen()) {\n\t\t\tthis.isOpen.set(false);\n\t\t}\n\t};\n\n\t//endregion\n}\n","\n\t\n\n","import {\n\tChangeDetectorRef,\n\tComponent,\n\tforwardRef,\n\tinject,\n\tInput,\n\tOnChanges,\n\tSimpleChanges,\n\tTemplateRef,\n\tViewChild,\n} from '@angular/core';\nimport { first, map, Observable } from 'rxjs';\nimport { ObservableFormatter, raisingFormatter, toObservableFormatter } from '@evasys/shared/util';\nimport { ValidationErrorModel } from '@evasys/globals/evasys/models/component/validation-error.model';\nimport { ChipTypeaheadDesignEnum } from '@evasys/globals/shared/enums/component/chip-typeahead-design.enum';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ResultTemplateContext, TypeaheadComponent } from '../typeahead/typeahead.component';\nimport { Router } from '@angular/router';\nimport { SharedUiConfiguration } from '../../../../../shared-ui.configuration';\nimport {\n\tTypeaheadIdentifierValue,\n\tTypeaheadItemIdentifier,\n\tTypeaheadItemPageRequest,\n\tTypeaheadItemSearchPage,\n} from '@evasys/globals/shared/models/component/typeahead/typeahead.model';\nimport { getTypeaheadIdentifierValue } from '@evasys/globals/shared/helper/typeahead';\nimport { InputValueReplaceStrategy } from '@evasys/globals/shared/enums/component/typeahead.enum';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-chip-typeahead',\n\ttemplateUrl: './chip-typeahead.component.html',\n\tstyleUrls: ['./chip-typeahead.component.scss'],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => ChipTypeaheadComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class ChipTypeaheadComponent implements ControlValueAccessor, OnChanges {\n\tprivate cd = inject(ChangeDetectorRef);\n\tprotected router = inject(Router);\n\tprotected config = inject(SharedUiConfiguration);\n\n\t@Input()\n\t@Required()\n\tid: string;\n\n\t@Input()\n\t@Required()\n\titems: T[] | ((query: string, pageRequest: TypeaheadItemPageRequest) => Observable>);\n\n\t@Input()\n\temptyResultsText: string;\n\n\t@Input()\n\tsearchFailedText?: string;\n\n\t@Input()\n\tset formatter(formatter: ((item: T) => string) | ((item: T) => Observable)) {\n\t\tthis._formatter = toObservableFormatter(formatter);\n\t}\n\n\t@Input()\n\theader: TemplateRef>;\n\n\t@Input()\n\tresultTemplate: TemplateRef>;\n\n\t@Input()\n\tdisabled = false;\n\n\t@Input()\n\tautoFocus: boolean;\n\n\t@Input()\n\tplacement = 'bottom-start bottom-end top-start top-end';\n\n\t@Input()\n\titemIdentifier: TypeaheadItemIdentifier = >'id';\n\n\t@Input()\n\tdesign = ChipTypeaheadDesignEnum.DEFAULT;\n\n\t@Input()\n\terrors: ValidationErrorModel[] = [];\n\n\t@Input()\n\tpopoverClass: string;\n\n\t@Input()\n\tshowSelectAll = false;\n\n\t@Input()\n\tmaxTotalSelectedElements?: number;\n\n\t@Input()\n\tpopoverContainer?: 'body' = undefined;\n\n\t@Input()\n\tchipContentTemplate: TemplateRef;\n\n\t@Input()\n\tchildItemIdentifier?: string;\n\n\t@Input()\n\tchipVisibleSize?: number;\n\n\t@ViewChild('typeahead')\n\ttypeahead: TypeaheadComponent;\n\n\t// used to clear the typeahead\n\ttypeaheadInputValue: string | null = '';\n\tchips: Array = [];\n\t_formatter: ObservableFormatter = raisingFormatter;\n\ticonStyle = ButtonDesignEnum.LINK;\n\tchipTypeaheadDesign = ChipTypeaheadDesignEnum;\n\tunselectedItems:\n\t\t| T[]\n\t\t| ((query: string, pageRequest: TypeaheadItemPageRequest) => Observable>);\n\tbuttonStyle = ButtonDesignEnum;\n\tinputValueReplaceStrategy = InputValueReplaceStrategy;\n\tcanSelectAllElements = true;\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (changes.items) {\n\t\t\tthis.updateUnselectedItems();\n\t\t}\n\t}\n\n\t_onChange: (value: T[]) => void = () => {\n\t\t// this is intentional\n\t};\n\n\t_onTouched: any = () => {\n\t\t//default\n\t};\n\n\tregisterOnChange(fn: any): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\twriteValue(value: T[] | null) {\n\t\tthis.chips = value ?? [];\n\t\tthis.updateUnselectedItems();\n\t}\n\n\tfilterUnselected = (items: T[]): T[] => {\n\t\treturn items.filter((item) => !this.isSelected(item));\n\t};\n\n\tupdateUnselectedItems() {\n\t\tif (Array.isArray(this.items)) {\n\t\t\tthis.unselectedItems = this.filterUnselected(this.items);\n\t\t} else {\n\t\t\tconst search = this.items;\n\t\t\tthis.unselectedItems = (query, pageRequest) =>\n\t\t\t\tsearch(query, pageRequest).pipe(\n\t\t\t\t\tmap((unselected) => ({\n\t\t\t\t\t\t...unselected,\n\t\t\t\t\t\tcontent: this.filterUnselected(unselected.content),\n\t\t\t\t\t}))\n\t\t\t\t);\n\t\t}\n\t}\n\n\tselectAllResults(event: MouseEvent, text: string, canSelectAll: boolean) {\n\t\tif (canSelectAll) {\n\t\t\tif (Array.isArray(this.unselectedItems)) {\n\t\t\t\tthis.setChips(this.chips.concat(this.unselectedItems));\n\t\t\t} else {\n\t\t\t\tthis.unselectedItems(text, { size: 1000, page: 0 })\n\t\t\t\t\t.pipe(first())\n\t\t\t\t\t.subscribe((items) => {\n\t\t\t\t\t\tthis.setChips(this.chips.concat(items.content));\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tthis.typeahead.close();\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tisSelected = (value: T): boolean => {\n\t\tif (typeof value === 'object' && this.childItemIdentifier in value) {\n\t\t\treturn value[this.childItemIdentifier].every((child) =>\n\t\t\t\tthis.chips.some((chip) => this.getIdentifier(chip) === this.getIdentifier(child))\n\t\t\t);\n\t\t} else {\n\t\t\treturn this.chips.some((chip) => this.getIdentifier(chip) === this.getIdentifier(value));\n\t\t}\n\t};\n\n\tisPartSelected = (value: T): boolean => {\n\t\tif (typeof value === 'object' && this.childItemIdentifier in value) {\n\t\t\tconst matchedCount = value[this.childItemIdentifier].filter((child) =>\n\t\t\t\tthis.chips.some((chip) => this.getIdentifier(chip) === this.getIdentifier(child))\n\t\t\t).length;\n\t\t\treturn matchedCount > 0 && matchedCount < value[this.childItemIdentifier].length;\n\t\t}\n\t\treturn false;\n\t};\n\n\ttoggleChip(value: T) {\n\t\tconst hasChildItem = typeof value === 'object' && this.childItemIdentifier && this.childItemIdentifier in value;\n\t\tif (!this.isSelected(value)) {\n\t\t\tconst chipsToAdd = hasChildItem\n\t\t\t\t? value[this.childItemIdentifier].filter((child) => !this.isSelected(child))\n\t\t\t\t: [value];\n\t\t\tthis.setChips([...this.chips, ...chipsToAdd]);\n\t\t\tthis.cd.detectChanges();\n\t\t} else {\n\t\t\tconst chipsToRemove = hasChildItem ? value[this.childItemIdentifier] : [value];\n\t\t\tchipsToRemove.forEach((child) => this.removeChip(child));\n\t\t}\n\t}\n\n\tremoveChip(value: T) {\n\t\tif (this.disabled) return;\n\t\tthis.setChips(this.chips.filter((chip) => this.getIdentifier(chip) !== this.getIdentifier(value)));\n\t}\n\n\tsetChips(chips: T[]) {\n\t\tthis.chips = chips;\n\t\tthis.updateUnselectedItems();\n\t\tthis._onChange(this.chips);\n\t}\n\n\tgetIdentifier = (item: T): TypeaheadIdentifierValue => {\n\t\treturn getTypeaheadIdentifierValue(item, this.itemIdentifier);\n\t};\n}\n","\n\t\n\n 0\"\n\tclass=\"chip d-flex mt-2 gap-1 mw-100\"\n\t[attr.data-cy]=\"'chipTypeahead-selectedChips-' + id\"\n>\n\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t{{ config?.translations?.chipTypeahead.removeAll | transloco }} ({{ chips.length }})\n\t\t\n\t\n\n
    \n\t\n\t\t
    \n\t\t\t\n\t\t\t\t{{ _formatter(chip) | async }}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t\t\n\t
    \n\n\n\n\t\n\t chips.length\"\n\t>\n\t\t\n\t\t\t\t\tmaxTotalSelectedElements as canSelectAll\n\t\t\t\"\n\t\t\tclass=\"w-100\"\n\t\t\t[class]=\"'c-h-fit-content'\"\n\t\t\t[id]=\"'filterTypeahead-' + id + '-selectAll'\"\n\t\t\t[isDisabled]=\"canSelectAll\"\n\t\t\t[design]=\"buttonStyle.LINK\"\n\t\t\t[attr.title]=\"\n\t\t\t\tcanSelectAll\n\t\t\t\t\t? ('common.selectAll.hover.error'\n\t\t\t\t\t | transloco\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\ttotalElements: results.latestResults?.totalElements,\n\t\t\t\t\t\t\t\t\tmaxAllowedElements: maxTotalSelectedElements\n\t\t\t\t\t\t\t })\n\t\t\t\t\t: null\n\t\t\t\"\n\t\t\t(click)=\"selectAllResults($event, results.latestResults.text, !canSelectAll)\"\n\t\t\t>{{ config.translations.chipTypeahead.selectAll | transloco }} ({{\n\t\t\t\tresults.latestResults?.totalElements\n\t\t\t}})\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t \n\n","import { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { ValidationErrorModel } from '@evasys/globals/evasys/models/component/validation-error.model';\nimport { Subscription } from 'rxjs';\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n\tselector: 'evasys-dropdown-optional',\n\ttemplateUrl: './dropdown-optional.component.html',\n\tstyleUrls: ['./dropdown-optional.component.scss'],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DropdownOptionalComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class DropdownOptionalComponent implements OnInit, ControlValueAccessor, OnDestroy {\n\t// region ViewChild\n\t@ViewChild('inputElement')\n\tinputElement?: ElementRef;\n\n\t@ViewChild('dropdownElement')\n\tdropdownElement?: NgbDropdown;\n\n\t// endregion ViewChild\n\n\t//#region Input & Output\n\t@Input()\n\t@Required()\n\tid?: string;\n\n\t@Input()\n\tset value(value: string) {\n\t\tthis.writeValue(value);\n\t\tthis.labelInside = !value;\n\t}\n\n\t@Input()\n\tdescription: string | null = null;\n\n\t@Input()\n\titems: string[] = [];\n\n\t@Input()\n\trequired = false;\n\n\t@Input()\n\tmaxLength?: number;\n\n\t@Input()\n\tminLength?: number;\n\n\t@Input()\n\tmax?: number;\n\n\t@Input()\n\tmin?: number;\n\n\t@Input()\n\tset isDisabled(disabled: boolean) {\n\t\tthis.setDisabledState(disabled);\n\t}\n\n\t@Input()\n\ttype = 'text';\n\n\t@Input()\n\tplacement = 'bottom-start bottom-end top-start top-end';\n\n\t@Input()\n\terrors: ValidationErrorModel[] = [];\n\n\t@Output()\n\tfocusAction = new EventEmitter();\n\n\t@Output()\n\tblurAction = new EventEmitter();\n\n\t@Output()\n\tpageChange = new EventEmitter();\n\n\t//#endregion Input & Output\n\n\t//#region Variables\n\tpublic subscriptions: Subscription[] = [];\n\n\tpublic focused = false;\n\tpublic labelInside = true;\n\tpublic inputControl = new FormControl();\n\n\t//#endregion Variables\n\n\t//#region Getter & Setter\n\tget height(): string {\n\t\treturn document.documentElement.style.getPropertyValue('--textbox-height');\n\t}\n\n\t//#endregion Getter & Setter\n\n\t//#region Events\n\t_onChange: any = () => {\n\t\treturn;\n\t};\n\n\t_onTouched: any = () => {\n\t\treturn;\n\t};\n\n\tngOnInit(): void {\n\t\tthis.subscriptions.push(\n\t\t\tthis.inputControl.valueChanges.subscribe((val) => {\n\t\t\t\tthis.determineLabel(val);\n\t\t\t})\n\t\t);\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tonFocus(): void {\n\t\tthis.focusAction.emit();\n\t\tthis.labelInside = false;\n\t\tthis.focused = true;\n\t}\n\n\tonBlur(): void {\n\t\tthis.focused = false;\n\t\tthis.determineLabel(this.inputControl.value);\n\t\tthis.blurAction.emit();\n\t}\n\n\tonInput(): void {\n\t\tthis._onChange(this.inputControl.value);\n\t}\n\n\tonSelect(key: string): void {\n\t\tthis.inputControl.setValue(key);\n\t\tthis._onChange(this.inputControl.value);\n\t}\n\n\tonOpenChange(opened: boolean): void {\n\t\tif (opened) {\n\t\t\tif (this.inputControl.disabled || !this.items || this.items.length === 0) {\n\t\t\t\tthis.dropdownElement?.close();\n\t\t\t}\n\t\t}\n\t}\n\n\t//#endregion Events\n\n\t//#region Methods\n\tisInvalid(): boolean {\n\t\treturn this.errors.find((error) => error.trigger) !== undefined;\n\t}\n\n\tclear(): void {\n\t\tthis.inputControl.reset();\n\t}\n\n\tprivate determineLabel(value: string): void {\n\t\tthis.labelInside = value === undefined || value === null || (value?.length === 0 && !this.focused);\n\t}\n\t//#endregion Methods\n\n\t//#region ControlValueAccessor\n\tregisterOnChange(fn: (_: any) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tisDisabled ? this.inputControl.disable() : this.inputControl.enable();\n\t}\n\n\twriteValue(value: string): void {\n\t\tif (value === null) {\n\t\t\tthis.clear();\n\t\t}\n\t\tthis.inputControl.setValue(value);\n\t}\n\n\t//#endregion ControlValueAccessor\n}\n","\n\t
    \n\t\t
    \n\t\t\t\n\n\t\t\t\n\t\t
    \n\n\t\t 0\"\n\t\t\tngbDropdownToggle\n\t\t\tclass=\"btn pe-4 position-relative border-0 c-outline-0 shadow-none c-w-30px dropdown-button\"\n\t\t\t[disabled]=\"inputControl.disabled\"\n\t\t\t[class.is-invalid]=\"isInvalid()\"\n\t\t\t[attr.data-cy]=\"'dropdown-optional-toggle-' + id\"\n\t\t\t(focus)=\"onFocus()\"\n\t\t\t(blur)=\"onBlur()\"\n\t\t>\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t
    \n\t\n\n\t
    \n\t\t\n\t\t\t{{ item }}\n\t\t\n\t
    \n\n\t\n\t\t
    \n\t\t\t{{ error.text }}\n\t\t
    \n\t
    \n\n","import {\n\tAfterViewInit,\n\tComponent,\n\tComponentRef,\n\tElementRef,\n\tforwardRef,\n\tInject,\n\tInput,\n\tOnDestroy,\n\tOnInit,\n\tTemplateRef,\n\tViewChild,\n} from '@angular/core';\nimport {\n\tBehaviorSubject,\n\tcombineLatest,\n\tdebounceTime,\n\tdistinctUntilChanged,\n\tEMPTY,\n\tfilter,\n\tfirst,\n\tfromEvent,\n\tmap,\n\tObservable,\n\tof,\n\tsample,\n\tscan,\n\tstartWith,\n\tSubject,\n\tSubscription,\n\tswitchMap,\n\ttap,\n} from 'rxjs';\nimport { NgbPopover } from '@ng-bootstrap/ng-bootstrap';\nimport {\n\texhaustScan,\n\tFormatter,\n\tObservableFormatter,\n\traisingFormatter,\n\ttoObservableFormatter,\n} from '@evasys/shared/util';\nimport { ValidationErrorModel } from '@evasys/globals/evasys/models/component/validation-error.model';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LoadingState, trackLoadingState } from '@evasys/evainsights/shared/util';\nimport { DOCUMENT } from '@angular/common';\nimport { isNotNullish, isNullish } from '@evasys/globals/evainsights/typeguards/common';\nimport { Options } from '@popperjs/core';\nimport { maxSizePopperOptions } from '../../../../../popover/max-size/popper-options';\nimport { minWidthReference } from '../../../../../popover/min-width';\nimport { NgbPopoverWindow } from '@ng-bootstrap/ng-bootstrap/popover/popover';\nimport { TypeaheadPopoverService } from '../../../../../services/typeahead-popover.service';\nimport { InputValueReplaceStrategy } from '@evasys/globals/shared/enums/component/typeahead.enum';\nimport {\n\tTypeaheadIdentifierValue,\n\tTypeaheadItemIdentifier,\n\tTypeaheadItems,\n\tTypeaheadItemSearch,\n\tTypeaheadItemSearchPage,\n\tTypeaheadStaticItems,\n} from '@evasys/globals/shared/models/component/typeahead/typeahead.model';\nimport { SharedUiConfiguration } from '../../../../../shared-ui.configuration';\nimport { getTypeaheadIdentifierValue } from '@evasys/globals/shared/helper/typeahead';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-typeahead',\n\ttemplateUrl: './typeahead.component.html',\n\tstyleUrls: ['./typeahead.component.scss'],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => TypeaheadComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class TypeaheadComponent implements OnInit, AfterViewInit, OnDestroy {\n\t@Input()\n\t@Required()\n\tid!: string;\n\n\t@Input()\n\t@Required()\n\tset items(items: TypeaheadItems) {\n\t\tthis.items$.next(items);\n\t}\n\n\t@Input()\n\t@Required()\n\tset formatter(formatter: Formatter) {\n\t\tthis.formatter$.next(toObservableFormatter(formatter));\n\t}\n\n\t@Input()\n\t@Required()\n\tsearchFailedText!: string;\n\n\t@Input()\n\t@Required()\n\temptyResultsText!: string;\n\n\t@Input()\n\tresultTemplate!: TemplateRef>;\n\n\t@Input()\n\terrors: ValidationErrorModel[] = [];\n\n\t@Input()\n\tautoClosePopoverOnSelect = true;\n\n\t@Input()\n\tdisabled = false;\n\n\t@Input()\n\titemIdentifier: TypeaheadItemIdentifier = >'id';\n\n\t@Input()\n\tautoFocus = false;\n\n\t@Input()\n\tplacement = 'bottom-start bottom-end top-start top-end';\n\n\t@Input()\n\theader: TemplateRef;\n\n\t@Input()\n\tpopoverClass: string;\n\n\t@Input()\n\tchildItemIdentifier?: string;\n\n\t@Input()\n\tpopoverContainer?: 'body' = undefined;\n\n\t@Input()\n\tinputValueReplaceStrategy = InputValueReplaceStrategy.REPLACE_WITH_SELECTED_VALUE;\n\n\t@ViewChild('inputContainer')\n\tinputContainer!: ElementRef;\n\n\t@ViewChild('input')\n\tinput!: ElementRef;\n\n\t@ViewChild('popover')\n\tpopover!: NgbPopover;\n\n\tisOpen$ = new BehaviorSubject(false);\n\tsearchText$ = new BehaviorSubject('');\n\titems$ = new BehaviorSubject | null>(null);\n\tformatter$ = new BehaviorSubject>(raisingFormatter);\n\tselected$ = new BehaviorSubject(null);\n\tloadMore$ = new Subject();\n\tsearch$ = combineLatest([this.items$.pipe(filter(isNotNullish)), this.formatter$]).pipe(\n\t\tmap(([items, formatter]) => buildInfiniteScrollingSearch(items, formatter, this.loadMore$))\n\t);\n\tresults$ = new BehaviorSubject>({\n\t\tisLoadingNewQuery: true,\n\t\tisLoadingMore: false,\n\t});\n\tactiveIndex = 0;\n\tactiveChildIndex = -1;\n\tescapeKeySubscription: Subscription | undefined = undefined;\n\tresultsSubscription: Subscription | undefined = undefined;\n\tsubscriptions: Subscription[] = [];\n\tinputIntersectionObserver?: IntersectionObserver;\n\tborderAvoidingPopperOptions = maxSizePopperOptions({\n\t\tminWidth: 30,\n\t\tminHeight: 30,\n\t\tpadding: { top: 60, left: 10, bottom: 10, right: 10 },\n\t});\n\tplaceholder = ' ';\n\n\tclearSearchText() {\n\t\tthis.searchText$.next('');\n\t}\n\n\tconstructor(\n\t\t@Inject(DOCUMENT) private document: Document,\n\t\tprivate typeaheadPopoverService: TypeaheadPopoverService,\n\t\tprotected readonly config: SharedUiConfiguration\n\t) {}\n\n\tonSearchTextChange(value: string) {\n\t\tthis.open();\n\t\tthis.searchText$.next(value);\n\t}\n\n\tngOnInit() {\n\t\tthis.resultsSubscription = this.results$.subscribe(() => {\n\t\t\tthis.activeIndex = 0;\n\t\t\tthis.activeChildIndex = -1;\n\t\t});\n\n\t\tthis.subscriptions.push(\n\t\t\tcombineLatest([this.searchText$.pipe(debounceTime(200), startWith(this.searchText$.value)), this.isOpen$])\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(([, isOpen]) => isOpen),\n\t\t\t\t\tmap(([text]) => text),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tthis.applySearch()\n\t\t\t\t)\n\t\t\t\t.subscribe(this.results$)\n\t\t);\n\n\t\tif (this.inputValueReplaceStrategy === InputValueReplaceStrategy.REPLACE_WITH_SELECTED_VALUE) {\n\t\t\tthis.subscriptions.push(\n\t\t\t\tcombineLatest([this.formatter$, this.selected$])\n\t\t\t\t\t.pipe(switchMap(([formatter, selected]) => (isNullish(selected) ? of('') : formatter(selected))))\n\t\t\t\t\t.subscribe((formattedItem) => {\n\t\t\t\t\t\tthis.clearSearchText();\n\t\t\t\t\t\tthis.placeholder = formattedItem !== '' ? formattedItem : ' ';\n\t\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tif (this.autoFocus) {\n\t\t\tthis.input.nativeElement.focus();\n\t\t}\n\t\tthis.escapeKeySubscription = this.isOpen$\n\t\t\t.pipe(\n\t\t\t\tfilter((isOpen) => isOpen),\n\t\t\t\tsample(\n\t\t\t\t\tfromEvent(this.document, 'keydown').pipe(\n\t\t\t\t\t\tfilter((event) => event.key === 'Escape'),\n\t\t\t\t\t\ttap((event) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t\t.subscribe(() => this.close());\n\n\t\tthis.inputIntersectionObserver = new IntersectionObserver(([entry]) => {\n\t\t\tif (!entry.isIntersecting) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t});\n\t\tthis.inputIntersectionObserver.observe(this.input.nativeElement);\n\t}\n\n\tngOnDestroy() {\n\t\tthis.inputIntersectionObserver.disconnect();\n\n\t\tfor (const sub of [this.escapeKeySubscription, this.resultsSubscription, ...this.subscriptions]) {\n\t\t\tif (sub) {\n\t\t\t\tsub.unsubscribe();\n\t\t\t}\n\t\t}\n\t}\n\n\tonScrolled() {\n\t\tthis.loadMore$.next();\n\t}\n\n\tonEscapeKeydown(event: KeyboardEvent) {\n\t\tif (this.isOpen$.value) {\n\t\t\tevent.stopPropagation();\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tonArrowDownKeydown(event: KeyboardEvent) {\n\t\tevent.preventDefault();\n\n\t\tif (!this.isOpen$.value) {\n\t\t\tthis.open();\n\t\t} else if (this.isReady) {\n\t\t\t// set next active\n\t\t\tif (\n\t\t\t\tthis.results$.value.latestResults.entities[this.activeIndex][this.childItemIdentifier]?.length - 1 >\n\t\t\t\tthis.activeChildIndex\n\t\t\t) {\n\t\t\t\tthis.activeChildIndex += 1;\n\t\t\t} else if (this.activeIndex < this.results$.value.latestResults.entities.length - 1) {\n\t\t\t\tthis.activeIndex += 1;\n\t\t\t\tthis.activeChildIndex = -1;\n\t\t\t}\n\t\t}\n\t}\n\n\tonArrowUpKeydown(event: KeyboardEvent) {\n\t\tevent.preventDefault();\n\n\t\t// set previous active\n\t\tif (!this.isOpen$.value) {\n\t\t\tthis.open();\n\t\t} else if (this.isReady) {\n\t\t\tif (this.activeChildIndex >= 0) {\n\t\t\t\tthis.activeChildIndex -= 1;\n\t\t\t} else if (this.activeIndex > 0) {\n\t\t\t\tthis.activeIndex -= 1;\n\t\t\t\tconst activeItemChildCount =\n\t\t\t\t\tthis.results$.value.latestResults.entities[this.activeIndex][this.childItemIdentifier]?.length - 1;\n\t\t\t\tif (activeItemChildCount > 0) {\n\t\t\t\t\tthis.activeChildIndex = activeItemChildCount;\n\t\t\t\t} else {\n\t\t\t\t\tthis.activeChildIndex = -1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonConfirmKeydown(event: KeyboardEvent) {\n\t\tif (!this.isOpen$.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst entities = this.results$.value?.latestResults.entities;\n\t\tconst activeExists = entities !== undefined && entities.length > this.activeIndex;\n\n\t\t// select active\n\t\tif (this.isReady && activeExists) {\n\t\t\tconst active =\n\t\t\t\tthis.activeChildIndex === -1\n\t\t\t\t\t? entities[this.activeIndex]\n\t\t\t\t\t: entities[this.activeIndex][this.childItemIdentifier][this.activeChildIndex];\n\t\t\tthis.select(active);\n\t\t}\n\t}\n\n\tget isReady() {\n\t\tconst currentResult = this.results$.value;\n\t\treturn !currentResult.isLoadingNewQuery && !currentResult.isLoadingMore && currentResult.error === undefined;\n\t}\n\n\tgetIdentifier = (item: T): TypeaheadIdentifierValue => {\n\t\treturn getTypeaheadIdentifierValue(item, this.itemIdentifier);\n\t};\n\n\tonItemMouseenter(index: number, childIndex: number) {\n\t\tthis.activeIndex = index;\n\t\tthis.activeChildIndex = childIndex;\n\t}\n\n\tonItemClick(element: T) {\n\t\tthis.select(element);\n\t}\n\n\tonInputMouseDown(event: MouseEvent) {\n\t\tif (!this.hasInputFocus) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n\n\tonPopoverMouseDown(event: MouseEvent) {\n\t\tif (this.hasInputFocus) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonBodyClick = (ev: MouseEvent) => {\n\t\tconst popoverWindow = (this.popover as any)._windowRef as ComponentRef | null;\n\n\t\tif (popoverWindow !== null) {\n\t\t\tif (popoverWindow.location.nativeElement.contains(ev.target)) {\n\t\t\t\tev.preventDefault();\n\t\t\t} else if (!this.inputContainer.nativeElement.contains(ev.target as Node)) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}\n\t};\n\n\tget hasInputFocus(): boolean {\n\t\treturn this.input.nativeElement === document.activeElement;\n\t}\n\n\topen() {\n\t\tif (!this.isOpen$.value) {\n\t\t\tthis.typeaheadPopoverService.addBodyClickHandlerForInstance(this.onBodyClick);\n\t\t\tthis.popover.open();\n\t\t\tthis.isOpen$.next(true);\n\n\t\t\tif (!this.resultsSubscription) {\n\t\t\t\tthis.resultsSubscription = this.results$.subscribe(() => {\n\t\t\t\t\t/* keep alive */\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tclose() {\n\t\tif (this.isOpen$.value) {\n\t\t\tthis.typeaheadPopoverService.removeBodyClickHandlerForInstance(this.onBodyClick);\n\t\t\tthis.popover.close();\n\t\t\tthis.isOpen$.next(false);\n\t\t\tthis.searchText$.next('');\n\t\t}\n\t}\n\n\tapplySearch() {\n\t\treturn (searchText$: Observable): Observable> =>\n\t\t\tcombineLatest([this.search$, searchText$]).pipe(\n\t\t\t\tswitchMap(([search, text]) => search(text).pipe(map((scrollingState) => ({ text, scrollingState })))),\n\t\t\t\tscan<{ text: string; scrollingState: InfiniteScrollingState }, TypeaheadSearchState, null>(\n\t\t\t\t\t(\n\t\t\t\t\t\tacc,\n\t\t\t\t\t\t{ text, scrollingState: { content, isLoading, error, totalElements } }\n\t\t\t\t\t): TypeaheadSearchState => {\n\t\t\t\t\t\tconst isLoadingNewQuery = isLoading && content.length === 0;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tisLoadingNewQuery,\n\t\t\t\t\t\t\tisLoadingMore: isLoading && !isLoadingNewQuery,\n\t\t\t\t\t\t\tlatestResults: isLoadingNewQuery\n\t\t\t\t\t\t\t\t? acc?.latestResults\n\t\t\t\t\t\t\t\t: { text, entities: content, totalElements },\n\t\t\t\t\t\t\terror,\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tnull\n\t\t\t\t)\n\t\t\t);\n\t}\n\n\tselect(value: T) {\n\t\tthis.selected$.next(value);\n\t\tthis._onChange(value);\n\t\tif (this.autoClosePopoverOnSelect) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tpopoverOption = (options: Partial) => {\n\t\toptions = this.borderAvoidingPopperOptions(options);\n\n\t\tfor (const modifier of options.modifiers || []) {\n\t\t\tif (modifier.name === 'offset' && modifier.options) {\n\t\t\t\tmodifier.options.offset = () => [0, 2];\n\t\t\t}\n\t\t}\n\t\toptions.onFirstUpdate = (state) => {\n\t\t\tif (state.elements?.arrow) {\n\t\t\t\tstate.elements.arrow.style.display = 'none';\n\t\t\t\tstate.elements.popper.style.padding = '0px';\n\t\t\t}\n\t\t};\n\n\t\toptions.modifiers.push(minWidthReference);\n\n\t\treturn options;\n\t};\n\n\t_onChange: (value: T) => void = () => {\n\t\t// this is intentional\n\t};\n\n\t_onTouched = () => {\n\t\t//default\n\t};\n\n\tregisterOnChange(fn: (value: T) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\twriteValue(value: T | null) {\n\t\tthis.selected$.next(value);\n\t}\n}\n\nexport const PAGE_SIZE = 50;\n\nconst buildInfiniteScrollingSearch = (\n\titems: TypeaheadItems,\n\tformatter: ObservableFormatter,\n\tloadMore$: Observable\n): InfiniteScrollingSearch => {\n\tif (typeof items === 'function') {\n\t\treturn buildInfiniteScrollingSearchFromItemSearch(items, loadMore$);\n\t} else {\n\t\treturn buildInfiniteScrollingSearchFromStaticItems(items, formatter);\n\t}\n};\n\nconst buildInfiniteScrollingSearchFromItemSearch = (\n\tsearch: TypeaheadItemSearch,\n\tloadMore$: Observable\n): InfiniteScrollingSearch => {\n\treturn (query: string) =>\n\t\tloadMore$.pipe(\n\t\t\tstartWith(null),\n\t\t\texhaustScan>, null>((previousPageState, _, pageNum) => {\n\t\t\t\tif (previousPageState?.data?.last) {\n\t\t\t\t\treturn EMPTY;\n\t\t\t\t} else {\n\t\t\t\t\treturn search(query, {\n\t\t\t\t\t\tsize: PAGE_SIZE,\n\t\t\t\t\t\tpage: pageNum,\n\t\t\t\t\t}).pipe(first(), trackLoadingState());\n\t\t\t\t}\n\t\t\t}, null),\n\t\t\tscan>, InfiniteScrollingState>(\n\t\t\t\t(infiniteScrollingState, loadingState) => ({\n\t\t\t\t\tcontent: loadingState.data\n\t\t\t\t\t\t? [...infiniteScrollingState.content, ...loadingState.data.content]\n\t\t\t\t\t\t: infiniteScrollingState.content,\n\t\t\t\t\tisLoading: loadingState.isLoading,\n\t\t\t\t\ttotalElements: loadingState.data?.totalElements ?? -1,\n\t\t\t\t\terror: loadingState.error,\n\t\t\t\t}),\n\t\t\t\t{ content: [], isLoading: false, totalElements: -1 }\n\t\t\t)\n\t\t);\n};\n\nconst buildInfiniteScrollingSearchFromStaticItems = (\n\titems: TypeaheadStaticItems,\n\tformatter: ObservableFormatter\n): InfiniteScrollingSearch => {\n\tconst itemsWithTexts$ = combineLatest(items.map((item) => formatter(item).pipe(map((text) => ({ item, text })))));\n\treturn (query) =>\n\t\titemsWithTexts$.pipe(\n\t\t\tmap((entries) =>\n\t\t\t\tentries.filter(({ text }) => text.toLowerCase().includes(query.toLowerCase())).map(({ item }) => item)\n\t\t\t),\n\t\t\tmap((matchingItems) => ({\n\t\t\t\tcontent: matchingItems,\n\t\t\t\ttotalElements: matchingItems.length,\n\t\t\t\tisLoading: false,\n\t\t\t})),\n\t\t\tstartWith({ content: [], isLoading: true, totalElements: -1 })\n\t\t);\n};\n\nexport interface ResultTemplateContext {\n\tresult: T;\n\tterm: string;\n}\n\ntype InfiniteScrollingSearch = (term: string) => Observable>;\n\ninterface InfiniteScrollingState {\n\tcontent: T[];\n\tisLoading: boolean;\n\terror?: any;\n\ttotalElements: number;\n}\n\nexport interface TypeaheadSearchState {\n\tlatestResults?: Results;\n\tisLoadingNewQuery: boolean;\n\tisLoadingMore: boolean;\n\terror?: any;\n}\n\ninterface Results {\n\ttext: string;\n\tentities: T[];\n\ttotalElements: number;\n}\n","\n\t\n\t\n\n\n
    \n\t\n\t\n\t\t\n\t\n\t\n\t\n\t\t\n\t\t\t \n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{{ searchFailedText }}\n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ config.translations.typeahead.loading | transloco }}\n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{{ emptyResultsText }}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n","import { Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { DropdownComponent } from '../../dropdown/dropdown.component';\n\n@Component({\n\tselector: 'evasys-dropdown-filter',\n\ttemplateUrl: './dropdown-filter.component.html',\n\tstyleUrls: ['./dropdown-filter.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class DropdownFilterComponent {\n\t//region Injections\n\tpublic dropdownComponent = inject(DropdownComponent);\n\t//endregion\n\n\t//region Variables\n\tpublic hasValue = computed(() => {\n\t\tif (this.dropdownComponent.splitControlValues) {\n\t\t\treturn (\n\t\t\t\tthis.dropdownComponent._value() &&\n\t\t\t\t(this.dropdownComponent._value() satisfies []).filter((item) => !!item).length > 0\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\tthis.dropdownComponent._value() &&\n\t\t\t\t(!Array.isArray(this.dropdownComponent._value()) || this.dropdownComponent._value().length > 0)\n\t\t\t);\n\t\t}\n\t});\n\n\t//endregion\n}\n","
    \n\t\n\t\t\n\t\t\n\t
    \n\t\n\n","import { Component, ContentChildren, inject, QueryList, ViewEncapsulation } from '@angular/core';\nimport { DropdownComponent } from '../../dropdown/dropdown.component';\nimport { ErrorComponent } from '../../../../dynamic-components/error/error/error.component';\n\n@Component({\n\tselector: 'evasys-dropdown-primary',\n\ttemplateUrl: './dropdown-primary.component.html',\n\tstyleUrls: ['./dropdown-primary.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class DropdownPrimaryComponent {\n\t//region ContentChildren\n\t@ContentChildren(ErrorComponent)\n\terrors: QueryList;\n\t//endregion\n\t//region Injections\n\tpublic dropdownComponent = inject(DropdownComponent);\n\n\t//endregion\n\n\t//region Getter & Setter\n\tpublic get isInvalid() {\n\t\treturn !!this.errors.find((errors) => !!errors.errors.find((error) => error.trigger === true));\n\t}\n\n\t//endregion\n}\n","\n\t
    \n\t\n\t\t\n\t\n\n\t\n\t\t\n\t\n\n\t
    \n\t\t\n\t\t\n\t
    \n\n\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport {\n\tOrderSelectorItemModel,\n\tSelectorItemModel,\n} from '@evasys/globals/evasys/models/component/order-selector-item.model';\nimport { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport set = Reflect.set;\n\n@Component({\n\tselector: 'evasys-order-selector',\n\ttemplateUrl: './order-selector.component.html',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: OrderSelectorComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class OrderSelectorComponent implements OnDestroy, ControlValueAccessor {\n\t//#region Input & Output\n\t@Input()\n\t@Required()\n\tid?: string;\n\n\t@Input()\n\tset items(items: OrderSelectorItemModel[] | undefined) {\n\t\tif (items && items?.length > 0) {\n\t\t\tthis.createFormGroup(items.map((item) => item.uniqueName));\n\t\t\tthis._items = items;\n\t\t\tthis.selectItems = items[0].items;\n\t\t\tthis.selectedFormControl = items[0].uniqueName;\n\t\t}\n\t}\n\n\t@Input()\n\tmultiSelect = false;\n\n\t@Input()\n\tselectSize = 10;\n\n\t@Output()\n\tactiveSelectChange: EventEmitter = new EventEmitter();\n\n\t@Input()\n\tset activeSelect(select: string | undefined) {\n\t\tthis.onTopSelect(\n\t\t\tthis._items?.findIndex(function (item) {\n\t\t\t\treturn item.uniqueName === select;\n\t\t\t})\n\t\t);\n\t}\n\n\t//#endregion Input & Output\n\n\t//#region Variables\n\tpublic selectedFormControl?: string;\n\tpublic selectItems?: SelectorItemModel[];\n\tpublic selectionsFormGroup?: FormGroup;\n\tpublic _items?: OrderSelectorItemModel[];\n\n\tprivate subscriptions: Subscription[] = [];\n\tprivate selectedTopItem = 0;\n\n\t//#endregion Variables\n\n\tconstructor(private formBuilder: FormBuilder) {\n\t\t//init\n\t}\n\n\t// region Settable events\n\n\tprivate _onChange: (value: any) => void = () => undefined;\n\n\tprivate _onTouched: any = () => undefined;\n\n\t// endregion Settable events\n\n\t//#region Methods\n\n\tcreateFormGroup(controlNames: string[]) {\n\t\tconst controlConfig = {};\n\t\tcontrolNames.forEach((name) => set(controlConfig, name, ['']));\n\t\tthis.selectionsFormGroup = this.formBuilder.group(controlConfig);\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t\tthis.subscriptions.push(this.selectionsFormGroup.valueChanges.subscribe((change) => this._onChange(change)));\n\t}\n\n\tclearFollowingSelector() {\n\t\tif (this._items) {\n\t\t\tfor (let i = this.selectedTopItem + 1; i < this._items?.length; i++) {\n\t\t\t\tthis.selectionsFormGroup?.get(this._items[i].uniqueName)?.setValue(null);\n\t\t\t}\n\t\t}\n\t}\n\n\t//#endregion Methods\n\n\t//#region Events\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tonSelect(selected: string | number) {\n\t\tif (this.selectedFormControl) {\n\t\t\tthis.selectionsFormGroup?.get(this.selectedFormControl)?.setValue(selected);\n\n\t\t\tthis.clearFollowingSelector();\n\t\t\tif (this._items && this._items.length > this.selectedTopItem + 1)\n\t\t\t\tthis.onTopSelect(this.selectedTopItem + 1);\n\t\t}\n\t}\n\n\tonTopSelect(selectedTopItem: number | undefined) {\n\t\tif (\n\t\t\t//are there items?\n\t\t\tthis._items &&\n\t\t\t//and is the param not undefined\n\t\t\tselectedTopItem !== undefined &&\n\t\t\t//and is the selected item the first item?\n\t\t\t(selectedTopItem === 0 ||\n\t\t\t\t//or is the value of the item which is one step before of the selected item set?\n\t\t\t\t(this._items[selectedTopItem - 1] &&\n\t\t\t\t\tthis.selectionsFormGroup?.get(this._items[selectedTopItem - 1].uniqueName)?.value))\n\t\t) {\n\t\t\tthis.selectedTopItem = selectedTopItem;\n\t\t\tthis.selectItems = this._items[selectedTopItem].items;\n\t\t\tthis.selectedFormControl = this._items[selectedTopItem].uniqueName;\n\t\t\tthis.activeSelectChange.emit(this.selectedFormControl);\n\t\t}\n\t}\n\n\t//#endregion Events\n\n\t//#region ControlValueAccessor\n\n\tregisterOnChange(fn: (value: any) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(_isDisabled: boolean): void {\n\t\t//TODO: setDisable if necessary\n\t}\n\n\twriteValue(value: any): void {\n\t\tif (value) {\n\t\t\tthis.selectionsFormGroup?.setValue(value);\n\t\t}\n\t}\n\n\t//#endregion ControlValueAccessor\n}\n","\n\n\t\n\t\t{{ item.name }}\n\t\n\n","import { Component, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValidationErrorModel } from '@evasys/globals/evasys/models/component/validation-error.model';\nimport { LabelPositionEnum } from '@evasys/globals/shared/enums/component/label-position.enum';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { Subscription } from 'rxjs';\n\n@Component({\n\tselector: 'evasys-radio-button',\n\ttemplateUrl: './radio-button.component.html',\n\tstyleUrls: ['./radio-button.component.scss'],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: RadioButtonComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class RadioButtonComponent implements ControlValueAccessor, OnDestroy {\n\t//region ViewChilds\n\t@ViewChild('labelElement')\n\tlabelElement: ElementRef;\n\t//endregion\n\n\t//#region Input & Output\n\t@Input()\n\t@Required()\n\tid: string | undefined;\n\n\t@Input()\n\tname: string | undefined;\n\n\t@Input()\n\tlablePosition: LabelPositionEnum = LabelPositionEnum.RIGHT;\n\n\t@Input()\n\tset value(value: string | number | null) {\n\t\tif (value !== null && typeof value === 'number') {\n\t\t\tvalue = value.toString();\n\t\t}\n\t\tthis._value = value;\n\t}\n\n\t@Input()\n\terrors: ValidationErrorModel[] = [];\n\n\t@Input()\n\tset isDisabled(disabled: boolean) {\n\t\tthis.setDisabledState(disabled);\n\t}\n\n\t@Input()\n\tpublic set checked(checked: boolean) {\n\t\tif (checked) {\n\t\t\tthis.onChecked();\n\t\t}\n\t}\n\n\t@Output()\n\tcheckedChange: EventEmitter = new EventEmitter();\n\n\t//#endregion Input & Output\n\n\t//#region Variables\n\tpublic _isDisabled = false;\n\t_value: string | number | undefined;\n\tpublic labelPosition = LabelPositionEnum;\n\tpublic input = new FormControl();\n\n\tprivate readonly subscriptions: Subscription[] = [];\n\t//#endregion Variables\n\n\t//#region Events\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tonChecked(): void {\n\t\tthis.input.setValue(this._value);\n\t\tthis.checkedChange.emit(this.input.value);\n\t}\n\n\t//#endregion Events\n\n\t//#region Methods\n\tisInvalid(): boolean {\n\t\treturn this.errors.find((error) => error.trigger) != null;\n\t}\n\n\tisChecked() {\n\t\treturn this.input.value === this._value;\n\t}\n\n\t//#endregion Methods\n\n\t//#region ControlValueAccessor\n\n\tregisterOnChange(fn: (_: any) => void): void {\n\t\tthis.subscriptions.push(this.input.valueChanges.subscribe(fn));\n\t}\n\n\tregisterOnTouched(_fn: any): void {\n\t\t// default\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis._isDisabled = isDisabled;\n\t\tisDisabled ? this.input.disable() : this.input.enable();\n\t}\n\n\tpublic writeValue(value: string | number | null): void {\n\t\tif (value !== null) {\n\t\t\tif (typeof value === 'number') {\n\t\t\t\tvalue = value.toString();\n\t\t\t}\n\t\t\tthis.input.setValue(value);\n\t\t}\n\t}\n\n\t//#endregion ControlValueAccessor\n}\n","\n\t\n\t\n\t\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n\tSelectorGroupModel,\n\tSelectorItemModel,\n} from '@evasys/globals/evasys/models/component/order-selector-item.model';\nimport { Animations } from '@evasys/globals/shared/animations/animations';\nimport { isSelectorGroup } from '@evasys/shared/util';\nimport { ChangeEventFunc, SelectId } from '@evasys/globals/shared/types/select.types';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-select-area',\n\ttemplateUrl: './select-area.component.html',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: SelectAreaComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n\tanimations: [Animations.yGrowAnimation(), Animations.fadeInLeftAnimation],\n})\nexport class SelectAreaComponent implements ControlValueAccessor {\n\t//#region Input & Output\n\t@Input()\n\t@Required()\n\tid?: string;\n\n\tpublic get canFocus(): boolean {\n\t\treturn !this.focused && !this.input.disabled && this._canFocus;\n\t}\n\n\t@Input()\n\tpublic set canFocus(focusable: boolean) {\n\t\tthis._canFocus = focusable;\n\t}\n\n\t@Input()\n\tname?: string;\n\n\tpublic get selectItems(): SelectItems {\n\t\treturn this._selectItems;\n\t}\n\n\t@Input()\n\tpublic set selectItems(items: SelectItems) {\n\t\tthis._selectItems = items;\n\t\tthis.itemsChange.emit(items);\n\t}\n\n\t@Input()\n\tloading?: boolean;\n\n\tpublic get focused(): boolean {\n\t\treturn !this.input.disabled && this._focused;\n\t}\n\n\t@Input()\n\tpublic set focused(toggle: boolean) {\n\t\tif (this._focused !== toggle) {\n\t\t\tthis._focused = toggle;\n\t\t\tthis.focusedChange.emit(this.focused);\n\t\t}\n\t}\n\n\t@Input()\n\tpublic multiple = false;\n\n\t@Output()\n\titemsChange = new EventEmitter();\n\n\t@Output()\n\tfocusedChange = new EventEmitter();\n\n\t@Output()\n\tselectionChange = new EventEmitter();\n\n\t@Output()\n\tpageChange = new EventEmitter();\n\n\t//#endergion Input & Output\n\n\t//#region Variables\n\tpublic input = new FormControl();\n\n\tprivate _canFocus = false;\n\n\tprivate _selectItems: SelectItems = [];\n\n\tprivate _focused = false;\n\t//#endregion Variables\n\n\t//#region Events\n\tpublic onClick(): void {\n\t\tif (this.canFocus) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_onChange: ChangeEventFunc = () => {\n\t\t//default\n\t};\n\t_onTouched: any = () => {\n\t\t//default\n\t};\n\n\t//#endregion Events\n\n\t//#region ControlValueAccessor\n\n\tregisterOnChange(fn: ChangeEventFunc): void {\n\t\tthis._onChange = fn;\n\t\tthis.input.registerOnChange(this._onChange);\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tisDisabled ? this.input.disable() : this.input.enable();\n\t}\n\n\twriteValue(selected: SelectId | SelectId[] | null): void {\n\t\tif (selected != null) {\n\t\t\tif (!Array.isArray(selected)) {\n\t\t\t\tselected = [selected];\n\t\t\t}\n\t\t\tfor (const [index, id] of selected.entries()) {\n\t\t\t\tif (typeof id === 'number') {\n\t\t\t\t\tselected[index] = id.toString();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.input.setValue(selected);\n\t\tthis.selectionChange.emit(selected);\n\t}\n\n\t//#endregion ControlValueAccessor\n\n\tpublic get items(): SelectorItemModel[] {\n\t\tconst items = [];\n\t\tfor (const selectItem of this.selectItems ?? []) {\n\t\t\tif (isSelectorGroup(selectItem)) {\n\t\t\t\titems.push(...selectItem.items);\n\t\t\t} else {\n\t\t\t\titems.push(selectItem);\n\t\t\t}\n\t\t}\n\t\titems.forEach((item) => {\n\t\t\titem.id = typeof item.id === 'number' ? item.id.toString() : item.id;\n\t\t});\n\t\treturn items;\n\t}\n}\n\ntype SelectItems = (SelectorItemModel | SelectorGroupModel)[];\n","
    \n\t
    \n\t\t\n\t\t\t{{ name }}\n\t\t\n\t\t 0\"\n\t\t\t[attr.data-cy]=\"'selectArea-value-' + id\"\n\t\t\t[@fadeInLeftAnimation]\n\t\t\tclass=\"border-0 c-lg-border-left-only col-12 col-lg-7 text-primary text-truncate fw-bold mb-0\"\n\t\t>\n\t\t\t{{ input.value | namesByIds : items | commaSeparated }}\n\t\t

    \n\t
    \n\t\n\t\t{{\n\t\t\tselectItem.name\n\t\t}}\n\t\t\n\t\n
    \n","import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-selector-group',\n\ttemplateUrl: './selector-group.component.html',\n})\nexport class SelectorGroupComponent {}\n","
    \n\t\n
    \n","import {\n\tComponent,\n\tcomputed,\n\tEventEmitter,\n\tHostBinding,\n\tHostListener,\n\tinject,\n\tInput,\n\tOnInit,\n\tOutput,\n} from '@angular/core';\nimport { SelectorComponent } from '../selector/selector.component';\nimport { isArray } from 'lodash';\nimport { Animations } from '@evasys/globals/shared/animations/animations';\n\n@Component({\n\tselector: 'evasys-selector-item',\n\ttemplateUrl: './selector-item.component.html',\n\tanimations: [Animations.xGrowAnimation('0', '20px'), Animations.noInitialAnimation, Animations.nestedAnimations],\n})\nexport class SelectorItemComponent implements OnInit {\n\t//region Input & Output\n\t@Input({ required: true })\n\tvalue: T;\n\n\t@Input()\n\tallowDeselection = true;\n\n\t@Input()\n\tcheckIcon = 'assets/images/icons/check2.svg';\n\n\t@Input()\n\tstretchItem = false;\n\n\t@Output()\n\tforbiddenDeselectionAction = new EventEmitter();\n\n\t@Output()\n\tselectStateChanged = new EventEmitter();\n\n\t//endregion\n\n\t//region Injections\n\n\tpublic readonly selectorComponent = inject(SelectorComponent);\n\n\t//endregion\n\n\t//region Variables\n\t@HostBinding('attr.data-cy')\n\tprivate dataCy: string;\n\n\t_isSelected = computed(() =>\n\t\tisArray(this.selectorComponent.value())\n\t\t\t? this.selectorComponent.value().includes(this.value)\n\t\t\t: this.selectorComponent.value() === this.value\n\t);\n\n\t@HostBinding('attr.isSelected')\n\tget isSelected() {\n\t\treturn this._isSelected();\n\t}\n\t//endregion\n\t//region Events\n\n\tngOnInit() {\n\t\tthis.selectorComponent.options.set([...this.selectorComponent.options(), this.value]);\n\t\tthis.dataCy = 'selector-' + this.selectorComponent?.id + '-item-' + this.value + '-event';\n\t}\n\n\t@HostListener('mousedown', ['$event'])\n\tonSelect(mouseEvent: MouseEvent) {\n\t\tif (!this.selectorComponent.isDisabled) {\n\t\t\tif (\n\t\t\t\tmouseEvent.shiftKey &&\n\t\t\t\tthis.selectorComponent.allowMultiSelect &&\n\t\t\t\tArray.isArray(this.selectorComponent.value()) &&\n\t\t\t\t(this.selectorComponent.value() as []).length > 0\n\t\t\t) {\n\t\t\t\tthis.selectorComponent.selectBetween(this.value);\n\t\t\t} else if (this._isSelected()) {\n\t\t\t\tthis.handleDeselection();\n\t\t\t} else {\n\t\t\t\tthis.handleSelection();\n\t\t\t}\n\t\t}\n\t}\n\t@HostListener('mouseenter')\n\tonMouseEnter() {\n\t\tif (\n\t\t\tthis.selectorComponent.isMouseDown() &&\n\t\t\t!this._isSelected() &&\n\t\t\t!this.selectorComponent.isDisabled &&\n\t\t\tthis.selectorComponent.allowMultiSelect\n\t\t) {\n\t\t\tthis.selectorComponent.onValueChange([...(this.selectorComponent.value() ?? []), this.value]);\n\t\t}\n\t}\n\n\t//endregion\n\n\t//region Methods\n\tprivate handleDeselection() {\n\t\tif (\n\t\t\tthis.allowDeselection &&\n\t\t\t(!this.selectorComponent.forceSelection ||\n\t\t\t\t(this.selectorComponent.forceSelection &&\n\t\t\t\t\tArray.isArray(this.selectorComponent.value()) &&\n\t\t\t\t\tthis.selectorComponent.value().length > 1))\n\t\t) {\n\t\t\tif (this.selectorComponent.allowMultiSelect) {\n\t\t\t\tthis.selectorComponent.onValueChange(\n\t\t\t\t\t(this.selectorComponent.value() satisfies []).filter((item) => item !== this.value)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.selectorComponent.onValueChange(null);\n\t\t\t}\n\t\t\tthis.selectStateChanged.emit(false);\n\t\t} else if (!this.allowDeselection) {\n\t\t\tthis.forbiddenDeselectionAction.emit();\n\t\t}\n\t}\n\n\tprivate handleSelection() {\n\t\tif (this.selectorComponent.allowMultiSelect) {\n\t\t\tthis.selectorComponent.onlyNewSelectionChange.emit(this.value);\n\t\t\tthis.selectorComponent.onValueChange([...(this.selectorComponent.value() ?? []), this.value]);\n\t\t} else {\n\t\t\tthis.selectorComponent.onValueChange(this.value);\n\t\t}\n\t\tthis.selectStateChanged.emit(true);\n\t}\n\n\t//endregion\n}\n","\n\t\n\t\n\t\t\n\t\n\n","import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-selector-primary',\n\ttemplateUrl: './selector-primary.component.html',\n\tstyles: [':host {display: flex}'],\n})\nexport class SelectorPrimaryComponent {}\n","
    \n\t
    \n\t\t\n\t
    \n\t
    \n\t\t\n\t
    \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SelectorComponent } from './selector/selector.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SelectorItemComponent } from './selector-item/selector-item.component';\nimport { SelectorGroupComponent } from './selector-group/selector-group.component';\nimport { ImageModule } from '../../../directives/image/image.module';\nimport { SelectorPrimaryComponent } from './selector-primary/selector-primary.component';\n\n@NgModule({\n\tdeclarations: [SelectorComponent, SelectorItemComponent, SelectorGroupComponent, SelectorPrimaryComponent],\n\timports: [CommonModule, ReactiveFormsModule, ImageModule],\n\texports: [SelectorComponent, SelectorItemComponent, SelectorGroupComponent, SelectorPrimaryComponent],\n})\nexport class SelectorModule {}\n","import { Component, EventEmitter, Input, Output, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChangeEventFunc } from '@evasys/globals/shared/types/select.types';\n\n@Component({\n\tselector: 'evasys-selector',\n\ttemplateUrl: './selector.component.html',\n\tstyles: [':host {display: flex}'],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: SelectorComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class SelectorComponent implements ControlValueAccessor {\n\t//region Input & Output\n\t@Input({ required: true })\n\tpublic id?: string;\n\n\t@Input()\n\tpublic formControlName?: string;\n\n\t@Input()\n\tpublic allowMultiSelect = false;\n\n\t@Input()\n\tpublic isDisabled = false;\n\n\t@Input()\n\tforceSelection = false;\n\n\t@Output()\n\tselectionChange = new EventEmitter();\n\n\t@Output()\n\tonlyNewSelectionChange = new EventEmitter();\n\t//#endregion\n\n\t//region Variables\n\tpublic value = signal(null);\n\tpublic options = signal([]);\n\tpublic isMouseDown = signal(false);\n\n\t//endregion\n\n\t//region Events\n\n\tpublic _onTouched: any = () => {\n\t\t//default\n\t};\n\tpublic _onChange: any = () => {\n\t\t//default\n\t};\n\n\tonValueChange(value: T) {\n\t\tthis.value.set(value);\n\t\tthis._onChange(this.value());\n\t\tthis._onTouched();\n\t\tthis.selectionChange.emit(value);\n\t}\n\n\tonMouseDown() {\n\t\tthis.isMouseDown.set(true);\n\t}\n\n\tonMouseUp() {\n\t\tthis.isMouseDown.set(false);\n\t}\n\n\tonMouseLeave() {\n\t\tthis.isMouseDown.set(false);\n\t}\n\n\t//endregion\n\n\t//region Methods\n\tpublic selectBetween(value: T) {\n\t\tconst input = this.value() as [];\n\n\t\tconst fromValue = input[input.length - 1];\n\t\tconst toValue = value;\n\n\t\tlet found = false;\n\t\tconst selectedValues = this.options().filter((value) => {\n\t\t\tif (value === toValue || value === fromValue) {\n\t\t\t\tfound = !found;\n\t\t\t\tif (!found) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn found;\n\t\t});\n\n\t\tselectedValues.forEach((selectedValue) => this.onlyNewSelectionChange.emit(selectedValue));\n\n\t\tconst newSelectedValues = Array.from(new Set([...input, ...selectedValues]));\n\t\tthis.value.set(newSelectedValues);\n\t}\n\t//endregion\n\n\t//region ControlValueAccessor\n\n\tpublic registerOnChange(fn: ChangeEventFunc): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tpublic registerOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tpublic setDisabledState(disabled: boolean): void {\n\t\tthis.isDisabled = disabled;\n\t}\n\n\tpublic writeValue(value: T) {\n\t\tthis.value.set(value);\n\t}\n\n\t//endregion\n}\n","\n\t\n\n","import { Component, Input } from '@angular/core';\nimport { AbstractInputComponent } from '../abstract-input/abstract-input.component';\nimport { ValidationErrorModel } from '@evasys/globals/evasys/models/component/validation-error.model';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n\tselector: 'evasys-text-area',\n\ttemplateUrl: './text-area.component.html',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: TextAreaComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class TextAreaComponent extends AbstractInputComponent {\n\t//region Input & Output\n\t@Input()\n\tminLength: number;\n\n\t@Input()\n\tmaxLength: number;\n\n\t@Input()\n\tmin: number;\n\n\t@Input()\n\tmax: number;\n\n\t@Input()\n\trows: number;\n\n\t@Input()\n\tclass?: string;\n\n\t@Input()\n\terrors: ValidationErrorModel[] = [];\n\t//endregion\n\n\t//region Variables\n\tprivate focused = false;\n\tpublic labelInside = true;\n\t//endregion\n\n\t//region Events\n\n\toverride onWriteValue(value: T) {\n\t\tthis.determineLabel(value);\n\t}\n\n\tonFocus(): void {\n\t\tif (!this.readonly) {\n\t\t\tthis.labelInside = false;\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\tonBlur(): void {\n\t\tthis.focused = false;\n\t\tthis.determineLabel(this.input.value);\n\t}\n\t//endregion\n\n\t//region Methods\n\tpublic isInvalid(): boolean {\n\t\treturn !!this.errors.find((error) => error.trigger);\n\t}\n\n\tprivate determineLabel(value: T): void {\n\t\tif (\n\t\t\tvalue === undefined ||\n\t\t\tvalue === null ||\n\t\t\t(value !== null && value?.toString().length === 0 && !this.focused)\n\t\t) {\n\t\t\tthis.labelInside = true;\n\t\t} else {\n\t\t\tthis.labelInside = false;\n\t\t}\n\t}\n\t//endregion\n}\n","
    \n\t
    \n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t*\n\t\t\t\n\t\t
    \n\t
    \n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextboxComponent } from './textbox/textbox.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NumbersOnlyModule } from '../../../directives/numbers-only/numbers-only.module';\nimport { ErrorModule } from '../../dynamic-components/error/error.module';\nimport { NoteModule } from '../../static-components/note/note.module';\nimport { ImageModule } from '../../../directives/image/image.module';\n\n@NgModule({\n\tdeclarations: [TextboxComponent],\n\timports: [CommonModule, ReactiveFormsModule, NumbersOnlyModule, NoteModule, ErrorModule, ImageModule],\n\texports: [TextboxComponent],\n})\nexport class TextboxModule {}\n","import { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValidationErrorModel } from '@evasys/globals/evasys/models/component/validation-error.model';\nimport { Subscription } from 'rxjs';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-textbox',\n\ttemplateUrl: './textbox.component.html',\n\tstyleUrls: ['./textbox.component.scss'],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: TextboxComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class TextboxComponent implements OnInit, ControlValueAccessor, OnDestroy {\n\t//region ViewChild\n\t@ViewChild('inputElement')\n\tinputElement: ElementRef | undefined;\n\n\t//#endregion ViewChild\n\n\t//#region Input & Output\n\t@Input()\n\t@Required()\n\tid: string | undefined;\n\n\t@Input()\n\tadditionalText: string | undefined;\n\n\t@Input()\n\ttype = 'text';\n\n\t@Input()\n\treadonly = false;\n\n\t@Input()\n\tthinStyle = false;\n\n\t@Input()\n\tset value(value: string) {\n\t\tthis.labelInside = !value;\n\t\tthis.input.setValue(value);\n\t}\n\n\t@Input()\n\tdescription: string | null = null;\n\n\t@Input()\n\tdescriptionAsInnerHTML = false;\n\n\t@Input()\n\trequired = false;\n\n\t@Input()\n\tclearButton = false;\n\n\t@Input()\n\tmaxLength?: number;\n\n\t@Input()\n\tminLength?: number;\n\n\t@Input()\n\tmax?: number;\n\n\t@Input()\n\tmin?: number;\n\n\t@Input()\n\terrors: ValidationErrorModel[] = [];\n\n\t@Input()\n\tformControlName?: string;\n\n\t@Input()\n\tset isDisabled(disabled: boolean) {\n\t\tthis.setDisabledState(disabled);\n\t}\n\n\t@Output()\n\tfocusAction: EventEmitter = new EventEmitter();\n\n\t@Output()\n\tblurAction: EventEmitter = new EventEmitter();\n\n\t@Output()\n\tclearAction: EventEmitter = new EventEmitter();\n\n\t//#endregion Input & Output\n\n\t//#region Variables\n\tprivate focused = false;\n\n\tpublic subscriptions: Subscription[] = [];\n\tpublic labelInside = true;\n\tpublic _isDisabled = false;\n\tpublic input = new FormControl();\n\n\t//#endregion Variables\n\n\t//#region Getter & Setter\n\tget height(): string {\n\t\treturn document.documentElement.style.getPropertyValue('--textbox-height');\n\t}\n\n\t//#endregion Getter & Setter\n\n\t//#region Events\n\t_onChange: any = () => {\n\t\t//default\n\t};\n\t_onTouched: any = () => {\n\t\t//default\n\t};\n\n\tngOnInit(): void {\n\t\tthis.subscriptions.push(this.input.valueChanges.subscribe((val) => this.determineLabel(val)));\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tonFocus(): void {\n\t\tthis.focusAction.emit();\n\t\tif (!this.readonly) {\n\t\t\tthis.labelInside = false;\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\tonBlur(): void {\n\t\tthis.focused = false;\n\t\tthis.determineLabel(this.input.value);\n\t\tthis.blurAction.emit();\n\t}\n\n\tonInput(): void {\n\t\tthis._onChange(this.input.value);\n\t}\n\n\tonClear() {\n\t\tthis.clear();\n\t\tthis.onInput();\n\t\tthis.clearAction.emit();\n\t}\n\n\t/**\n\t * stop input of 'e' for inputs of type number\n\t * @param event\n\t */\n\tkeydownAction(event): boolean {\n\t\treturn !(this.type === 'number' && event.keyCode === 69);\n\t}\n\t//#endregion Events\n\n\t//#region Methods\n\tisInvalid(): boolean {\n\t\treturn this.errors.find((error) => error.trigger) !== undefined;\n\t}\n\n\tclear(): void {\n\t\tthis.input.setValue('');\n\t}\n\n\tprivate determineLabel(value: any): void {\n\t\tthis.labelInside = value === undefined || value === null || (value?.length === 0 && !this.focused);\n\t}\n\n\t//#endregion Methods\n\n\t//#region ControlValueAccessor\n\n\tregisterOnChange(fn: (_: any) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis._isDisabled = isDisabled;\n\t\tisDisabled ? this.input.disable() : this.input.enable();\n\t}\n\n\twriteValue(value: any): void {\n\t\tif (value === null) {\n\t\t\tthis.input.reset();\n\t\t}\n\t\tthis.input.setValue(value);\n\t}\n\n\t//#endregion ControlValueAccessor\n}\n","
    \n\t
    \n\t\t
    \n\t\t\t{{ additionalText }}\n\t\t
    \n\t
    \n\n\t
    \n\t\t 0) ? 'pe-4' : 'pe-1') && thinStyle\n\t\t\t\t\t? 'pt-0 pb-0'\n\t\t\t\t\t: ''\n\t\t\t\"\n\t\t\t[class.pe-4]=\"clearButton\"\n\t\t\t(focus)=\"onFocus()\"\n\t\t\t(blur)=\"onBlur()\"\n\t\t\t(input)=\"onInput()\"\n\t\t\t(keydown)=\"keydownAction($event)\"\n\t\t\t[type]=\"type\"\n\t\t\t[attr.id]=\"id\"\n\t\t\t[readOnly]=\"readonly\"\n\t\t\t[value]=\"input.value\"\n\t\t\t[class.is-invalid]=\"isInvalid()\"\n\t\t\tautocomplete=\"off\"\n\t\t\t[attr.data-cy]=\"'textbox-' + id\"\n\t\t\t[attr.maxlength]=\"maxLength\"\n\t\t\t[attr.minlength]=\"minLength\"\n\t\t\t[attr.max]=\"max\"\n\t\t\t[attr.min]=\"min\"\n\t\t\t[attr.name]=\"formControlName\"\n\t\t\t[evasysNumbersOnly]=\"type === 'number'\"\n\t\t/>\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t*\n\t\t\t\n\t\t
    \n\n\t\t 0\"\n\t\t>\n\t\t\t\n\t\t\n\t\t 0 && clearButton) && description\"\n\t\t\t[style.height.px]=\"inputElement?.offsetHeight\"\n\t\t\t[note]=\"description\"\n\t\t\t[class]=\"'position-absolute c-h-20px c-w-20px c-absolute-top c-absolute-right h-100 me-1'\"\n\t\t\t[asInnerHTML]=\"descriptionAsInnerHTML\"\n\t\t>\n\t
    \n\n\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\nimport { FileReaderOutputType } from '@evasys/globals/shared/types/file-reader-output.types';\nimport { ValidationErrorModel } from '@evasys/globals/evasys/models/component/validation-error.model';\nimport { TextboxComponent } from '../textbox/textbox/textbox.component';\n\n@Component({\n\tselector: 'evasys-upload-box',\n\ttemplateUrl: './upload-box.component.html',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: UploadBoxComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class UploadBoxComponent implements ControlValueAccessor {\n\t//region ViewChilds\n\t@ViewChild('fileInputElement')\n\tfileInputElement: ElementRef;\n\n\t@ViewChild('textboxComponent')\n\ttextboxComponent: TextboxComponent;\n\t//endregion\n\n\t//region Input & Output\n\t@Input()\n\t@Required()\n\tpublic id?: string;\n\n\t@Input()\n\tpublic outputType: FileReaderOutputType = 'File';\n\n\t@Input()\n\tpublic class: string;\n\n\t@Input()\n\tpublic formControlName?: string;\n\n\t@Input()\n\tpublic accept: string[] | null;\n\n\t@Input()\n\tdisabled = false;\n\n\t@Input()\n\tmaxSizeKb: number | null;\n\n\t@Input()\n\tclearButton = false;\n\n\t@Input()\n\timagePreview = false;\n\n\t@Input()\n\terrors: ValidationErrorModel[] = [];\n\n\t@Output()\n\tpublic file = new EventEmitter();\n\n\t//fileContent is not emit an event if outputType is 'File'\n\t@Output()\n\tpublic fileContent = new EventEmitter();\n\n\t@Output()\n\tpublic readFileError = new EventEmitter();\n\n\t@Output()\n\tpublic fileSizeError = new EventEmitter();\n\n\t@Output()\n\tpublic fileAcceptError = new EventEmitter();\n\n\t@Input()\n\tpreviewAsBase64String: boolean = false;\n\t//endregion Input & Output\n\n\t//region Variables\n\tpublic input = new FormControl();\n\tpublic imagePreviewSrc?: string;\n\tpublic fileName?: string;\n\n\t//endregion Variables\n\n\tpublic constructor(public readonly config: SharedUiConfiguration) {}\n\n\t//region Events\n\t_onChange: any = () => {\n\t\t//default\n\t};\n\t_onTouched: any = () => {\n\t\t//default\n\t};\n\n\tpublic onFileChange(event: any): void {\n\t\tconst file = event.target.files[0];\n\t\tconst fileType = file.type;\n\n\t\t//check file size\n\t\tif (this.maxSizeKb != null && file.size > this.maxSizeKb * 1000) {\n\t\t\tthis.fileSizeError.emit(file.size);\n\t\t\tthis.fileInputElement.nativeElement.value = null;\n\t\t\t//check file accepted type\n\t\t} else if (this.accept != null && !this.accept.includes(fileType)) {\n\t\t\tthis.fileAcceptError.emit(fileType);\n\t\t\tthis.fileInputElement.nativeElement.value = null;\n\t\t} else {\n\t\t\t//success\n\t\t\tthis.file.emit(file);\n\t\t\tthis.emitFileContent(file);\n\t\t}\n\t}\n\n\tonClear() {\n\t\tthis.clear();\n\t\tthis.file.emit(null);\n\t\tthis.emitFileContent(null);\n\t}\n\n\tonImageClear() {\n\t\tthis.textboxComponent.clear();\n\t\tthis.clear();\n\t\tthis.file.emit(null);\n\t\tthis.emitFileContent(null);\n\t}\n\n\t//endregion Events\n\n\t//region Methods\n\tprivate createFilePreview(file: File) {\n\t\tif (file && file['type'].split('/')[0] === 'image') {\n\t\t\tconst reader = new FileReader();\n\t\t\treader.onload = () => {\n\t\t\t\tif (typeof reader.result === 'string') {\n\t\t\t\t\tthis.imagePreviewSrc = reader.result;\n\t\t\t\t}\n\t\t\t};\n\t\t\treader.onerror = () => {\n\t\t\t\tthis.readFileError.emit(reader.error ?? undefined);\n\t\t\t};\n\t\t\treader.readAsDataURL(file);\n\t\t}\n\t}\n\n\tprivate clear() {\n\t\tthis.input.reset();\n\t\tthis.fileInputElement.nativeElement.value = '';\n\t\tthis.imagePreviewSrc = undefined;\n\t\tthis.fileName = undefined;\n\t}\n\n\tprivate emitFileContent(file: File): void {\n\t\tif (this.outputType !== 'File') {\n\t\t\tconst reader = new FileReader();\n\n\t\t\treader.onload = () => {\n\t\t\t\tthis.fileName = file?.name;\n\n\t\t\t\tthis._onChange(reader.result);\n\t\t\t\tthis.writeValue(reader.result);\n\t\t\t\tthis.fileContent.emit(reader.result);\n\t\t\t};\n\n\t\t\treader.onerror = () => {\n\t\t\t\tthis.readFileError.emit(reader.error ?? undefined);\n\t\t\t};\n\n\t\t\tswitch (this.outputType) {\n\t\t\t\tcase 'ArrayBuffer':\n\t\t\t\t\treader.readAsArrayBuffer(file);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'BinaryString':\n\t\t\t\t\treader.readAsBinaryString(file);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'DataURL':\n\t\t\t\t\treader.readAsDataURL(file);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'Text':\n\t\t\t\t\treader.readAsText(file);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._onChange(file);\n\t\t\tthis.writeValue(file);\n\t\t}\n\t}\n\t//endregion\n\n\t//#region ControlValueAccessor\n\n\tregisterOnChange(fn: (_: any) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.disabled = isDisabled;\n\t\tisDisabled ? this.input.disable() : this.input.enable();\n\t}\n\n\twriteValue(value: string | File | ArrayBuffer): void {\n\t\tif (value === '') {\n\t\t\tvalue = null;\n\t\t}\n\t\tif (value === null) {\n\t\t\tthis.input.reset();\n\t\t\tif (this.fileInputElement) {\n\t\t\t\tthis.fileInputElement.nativeElement.value = '';\n\t\t\t}\n\t\t} else if (value instanceof File) {\n\t\t\tthis.createFilePreview(value);\n\t\t\tthis.fileName = value?.name;\n\t\t} else if (typeof value === 'string') {\n\t\t\tthis.imagePreviewSrc = value;\n\t\t}\n\t\tthis.input.setValue(value);\n\t}\n\n\t//#endregion ControlValueAccessor\n}\n","
    \n\t
    \n\t\t\n\t\t\t\n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t
    \n\n\t
    \n\t\t\n\t\t\t\n\t\t\n\t\t{{ config?.translations?.uploadBox.search | transloco }}\n\t\t\n\t
    \n
    \n","import { Component, Input, OnInit } from '@angular/core';\nimport { LocalStorageSubject } from '@evasys/shared/util';\nimport { AccordionComponent } from '../accordion.component';\nimport { Animations } from '@evasys/globals/shared/animations/animations';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'div[evasys-accordion-item]',\n\ttemplateUrl: './accordion-item.component.html',\n\tanimations: [Animations.yGrowAnimation('0px', '*'), Animations.noInitialAnimation],\n})\nexport class AccordionItemComponent implements OnInit {\n\t//region Input & Outputs\n\n\t@Required()\n\t@Input()\n\ttitle!: string;\n\n\t@Required()\n\t@Input()\n\tid!: string;\n\n\t@Input()\n\tdisable = false;\n\n\t@Input()\n\tset show(show: boolean) {\n\t\tthis._show.next(show);\n\t\tif (show) {\n\t\t\tthis.accordion.activeAccordionItemId = this.id;\n\t\t}\n\t}\n\n\t@Input()\n\tset syncWithLocalStorage(sync: boolean) {\n\t\tthis._show.sync = sync;\n\t}\n\n\t//endregion\n\n\t//Getter & Setter\n\tget show() {\n\t\treturn this._show.value;\n\t}\n\n\tget accordionId() {\n\t\treturn this.accordion.id;\n\t}\n\t//endregion\n\n\t//region Variables\n\tprivate _initialShow = false;\n\tprivate _show = new LocalStorageSubject(this._initialShow);\n\t//endregion\n\n\tconstructor(private readonly accordion: AccordionComponent) {}\n\n\t//region Events\n\tngOnInit() {\n\t\tthis._show.init(`accordion-${this.accordionId}-${this.id}`);\n\t\tthis.accordion.registerAccordionItem(this);\n\t}\n\n\tonToggle() {\n\t\tif (!this.disable) {\n\t\t\tthis.show = !this.show;\n\t\t}\n\t}\n\n\t//endregion\n}\n","\n\t

    \n\t\t\n\t\t\t{{ title }}\n\t\t\n\t

    \n\t\n\t\t
    \n\t\t\t\n\t\t
    \n\t\n\n","import { Component, Input } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\n\n@Component({\n\tselector: 'evasys-accordion',\n\ttemplateUrl: './accordion.component.html',\n\tstyleUrls: ['./accordion.component.scss'],\n})\nexport class AccordionComponent {\n\t//region Input & Outputs\n\t@Required()\n\t@Input()\n\tid!: string;\n\n\t@Input()\n\talwaysOpen: boolean;\n\t//endregion\n\n\t//region Variables\n\tprivate _activeAccordionItemId: string;\n\tprivate accordionItems: Array = new Array();\n\t//endregion\n\n\t//region Getter & Setter\n\tset activeAccordionItemId(activeAccordionItemId: string) {\n\t\tthis._activeAccordionItemId = activeAccordionItemId;\n\t\tif (!this.alwaysOpen) {\n\t\t\tthis.accordionItems.forEach((accordionItem) => {\n\t\t\t\tif (accordionItem.id !== this._activeAccordionItemId) {\n\t\t\t\t\taccordionItem.show = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\t//endregion\n\n\t//region Methods\n\tregisterAccordionItem(accordionItem: AccordionItemComponent) {\n\t\tif (!this.accordionItems.includes(accordionItem)) {\n\t\t\tthis.accordionItems.push(accordionItem);\n\t\t}\n\t}\n\t//endregion\n}\n","
    \n\t\n
    \n","import { Component, Input } from '@angular/core';\nimport { BreadcrumbItem } from '@evasys/shared/ui';\n\n@Component({\n\tselector: 'evasys-breadcrumb',\n\ttemplateUrl: './breadcrumb.component.html',\n})\nexport class BreadcrumbComponent {\n\t@Input()\n\tbreadItems: BreadcrumbItem[] = [];\n\n\t@Input()\n\tmaxBreadCrumbLength = 30;\n\n\tgetBreadCrumbText(item): string {\n\t\treturn (\n\t\t\titem.name.substring(0, this.maxBreadCrumbLength) +\n\t\t\t(item.name.length > this.maxBreadCrumbLength ? '...' : '')\n\t\t);\n\t}\n}\n","\n","import { QueryParamsHandling } from '@angular/router';\n\nexport interface BreadcrumbItem {\n\tid: string;\n\tname: string;\n\thref?: string;\n\tqueryParamsHandling?: QueryParamsHandling;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ErrorComponent } from './error/error.component';\n\n@NgModule({\n\tdeclarations: [ErrorComponent],\n\timports: [CommonModule],\n\texports: [ErrorComponent],\n})\nexport class ErrorModule {}\n","import { Component, Input } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { ValidationErrorModel } from '@evasys/globals/evasys/models/component/validation-error.model';\n\n@Component({\n\tselector: 'evasys-error',\n\ttemplateUrl: './error.component.html',\n})\nexport class ErrorComponent {\n\t//region Input & Output\n\t@Input()\n\t@Required()\n\tid?: string;\n\n\t@Input()\n\terrors: ValidationErrorModel[] = [];\n\n\t//endregion\n\n\t//region Variables\n\n\t//#endregion\n\n\t//region Events\n\n\t//#endregion\n}\n","\n\t\n\n","import { Component, Input } from '@angular/core';\nimport { LoadedComponentEnum } from '@evasys/globals/shared/enums/component/loaded-component.enum';\n\n@Component({\n\tselector: 'evasys-load-component',\n\ttemplateUrl: './load-component.component.html',\n\tstyleUrls: ['./load-component.component.scss'],\n})\nexport class LoadComponentComponent {\n\t//#region Input & Output\n\t@Input()\n\tcomponent?: LoadedComponentEnum;\n\n\t//#endregion Input & Output\n\n\t//#region Variables\n\tloadedComponent = LoadedComponentEnum;\n\t//#endregion Variables\n}\n","\n\n
    \n
    \n
    \n","import { Component, Input } from '@angular/core';\nimport { opacityAnimation } from '@evasys/globals/shared/animations/opacity.animation';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-loading-overlay',\n\ttemplateUrl: './loading-overlay.component.html',\n\tanimations: [opacityAnimation()],\n})\nexport class LoadingOverlayComponent {\n\t@Input()\n\t@Required()\n\tloading!: boolean;\n\n\t@Input()\n\tbackdropColorClass = 'c-bg-white';\n}\n","\n\t
    \n\t
    \n\t\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoadingOverlayComponent } from './loading-overlay.component';\n\n@NgModule({\n\tdeclarations: [LoadingOverlayComponent],\n\timports: [CommonModule],\n\texports: [LoadingOverlayComponent],\n})\nexport class LoadingOverlayModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IfContentModule } from '../../../../../../util/src/lib/directives/if-content/if-content.module';\nimport { ButtonModule } from '../../static-components/button/button.module';\nimport { ModalComponent } from './modal/modal.component';\n\n@NgModule({\n\tdeclarations: [ModalComponent],\n\timports: [CommonModule, IfContentModule, ButtonModule],\n\texports: [ModalComponent],\n})\nexport class ModalModule {}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\nimport { sizesType } from '@evasys/globals/shared/types/sizes.type';\n\n@Component({\n\tselector: 'evasys-modal',\n\ttemplateUrl: './modal.component.html',\n})\nexport class ModalComponent {\n\t//region ViewChild\n\t@ViewChild('content')\n\tcontent?: ElementRef;\n\n\t@ViewChild('footerRef')\n\tfooterRef?: ElementRef;\n\n\t//endregion\n\n\t//region Input & Output\n\t@Input()\n\t@Required()\n\tid: string;\n\n\t@Input()\n\tpublic closeable = true;\n\n\t@Input()\n\tsize: sizesType = 'lg';\n\n\t@Input()\n\tscrollable = true;\n\n\t@Input()\n\tpublic set opened(open: boolean) {\n\t\tif (open && !this._open) {\n\t\t\tthis.modal = this.modalService.open(this.content, {\n\t\t\t\tsize: this.size,\n\t\t\t\tscrollable: this.scrollable,\n\t\t\t\tcentered: true,\n\t\t\t\tbackdrop: this.closeable ? true : 'static',\n\t\t\t\tbeforeDismiss: () => this.onDismiss(),\n\t\t\t});\n\t\t\tthis._open = true;\n\t\t} else if (!open && this._open) {\n\t\t\tthis.modal?.dismiss();\n\t\t}\n\t}\n\n\t@Output()\n\tpublic openedChange: EventEmitter = new EventEmitter();\n\n\t//#endregion Input & Output\n\n\t//#region Variables\n\tprivate _open = false;\n\tprivate modal?: NgbModalRef;\n\tpublic buttonDesign = ButtonDesignEnum;\n\n\t//#endregion Variables\n\n\tconstructor(private modalService: NgbModal) {\n\t\t//init\n\t}\n\n\t//#region Events\n\n\tonDismiss() {\n\t\tthis._open = false;\n\t\tthis.openedChange.emit(false);\n\t\treturn true;\n\t}\n\n\t//#endregion Events\n\n\tpublic open(): void {\n\t\tthis.opened = true;\n\t}\n\n\tpublic close(): void {\n\t\tthis.opened = false;\n\t}\n}\n","\n\t
    \n\t\t\n\n\t\t\n\t\t\t\n\t\t\n\t
    \n\t
    \n\t\t\n\t
    \n\t
    \n\t\t\n\t
    \n
    \n","import { Component, Input } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-more-menu-item',\n\ttemplateUrl: './more-menu-item.component.html',\n})\nexport class MoreMenuItemComponent {\n\t@Required()\n\t@Input()\n\tid: string;\n}\n","\n","import { Component, Input } from '@angular/core';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\n\n@Component({\n\tselector: 'evasys-more-menu',\n\ttemplateUrl: './more-menu.component.html',\n})\nexport class MoreMenuComponent {\n\t//region Inputs & Outputs\n\t@Input()\n\tid: string;\n\t//endregion\n\n\t//region Variables\n\tpublic isMenuOpen = false;\n\tpublic buttonDesign = ButtonDesignEnum;\n\t//endregion\n\n\t//region Events\n\tonToggleMenu() {\n\t\tthis.isMenuOpen = !this.isMenuOpen;\n\t}\n\n\t//endregion\n}\n","
    \n\t\n\t\t\n\t\n\t
    \n\t\t\n\t
    \n
    \n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\nimport { EvasysPageConfigModel } from '@evasys/globals/shared/models/general/evasys-page-config.model';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\n\n@Component({\n\tselector: 'evasys-pagination',\n\ttemplateUrl: './pagination.component.html',\n})\nexport class PaginationComponent implements OnInit {\n\t//region In- and Outputs\n\t@Input()\n\t@Required()\n\tid?: string;\n\n\t@Input()\n\tpageConfig?: EvasysPageConfigModel;\n\n\t@Input()\n\tmaxSize?: number;\n\n\t@Input()\n\tpageNumber?: number;\n\n\t@Output()\n\tpageNumberChange: EventEmitter = new EventEmitter();\n\n\t//endregion In- and Outputs\n\n\tbuttonDesign: ButtonDesignEnum = ButtonDesignEnum.LINK;\n\n\t//region getter and setter\n\n\tget page(): number | undefined {\n\t\treturn this.pageConfig?.page;\n\t}\n\n\tset page(page: number | undefined) {\n\t\tif (this.pageConfig && page) {\n\t\t\tthis.pageConfig = { ...this.pageConfig, page };\n\t\t}\n\t}\n\n\tget pageSize() {\n\t\treturn this.pageConfig?.pageSize;\n\t}\n\n\tget totalItems() {\n\t\treturn this.pageConfig?.totalItems;\n\t}\n\n\tget pageCount() {\n\t\treturn this.pageConfig?.pageCount;\n\t}\n\n\t//endregion getter and setter\n\n\tconstructor(public readonly config: SharedUiConfiguration) {}\n\n\tngOnInit(): void {\n\t\t//if the collection page count is one, then ngb-pagination is not created in the DOM.\n\t\t//nevertheless to trigger the page loading process, the pagination component emits a change.\n\t\tif (this.pageConfig?.pageCount && this.pageConfig?.pageCount <= 1) {\n\t\t\tthis.pageNumberChange.emit(1);\n\t\t}\n\t}\n\n\tpageForward(): void {\n\t\tif (this.page && this.pageSize && this.totalItems && this.page < this.totalItems / this.pageSize) {\n\t\t\tthis.page += 1;\n\t\t\tthis.pageNumberChange.emit(this.pageConfig?.page);\n\t\t}\n\t}\n\n\tpageBackward(): void {\n\t\tif (this.page && this.page > 1) {\n\t\t\tthis.page -= 1;\n\t\t\tthis.pageNumberChange.emit(this.page);\n\t\t}\n\t}\n\n\tfowardButtonDisabled(): boolean {\n\t\treturn (this.page ?? 0) >= (this.totalItems ?? 0) / (this.pageSize ?? 0);\n\t}\n\n\tbackwardButtonDisabled(): boolean {\n\t\treturn !!this.page && this.page === 1;\n\t}\n\n\tngbOnChange(page: number) {\n\t\tif (this.pageConfig) {\n\t\t\tthis.pageNumberChange.emit(page);\n\t\t}\n\t}\n}\n","
    1\" class=\"d-flex flex-nowrap flex-row justify-content-between\">\n\t\n\t\t\n\t\t{{ config?.translations?.pagination.backButtonText | transloco }}\n\t\n\n\t\n\n\t\n\t\t{{ config?.translations?.pagination.nextButtonText | transloco }}\n\t\t\n\t\n
    \n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { PopperMenuModel } from '@evasys/globals/shared/models/component/popper-menu/popper-menu.model';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { LoadedComponentEnum } from '@evasys/globals/shared/enums/component/loaded-component.enum';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\n\n@Component({\n\tselector: 'evasys-popper-menu',\n\ttemplateUrl: './popper-menu.component.html',\n})\nexport class PopperMenuComponent {\n\t//region Inputs & Outputs\n\t@Input()\n\t@Required()\n\tid: string;\n\n\t@Input()\n\tset items(items: PopperMenuModel[]) {\n\t\tthis._items = items;\n\t\tif (this.waitForAllItems) {\n\t\t\tthis.waitForAllItems = false;\n\t\t} else {\n\t\t\tthis.showAllItems = false;\n\t\t}\n\t}\n\n\t@Input()\n\tenableShowAllItemsButton = true;\n\n\t@Input()\n\tmaxHeight = '200px';\n\n\t@Input()\n\tcheckedItemIds?: number[];\n\n\t@Input()\n\tnothingFound = false;\n\n\t@Output()\n\tselectedItemAction: EventEmitter = new EventEmitter();\n\n\t@Output()\n\tshowAllItemsAction: EventEmitter = new EventEmitter();\n\t//endregion\n\n\t//region Variables\n\t_items?: PopperMenuModel[] = [];\n\tpublic showAllItems = false;\n\tprivate waitForAllItems = false;\n\tpublic LoadedComponentEnum = LoadedComponentEnum;\n\t//endregion\n\n\tconstructor(public readonly sharedUiConfiguration: SharedUiConfiguration) {}\n\n\t//region Events\n\n\tonShowAllItems() {\n\t\tthis.showAllItemsAction.emit();\n\t\tthis.showAllItems = true;\n\t\tthis.waitForAllItems = true;\n\t}\n\t//endregion\n}\n"," 0) || nothingFound\"\n\tclass=\"border p-3 rounded d-inline-flex flex-column card c-overflow-y-auto\"\n\t[ngStyle]=\"{ 'max-height': maxHeight }\"\n>\n\t\n\t\t\n\t\t{{ item.title }}\n\t\n\t
    \n\t\t{{ sharedUiConfiguration.translations.popperMenu.noItemsFound | transloco }}\n\t
    \n\t\n\t\t{{ sharedUiConfiguration.translations.popperMenu.showAll | transloco }}\n\t\n\t\n\n","import { Component, Input } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { DesignEnum } from '@evasys/globals/shared/enums/component/design.enum';\n\n@Component({\n\tselector: 'evasys-progress-bar',\n\ttemplateUrl: './progress-bar.component.html',\n\tstyleUrls: ['./progress-bar.component.scss'],\n})\nexport class ProgressBarComponent {\n\t@Input()\n\t@Required()\n\tpublic id?: string;\n\n\t@Input()\n\tpublic value?: number;\n\n\t@Input()\n\tpublic design: DesignEnum = DesignEnum.SECONDARY;\n}\n","
    \n\t\n\t\t{{ value | number : '1.0-0' }}%\n\t
    \n\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-progress-steps',\n\ttemplateUrl: './progress-steps.component.html',\n})\nexport class ProgressStepsComponent {\n\t//region Input & Output\n\n\t@Input()\n\tset total(total: number) {\n\t\tthis._total = new Array(total);\n\t}\n\n\t@Input()\n\tcurrent = 0;\n\n\t//endregion\n\n\t//region Variables\n\t_total: Array;\n\t//endregion\n}\n","
    \n\t•\n
    \n","import { AfterContentChecked, AfterContentInit, Component, ContentChildren, OnDestroy, QueryList } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { isSelectorItem } from '@evasys/shared/util';\nimport { SelectAreaComponent } from '../../control-components/select-area/select-area.component';\n\n/**\n * Connects multiple select-areas\n */\n@Component({\n\tselector: 'evasys-select-area-pipe',\n\ttemplateUrl: './select-area-pipe.component.html',\n})\nexport class SelectAreaPipeComponent implements OnDestroy, AfterContentInit, AfterContentChecked {\n\t@ContentChildren(SelectAreaComponent)\n\tpublic areaQuery?: QueryList;\n\n\tpublic get areas(): SelectAreaComponent[] {\n\t\treturn this._areas;\n\t}\n\n\tprivate set areas(areas: SelectAreaComponent[]) {\n\t\tthis.clearAreaSubscriptions();\n\n\t\tthis._areas = [];\n\t\tfor (const [index, area] of areas.entries()) {\n\t\t\tthis.areaSubs.push(\n\t\t\t\tarea.focusedChange.subscribe((focused) => {\n\t\t\t\t\tif (focused) {\n\t\t\t\t\t\tthis.onFocus(index);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis.areaSubs.push(area.selectionChange.subscribe(() => this.onSelect(index)));\n\n\t\t\tthis._areas.push(area);\n\t\t}\n\t\tthis.resetForm();\n\t}\n\n\tprivate subscriptions: Subscription[] = [];\n\n\tprivate areaSubs: Subscription[] = [];\n\n\tprivate focusSubs: Subscription[] = [];\n\n\tprivate _areas: SelectAreaComponent[] = [];\n\n\t// region Events\n\tpublic ngAfterContentInit(): void {\n\t\tif (this.areaQuery) {\n\t\t\tthis.areas = this.areaQuery.toArray();\n\n\t\t\tthis.subscriptions.push(\n\t\t\t\tthis.areaQuery.changes.subscribe((selectAreas) => {\n\t\t\t\t\tthis.areas = selectAreas.toArray();\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic ngAfterContentChecked(): void {\n\t\tfor (const [index, area] of this.areas.entries()) {\n\t\t\tarea.canFocus = this.canFocus(index);\n\t\t}\n\t}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t\tthis.clearAreaSubscriptions();\n\t\tthis.clearFocusSubscriptions();\n\t}\n\n\t/**\n\t * onFocus event handler\n\t *\n\t * Runs if an area get's focused, by the application or user.\n\t * If there's only one item in the area, it get's selected automatically.\n\t * If the area is single-select, the next area will be focused\n\t *\n\t * Only runs if given index can be focused (canFocus function)\n\t *\n\t * @param {number} focusedIndex Index of area to be focused\n\t *\n\t * @return void\n\t */\n\tprivate onFocus(focusedIndex: number): void {\n\t\tif (focusedIndex in this.areas) {\n\t\t\tconst focusedArea = this.areas[focusedIndex];\n\t\t\tif (focusedArea.focused) {\n\t\t\t\tthis.clearFocusSubscriptions();\n\n\t\t\t\tfor (const [index, area] of this.areas.entries()) {\n\t\t\t\t\tif (focusedIndex !== index) {\n\t\t\t\t\t\tarea.focused = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (focusedArea.selectItems.length === 0) {\n\t\t\t\t\tthis.focusSubs.push(\n\t\t\t\t\t\tfocusedArea.itemsChange.subscribe(() => {\n\t\t\t\t\t\t\tthis.selectOneAndOnlyItemForArea(focusedArea);\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectOneAndOnlyItemForArea(focusedArea);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * onSelect event handler\n\t *\n\t * Resets all previous areas.\n\t *\n\t * @param {number} index\n\t *\n\t * @return void\n\t */\n\tprivate onSelect(index: number): void {\n\t\tif (index in this.areas) {\n\t\t\tconst area = this.areas[index];\n\n\t\t\tif (this.areaQuery) {\n\t\t\t\tfor (let i = index + 1; i < this.areaQuery.length; i++) {\n\t\t\t\t\tthis.areas[i]?.input.reset();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!area.multiple && area.input.value?.length === 1) {\n\t\t\t\tconst nextIndex = index + 1;\n\t\t\t\tif (nextIndex in this.areas) {\n\t\t\t\t\tthis.areas[nextIndex].focused = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// endregion Events\n\n\t// region Methods\n\n\t/**\n\t * Resets all areas and sets focus to first area.\n\t *\n\t * @return void\n\t */\n\tpublic resetForm(): void {\n\t\tfor (const area of this.areas) {\n\t\t\tarea.input.reset();\n\t\t}\n\t\tthis.areas[0].focused = true;\n\t}\n\n\t/**\n\t * Checks if the given area (by index) can be focused.\n\t *\n\t * The requirement for that is, that the previous areas were filled.\n\t *\n\t * @param {number} index\n\t *\n\t * @return boolean\n\t */\n\tprivate canFocus(index: number): boolean {\n\t\tif (index >= this.areas.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet lastAreaFilled = true;\n\t\tfor (const [areaIndex, area] of this.areas.entries()) {\n\t\t\tlet areaFilled = area.input.value?.length > 0;\n\n\t\t\tif (!lastAreaFilled && !areaFilled) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tlastAreaFilled = areaFilled;\n\n\t\t\tif (areaIndex === index) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate clearAreaSubscriptions(): void {\n\t\tthis.areaSubs.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tprivate selectOneAndOnlyItemForArea(area: SelectAreaComponent): void {\n\t\tlet selectorItems = [];\n\t\tfor (let itemOrGroup of area.selectItems) {\n\t\t\tif (isSelectorItem(itemOrGroup)) {\n\t\t\t\tselectorItems.push(itemOrGroup);\n\t\t\t} else {\n\t\t\t\tselectorItems.push(...itemOrGroup.items);\n\t\t\t}\n\t\t}\n\n\t\t// If the user has only one item to choose from,\n\t\t// select it automatically for him\n\t\tif (selectorItems.length === 1) {\n\t\t\tarea.writeValue(selectorItems[0].id ?? null);\n\t\t}\n\t}\n\n\tprivate clearFocusSubscriptions(): void {\n\t\tthis.focusSubs.forEach((sub) => sub.unsubscribe());\n\t}\n\t// endregion Methods\n}\n","\n","import {\n\tAfterViewChecked,\n\tAfterViewInit,\n\tContentChildren,\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tOnDestroy,\n\tOnInit,\n\tQueryList,\n} from '@angular/core';\nimport { ShowMoreComponent } from './show-more.component';\nimport { BehaviorSubject, fromEvent, merge, Subject, Subscription, throttleTime } from 'rxjs';\n\n@Directive({\n\tselector: '[evasysShowMoreContainer]',\n})\nexport class ShowMoreContainerDirective implements AfterViewInit, AfterViewChecked, OnDestroy, OnInit {\n\t@ContentChildren(forwardRef(() => ShowMoreComponent))\n\tprivate showMoreComponents!: QueryList;\n\n\tprivate visibleComponentsSubject: BehaviorSubject> = new BehaviorSubject<\n\t\tArray\n\t>([]);\n\tprivate resizeObserver: ResizeObserver;\n\tprivate animationFrameId: number;\n\tprivate resize$ = new Subject();\n\tprivate readonly subscriptions: Array = new Array();\n\tprivate isFirstCheckDone = false;\n\n\tconstructor(private elementRef: ElementRef) {}\n\n\tngOnInit() {\n\t\tthis.listenToResize();\n\t}\n\n\tngAfterViewInit() {\n\t\tthis.listenOnVisibleComponentsOverflow();\n\t\tthis.listenOnVisibleComponents();\n\t}\n\n\tngAfterViewChecked() {\n\t\tif (!this.isFirstCheckDone && this.elementRef.nativeElement.getBoundingClientRect().height) {\n\t\t\tthis.checkForVisibleComponents();\n\t\t\tthis.isFirstCheckDone = true;\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t\tthis.resizeObserver.disconnect();\n\t}\n\n\tprivate listenOnVisibleComponentsOverflow() {\n\t\tthis.subscriptions.push(\n\t\t\tmerge(this.visibleComponentsSubject, this.resize$.pipe(throttleTime(100))).subscribe(() => {\n\t\t\t\tthis.visibleComponentsSubject.value.forEach((component) => {\n\t\t\t\t\tcomponent.isOverflow =\n\t\t\t\t\t\tcomponent.content.nativeElement.scrollHeight > component.content.nativeElement.offsetHeight;\n\t\t\t\t\tcomponent.updateDOM();\n\t\t\t\t});\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate listenToResize() {\n\t\tthis.resizeObserver = new ResizeObserver(() => {\n\t\t\tif (this.animationFrameId) {\n\t\t\t\tcancelAnimationFrame(this.animationFrameId);\n\t\t\t}\n\t\t\tthis.animationFrameId = requestAnimationFrame(() => {\n\t\t\t\tthis.resize$.next();\n\t\t\t});\n\t\t});\n\t\tthis.resizeObserver.observe(this.elementRef.nativeElement);\n\t}\n\n\tlistenOnVisibleComponents() {\n\t\tthis.subscriptions.push(\n\t\t\tmerge(fromEvent(this.elementRef.nativeElement, 'scroll'), this.resize$).subscribe(() => {\n\t\t\t\tthis.checkForVisibleComponents();\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate checkForVisibleComponents() {\n\t\tconst container = this.elementRef.nativeElement;\n\t\tconst components = this.showMoreComponents.map((component) => component.elementRef.nativeElement);\n\n\t\tconst visibleComponents = components.reduce((visibleComponents, currentComponent, currentIndex) => {\n\t\t\tif (this.isVisible(currentComponent, container)) {\n\t\t\t\tvisibleComponents.push(this.showMoreComponents.get(currentIndex));\n\t\t\t}\n\t\t\treturn visibleComponents;\n\t\t}, []);\n\n\t\tthis.visibleComponentsSubject.next(visibleComponents);\n\t}\n\n\tprivate isVisible(innerElement, container) {\n\t\tconst { bottom, height, top } = innerElement.getBoundingClientRect();\n\t\tconst containerRect = container.getBoundingClientRect();\n\n\t\treturn top <= containerRect.top ? containerRect.top - top <= height : bottom - containerRect.bottom <= height;\n\t}\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core';\nimport { ShowMoreContainerDirective } from './show-more-container.directive';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-show-more',\n\ttemplateUrl: './show-more.component.html',\n\tstyleUrls: ['show-more.component.scss'],\n})\nexport class ShowMoreComponent implements AfterViewInit {\n\t@Required()\n\t@Input()\n\tid!: string;\n\n\t@Input()\n\tmaxLines = 3;\n\n\t@ViewChild('content', { static: true })\n\tcontent: ElementRef;\n\n\t_isOverflow = false;\n\tisClicked = false;\n\n\tset isOverflow(isOverflow: boolean) {\n\t\tthis._isOverflow = isOverflow;\n\t}\n\n\tconstructor(\n\t\tprivate readonly showMoreContainerDirective: ShowMoreContainerDirective,\n\t\tprivate readonly renderer: Renderer2,\n\t\tprivate readonly sharedUiConfigurations: SharedUiConfiguration,\n\t\tpublic readonly elementRef: ElementRef,\n\t\tpublic readonly changeDetectorRef: ChangeDetectorRef\n\t) {}\n\n\tngAfterViewInit() {\n\t\tthis.renderer.setStyle(this.content.nativeElement, '-webkit-line-clamp', `${this.maxLines}`);\n\t}\n\n\tonShowMoreClicked() {\n\t\tthis.isClicked = true;\n\t\tthis.renderer.setStyle(this.content.nativeElement, '-webkit-line-clamp', '');\n\t}\n\n\tupdateDOM() {\n\t\tthis.changeDetectorRef.detectChanges();\n\t}\n}\n","
    \n\t
    \n\t\t\n\t
    \n\t\n\t\t{{ sharedUiConfigurations.translations.showMore.showMore | transloco }}\n\t\n
    \n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { StatusCardEnum } from '@evasys/globals/shared/models/component/status-card/status-card.enum';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-status-card',\n\ttemplateUrl: './status-card.component.html',\n})\nexport class StatusCardComponent implements OnChanges {\n\t//region Input & Output\n\t@Required()\n\t@Input()\n\tpublic id: string;\n\n\t@Input()\n\tpublic status: StatusCardEnum = StatusCardEnum.LOADING;\n\n\t@Input()\n\tloadingText: string;\n\n\t@Input()\n\tfailedText: string;\n\t//endregion\n\n\t//region Variables\n\tpublic statusCardEnum = StatusCardEnum;\n\tpublic statusText?: string;\n\t//endregion\n\n\t//region Events\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['status'] || changes['loadingText'] || changes['failedText']) {\n\t\t\tthis.onStatusChange();\n\t\t}\n\t}\n\n\tonStatusChange() {\n\t\tswitch (this.status) {\n\t\t\tcase StatusCardEnum.LOADING:\n\t\t\t\tthis.statusText = this.loadingText;\n\t\t\t\tbreak;\n\t\t\tcase StatusCardEnum.FAILED:\n\t\t\t\tthis.statusText = this.failedText;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t//endregion\n}\n","\n\t\n\t\t{{ statusText ?? '' }}\n\t

    \n\t
    \n\t\t\n\t
    \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StatusCardComponent } from './status-card.component';\nimport { LoadingOverlayModule } from '../loading-overlay/loading-overlay.module';\n\n@NgModule({\n\tdeclarations: [StatusCardComponent],\n\timports: [CommonModule, LoadingOverlayModule],\n\texports: [StatusCardComponent],\n})\nexport class StatusCardModule {}\n","import { Directive, EnvironmentInjector, inject, OnInit, runInInjectionContext, signal } from '@angular/core';\nimport { AbstractControl, NgControl } from '@angular/forms';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { startWith } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { isArray } from 'lodash';\nimport { Validations } from '@evasys/globals/shared/validations/validations';\n\n@Directive({\n\tselector: '[evasysRequiredStep]',\n})\nexport class RequiredStepDirective implements OnInit {\n\t//region Injections\n\tprivate ngControl = inject(NgControl);\n\tpublic readonly environmentInjector = inject(EnvironmentInjector);\n\t//endregion\n\n\t//region Variables\n\tisControlValid = signal(false);\n\tprivate formControl: AbstractControl;\n\t//endregion\n\n\t//region Events\n\tngOnInit() {\n\t\tthis.formControl = this.ngControl?.control;\n\t\tif (!this.formControl.hasValidator(Validations.required)) {\n\t\t\tthis.formControl.addValidators(Validations.required);\n\t\t}\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\tthis.formControl.valueChanges\n\t\t\t\t.pipe(\n\t\t\t\t\tstartWith(this.formControl.value),\n\t\t\t\t\tmap((value) => (isArray(value) ? value.length > 0 : !!value)),\n\t\t\t\t\ttakeUntilDestroyed()\n\t\t\t\t)\n\t\t\t\t.subscribe((isControlValid) => {\n\t\t\t\t\tthis.isControlValid.set(isControlValid);\n\t\t\t\t});\n\t\t});\n\t}\n\t//endregion\n\n\t//region Methods\n\tclearControl() {\n\t\tif (this.formControl.value !== null) {\n\t\t\tthis.formControl.setValue(null);\n\t\t}\n\t}\n\t//endregion\n}\n","import {\n\tAfterViewInit,\n\tComponent,\n\tcomputed,\n\tContentChildren,\n\tEnvironmentInjector,\n\tEventEmitter,\n\tinject,\n\tOutput,\n\tQueryList,\n\trunInInjectionContext,\n\tsignal,\n\tTemplateRef,\n\tViewChild,\n} from '@angular/core';\nimport { RequiredStepDirective } from '../required-step/required-step.directive';\nimport { StepFilterComponent } from '../step-filter/step-filter.component';\nimport { Animations } from '@evasys/globals/shared/animations/animations';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { combineLatest } from 'rxjs';\n\n@Component({\n\tselector: 'evasys-step-filter-item',\n\ttemplateUrl: './step-filter-item.component.html',\n\tanimations: [Animations.yGrowAnimation(), Animations.nestedAnimations],\n})\nexport class StepFilterItemComponent implements AfterViewInit {\n\t//region Inputs & Outputs\n\n\t@Output()\n\tloadAction = new EventEmitter();\n\n\t@Output()\n\tclearAction = new EventEmitter();\n\n\t//endregion\n\n\t//region ViewChilds\n\t@ViewChild('stepContent')\n\tstepContent: TemplateRef;\n\t//endregion\n\n\t//region ContentChildren\n\t@ContentChildren(RequiredStepDirective)\n\trequiredStepDirectives: QueryList;\n\t//endregion\n\n\t//region Injections\n\tprivate readonly stepFilterComponent = inject(StepFilterComponent);\n\tpublic readonly environmentInjector = inject(EnvironmentInjector);\n\n\t//endregion\n\n\t//region Variables\n\n\tpublic readonly isActive = computed(() => this.stepFilterComponent.activeStepFilterItem() === this);\n\tpublic readonly isStepValid = signal(false);\n\tpublic readonly isFirst = signal(false);\n\tpublic readonly canActivate = computed(() => this.stepFilterComponent.canStepFilterItemToBeActivated(this));\n\n\tpublic readonly isPreloaded = signal(false);\n\t//endregion\n\n\t//region Events\n\tngAfterViewInit() {\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\tcombineLatest(\n\t\t\t\tthis.requiredStepDirectives.map((requiredStepDirective) =>\n\t\t\t\t\ttoObservable(requiredStepDirective.isControlValid)\n\t\t\t\t)\n\t\t\t)\n\t\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t\t.subscribe((valid) => {\n\t\t\t\t\tthis.isStepValid.set(valid.every((value) => value === true));\n\t\t\t\t});\n\t\t});\n\t}\n\n\tonActivate() {\n\t\tif (this.isActive() && this.stepFilterComponent.isFormValid()) {\n\t\t\tthis.stepFilterComponent.activeStepFilterItem.set(null);\n\t\t} else if (this.stepFilterComponent.canStepFilterItemToBeActivated(this)) {\n\t\t\tthis.stepFilterComponent.activeStepFilterItem.set(this);\n\t\t}\n\t}\n\n\tonPreload() {\n\t\tif (!this.isPreloaded() && this.canActivate()) {\n\t\t\tthis.loadAction.emit();\n\t\t\tthis.isPreloaded.set(true);\n\t\t}\n\t}\n\t//endregion\n\n\t//region Methods\n\treset() {\n\t\tthis.isPreloaded.set(false);\n\t\tthis.clearAction.emit();\n\t\tif (this.isStepValid()) {\n\t\t\tthis.requiredStepDirectives.forEach((requiredStepDirective) => {\n\t\t\t\treturn requiredStepDirective.clearControl();\n\t\t\t});\n\t\t}\n\t}\n\t//endregion\n}\n","
    \n\t\n\t\t\n\t\t\n\t\n\t\n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t
    \n
    \n","import { Injectable } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class StepFilterConfig {\n\ttranslation: StepFilterTranslations;\n}\n\nexport interface StepFilterTranslations {\n\tclear: string;\n\tnext: string;\n\tback: string;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StepFilterComponent } from './step-filter/step-filter.component';\nimport { StepFilterItemComponent } from './step-filter-item/step-filter-item.component';\nimport { ButtonModule } from '../../static-components/button/button.module';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { RequiredStepDirective } from './required-step/required-step.directive';\nimport { StepFilterConfig } from './step-filter.config';\n\n@NgModule({\n\tdeclarations: [StepFilterComponent, StepFilterItemComponent, RequiredStepDirective],\n\timports: [CommonModule, ButtonModule, TranslocoModule],\n\texports: [StepFilterComponent, StepFilterItemComponent, RequiredStepDirective],\n})\nexport class StepFilterModule {\n\tstatic forRoot(config: StepFilterConfig): ModuleWithProviders {\n\t\treturn {\n\t\t\tngModule: StepFilterModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: StepFilterConfig,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n","import {\n\tAfterViewInit,\n\tChangeDetectorRef,\n\tComponent,\n\tcomputed,\n\tContentChildren,\n\tEnvironmentInjector,\n\tEventEmitter,\n\tinject,\n\tInput,\n\tOutput,\n\tQueryList,\n\trunInInjectionContext,\n\tsignal,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { StepFilterItemComponent } from '../step-filter-item/step-filter-item.component';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { StepFilterConfig } from '../step-filter.config';\n\n@Component({\n\tselector: 'evasys-step-filter',\n\ttemplateUrl: './step-filter.component.html',\n})\nexport class StepFilterComponent implements AfterViewInit {\n\t//region Inputs & Outputs\n\t@Input({ required: true })\n\tid: string;\n\n\t@Input()\n\tformGroup: FormGroup;\n\n\t@Output()\n\tsubmitAction = new EventEmitter();\n\t//endregion\n\n\t//region ContentChildren\n\t@ContentChildren(StepFilterItemComponent)\n\tstepFilterItemComponents: QueryList;\n\t//endregion\n\n\t//region Injections\n\tpublic readonly environmentInjector = inject(EnvironmentInjector);\n\tpublic readonly stepFilterConfig = inject(StepFilterConfig);\n\tprivate readonly changeDetectorRef = inject(ChangeDetectorRef);\n\t//endregion\n\n\t//region Variables\n\tactiveStepFilterItem = signal(null);\n\tisStepFilterItemActive = computed(() => this.activeStepFilterItem() !== null);\n\tisFormValid = computed(() => this.stepFilterItemComponents.last.isStepValid());\n\n\tisOpen = true;\n\t//endregion\n\n\t//region Events\n\tngAfterViewInit() {\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\tthis.activeStepFilterItem.set(this.stepFilterItemComponents.first);\n\t\t\tthis.stepFilterItemComponents.first?.isFirst.set(true);\n\t\t\tthis.stepFilterItemComponents.first?.onPreload();\n\t\t\tthis.listenToValueChanges();\n\t\t});\n\t}\n\n\tonNextButtonClicked() {\n\t\tconst index = this.stepFilterItemComponents.toArray().indexOf(this.activeStepFilterItem());\n\t\tif (index !== -1) {\n\t\t\tif (this.stepFilterItemComponents.length - 1 > index) {\n\t\t\t\tthis.stepFilterItemComponents.get(index + 1).onActivate();\n\t\t\t} else if (this.activeStepFilterItem().isStepValid()) {\n\t\t\t\tthis.activeStepFilterItem.set(null);\n\t\t\t\tthis.submitAction.emit();\n\t\t\t}\n\t\t}\n\t}\n\n\tonBackButtonClicked() {\n\t\tif (!this.activeStepFilterItem().isFirst()) {\n\t\t\tconst index = this.stepFilterItemComponents.toArray().indexOf(this.activeStepFilterItem());\n\t\t\tthis.stepFilterItemComponents.get(index - 1).onActivate();\n\t\t}\n\t}\n\n\tonPreloadNextItems() {\n\t\tconst index = this.stepFilterItemComponents.toArray().indexOf(this.activeStepFilterItem());\n\t\tif (this.stepFilterItemComponents.length - 1 > index) {\n\t\t\tthis.stepFilterItemComponents.get(index + 1).onPreload();\n\t\t}\n\t}\n\n\tonClearButtonClicked() {\n\t\tthis.activeStepFilterItem.set(this.stepFilterItemComponents.first);\n\t\tthis.stepFilterItemComponents.forEach((stepFilterItemComponent, currentIndex) => {\n\t\t\tstepFilterItemComponent.reset();\n\t\t});\n\t\t//important! Otherwise some DOM Elements could be duplicated\n\t\tthis.changeDetectorRef.detectChanges();\n\t}\n\t//endregion\n\n\t//region Methods\n\tlistenToValueChanges() {\n\t\tthis.formGroup.valueChanges.pipe(takeUntilDestroyed()).subscribe((changes) => {\n\t\t\tconst index = this.stepFilterItemComponents.toArray().indexOf(this.activeStepFilterItem());\n\n\t\t\tthis.stepFilterItemComponents.forEach((stepFilterItemComponent, currentIndex) => {\n\t\t\t\tif (index < currentIndex) {\n\t\t\t\t\tstepFilterItemComponent.reset();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tcanStepFilterItemToBeActivated(stepFilterItemComponent: StepFilterItemComponent) {\n\t\tif (stepFilterItemComponent.isStepValid() || stepFilterItemComponent.isFirst()) {\n\t\t\treturn true;\n\t\t}\n\t\tlet found;\n\t\treturn this.stepFilterItemComponents.reduce((canBeActivated, currentstepFilterItemComponent) => {\n\t\t\tif (currentstepFilterItemComponent === stepFilterItemComponent) {\n\t\t\t\tfound = true;\n\t\t\t}\n\t\t\treturn (found ?? currentstepFilterItemComponent.isStepValid()) && canBeActivated;\n\t\t}, true);\n\t}\n\n\t//endregion\n}\n","
    \n\t\n\t\t\n\t
    \n\n\t\n\t\t
    \n\t\t\t\n\t\t
    \n\n\t\t\n\t\t\t{{\n\t\t\t\tstepFilterConfig.translation.clear | transloco\n\t\t\t}}\n\t\t\t{{ stepFilterConfig.translation.back | transloco }}\n\t\t\t{{ stepFilterConfig.translation.next | transloco }}\n\t\t\n\t\n\n","import { Observable } from 'rxjs';\nimport { QueryParamsHandling } from '@angular/router';\n\nexport interface Tabitem extends TabitemBase {\n\tisMultiPage?: boolean;\n\tsubItems?: TabitemBase[];\n\tmark?: boolean;\n}\n\nexport interface TabitemBase {\n\tid: T;\n\ttitle: string | Observable;\n\thref?: Observable;\n\tqueryParamsHandling?: QueryParamsHandling;\n\tisTitleImage?: boolean;\n}\n","import { Component, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\nimport { Tabitem } from '@evasys/shared/ui';\n\n@Component({\n\tselector: 'evasys-tabs',\n\ttemplateUrl: './tabs.component.html',\n\tstyleUrls: ['./tabs.component.scss'],\n})\nexport class TabsComponent implements OnInit {\n\t//#region Input/Output\n\t@Input()\n\ttabitems: Tabitem[] = [];\n\n\t@Input()\n\tunderline = true;\n\n\t@Input()\n\tcenterItems = false;\n\n\t@Input()\n\tactive = 0;\n\n\t@Input()\n\tactiveSub = 0;\n\n\t@Input()\n\tresponsive = false;\n\n\t@Output()\n\tresponse = new EventEmitter();\n\t//#endregion Input/Output\n\n\t//#region Variables\n\torientation: 'horizontal' | 'vertical' = 'horizontal';\n\n\topenSubMenuId: T | null = null;\n\t//#endregion Variables\n\n\t//#region Events\n\n\tngOnInit(): void {\n\t\tthis.determineOrientation();\n\t}\n\n\tonItemClicked(id: any, counterId: number) {\n\t\tthis.active = counterId;\n\t\tthis.response.emit(id);\n\t}\n\n\tonSubItemClicked(event: MouseEvent, id: any, subCounterId: number, counterId: number) {\n\t\tevent.stopPropagation();\n\t\tthis.openSubMenuId = null;\n\t\tthis.active = counterId;\n\t\tthis.activeSub = subCounterId;\n\t\tthis.response.emit(id);\n\t}\n\n\topenSupMenu(id: string) {\n\t\tconst activeSubMenu = this.tabitems.find((x) => x.id === id);\n\t\tconst subItemData = activeSubMenu?.subItems || [];\n\t\tthis.openSubMenuId = subItemData.length > 0 ? activeSubMenu.id : null;\n\t}\n\n\t@HostListener('window:resize')\n\tprivate determineOrientation(): void {\n\t\tif (this.responsive) {\n\t\t\tthis.orientation = window.innerWidth <= 991 ? 'vertical' : 'horizontal';\n\t\t}\n\t}\n\n\t//#endregion Events\n}\n","\n\t\n\t\t\n\t\t\t{{ tabitem.title | toObservable | async | uppercase }}\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\t
    {{ subItem.title | toObservable | async | uppercase }}
    \n\t\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t{{ tabitem.title | toObservable | async | uppercase }}\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ tabitem.title | toObservable | async | uppercase }}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { PropertyGroupModel } from '@evasys/globals/shared/models/component/wizard/property-group.model';\nimport { EvasysPropertyTypeNameEnum } from '@evasys/globals/shared/enums/general/evasys-property-type-name.enum';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { PropertyTypeConstraintsModel } from '@evasys/globals/shared/models/component/wizard/property-type-constraints.model';\nimport { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR, ValidatorFn } from '@angular/forms';\nimport { Validations } from '@evasys/globals/shared/validations/validations';\nimport { Subscription } from 'rxjs';\nimport { SharedUiConfiguration } from '../../../shared-ui.configuration';\nimport { sizesType } from '@evasys/globals/shared/types/sizes.type';\nimport { NotificationEnum } from '@evasys/globals/shared/enums/component/notification.enum';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { NotificationService } from '@evasys/shared/core';\nimport { PropertyModel } from '@evasys/globals/shared/models/component/wizard/property.model';\nimport { equalValidator } from '@evasys/globals/shared/validations/equal.validator';\nimport { WizardButtonActionModel } from '@evasys/globals/evasys/models/component/wizard-button-action.model';\n\n@Component({\n\tselector: 'evasys-wizard',\n\ttemplateUrl: './wizard.component.html',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: WizardComponent,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class WizardComponent implements ControlValueAccessor, OnDestroy {\n\t//region Variables\n\tpublic evasysPropertyTypeNameEnum = EvasysPropertyTypeNameEnum;\n\tpublic buttonDesign = ButtonDesignEnum;\n\tpublic _propertyGroups?: PropertyGroupModel[];\n\tpublic formGroup: FormGroup = new FormGroup({});\n\t_step = 0;\n\n\tprivate subscriptions: Subscription[] = [];\n\tprivate showValidationErrors = false;\n\t//endregion\n\n\t//region Input & Output\n\t@Input()\n\t@Required()\n\tid?: string;\n\n\t@Input()\n\tset propertyGroups(propertyGroups: PropertyGroupModel[] | undefined) {\n\t\tthis._propertyGroups = propertyGroups;\n\t\tthis.createDynamicForm();\n\t}\n\n\t@Input()\n\tdisableNextButton = false;\n\n\t@Input()\n\theadline: string;\n\n\t//set startStep, if u want to show the wizard content from another step count\n\t@Input()\n\tstartStep = 0;\n\n\t@Input()\n\tset step(step: number) {\n\t\tthis._step = step;\n\t\tthis.stepChange.emit(this.step);\n\t}\n\n\t@Input()\n\topened = false;\n\n\t@Input()\n\tintermediateStep = false;\n\n\t@Input()\n\tsize: sizesType = 'lg';\n\n\t@Input()\n\tshowCancelButton = true;\n\n\t@Output()\n\tbuttonAction: EventEmitter = new EventEmitter();\n\n\t@Output()\n\topenedChange = new EventEmitter();\n\n\t@Output()\n\tstepChange = new EventEmitter();\n\n\t@Output()\n\tcancelAction = new EventEmitter();\n\n\t@Output()\n\tbackAction = new EventEmitter();\n\n\t@Output()\n\tnextAction = new EventEmitter();\n\n\t@Output()\n\tsubmitAction = new EventEmitter();\n\n\t@Output()\n\tforbiddenDeselectionAction: EventEmitter = new EventEmitter();\n\n\t@Output()\n\teventTriggerItemChangeAction: EventEmitter = new EventEmitter();\n\n\t//endregion\n\n\t//Getter & Setter\n\n\tget totalSteps() {\n\t\treturn this._propertyGroups?.length ?? 0;\n\t}\n\n\tget step() {\n\t\treturn this._step;\n\t}\n\n\t//endregion\n\n\tconstructor(\n\t\tprivate readonly formBuilder: FormBuilder,\n\t\tpublic readonly config: SharedUiConfiguration,\n\t\tprivate readonly translocoService: TranslocoService,\n\t\tprivate readonly notificationService: NotificationService\n\t) {}\n\n\t//region Events\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tonCancel() {\n\t\tthis.clear();\n\t}\n\n\tonBack() {\n\t\tif (this.step !== 0 && !this.intermediateStep) {\n\t\t\tthis.step -= 1;\n\t\t}\n\t\tthis.backAction.emit();\n\t}\n\n\tonNext() {\n\t\tif (this.groupInvalid() && !this.intermediateStep) {\n\t\t\tthis.showValidationErrors = true;\n\t\t\tthis.notificationService.addNotification(\n\t\t\t\tNotificationEnum.ERROR,\n\t\t\t\tthis.translocoService.translate('S_BAD_REQUEST'),\n\t\t\t\t'checkForm',\n\t\t\t\tfalse\n\t\t\t);\n\t\t} else if (!this.intermediateStep) {\n\t\t\tthis.showValidationErrors = false;\n\t\t\tif (this.lastStep()) {\n\t\t\t\tthis.submitAction.next();\n\t\t\t} else {\n\t\t\t\tthis.step += 1;\n\t\t\t}\n\t\t}\n\t\tthis.nextAction.emit();\n\t}\n\n\tonFileSizeTooBig() {\n\t\tthis.notificationService.addNotification(\n\t\t\tNotificationEnum.ERROR,\n\t\t\tthis.translocoService.translate('S_PROFILEIMAGE_ERROR') +\n\t\t\t\t'
    ' +\n\t\t\t\tthis.translocoService.translate('S_PROFILEIMAGE_ERROR_WRONG_SIZE'),\n\t\t\t'FileSizeTooBig'\n\t\t);\n\t}\n\n\tonForbiddenFileType() {\n\t\tthis.notificationService.addNotification(\n\t\t\tNotificationEnum.ERROR,\n\t\t\tthis.translocoService.translate('S_PROFILEIMAGE_ERROR') +\n\t\t\t\t'
    ' +\n\t\t\t\tthis.translocoService.translate('S_PROFILEIMAGE_ERROR_WRONG_TYPE'),\n\t\t\t'FileSizeTooBig'\n\t\t);\n\t}\n\n\t//endregion\n\n\t//region Methods\n\n\tclear() {\n\t\tthis.opened = false;\n\t\treturn new Promise((resolve) => setTimeout(resolve, 300)).then(() => {\n\t\t\tthis.step = 0;\n\t\t\tthis.openedChange.next(false);\n\t\t\tthis.showValidationErrors = false;\n\t\t\tthis._propertyGroups?.forEach((propertyGroup) => {\n\t\t\t\tthis.formGroup.removeControl(propertyGroup.name);\n\t\t\t});\n\t\t\tthis._propertyGroups = null;\n\t\t\tthis.cancelAction.emit();\n\t\t});\n\t}\n\n\tcreateDynamicForm() {\n\t\tthis._propertyGroups?.forEach((propertyGroup) => {\n\t\t\tconst formControls = {};\n\t\t\tpropertyGroup.properties.forEach((property) => {\n\t\t\t\tconst controlValidations = this.createControlValidations(property.type.constraints);\n\t\t\t\tformControls[property.name] = [\n\t\t\t\t\tthis.formGroup?.get(propertyGroup.name)?.get(property.name)?.value ??\n\t\t\t\t\t\tproperty.value ??\n\t\t\t\t\t\tproperty.defaultValue,\n\t\t\t\t\t...controlValidations,\n\t\t\t\t];\n\t\t\t});\n\t\t\tconst groupValidators = this.createGroupValidations(propertyGroup.properties);\n\t\t\tconst newGroup = this.formBuilder.group({ ...formControls }, { validators: groupValidators });\n\t\t\tthis.formGroup.setControl(propertyGroup.name, newGroup);\n\t\t});\n\t}\n\n\tcreateControlValidations(constraints: PropertyTypeConstraintsModel) {\n\t\tconst validations = [];\n\t\tconst asyncValidations = [];\n\t\tif (constraints.required) validations.push(Validations.required);\n\t\tif (constraints.minlen) validations.push(Validations.minLength(constraints.minlen));\n\t\tif (constraints.maxlen) validations.push(Validations.maxLength(constraints.maxlen));\n\t\tif (constraints.emailType) validations.push(Validations.email);\n\t\tif (constraints.min) validations.push(Validations.min(constraints.min));\n\t\tif (constraints.max) validations.push(Validations.max(constraints.max));\n\t\tif (constraints.secure) validations.push(Validations.securePassword);\n\t\treturn [validations, asyncValidations];\n\t}\n\n\tprivate createGroupValidations(properties: PropertyModel[]): ValidatorFn[] {\n\t\tconst equals = [];\n\n\t\tproperties.forEach((property) => {\n\t\t\tif (property.type.constraints.equalToField) {\n\t\t\t\tif (\n\t\t\t\t\t!equals.find(\n\t\t\t\t\t\t(equal) =>\n\t\t\t\t\t\t\tequal.includes(property.name) && equal.includes(property.type.constraints.equalToField)\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tequals.push([property.name, property.type.constraints.equalToField]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn equals.map((equal) => equalValidator(equal[0], equal[1]));\n\t}\n\n\tlastStep() {\n\t\treturn this.step - this.startStep === this._propertyGroups?.length - 1;\n\t}\n\n\tprivate groupInvalid() {\n\t\treturn (\n\t\t\tthis.step - this.startStep >= 0 &&\n\t\t\t!!this._propertyGroups[this.step - this.startStep]?.name &&\n\t\t\tthis.formGroup.controls[this._propertyGroups[this.step - this.startStep].name]?.invalid\n\t\t);\n\t}\n\n\tgetValidationErrorTrigger(\n\t\tgroupName: string,\n\t\tcontrolName: string,\n\t\tvalidationName: string,\n\t\tisGroupValidation?: boolean\n\t): boolean {\n\t\tif (isGroupValidation) {\n\t\t\tif (this.formGroup.get(groupName)?.errors) {\n\t\t\t\treturn (\n\t\t\t\t\tthis.showValidationErrors &&\n\t\t\t\t\t(this.getValidationError(groupName, controlName, validationName, isGroupValidation) ?? false)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else if (this.formGroup.get(groupName)?.get(controlName)?.errors) {\n\t\t\treturn (\n\t\t\t\tthis.showValidationErrors &&\n\t\t\t\t(this.getValidationError(groupName, controlName, validationName, isGroupValidation) ?? false)\n\t\t\t);\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tgetValidationError(groupName: string, controlName: string, validationName: string, isGroupValidation?: boolean) {\n\t\tif (isGroupValidation) {\n\t\t\tif (this.formGroup.get(groupName)?.errors) {\n\t\t\t\tconst validationError = this.formGroup.get(groupName).errors[validationName];\n\t\t\t\tif (Array.isArray(validationError)) {\n\t\t\t\t\treturn validationError.includes(controlName);\n\t\t\t\t} else {\n\t\t\t\t\treturn validationError;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (this.formGroup.get(groupName)?.get(controlName)?.errors) {\n\t\t\treturn this.formGroup.get(groupName).get(controlName).errors[validationName];\n\t\t}\n\t}\n\n\tcheckTriggerEvent(triggerEvent: boolean, name: string) {\n\t\tif (triggerEvent) {\n\t\t\tthis.eventTriggerItemChangeAction.emit([name]);\n\t\t}\n\t}\n\n\t//endregion\n\n\t//region ControlValueAccessor\n\n\twriteValue(value: any): void {\n\t\tif (value) {\n\t\t\tthis.formGroup.setValue(value);\n\t\t}\n\t}\n\tregisterOnChange(fn: (value: any) => void): void {\n\t\tthis.subscriptions.push(this.formGroup.valueChanges.subscribe(fn));\n\t}\n\tregisterOnTouched(_fn: any): void {\n\t\t//default\n\t}\n\n\t//endregion\n}\n","\n\t
    \n\t\t\n\t\t\n\t
    \n\n\t\n\n\t
    \n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{{ componentProperty.title }}\n\t\t\t\t\t{{ componentProperty.title }}\n\t\t\t\t\t\n\t\t\t\t\t\t{{ componentProperty.title }}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ componentProperty.title }}\n\t\t\t\t\t\t\t{{ value }}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{{ item.value }}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t= 8) ||\n\t\t\t\t\t\t\tcomponentProperty.type.constraints.multiselect\n\t\t\t\t\t\t\"\n\t\t\t\t\t\tclass=\"mt-3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t

    {{ componentProperty.title }}

    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ selectItem.name }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{{ componentProperty.title }}\n\t\t\t\t\t{{ componentProperty.title }}\n\t\t\t\t\n\t\t\t
    \n\t\t\n\t
    \n\n\t
    \n\t\t{{ config?.translations?.wizard.cancel | transloco }}\n\t\t{{ config?.translations?.wizard.back | transloco }}\n\t\t{{\n\t\t\tlastStep() && !intermediateStep\n\t\t\t\t? (config?.translations?.wizard.submit | transloco)\n\t\t\t\t: (config?.translations?.wizard.next | transloco)\n\t\t}}\n\t
    \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from './button/button.component';\n\n@NgModule({\n\tdeclarations: [ButtonComponent],\n\timports: [CommonModule],\n\texports: [ButtonComponent],\n})\nexport class ButtonModule {}\n","import { Component, Input } from '@angular/core';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-button',\n\ttemplateUrl: './button.component.html',\n})\nexport class ButtonComponent {\n\t//#region Input & Output\n\t@Input()\n\t@Required()\n\tid: string | undefined;\n\n\t@Input()\n\ttype = 'button';\n\n\t@Input()\n\tdesign = ButtonDesignEnum.PRIMARY;\n\n\t@Input()\n\tisDisabled = false;\n\n\t@Input()\n\tclass?: string;\n\n\t//#endregion Input & Output\n\n\t//region Methods\n\n\t//endregion\n}\n","\n\t\n\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-chip',\n\ttemplateUrl: './chip.component.html',\n})\nexport class ChipComponent {\n\t@HostBinding('class')\n\thostClass = 'card p-0 bg-primary inline-flex mw-100 text-truncate h-100';\n\n\t@Input()\n\t@Required()\n\tid: string;\n\n\t@Input()\n\t@Required()\n\ttext: string;\n\n\t@Input()\n\timageSrc?: string;\n\n\t@Input()\n\timageAlt?: string;\n\n\t@Input()\n\tisDisabled = false;\n\n\t@Output()\n\tremoveAction: EventEmitter = new EventEmitter();\n\n\t_removeAction() {\n\t\tif (!this.isDisabled) {\n\t\t\tthis.removeAction.emit();\n\t\t}\n\t}\n}\n","
    \n\t\n\t
    \n\t\t{{ text }}\n\t
    \n\t\n\t\n
    \n","import { Component, Input } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { ButtonDesignEnum } from '@evasys/globals/shared/enums/component/button-design.enum';\n\n@Component({\n\tselector: 'evasys-collapse-button',\n\ttemplateUrl: './collapse-button.component.html',\n})\nexport class CollapseButtonComponent {\n\t//region Input & Output\n\t@Input()\n\t@Required()\n\tpublic id: string;\n\n\t@Input()\n\tpublic labelCollapsed: string;\n\n\t@Input()\n\tpublic labelExpanded: string;\n\n\t@Input()\n\tpublic collapseComponent: CollapseLike;\n\n\t@Input()\n\tpublic labelClass?: string = '';\n\n\t@Input()\n\tpublic set label(label: string) {\n\t\tthis.labelCollapsed = label;\n\t\tthis.labelExpanded = label;\n\t}\n\n\t@Input()\n\tpublic set collapsed(collapse: boolean) {\n\t\tthis.collapseComponent.toggle(!collapse);\n\t}\n\n\t//endregion\n\n\t//region Getter & Setter\n\n\tpublic get collapsed(): boolean {\n\t\treturn this.collapseComponent._isCollapsed;\n\t}\n\n\tpublic get currentLabel(): string {\n\t\treturn this.collapsed ? this.labelCollapsed : this.labelExpanded;\n\t}\n\n\t//endregion\n\n\t//region Variables\n\n\tpublic readonly buttonDesigns = ButtonDesignEnum;\n\t//endregion\n}\n\ninterface CollapseLike {\n\t_isCollapsed: boolean;\n\n\ttoggle(open?: boolean): void;\n}\n","\n\t\n\t\t{{ currentLabel }}\n\t\n\t\n\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'evainsights-empty-content',\n\ttemplateUrl: './empty-content.component.html',\n})\nexport class EmptyContentComponent {\n\t@Input()\n\tmessage?: string;\n}\n","
    \n\t\n
    \n

    {{ message }}

    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HeaderComponent } from './header/header.component';\n\n@NgModule({\n\tdeclarations: [HeaderComponent],\n\timports: [CommonModule],\n\texports: [HeaderComponent],\n})\nexport class HeaderModule {}\n","import { Component, Input } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-header',\n\ttemplateUrl: './header.component.html',\n})\nexport class HeaderComponent {\n\t//region Input & Output\n\n\t@Input()\n\t@Required()\n\tid: string;\n\n\t@Input()\n\t@Required()\n\theaderLevel: number;\n\n\t@Input()\n\tclass? = '';\n\n\t@Input()\n\ttext?: string;\n\t//endregion\n\n\t//region Events\n\n\t//endregion\n}\n","

    \n\t{{ text }}\n

    \n

    \n\t{{ text }}\n

    \n

    \n\t{{ text }}\n

    \n

    \n\t{{ text }}\n

    \n
    \n\t{{ text }}\n
    \n
    \n\t{{ text }}\n
    \n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Listitem } from './listitem.interface';\n\n@Component({\n\tselector: 'evasys-list',\n\ttemplateUrl: './list.component.html',\n\tstyleUrls: ['./list.component.scss'],\n})\nexport class ListComponent {\n\t@Input()\n\tlistitems: Listitem[] | string[] = [{ title: 'empty', response: 'empty' }];\n\n\t@Input()\n\tactive?: number;\n\n\t@Output()\n\tresponse = new EventEmitter();\n\n\trespond(value: string, index: number) {\n\t\tthis.active = index;\n\t\tthis.response.emit(value);\n\t}\n}\n","\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoadingComponent } from './loading/loading.component';\n\n@NgModule({\n\tdeclarations: [LoadingComponent],\n\texports: [LoadingComponent],\n\timports: [CommonModule],\n})\nexport class LoadingModule {}\n","import { Component, Input, signal } from '@angular/core';\nimport { first, Subject, takeUntil, timer } from 'rxjs';\n\nexport enum LoadingIconSize {\n\tsm = '20px',\n\tmd = '50px',\n\tlg = '150px',\n\txl = '300px',\n}\n\n@Component({\n\tselector: 'evasys-loading',\n\ttemplateUrl: './loading.component.html',\n\tstyleUrls: ['./loading.component.scss'],\n})\nexport class LoadingComponent {\n\t@Input({ required: true })\n\tid: string;\n\n\t@Input()\n\tset loading(loading: boolean) {\n\t\tif (loading) {\n\t\t\ttimer(120)\n\t\t\t\t.pipe(takeUntil(this.destroy$), first())\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tthis._loading.set(loading);\n\t\t\t\t});\n\t\t} else if (this._loading() === true) {\n\t\t\tthis._loading.set(loading);\n\t\t} else {\n\t\t\tthis.destroy$.next();\n\t\t}\n\t}\n\n\t@Input()\n\tset size(size: LoadingIconSize) {\n\t\tthis._size.set(size);\n\t}\n\n\t_loading = signal(false);\n\t_size = signal(LoadingIconSize.md);\n\tloadingIconSize = LoadingIconSize;\n\tprivate destroy$ = new Subject();\n}\n","\n\t
    \n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t
    \n\t
    \n\n","import { Component, Input } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-mark',\n\ttemplateUrl: './mark.component.html',\n})\nexport class MarkComponent {\n\t//region Input\n\n\t@Input()\n\t@Required()\n\tid: string;\n\n\t@Input()\n\tmarked: boolean;\n\t//endregion\n}\n","\n\n","import { Component, Input } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Component({\n\tselector: 'evasys-meta-info',\n\ttemplateUrl: './meta-info.component.html',\n})\nexport class MetaInfoComponent {\n\t@Required()\n\t@Input()\n\tpublic id: string;\n\n\t@Input()\n\tpublic key?: string;\n\n\t@Input()\n\tpublic value?: string | number;\n}\n","
    \n\t

    {{ value }}

    \n\t

    {{ key }}

    \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MetaInfoComponent } from './meta-info.component';\n\n@NgModule({\n\tdeclarations: [MetaInfoComponent],\n\timports: [CommonModule],\n\texports: [MetaInfoComponent],\n})\nexport class MetaInfoModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NoteComponent } from './note/note.component';\n\n@NgModule({\n\tdeclarations: [NoteComponent],\n\timports: [CommonModule, NgbPopoverModule],\n\texports: [NoteComponent],\n})\nexport class NoteModule {}\n","import { Component, Input } from '@angular/core';\nimport { PlacementArray } from '@ng-bootstrap/ng-bootstrap/util/positioning';\n\n@Component({\n\tselector: 'evasys-note',\n\ttemplateUrl: './note.component.html',\n})\nexport class NoteComponent {\n\t@Input()\n\tnote?: string;\n\n\t@Input()\n\ticon = 'about';\n\n\t@Input()\n\tclass = 'c-h-20px c-w-20px';\n\n\t@Input()\n\tasInnerHTML = false;\n\n\t@Input()\n\tplacement: PlacementArray = 'left';\n}\n","\n\t

    \n
    \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { opacityAnimation } from '@evasys/globals/shared/animations/opacity.animation';\n\n@Component({\n\tselector: 'evasys-overlay',\n\ttemplateUrl: './overlay.component.html',\n\tanimations: [opacityAnimation()],\n})\nexport class OverlayComponent {\n\t//region Input & Output\n\n\t@Input()\n\topen = false;\n\n\t@Output()\n\topenChange = new EventEmitter();\n\n\t@Input()\n\topenOnHover = false;\n\n\t//endregion\n\n\t//region Events\n\tonMouseEnter() {\n\t\tif (this.openOnHover) {\n\t\t\tthis.open = true;\n\t\t\tthis.openChange.emit(this.open);\n\t\t}\n\t}\n\n\tonMouseLeave() {\n\t\tif (this.openOnHover) {\n\t\t\tthis.open = false;\n\t\t\tthis.openChange.emit(this.open);\n\t\t}\n\t}\n\n\t//endregion\n}\n","
    \n\t\n\t
    \n\t\t\n\t
    \n
    \n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { NotificationEnum } from '@evasys/globals/shared/enums/component/notification.enum';\nimport { EvasysNotificationModel } from '@evasys/globals/shared/models/evasys-notification.model';\n\n@Component({\n\tselector: 'evasys-static-notification',\n\ttemplateUrl: './static-notification.component.html',\n\tstyleUrls: ['./static-notification.component.scss'],\n})\nexport class StaticNotificationComponent {\n\t@Input()\n\tnotification: EvasysNotificationModel;\n\n\t@Input()\n\thidden = false;\n\n\t@Output()\n\thiddenChange = new EventEmitter();\n\n\tasCssClass(type: NotificationEnum) {\n\t\tconst keys = Object.keys(NotificationEnum).filter((x) => NotificationEnum[x] == type);\n\t\treturn keys.length > 0 ? keys[0] : null;\n\t}\n\n\tonClosed() {\n\t\tthis.hidden = true;\n\t\tthis.hiddenChange.emit(this.hidden);\n\t}\n}\n","\n\t
    \n\t\t\n\t\t{{ notification.message }}\n\t
    \n
    \n","import { Directive, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TableAreaService } from '../table-area/table-area.service';\nimport { TableAreaRegisterService } from '../table-area-register/table-area-register.service';\n\n@Directive({\n\tselector: '[evasysTableAreaList]',\n\tproviders: [TableAreaService, TableAreaRegisterService],\n})\nexport class TableAreaListDirective implements OnInit, OnDestroy {\n\t//region Variables\n\tprivate context = {\n\t\titems: [],\n\t};\n\n\tprivate subscriptions: Subscription[] = [];\n\n\t//endregion\n\tconstructor(\n\t\tprivate viewContainer: ViewContainerRef,\n\t\tprivate templateRef: TemplateRef,\n\t\tprivate readonly tableAreaService: TableAreaService\n\t) {}\n\n\t//region Events\n\tngOnInit() {\n\t\tthis.viewContainer.clear();\n\t\tthis.viewContainer.createEmbeddedView(this.templateRef, this.context);\n\t\tthis.subscriptions.push(\n\t\t\tthis.tableAreaService.guiItems.subscribe((items) => {\n\t\t\t\tthis.context.items = items;\n\t\t\t})\n\t\t);\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\t//endregion\n}\n","import { AfterViewInit, Directive, Optional } from '@angular/core';\nimport { TableComponent } from '../../table/table/table.component';\nimport { TableAreaRegisterService } from './table-area-register.service';\n\n@Directive({\n\tselector: '[evasysTableAreaNestedElement]',\n})\nexport class TableAreaNestedElementDirective implements AfterViewInit {\n\tconstructor(\n\t\t@Optional() private readonly tableAreaRegisterService: TableAreaRegisterService,\n\t\t@Optional() private readonly tableComponent: TableComponent\n\t) {}\n\n\tngAfterViewInit() {\n\t\tif (this.tableComponent) {\n\t\t\tthis.tableAreaRegisterService?.registerComponent(TableComponent.name, this.tableComponent);\n\t\t}\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { KeyValue } from '@angular/common';\n\n@Injectable()\nexport class TableAreaRegisterService {\n\t//region Variables\n\tprivate readonly componentRegister: KeyValue[] = [];\n\t//endregion\n\n\t//region Methods\n\n\tpublic registerComponent(componentName: string, component: unknown) {\n\t\tthis.componentRegister.push({ key: componentName, value: component });\n\t}\n\n\tgetComponent(componentName: string): U[] {\n\t\treturn this.componentRegister\n\t\t\t.filter((components) => components.key === componentName)\n\t\t\t.map((components) => {\n\t\t\t\treturn components.value;\n\t\t\t}) as U[];\n\t}\n\n\t//endregion\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableAreaComponent } from './table-area/table-area.component';\nimport { TableAreaListDirective } from './table-area-list/table-area-list.directive';\nimport { TableAreaNestedElementDirective } from './table-area-register/table-area-nested-element.directive';\nimport { LoadingOverlayModule } from '../../dynamic-components/loading-overlay/loading-overlay.module';\n\n@NgModule({\n\tdeclarations: [TableAreaComponent, TableAreaListDirective, TableAreaNestedElementDirective],\n\texports: [TableAreaComponent, TableAreaListDirective, TableAreaNestedElementDirective],\n\timports: [CommonModule, LoadingOverlayModule],\n})\nexport class TableAreaModule {}\n","import { AfterViewInit, Component, ContentChild, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { EvasysSortingModel } from '@evasys/globals/shared/models/general/evasys-sorting.model';\nimport { BehaviorSubject, filter, first, merge, Observable, shareReplay, Subscription, withLatestFrom } from 'rxjs';\nimport { SearchboxComponent } from '../../../app-shell-components/searchbox/searchbox.component';\nimport { LoadingOverlayComponent } from '../../../dynamic-components/loading-overlay/loading-overlay.component';\nimport { TableComponent } from '../../table/table/table.component';\nimport { TableAreaService } from './table-area.service';\nimport { TableAreaArgs } from '@evasys/globals/shared/models/component/table-area/table-area-args.model';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { map } from 'rxjs/operators';\nimport { TableAreaRegisterService } from '../table-area-register/table-area-register.service';\n\nenum SortEnum {\n\tASC = 'asc',\n\tDESC = 'desc',\n}\n\n@Component({\n\tselector: 'evasys-table-area',\n\ttemplateUrl: './table-area.component.html',\n})\nexport class TableAreaComponent implements AfterViewInit, OnDestroy, OnInit {\n\t//region ContentChilds\n\t@ContentChild(SearchboxComponent, { descendants: true })\n\tset searchboxComponent(searchboxComponent: SearchboxComponent | undefined) {\n\t\tif (searchboxComponent) {\n\t\t\tsearchboxComponent.id = this.id;\n\t\t}\n\t\tthis._searchboxComponent = searchboxComponent;\n\t}\n\n\t@ContentChild(LoadingOverlayComponent, { descendants: true })\n\tset loadingOverlayComponent(loadingOverlayComponent: LoadingOverlayComponent | undefined) {\n\t\tif (loadingOverlayComponent) {\n\t\t\tloadingOverlayComponent.loading = false;\n\t\t}\n\t\tthis._loadingOverlayComponent = loadingOverlayComponent;\n\t}\n\n\t@ContentChild(TableComponent, { descendants: true })\n\tset tableComponent(tableComponent: TableComponent | undefined) {\n\t\tthis._tableComponent = tableComponent;\n\t}\n\t//endregion\n\n\t//region Input & Output\n\t@Required()\n\t@Input()\n\tid: string;\n\n\t@Input()\n\tset loadMethod(loadMethod: (tableAreaArgs?: TableAreaArgs) => Observable) {\n\t\tthis.load = loadMethod;\n\t}\n\n\t@Input()\n\tset items(items: T[] | null) {\n\t\tif (items !== null) {\n\t\t\tthis.tableAreaService.setItems(items);\n\t\t}\n\t}\n\n\t@Input()\n\tminMaxHeight = 300;\n\n\t@Input()\n\tsearchKeys?: (keyof T)[];\n\n\t@Input()\n\tloadOnInit = false;\n\t//endregion\n\n\t//region Variables\n\n\tprivate load = this.tableAreaService.load;\n\tprivate subscriptions?: Subscription[] = [];\n\tprivate _searchboxComponent?: SearchboxComponent;\n\tprivate _loadingOverlayComponent?: LoadingOverlayComponent;\n\tprivate _tableComponent?: TableComponent;\n\tprivate tableAreaArgsChanges = new BehaviorSubject>(undefined);\n\tprivate tableAreaArgsObservable = merge(\n\t\tthis.getTableAreaArgsFromQueryParams().pipe(first()),\n\t\tthis.tableAreaArgsChanges.pipe(filter((tableAreaArgs) => !!tableAreaArgs))\n\t);\n\tprivate _isLoading = false;\n\tpublic tableMaxHeight = Math.max(this.minMaxHeight, window.screen.height / 3);\n\n\t//endregion\n\n\t//region Getter & Setter\n\tset isLoading(isLoading: boolean) {\n\t\tif (this._loadingOverlayComponent) {\n\t\t\tthis._loadingOverlayComponent.loading = isLoading;\n\t\t}\n\t\tthis._isLoading = isLoading;\n\t}\n\n\tget isLoading() {\n\t\treturn this._loadingOverlayComponent?.loading;\n\t}\n\t//endregion\n\n\tconstructor(\n\t\tpublic readonly tableAreaService: TableAreaService,\n\t\tprivate readonly tableAreaRegisterService: TableAreaRegisterService,\n\t\tprivate readonly router: Router,\n\t\tprivate readonly activatedRoute: ActivatedRoute\n\t) {}\n\n\t//region Events\n\tngOnInit() {\n\t\tthis.tableAreaArgsObservable.subscribe((tableAreaArgs) => {\n\t\t\tthis.tableAreaService.items.pipe(first()).subscribe((items) => {\n\t\t\t\tif (this.loadOnInit) {\n\t\t\t\t\tthis.load(tableAreaArgs)\n\t\t\t\t\t\t.pipe(first())\n\t\t\t\t\t\t.subscribe((items) => this.tableAreaService.setItems(items));\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tngAfterViewInit() {\n\t\tthis.isLoading = true;\n\t\tthis.addSortEvent();\n\t\tthis.addSearchEvent();\n\t\tthis.handleItemChanges();\n\t\tthis.tableAreaService.items\n\t\t\t.pipe(filter((items) => !!items))\n\t\t\t.pipe(withLatestFrom(this.tableAreaArgsObservable), first())\n\t\t\t.subscribe(([items, tableAreaArgs]) => {\n\t\t\t\tthis.handleTableArgsFromQueryParams(tableAreaArgs, items);\n\t\t\t});\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tprivate onSort(sortingModel: EvasysSortingModel) {\n\t\tthis.tableAreaArgsObservable.pipe(first()).subscribe((tableAreaArgs) => {\n\t\t\tconst newTableAreaArgs = { ...tableAreaArgs, sort: sortingModel };\n\t\t\tthis.tableAreaArgsChanges.next(newTableAreaArgs);\n\t\t\tconst sortingParams = `${sortingModel.columnField},${\n\t\t\t\tsortingModel.sortOrderAscending ? SortEnum.ASC : SortEnum.DESC\n\t\t\t}`;\n\t\t\tthis.isLoading = true;\n\t\t\tthis.router.navigate([], {\n\t\t\t\tqueryParams: { sort: sortingParams },\n\t\t\t\tqueryParamsHandling: 'merge',\n\t\t\t});\n\n\t\t\tthis.load(newTableAreaArgs)\n\t\t\t\t.pipe(first())\n\t\t\t\t.subscribe((items) => this.tableAreaService.setItems(items, { onlyInGui: true }));\n\t\t});\n\t}\n\n\tprivate onSearch(searchValue: string) {\n\t\tthis.tableAreaArgsObservable.pipe(first()).subscribe((tableAreaArgs) => {\n\t\t\tconst newTableAreaArgs = { ...tableAreaArgs, search: { value: searchValue, keys: this.searchKeys } };\n\t\t\tthis.tableAreaArgsChanges.next(newTableAreaArgs);\n\t\t\tthis.isLoading = true;\n\t\t\tthis.router.navigate([], {\n\t\t\t\tqueryParams: {\n\t\t\t\t\tsearchText: searchValue.length ? searchValue : null,\n\t\t\t\t},\n\t\t\t\tqueryParamsHandling: 'merge',\n\t\t\t});\n\t\t\tthis.load(newTableAreaArgs)\n\t\t\t\t.pipe(first())\n\t\t\t\t.subscribe((items) => this.tableAreaService.setItems(items, { onlyInGui: true }));\n\t\t});\n\t}\n\t//endregion\n\n\t//region Methods\n\tprivate handleItemChanges() {\n\t\tthis.subscriptions.push(\n\t\t\tthis.tableAreaService.guiItems.subscribe((items) => {\n\t\t\t\tthis.isLoading = false;\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate handleTableArgsFromQueryParams(tableAreaArgs: TableAreaArgs, items: T[]) {\n\t\tif (tableAreaArgs.search.value) {\n\t\t\tthis._searchboxComponent?.writeValue(tableAreaArgs.search.value);\n\t\t\tif (this.load === this.tableAreaService.load) {\n\t\t\t\tthis.onSearch(tableAreaArgs.search.value);\n\t\t\t}\n\t\t}\n\n\t\tif (tableAreaArgs.sort) {\n\t\t\tif (this.load === this.tableAreaService.load) {\n\t\t\t\tif (this.tableAreaRegisterService.getComponent(TableComponent.name).length > 0) {\n\t\t\t\t\tconst table = this.tableAreaRegisterService.getComponent(TableComponent.name)[0];\n\t\t\t\t\tconst defaultTableHeadSorted = table.tableHeads.find(\n\t\t\t\t\t\t(tableHead) => tableHead.columnField === tableAreaArgs.sort.columnField\n\t\t\t\t\t);\n\t\t\t\t\tif (defaultTableHeadSorted) {\n\t\t\t\t\t\tdefaultTableHeadSorted.setSorting(tableAreaArgs.sort.sortOrderAscending);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.onSort(tableAreaArgs.sort);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate getTableAreaArgsFromQueryParams() {\n\t\treturn this.activatedRoute.queryParams.pipe(\n\t\t\tshareReplay(1),\n\t\t\tmap((params) => {\n\t\t\t\tconst sortInfos = params.sort?.split(',');\n\t\t\t\treturn {\n\t\t\t\t\tsearch: {\n\t\t\t\t\t\tvalue: params.searchText ?? '',\n\t\t\t\t\t},\n\t\t\t\t\tsort: Array.isArray(sortInfos)\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tcolumnField: sortInfos[0],\n\t\t\t\t\t\t\t\tsortOrderAscending: sortInfos[1] === SortEnum.ASC,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t} satisfies TableAreaArgs;\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate addSearchEvent() {\n\t\tthis._searchboxComponent?.registerOnChange((value) => {\n\t\t\tthis.onSearch(value);\n\t\t});\n\t}\n\n\tprivate addSortEvent() {\n\t\tif (\n\t\t\t!this._tableComponent &&\n\t\t\tthis.tableAreaRegisterService.getComponent(TableComponent.name)?.length > 0\n\t\t) {\n\t\t\tthis._tableComponent = this.tableAreaRegisterService.getComponent(TableComponent.name)[0];\n\t\t}\n\t\tthis.subscriptions.push(this._tableComponent?.sortAction?.subscribe((sortInfos) => this.onSort(sortInfos)));\n\t}\n\t//endregion\n}\n","
    \n\t
    \n\t\t
    \n\t\t\t\n\t\t
    \n\t\t
    \n\t\t\t\n\t\t
    \n\t
    \n\t
    \n\t\t
    \n\t\t\t\n\t\t
    \n\t
    \n\t\n\t
    \n\t
    \n\t\t
    \n\t\t
    \n\t\t\t\n\t\t
    \n\t
    \n\t\n
    \n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, of, shareReplay, switchMap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { TableAreaArgs } from '@evasys/globals/shared/models/component/table-area/table-area-args.model';\n\n@Injectable()\nexport class TableAreaService {\n\t//region Variables\n\tprivate readonly guiItemsSubject: BehaviorSubject = new BehaviorSubject(\n\t\tundefined\n\t);\n\tprivate readonly itemsSubject: BehaviorSubject = new BehaviorSubject(undefined);\n\n\tpublic guiItems = this.guiItemsSubject.asObservable();\n\tpublic items = this.itemsSubject.asObservable();\n\n\t//endregion\n\n\t//region Methods\n\n\tpublic setItems(items: T[], options?: { onlyInGui?: boolean }) {\n\t\tthis.guiItemsSubject.next(items);\n\t\tif (!options?.onlyInGui) {\n\t\t\tthis.itemsSubject.next(items);\n\t\t}\n\t}\n\n\tpublic delete(...ids: I[]) {\n\t\tthis.guiItemsSubject.next(this.guiItemsSubject.value.filter((item) => !ids.includes(item.id)));\n\t\tthis.itemsSubject.next(this.guiItemsSubject.value.filter((item) => !ids.includes(item.id)));\n\t}\n\n\tpublic update(...updates: T[]) {\n\t\tconst ids = updates.map((update) => update.id);\n\t\tthis.guiItemsSubject.next([...this.guiItemsSubject.value.filter((item) => !ids.includes(item.id)), ...updates]);\n\t\tthis.itemsSubject.next([...this.guiItemsSubject.value.filter((item) => !ids.includes(item.id)), ...updates]);\n\t}\n\n\tpublic load = (tableAreaArgs: TableAreaArgs) => {\n\t\treturn this.search(tableAreaArgs).pipe(\n\t\t\tswitchMap((searchedItems) => {\n\t\t\t\tthis.guiItemsSubject.next(searchedItems);\n\t\t\t\treturn this.sort(tableAreaArgs);\n\t\t\t})\n\t\t);\n\t};\n\n\tprivate sort = (tableAreaArgs: TableAreaArgs): Observable => {\n\t\treturn this.guiItemsSubject.pipe(\n\t\t\tmap((items) => this.sortArray(items, tableAreaArgs)),\n\t\t\tshareReplay(1)\n\t\t);\n\t};\n\n\tprivate sortArray(items: T[], tableAreaArgs: TableAreaArgs) {\n\t\treturn [...items].sort((entityA, entityB) => {\n\t\t\tconst sortValueA = entityA[tableAreaArgs.sort.columnField];\n\t\t\tconst sortValueB = entityB[tableAreaArgs.sort.columnField];\n\n\t\t\tif (typeof sortValueA === 'string' && typeof sortValueB === 'string') {\n\t\t\t\treturn tableAreaArgs.sort.sortOrderAscending\n\t\t\t\t\t? sortValueA.localeCompare(sortValueB)\n\t\t\t\t\t: sortValueB.localeCompare(sortValueA);\n\t\t\t} else if (typeof sortValueA === 'number' && typeof sortValueB === 'number') {\n\t\t\t\treturn tableAreaArgs.sort.sortOrderAscending ? sortValueA - sortValueB : sortValueB - sortValueA;\n\t\t\t}\n\t\t\treturn 0;\n\t\t});\n\t}\n\n\tprivate search = (tableAreaArgs: TableAreaArgs): Observable => {\n\t\tif (this.itemsSubject.value.length === 0) {\n\t\t\treturn of([]);\n\t\t}\n\t\tif (!tableAreaArgs.search.keys) {\n\t\t\tconst keys = Object.keys(this.itemsSubject.value[0]).filter((key) => key !== 'id');\n\t\t\ttableAreaArgs.search.keys = keys as (keyof T)[];\n\t\t}\n\n\t\treturn this.itemsSubject.pipe(\n\t\t\tmap((items) =>\n\t\t\t\titems.filter((entity) => {\n\t\t\t\t\treturn tableAreaArgs.search.keys.some((key) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t(typeof entity[key] === 'string' &&\n\t\t\t\t\t\t\t\t(entity[key] as string).includes(tableAreaArgs.search.value)) ||\n\t\t\t\t\t\t\t(typeof entity[key] === 'number' &&\n\t\t\t\t\t\t\t\t(entity[key] as number).toString().includes(tableAreaArgs.search.value))\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t),\n\t\t\tshareReplay(1)\n\t\t);\n\t};\n\n\t//endregion\n}\n","import { AfterContentInit, Component, ContentChildren, Input, OnDestroy, QueryList } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { TableCellImageComponent } from '../table-cell-image/table-cell-image.component';\nimport { Subscription } from 'rxjs';\n\n@Component({\n\tselector: 'evasys-table-cell-clickable',\n\ttemplateUrl: './table-cell-clickable.component.html',\n\tstyleUrls: ['./table-cell-clickable.component.scss'],\n})\nexport class TableCellClickableComponent implements AfterContentInit, OnDestroy {\n\t// region Input & Output\n\n\t@Input()\n\t@Required()\n\tpublic id: string;\n\n\t@Input()\n\tpublic clickable = true;\n\n\t@Input()\n\tpublic class: string;\n\n\t// endregion Input & Output\n\n\t// region Content- and ViewChild/ren\n\n\t@ContentChildren(TableCellImageComponent)\n\tpublic imageCells: QueryList;\n\n\t// endregion Content- and ViewChild/ren\n\n\t// region Variables\n\n\tprivate subscriptions: Subscription[] = [];\n\n\t// endregion Variables\n\n\t// region Events\n\n\tpublic ngAfterContentInit(): void {\n\t\tthis.updateImageIds();\n\t\tthis.subscriptions.push(this.imageCells.changes.subscribe(() => this.updateImageIds()));\n\t}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t}\n\n\t// endregion Events\n\n\t// region Methods\n\n\tpublic updateImageIds(): void {\n\t\tfor (const cell of this.imageCells) {\n\t\t\tif (!cell.id) {\n\t\t\t\tcell.id = this.id;\n\t\t\t}\n\t\t}\n\t}\n\n\t// endregion Methods\n}\n","\n\t\n\n
    \n\t\n
    \n\n\t\n\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-table-cell-image',\n\ttemplateUrl: './table-cell-image.component.html',\n})\nexport class TableCellImageComponent {\n\t@Input()\n\tpublic id: string;\n\n\t@Input()\n\tpublic src: string;\n\n\t@Input()\n\tpublic alt?: string = '';\n\n\t@Input()\n\tpublic isIcon?: boolean = true;\n\n\t@Input()\n\tpublic tooltip?: string;\n\n\t@Input()\n\tpublic class: string;\n\n\t@Input()\n\taltTextAsLabel = false;\n}\n","\n\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-table-cell-text',\n\ttemplateUrl: './table-cell-text.component.html',\n\tstyleUrls: ['./table-cell-text.component.scss'],\n})\nexport class TableCellTextComponent {\n\t@Input()\n\tpublic text;\n}\n","
    {{ text }}
    \n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'td[evasys-table-column]',\n\ttemplateUrl: './table-column.component.html',\n})\nexport class TableColumnComponent {\n\t@Input()\n\thorizontalPosition: 'center' | 'start' | 'end' = 'center';\n\n\t@Input()\n\tverticalPosition: 'center' | 'start' | 'end' = 'center';\n}\n","\n\t\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { TableConfiguration } from '../table.configuration';\n\n@Component({\n\tselector: 'th[evasysTableHead]',\n\ttemplateUrl: './table-head.component.html',\n})\nexport class TableHeadComponent {\n\t// region static variables\n\n\tprivate static imageIdCounter = 1;\n\n\t// endregion static variables\n\n\t//region Input & Output\n\n\t@Input()\n\toverflowText?: string;\n\n\t@Input()\n\tpublic columnField?: string;\n\n\t@Input()\n\tpublic sortable = false;\n\n\t@Input()\n\tsortOrderAscending = true;\n\n\t@Input()\n\tsortByDefault = false;\n\n\t@Input()\n\tpublic position: 'start' | 'end' | 'center' = 'center';\n\n\t@Output()\n\tsortingChange = new EventEmitter();\n\n\t@Output()\n\tsortOrderAscendingChange = new EventEmitter();\n\n\t//endregion\n\n\t//region Variables\n\tpublic sorting = false;\n\n\tpublic imageId;\n\n\t//endregion\n\n\tpublic constructor(public readonly config: TableConfiguration) {\n\t\tthis.imageId = TableHeadComponent.imageIdCounter++;\n\t}\n\n\t//region Events\n\n\tpublic onClick(): void {\n\t\tif (this.sortable) {\n\t\t\tif (this.sorting) {\n\t\t\t\tthis.sortOrderAscending = !this.sortOrderAscending;\n\t\t\t\tthis.sortOrderAscendingChange.emit(this.sortOrderAscending);\n\t\t\t} else {\n\t\t\t\tthis.sorting = true;\n\t\t\t\tthis.sortOrderAscending = true;\n\t\t\t\tthis.sortingChange.emit(this.sorting);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic setSorting(sortOrderAscending: boolean) {\n\t\tif (this.sortable) {\n\t\t\tthis.sorting = true;\n\t\t\tthis.sortingChange.emit(this.sorting);\n\t\t\tthis.sortOrderAscending = sortOrderAscending;\n\t\t\tthis.sortOrderAscendingChange.emit(this.sortOrderAscending);\n\t\t}\n\t}\n\n\t//endregion\n}\n","\n\t
    \n\t\t\n\t
    \n\t
    \n\t\t\n\t\t\n\t
    \n\n","import { Injectable } from '@angular/core';\nimport { TableHeadTranslationModel } from '@evasys/globals/shared/models/translation/table-head-translation.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport abstract class TableConfiguration {\n\ttranslations?: TableTranslations;\n}\n\nexport interface TableTranslations {\n\ttableHead: TableHeadTranslationModel;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableComponent } from './table/table.component';\nimport { TableHeadComponent } from './table-head/table-head.component';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { TableConfiguration } from './table.configuration';\nimport { ImageModule } from '../../../directives/image/image.module';\nimport { TextOverflowModule } from '../../../directives/text-overflow/text-overflow.module';\nimport { TableColumnComponent } from './table-column/table-column.component';\n\n@NgModule({\n\tdeclarations: [TableComponent, TableHeadComponent, TableColumnComponent],\n\timports: [CommonModule, TranslocoModule, ImageModule, TextOverflowModule],\n\texports: [TableComponent, TableHeadComponent, TableColumnComponent],\n})\nexport class TableModule {\n\tstatic forRoot(config: TableConfiguration): ModuleWithProviders {\n\t\treturn {\n\t\t\tngModule: TableModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: TableConfiguration,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n","import {\n\tAfterContentInit,\n\tComponent,\n\tContentChildren,\n\tEventEmitter,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tQueryList,\n} from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { EvasysSortingModel } from '@evasys/globals/shared/models/general/evasys-sorting.model';\nimport { TableHeadComponent } from '../table-head/table-head.component';\nimport { Subscription } from 'rxjs';\n\n@Component({\n\tselector: 'evasys-table',\n\ttemplateUrl: './table.component.html',\n\tstyles: [':host{display: block}'],\n})\nexport class TableComponent implements AfterContentInit, OnDestroy {\n\t//region ContentChildren\n\t@ContentChildren(TableHeadComponent, { descendants: true })\n\tpublic columnQuery?: QueryList;\n\t//endregion\n\n\t//region Input & Output\n\t@Input()\n\t@Required()\n\tid?: string;\n\n\t@Input()\n\tfixedLayout = false;\n\n\t@Input()\n\tdescription: string;\n\n\t@Output()\n\tsortAction: EventEmitter = new EventEmitter();\n\n\t//endregion\n\n\t//region Variables\n\n\tpublic get tableHeads(): TableHeadComponent[] {\n\t\treturn this._tableHeads;\n\t}\n\n\tprivate set tableHeads(tableHeads: TableHeadComponent[]) {\n\t\tthis.clearTableHeadSubs();\n\n\t\tthis._tableHeads = [];\n\t\tfor (const [index, tableHead] of tableHeads.entries()) {\n\t\t\tthis.tableHeadSubs.push(\n\t\t\t\ttableHead.sortingChange.subscribe((sorting) => {\n\t\t\t\t\tif (sorting) {\n\t\t\t\t\t\tthis.onSorting(index);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._tableHeads.push(tableHead);\n\t\t}\n\t}\n\n\tprivate _tableHeads: TableHeadComponent[] = [];\n\n\tprivate subscriptions: Subscription[] = [];\n\n\tprivate tableHeadSubs: Subscription[] = [];\n\n\tprivate sortingSubs: Subscription[] = [];\n\t//endregion\n\n\t//region events\n\tngAfterContentInit() {\n\t\tthis.tableHeads = this.columnQuery.toArray();\n\t\tthis.findAndActivateDefaultSort();\n\n\t\tthis.subscriptions.push(\n\t\t\tthis.columnQuery.changes.subscribe((tableHeads) => {\n\t\t\t\tthis.tableHeads = tableHeads.toArray();\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t\tthis.clearTableHeadSubs();\n\t\tthis.clearSortingSubs();\n\t}\n\n\tpublic onSorting(sortingIndex: number): void {\n\t\tif (sortingIndex in this.tableHeads) {\n\t\t\tconst sortingTableHead = this.tableHeads[sortingIndex];\n\t\t\tif (sortingTableHead.sorting) {\n\t\t\t\tfor (const [index, tableHead] of this.tableHeads.entries()) {\n\t\t\t\t\tif (sortingIndex !== index) {\n\t\t\t\t\t\ttableHead.sorting = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.sortAction.emit({\n\t\t\t\t\tcolumnField: sortingTableHead.columnField,\n\t\t\t\t\tsortOrderAscending: sortingTableHead.sortOrderAscending,\n\t\t\t\t});\n\n\t\t\t\tthis.clearSortingSubs();\n\t\t\t\tthis.sortingSubs.push(\n\t\t\t\t\tsortingTableHead.sortOrderAscendingChange.subscribe(() =>\n\t\t\t\t\t\tthis.sortAction.emit({\n\t\t\t\t\t\t\tcolumnField: sortingTableHead.columnField,\n\t\t\t\t\t\t\tsortOrderAscending: sortingTableHead.sortOrderAscending,\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\t//endregion\n\n\t//region methods\n\n\tpublic findAndActivateDefaultSort(): void {\n\t\tfor (const [index, tableHead] of this.tableHeads.entries()) {\n\t\t\tif (tableHead.sortByDefault) {\n\t\t\t\ttableHead.sorting = true;\n\t\t\t\tthis.onSorting(index);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic clearTableHeadSubs(): void {\n\t\tthis.tableHeadSubs.forEach((sub) => sub.unsubscribe());\n\t}\n\n\tpublic clearSortingSubs(): void {\n\t\tthis.sortingSubs.forEach((sub) => sub.unsubscribe());\n\t}\n\t//endregion\n}\n","\n\t\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PageComponent } from './page/page.component';\n\n@NgModule({\n\tdeclarations: [PageComponent],\n\timports: [CommonModule],\n\texports: [PageComponent],\n})\nexport class PageModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'evasys-page',\n\ttemplateUrl: './page.component.html',\n})\nexport class PageComponent {}\n","
    \n\t
    \n\t\t\n\t
    \n\t
    \n\t\t\n\t
    \n\t
    \n\t\t\n\t
    \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClickAwayDirective } from './click-away/click-away.directive';\n\n@NgModule({\n\tdeclarations: [ClickAwayDirective],\n\timports: [CommonModule],\n\texports: [ClickAwayDirective],\n})\nexport class ClickAwayModule {}\n","import { Directive, ElementRef, EventEmitter, Inject, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { fromEvent, Observable, SubscriptionLike } from 'rxjs';\n\n@Directive({\n\tselector: '[evasysClickAway]',\n})\nexport class ClickAwayDirective implements OnInit, OnDestroy {\n\t// region Input & output\n\n\t@Input()\n\tpublic set clickAwayActive(active: boolean) {\n\t\tthis.unsubscribeClickOutside();\n\t\tif (active) {\n\t\t\tthis.clickOutsideSubscription = this.clickOutside$.subscribe((e) => this.onClickOutside(e));\n\t\t}\n\t\tthis.active = active;\n\t}\n\n\t@Input()\n\ttoggleElement: HTMLElement;\n\n\t@Output()\n\tpublic evasysClickAway = new EventEmitter();\n\n\t// endregion Input & output\n\n\t// region Variables\n\n\tprivate active = true;\n\tprivate clickOutside$: Observable | null = null;\n\tprivate clickOutsideSubscription: SubscriptionLike = null;\n\n\t// endregion Variables\n\n\tpublic constructor(@Inject(DOCUMENT) private readonly document: Document, private readonly host: ElementRef) {}\n\n\t// region Events\n\tpublic ngOnInit(): void {\n\t\tthis.clickOutside$ = fromEvent(this.document, 'mouseup');\n\t\tthis.clickAwayActive = this.active;\n\t}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.unsubscribeClickOutside();\n\t}\n\n\tpublic onClickOutside(event: Event): void {\n\t\tif (\n\t\t\tthis.active &&\n\t\t\t!this.host.nativeElement.contains(event.target) &&\n\t\t\t!this.toggleElement?.contains(event.target as Node)\n\t\t) {\n\t\t\tthis.evasysClickAway.emit();\n\t\t}\n\t}\n\t// endregion Events\n\n\t// region Methods\n\tprivate unsubscribeClickOutside(): void {\n\t\tif (this.clickOutsideSubscription) {\n\t\t\tthis.clickOutsideSubscription.unsubscribe();\n\t\t\tthis.clickOutsideSubscription = null;\n\t\t}\n\t}\n\t// endregion Methods\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FoldableDirective } from './foldable/foldable.directive';\n\n@NgModule({\n\tdeclarations: [FoldableDirective],\n\timports: [CommonModule],\n\texports: [FoldableDirective],\n})\nexport class FoldableModule {}\n","import {\n\tDirective,\n\tEnvironmentInjector,\n\tinject,\n\tInput,\n\tOnInit,\n\trunInInjectionContext,\n\tTemplateRef,\n\tViewContainerRef,\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n\tselector: '[evasysFoldable]',\n})\nexport class FoldableDirective implements OnInit {\n\t//region Inputs and Outputs\n\t@Input()\n\tset evasysFoldableTemplateRef(templateRef: TemplateRef) {\n\t\tthis.foldableTemplateRef = templateRef;\n\t}\n\n\t@Input('evasysFoldableIsFolded')\n\tset isFolded(folded: boolean) {\n\t\tif (this.context.isFolded !== folded) {\n\t\t\tthis.context.isFolded = folded;\n\t\t\tthis.onFoldedChange();\n\t\t}\n\t}\n\t//endregion\n\n\t//region Injections\n\tprivate environmentInjector = inject(EnvironmentInjector);\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate templateRef = inject(TemplateRef);\n\t//endregion\n\n\t//region Variables\n\tprivate foldableTemplateRef;\n\tprivate context = {\n\t\tisFolded: false,\n\t};\n\t//endregion\n\n\t//region Events\n\tngOnInit() {\n\t\tconst htmlElement = this.viewContainerRef.createEmbeddedView(this.templateRef, this.context);\n\t\tthis.onFoldedChange();\n\n\t\trunInInjectionContext(this.environmentInjector, () => {\n\t\t\tfromEvent(htmlElement.rootNodes[0], 'click').pipe(takeUntilDestroyed()).subscribe(this.onClick);\n\t\t});\n\t}\n\n\tprivate onClick = () => {\n\t\tthis.isFolded = !this.context.isFolded;\n\t};\n\n\tonFoldedChange = () => {\n\t\tif (!this.context.isFolded) {\n\t\t\tthis.viewContainerRef.createEmbeddedView(this.foldableTemplateRef);\n\t\t} else if (this.viewContainerRef.get(1)) {\n\t\t\tthis.viewContainerRef.remove(1);\n\t\t}\n\t};\n\t//endregion\n}\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { fromEvent, Subscription, throttleTime } from 'rxjs';\n\n@Directive({\n\tselector: '[evasysHesitate]',\n})\nexport class HesitateDirective implements OnDestroy, AfterViewInit {\n\t//region Input & Output\n\t@Input()\n\tevasysHesitate = 0;\n\n\t@Output()\n\thesitate = new EventEmitter();\n\n\t//endregion\n\n\t//region Variables\n\tprivate timer = null;\n\tprivate subscriptions: Subscription[] = [];\n\t//endregion\n\n\tconstructor(private readonly element: ElementRef) {}\n\n\t//region Events\n\tngAfterViewInit() {\n\t\tthis.subscriptions.push(\n\t\t\tfromEvent(this.element.nativeElement, 'mouseenter')\n\t\t\t\t.pipe(throttleTime(200))\n\t\t\t\t.subscribe(() => this.onMouseEnter()),\n\n\t\t\tfromEvent(this.element.nativeElement, 'mouseleave')\n\t\t\t\t.pipe(throttleTime(200))\n\t\t\t\t.subscribe(() => this.onMouseLeave())\n\t\t);\n\t}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.clearTimer();\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t\tthis.subscriptions.length = 0;\n\t}\n\n\tprivate onMouseEnter() {\n\t\tthis.clearTimer();\n\t\tthis.timer = setTimeout(() => {\n\t\t\tthis.hesitate.emit(true);\n\t\t}, this.evasysHesitate);\n\t}\n\n\tprivate onMouseLeave() {\n\t\tthis.clearTimer();\n\t\tthis.hesitate.emit(false);\n\t}\n\t//endregion\n\n\t//region Methods\n\n\tprivate clearTimer() {\n\t\tif (this.timer != null) {\n\t\t\twindow.clearTimeout(this.timer);\n\t\t\tthis.timer = null;\n\t\t}\n\t}\n\t//endregion\n}\n","import { AfterViewInit, Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\n\n@Directive({\n\tselector: 'img[evasysImage]',\n})\nexport class ImageDirective implements OnInit, AfterViewInit {\n\t//region Input & Output\n\t@Input()\n\tisIcon?: boolean = false;\n\n\t@Input()\n\t@Required()\n\tset id(id: string) {\n\t\tthis._id = id;\n\t\tthis.host?.nativeElement.setAttribute('data-cy', 'image-' + id);\n\t}\n\n\t@Input()\n\taddTimestampToSrc = false;\n\n\t@Input()\n\tasBase64String = false;\n\n\t@Input()\n\t@Required()\n\tset src(src: string) {\n\t\tif (this.asBase64String) {\n\t\t\tthis._src = 'data:image/jpg;base64,' + src;\n\t\t} else if (this.addTimestampToSrc) {\n\t\t\tthis._src = src + '?t=' + new Date().getTime();\n\t\t} else {\n\t\t\tthis._src = src;\n\t\t}\n\n\t\tthis.renderer2?.setAttribute(this.host.nativeElement, 'src', this._src);\n\t}\n\n\t@Input()\n\tset alt(alt: string) {\n\t\tif (alt && this.host) {\n\t\t\tthis.renderer2.setAttribute(this.host.nativeElement, 'alt', alt);\n\t\t\tif (this.altTextAsLabel) {\n\t\t\t\tthis.renderer2?.setAttribute(this.host.nativeElement, 'title', alt);\n\t\t\t}\n\t\t}\n\t\tthis._alt = alt;\n\t}\n\n\t@Input()\n\taltTextAsLabel = false;\n\n\t//endregion\n\n\t//region Variables\n\t_src?: string;\n\t_alt?: string;\n\t_id?: string;\n\t//endregion\n\n\t//region Events\n\n\tconstructor(private host: ElementRef, private renderer2: Renderer2) {}\n\n\tngOnInit(): void {\n\t\tthis.checkAltText();\n\t}\n\tngAfterViewInit() {\n\t\tthis.checkSettedAttributes();\n\t}\n\n\t//endregion\n\n\t//region Methods\n\tprivate checkSettedAttributes() {\n\t\tif (!this.host.nativeElement.getAttribute('data-cy')) {\n\t\t\tthis.renderer2?.setAttribute(this.host.nativeElement, 'id', this.id);\n\t\t}\n\t\tif (this.addTimestampToSrc && this.host.nativeElement.getAttribute('src') !== this._src) {\n\t\t\tthis.src = this._src;\n\t\t}\n\t\tif (this._alt && !this.host.nativeElement.getAttribute('alt')) {\n\t\t\tthis.renderer2?.setAttribute(this.host.nativeElement, 'alt', this._alt);\n\t\t}\n\t\tif (this._alt && this.altTextAsLabel) {\n\t\t\tthis.renderer2?.setAttribute(this.host.nativeElement, 'title', this._alt);\n\t\t}\n\t}\n\n\tprivate checkAltText(): void {\n\t\tif (!this.isIcon && !this._alt) {\n\t\t\tthrow new Error(`Attribute alt for ${this._id} is required if isIcon is not true.`);\n\t\t}\n\t}\n\t//endregion\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageDirective } from './image.directive';\n\n@NgModule({\n\tdeclarations: [ImageDirective],\n\texports: [ImageDirective],\n\timports: [CommonModule],\n})\nexport class ImageModule {}\n","import { Directive, Input, OnInit } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n\tselector: '[evasysDisabled]',\n})\nexport class DisabledDirective implements OnInit {\n\tpublic _disabled;\n\n\t@Input()\n\tset evasysDisabled(disabled: boolean) {\n\t\tthis._disabled = disabled;\n\t\tdisabled ? this.control.control?.disable() : this.control.control?.enable();\n\t}\n\n\tconstructor(private control: NgControl) {}\n\n\tngOnInit() {\n\t\t//for the case that the Input is set before init\n\t\tthis._disabled ? this.control.control?.disable() : this.control.control?.enable();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NumbersOnlyDirective } from './numbers-only/numbers-only.directive';\n\n@NgModule({\n\tdeclarations: [NumbersOnlyDirective],\n\timports: [CommonModule],\n\texports: [NumbersOnlyDirective],\n})\nexport class NumbersOnlyModule {}\n","import { Directive, HostListener, Input } from '@angular/core';\n\n@Directive({\n\tselector: '[evasysNumbersOnly]',\n})\nexport class NumbersOnlyDirective {\n\t@Input()\n\tpublic evasysNumbersOnly: boolean;\n\n\t@HostListener('keydown', ['$event'])\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (\n\t\t\tthis.evasysNumbersOnly &&\n\t\t\t![\n\t\t\t\t'Delete',\n\t\t\t\t'Backspace',\n\t\t\t\t'Tab',\n\t\t\t\t'Escape',\n\t\t\t\t'Enter',\n\t\t\t\t'.',\n\t\t\t\t',',\n\t\t\t\t'End',\n\t\t\t\t'Home',\n\t\t\t\t'ArrowLeft',\n\t\t\t\t'ArrowUp',\n\t\t\t\t'ArrowRight',\n\t\t\t\t'ArrowDown',\n\t\t\t].includes(event.key) &&\n\t\t\t// We want to allow copy, paste, cut & select all\n\t\t\t!(['a', 'c', 'v', 'x'].includes(event.key) && (event.ctrlKey || event.metaKey)) &&\n\t\t\t!event.key.match('\\\\d')\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\t@HostListener('paste', ['$event'])\n\tonPaste(event: ClipboardEvent) {\n\t\tif (this.evasysNumbersOnly && event.clipboardData.getData('text').match(/[^\\d.,]/)) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\n\nconst TRANSLATE_Y_REGEX = /translateY\\((\\d+)px\\)/;\n\nconst MUTATION_ATTRIBUTES_TYPE: MutationRecordType = 'attributes';\n\n@Directive({\n\tselector: '[evasysTableSticky]',\n})\nexport class TableStickyDirective implements OnInit, OnDestroy {\n\t@Input()\n\tevasysTableSticky: [HTMLElement, 'top' | 'bottom'][];\n\n\tprivate translateYObserver: MutationObserver;\n\n\tconstructor(private readonly virtualScrollViewPort: ElementRef) {}\n\n\tngOnInit() {\n\t\tthis.initStickHeader();\n\t}\n\n\tngOnDestroy() {\n\t\tif (this.translateYObserver) {\n\t\t\tthis.translateYObserver.disconnect();\n\t\t}\n\t}\n\n\tprivate initStickHeader() {\n\t\tconst contentWrapper = this.virtualScrollViewPort.nativeElement.firstChild;\n\n\t\tthis.translateYObserver = new MutationObserver((mutations) =>\n\t\t\tthis.onMutationsChange(mutations, contentWrapper)\n\t\t);\n\t\tthis.translateYObserver.observe(contentWrapper, {\n\t\t\tattributes: true,\n\t\t});\n\t}\n\n\tprivate onMutationsChange(mutations: MutationRecord[], contentWrapper: HTMLElement) {\n\t\tmutations\n\t\t\t.filter((it) => it.type === MUTATION_ATTRIBUTES_TYPE)\n\t\t\t.forEach(() => this.setHeaderTopPosition(contentWrapper));\n\t}\n\n\tprivate setHeaderTopPosition(contentWrapper: HTMLElement) {\n\t\tthis.evasysTableSticky.forEach(([stickyElement, stickyDirection]) => {\n\t\t\tconst match = contentWrapper.style.transform.match(TRANSLATE_Y_REGEX);\n\t\t\tif (!match) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst translate = parseInt(match[1]);\n\t\t\tstickyElement.style[stickyDirection] = `${(stickyDirection === 'top' ? '-' : '') + translate}px`;\n\t\t});\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextOverflowDirective } from './text-overflow/text-overflow.directive';\n\n@NgModule({\n\tdeclarations: [TextOverflowDirective],\n\timports: [CommonModule],\n\texports: [TextOverflowDirective],\n})\nexport class TextOverflowModule {}\n","import {\n\tApplicationRef,\n\tChangeDetectorRef,\n\tDirective,\n\tElementRef,\n\tInject,\n\tInjector,\n\tInput,\n\tNgZone,\n\tOnDestroy,\n\tOnInit,\n\tRenderer2,\n\tViewContainerRef,\n} from '@angular/core';\nimport { NgbTooltip, NgbTooltipConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { DOCUMENT } from '@angular/common';\nimport { debounceTime, Subject, Subscription } from 'rxjs';\n\n@Directive({\n\tselector: '[evasysTextOverflow]',\n\tproviders: [NgbTooltipConfig],\n})\nexport class TextOverflowDirective extends NgbTooltip implements OnInit, OnDestroy {\n\t//region Input & Output\n\t@Input()\n\tset minWidth(minWidth: string) {\n\t\tif (minWidth) {\n\t\t\tthis.nativeElement.style.minWidth = minWidth;\n\t\t}\n\t}\n\n\t@Input()\n\tset active(isActive: boolean) {\n\t\tthis.defaultStyle(isActive);\n\t}\n\n\t@Input()\n\tset text(value: string) {\n\t\tthis.ngbTooltip = value;\n\t}\n\t//endregion\n\n\t//region Variables\n\tprivate observer: ResizeObserver;\n\tprivate resizeSubject: Subject = new Subject();\n\tprivate DEFAULT_STYLES = ['text-truncate'];\n\n\t//hint: NOT only get cleared on destroy!\n\tprivate subscriptions: Subscription[] = [];\n\n\t//endregion\n\tprivate nativeElement;\n\n\tconstructor(\n\t\tprivate elementRef: ElementRef,\n\t\tprivate renderer: Renderer2,\n\t\tinjector: Injector,\n\t\tviewContainerRef: ViewContainerRef,\n\t\tconfig: NgbTooltipConfig,\n\t\t_ngZone: NgZone,\n\t\t@Inject(DOCUMENT) _document: any,\n\t\tapplicationRef: ApplicationRef,\n\t\t_changeDetector: ChangeDetectorRef\n\t) {\n\t\tsuper(\n\t\t\telementRef,\n\t\t\trenderer,\n\t\t\tinjector,\n\t\t\tviewContainerRef,\n\t\t\tconfig,\n\t\t\t_ngZone,\n\t\t\t_document,\n\t\t\t_changeDetector,\n\t\t\tapplicationRef\n\t\t);\n\t}\n\n\t//endregion\n\n\t//region Events\n\toverride ngOnInit() {\n\t\tsuper.ngOnInit();\n\t\tthis.nativeElement = this.elementRef.nativeElement;\n\t\tthis.defaultStyle(true);\n\t\tthis.addTooltipConfigs();\n\t\tthis.observeElementResize();\n\t\tthis.listenOnResize();\n\t}\n\n\toverride ngOnDestroy() {\n\t\tsuper.ngOnDestroy();\n\t\tthis.renderer.destroy();\n\t\tthis.observer.unobserve(this.nativeElement);\n\t\tthis.observer.disconnect();\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t\tthis.observer = undefined;\n\t\tthis.resizeSubject?.complete();\n\t\tthis.resizeSubject = undefined;\n\t\tthis.subscriptions = undefined;\n\t}\n\n\t//endregion\n\n\t//region Methods\n\n\tdefaultStyle(set: boolean) {\n\t\tthis.DEFAULT_STYLES.forEach((cssClass) => {\n\t\t\tif (set) {\n\t\t\t\tthis.nativeElement.classList.add(cssClass);\n\t\t\t} else {\n\t\t\t\tthis.nativeElement.classList.remove(cssClass);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate observeElementResize() {\n\t\tthis.observer = new ResizeObserver(() => this.resizeSubject.next());\n\t\tthis.observer.observe(this.nativeElement);\n\t}\n\n\tprivate addTooltipConfigs() {\n\t\tthis.disableTooltip = false;\n\t\tthis.openDelay = 300;\n\t\tthis.closeDelay = 200;\n\t\tthis.placement = 'bottom';\n\t\tthis.container = 'body';\n\t\tthis.listenOnResize();\n\t}\n\n\tprivate listenOnResize() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t\tthis.subscriptions.push(\n\t\t\tthis.resizeSubject.pipe(debounceTime(300)).subscribe(() => {\n\t\t\t\tthis.disableTooltip = this.nativeElement.offsetWidth >= this.nativeElement.scrollWidth;\n\t\t\t})\n\t\t);\n\t}\n\n\t//endregion\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipDirective } from './tooltip/tooltip.directive';\n\n@NgModule({\n\tdeclarations: [TooltipDirective],\n\texports: [TooltipDirective],\n\timports: [CommonModule],\n})\nexport class TooltipModule {}\n","import {\n\tApplicationRef,\n\tChangeDetectorRef,\n\tDirective,\n\tElementRef,\n\tInject,\n\tInjector,\n\tInput,\n\tNgZone,\n\tOnDestroy,\n\tOnInit,\n\tRenderer2,\n\tViewContainerRef,\n} from '@angular/core';\nimport { NgbTooltip, NgbTooltipConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n\tselector: '[evasysTooltip]',\n\tproviders: [NgbTooltipConfig],\n})\nexport class TooltipDirective extends NgbTooltip implements OnInit, OnDestroy {\n\tconstructor(\n\t\tprivate elementRef: ElementRef,\n\t\tprivate renderer: Renderer2,\n\t\tprivate injector: Injector,\n\t\tprivate viewContainerRef: ViewContainerRef,\n\t\tprivate config: NgbTooltipConfig,\n\t\t_ngZone: NgZone,\n\t\t@Inject(DOCUMENT) _document: any,\n\t\t_changeDetector: ChangeDetectorRef,\n\t\tprivate applicationRef: ApplicationRef\n\t) {\n\t\tsuper(\n\t\t\telementRef,\n\t\t\trenderer,\n\t\t\tinjector,\n\t\t\tviewContainerRef,\n\t\t\tconfig,\n\t\t\t_ngZone,\n\t\t\t_document,\n\t\t\t_changeDetector,\n\t\t\tapplicationRef\n\t\t);\n\t\tthis.addTooltipConfigs();\n\t}\n\n\t//region Input & Output\n\t@Input()\n\tset evasysTooltip(value: string) {\n\t\tif (value) {\n\t\t\tthis.ngbTooltip = value;\n\t\t\tthis.disableTooltip = false;\n\t\t}\n\t}\n\t//endregion\n\n\t//region Events\n\toverride ngOnInit() {\n\t\tsuper.ngOnInit();\n\t}\n\n\toverride ngOnDestroy() {\n\t\tsuper.ngOnDestroy();\n\t}\n\n\t//endregion\n\n\t//region Methods\n\tprivate addTooltipConfigs() {\n\t\tthis.disableTooltip = true;\n\t\tthis.openDelay = 300;\n\t\tthis.closeDelay = 200;\n\t\tthis.placement = 'bottom';\n\t\tthis.container = 'body';\n\t}\n\t//endregion\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'isMenuActive',\n})\nexport class IsMenuActivePipe implements PipeTransform {\n\ttransform(value: [number, number], arg: number): number | null {\n\t\tif (value) {\n\t\t\treturn value[0] === arg ? value[1] + 1 : 0;\n\t\t}\n\t\treturn null;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { PropertyTypeConstraintsModel } from '@evasys/globals/shared/models/component/wizard/property-type-constraints.model';\n\n@Pipe({\n\tname: 'constraintsToTextboxType',\n})\nexport class ConstraintsToTextboxTypePipe implements PipeTransform {\n\ttransform(constraints: PropertyTypeConstraintsModel): string {\n\t\tlet type = 'text';\n\t\tif (constraints.numeric) type = 'number';\n\t\tif (constraints.emailType) type = 'email';\n\t\tif (constraints.password) type = 'password';\n\t\treturn type;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InPipe } from './pipe/in.pipe';\n\n@NgModule({\n\tdeclarations: [InPipe],\n\timports: [CommonModule],\n\texports: [InPipe],\n})\nexport class InModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'in',\n\tpure: false,\n})\nexport class InPipe implements PipeTransform {\n\ttransform(item: unknown, array: unknown[]): unknown {\n\t\treturn array?.includes(item);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { KeyValueModel } from '@evasys/globals/shared/models/component/wizard/key-value.model';\n\n@Pipe({\n\tname: 'keyValueToMap',\n})\nexport class KeyValueToMapPipe implements PipeTransform {\n\ttransform(arr: KeyValueModel[]) {\n\t\treturn new Map(arr.map((kv) => [kv.key, typeof kv.value === 'object' ? kv.value.name : kv.value]));\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { KeyValueModel } from '@evasys/globals/shared/models/component/wizard/key-value.model';\nimport { SelectorItemModel } from '@evasys/globals/evasys/models/component/order-selector-item.model';\nimport { SelectorChangeabilityEnum } from '@evasys/globals/shared/enums/component/selector-changeability.enum';\n\n@Pipe({\n\tname: 'keyValueToSelectItems',\n})\nexport class KeyValueToSelectItemsPipe implements PipeTransform {\n\ttransform(value: KeyValueModel[]): SelectorItemModel[] {\n\t\treturn value.map(\n\t\t\t(item) =>\n\t\t\t\t({\n\t\t\t\t\tid: item.key,\n\t\t\t\t\tname: typeof item.value === 'object' ? item.value?.name : item.value,\n\t\t\t\t\t...(typeof item.value === 'object' && {\n\t\t\t\t\t\tnoDeselection: item.value.changeability === SelectorChangeabilityEnum.NO_DESELECTION,\n\t\t\t\t\t}),\n\t\t\t\t\t...(typeof item.value === 'object' && {\n\t\t\t\t\t\ttriggerEvent: item.value.changeability === SelectorChangeabilityEnum.CHANGE_OTHERS_RIGHTS,\n\t\t\t\t\t}),\n\t\t\t\t} as SelectorItemModel)\n\t\t);\n\t}\n}\n","import { detectOverflow, Modifier, Options } from '@popperjs/core';\n\nexport const maxSize: Modifier<'maxSize', Partial> = {\n\tname: 'maxSize',\n\tenabled: true,\n\tphase: 'main',\n\trequiresIfExists: ['offset', 'preventOverflow', 'flip'],\n\tfn({ state, name, options }) {\n\t\tconst overflow = detectOverflow(state, options);\n\t\tconst { x, y } = state.modifiersData.preventOverflow || { x: 0, y: 0 };\n\t\tconst { width, height } = state.rects.popper;\n\t\tconst [basePlacement] = state.placement.split('-');\n\t\tconst mainAxis = ['top', 'bottom'].indexOf(basePlacement) >= 0 ? 'x' : 'y';\n\n\t\tconst widthProp = basePlacement === 'left' ? 'left' : 'right';\n\t\tconst heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n\n\t\tif (mainAxis === 'x') {\n\t\t\tstate.modifiersData[name] = {\n\t\t\t\twidth: width - overflow.left - overflow.right,\n\t\t\t\theight: height - overflow[heightProp] - y,\n\t\t\t};\n\t\t} else {\n\t\t\tstate.modifiersData[name] = {\n\t\t\t\twidth: width - overflow[widthProp] - x,\n\t\t\t\theight: height - overflow.top - overflow.bottom,\n\t\t\t};\n\t\t}\n\t},\n};\n","import { Options } from '@popperjs/core';\nimport { Padding } from '@evasys/globals/shared/types/padding';\nimport { maxSize } from './modifier';\n\nexport interface MaxSizePopperOptionsParams {\n\tpadding?: Padding;\n\tminWidth: number;\n\tminHeight: number;\n}\n\nexport const maxSizePopperOptions = (params: MaxSizePopperOptionsParams) => (options: Partial) => {\n\tconst padding: Padding = params.padding ?? { top: 75, bottom: 20, left: 20, right: 20 };\n\n\toptions.modifiers?.splice(5, 1);\n\tfor (const modifier of options.modifiers || []) {\n\t\tif (modifier.name === 'offset' && modifier.options) {\n\t\t\tmodifier.options['offset'] = [0, 10];\n\t\t}\n\t\tif (modifier.name === 'preventOverflow') {\n\t\t\tmodifier.options = { padding };\n\t\t}\n\t}\n\toptions.modifiers?.push(\n\t\t{\n\t\t\t...maxSize,\n\t\t\toptions: {\n\t\t\t\tpadding,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'applyMaxSize',\n\t\t\tenabled: true,\n\t\t\tphase: 'beforeWrite',\n\t\t\trequires: ['maxSize'],\n\t\t\tfn({ state }) {\n\t\t\t\tconst { width, height } = state.modifiersData['maxSize'];\n\t\t\t\tstate.styles['popper'] = {\n\t\t\t\t\t...state.styles['popper'],\n\t\t\t\t\tmaxWidth: `${Math.max(width, params.minWidth)}px`,\n\t\t\t\t\tmaxHeight: `${Math.max(height, params.minHeight)}px`,\n\t\t\t\t};\n\t\t\t},\n\t\t}\n\t);\n\treturn options;\n};\n","import { Modifier } from '@popperjs/core';\n\n// ensures that the popover is at least as wide as the reference\nexport const minWidthReference: Partial>> = {\n\tname: 'minWidthReference',\n\tenabled: true,\n\tphase: 'beforeWrite',\n\trequires: ['computeStyles'],\n\tfn: ({ state }) => {\n\t\tstate.styles.popper.minWidth = `${state.rects.reference.width}px`;\n\t},\n\teffect: ({ state }) => {\n\t\tstate.elements.popper.style.minWidth = `${(state.elements.reference as HTMLElement).offsetWidth}px`;\n\t},\n};\n","import { Inject, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Orchestrates the click away handlers for all currently opened typeaheads.\n * Each typeahead has to decide if the click was inside its popover and thus, as the popover may be mounted at\n * the document body level, visually out of place in the DOM hierarchy.\n * One popover may visually appear to be inside another popover, but in the DOM hierarchy both popovers are just\n * siblings in the document body.\n * Because of this, we call the handlers in reverse order of how they were opened because this allows one of\n * the inner typeaheads to \"claim\" the click by calling event.preventDefault, from which we interpret that the\n * click must also be part of the other popovers earlier on in the clickawayHandlers list, even though it is not\n * according to the DOM hierarchy.\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class TypeaheadPopoverService {\n\thandlers: ClickHandler[] = [];\n\n\tconstructor(@Inject(DOCUMENT) private document: Document) {}\n\n\taddBodyClickHandlerForInstance(handler: ClickHandler) {\n\t\tthis.handlers = [...this.handlers, handler];\n\t\tthis.document.body.addEventListener('click', this.onBodyClick.bind(this));\n\t}\n\n\tremoveBodyClickHandlerForInstance(handler: ClickHandler) {\n\t\tthis.handlers = this.handlers.filter((h) => h !== handler);\n\t\tif (this.handlers.length === 0) {\n\t\t\tthis.document.body.removeEventListener('click', this.onBodyClick);\n\t\t}\n\t}\n\n\tonBodyClick(event: MouseEvent) {\n\t\tfor (let i = this.handlers.length - 1; i >= 0 && !event.defaultPrevented; i--) {\n\t\t\tthis.handlers[i](event);\n\t\t}\n\t}\n}\n\ntype ClickHandler = (event: MouseEvent) => void;\n","import { Injectable } from '@angular/core';\nimport { SharedUiTranslationsModel } from '@evasys/globals/shared/models/translation/shared-ui-translations.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport abstract class SharedUiConfiguration {\n\ttranslations?: SharedUiTranslationsModel;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TabsComponent } from './components/dynamic-components/tabs/tabs.component';\nimport { RadioButtonComponent } from './components/control-components/radio-button/radio-button.component';\nimport { MenuComponent } from './components/app-shell-components/menu/menu.component';\nimport { ListComponent } from './components/static-components/list/list.component';\nimport { TopmenuComponent } from './components/app-shell-components/topmenu/topmenu.component';\nimport { UsermenuComponent } from './components/app-shell-components/usermenu/usermenu.component';\nimport { SidemenuComponent } from './components/app-shell-components/sidemenu/sidemenu.component';\nimport { SidebarComponent } from './components/app-shell-components/sidebar/sidebar.component';\nimport { PaginationComponent } from './components/dynamic-components/pagination/pagination.component';\nimport { StaticNotificationComponent } from './components/static-components/static-notification/static-notification.component';\nimport { OrderSelectorComponent } from './components/control-components/order-selector/order-selector.component';\nimport { IsMenuActivePipe } from './pipes/sidemenu/of-sub-menu.pipe';\nimport { UploadBoxComponent } from './components/control-components/upload-box/upload-box.component';\nimport { RouterModule } from '@angular/router';\nimport { SharedUtilModule } from '@evasys/shared/util';\nimport { SearchHelpComponent } from './components/app-shell-components/search-help/search-help.component';\nimport { SelectAreaComponent } from './components/control-components/select-area/select-area.component';\nimport { LoadComponentComponent } from './components/dynamic-components/load-component/load-component.component';\nimport { DropdownOptionalComponent } from './components/control-components/dropdown/old/dropdown-optional/dropdown-optional.component';\nimport { ProgressBarComponent } from './components/dynamic-components/progress-bar/progress-bar.component';\nimport { SelectAreaPipeComponent } from './components/dynamic-components/select-area-pipe/select-area-pipe.component';\nimport { FooterComponent } from './components/app-shell-components/footer/footer.component';\nimport { ChipTypeaheadComponent } from './components/control-components/dropdown/old/chip-typeahead/chip-typeahead.component';\nimport { TypeaheadComponent } from './components/control-components/dropdown/old/typeahead/typeahead.component';\nimport { WizardComponent } from './components/dynamic-components/wizard/wizard.component';\nimport { KeyValueToMapPipe } from './pipes/wizard/key-value-to-map.pipe';\nimport { KeyValueToSelectItemsPipe } from './pipes/wizard/key-value-to-select-items.pipe';\nimport { ConstraintsToTextboxTypePipe } from './pipes/wizard/constraints-to-textbox-type.pipe';\nimport { SharedUiConfiguration } from './shared-ui.configuration';\nimport { TranslocoModule } from '@ngneat/transloco';\nimport { ProgressStepsComponent } from './components/dynamic-components/progress-steps/progress-steps.component';\nimport { BreadcrumbComponent } from './components/dynamic-components/breadcrumb/breadcrumb.component';\nimport { CollapseButtonComponent } from './components/static-components/collapse-button/collapse-button.component';\nimport { TableCellClickableComponent } from './components/static-components/table-cell-clickable/table-cell-clickable.component';\nimport { TableCellTextComponent } from './components/static-components/table-cell-text/table-cell-text.component';\nimport { TableCellImageComponent } from './components/static-components/table-cell-image/table-cell-image.component';\nimport { MarkComponent } from './components/static-components/mark/mark.component';\nimport { SystemUsageComponent } from './components/app-shell-components/system-usage/system-usage.component';\nimport { SidebarContainerComponent } from './components/app-shell-components/sidebar-container/sidebar-container.component';\nimport { OverlayComponent } from './components/static-components/overlay/overlay.component';\nimport { DisabledDirective } from './directives/is-disabled.directive';\nimport { HesitateDirective } from './directives/hesitate.directive';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { TableStickyDirective } from './directives/table-sticky.directive';\nimport { TextAreaComponent } from './components/control-components/text-area/text-area.component';\nimport { ChipComponent } from './components/static-components/chip/chip.component';\nimport { TopMenuComponent } from './components/app-shell-components/top-menu/top-menu.component';\nimport { LegalNoticeComponent } from './components/app-shell-components/legal-notice/legal-notice.component';\nimport { ShowMoreComponent } from './components/dynamic-components/show-more/show-more.component';\nimport { ShowMoreContainerDirective } from './components/dynamic-components/show-more/show-more-container.directive';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { ImageModule } from './directives/image/image.module';\nimport { MoreMenuComponent } from './components/dynamic-components/more-menu/more-menu.component';\nimport { MoreMenuItemComponent } from './components/dynamic-components/more-menu/more-menu-item/more-menu-item.component';\nimport { NgxPopperjsModule } from 'ngx-popperjs';\nimport { ProductMenuModule } from './components/app-shell-components/product-menu/src/product-menu/product-menu.module';\nimport { NotificationCollectionComponent } from './components/app-shell-components/notification-collection/notification-collection.component';\nimport { PopperMenuComponent } from './components/dynamic-components/popper-menu/popper-menu.component';\nimport { ButtonToggleComponent } from './components/control-components/button-toggle/button-toggle.component';\nimport { AccordionComponent } from './components/dynamic-components/accordion/accordion.component';\nimport { AccordionItemComponent } from './components/dynamic-components/accordion/accordion-item/accordion-item.component';\nimport { ToggleButtonDirective } from './components/control-components/button-toggle/toggle-button.directive';\nimport { StepFilterModule } from './components/dynamic-components/step-filter/step-filter.module';\nimport { PageModule } from './components/template-components/page/page.module';\nimport { HeaderModule } from './components/static-components/header/header.module';\nimport { SelectorModule } from './components/control-components/selector/selector.module';\nimport { ButtonModule } from './components/static-components/button/button.module';\nimport { TextOverflowModule } from './directives/text-overflow/text-overflow.module';\nimport { DropdownModule } from './components/control-components/dropdown/dropdown.module';\nimport { KeepMapOrderModule } from '../../../util/src/lib/pipes/keep-map-order/keep-map-order.module';\nimport { ClickAwayModule } from './directives/click-away/click-away.module';\nimport { ClickAwayDirective } from './directives/click-away/click-away/click-away.directive';\nimport { TableModule } from './components/static-components/table/table.module';\nimport { CheckboxModule } from './components/control-components/checkbox/checkbox.module';\nimport { PermissionsModule } from '../../../../evasys/shared/feature/src/lib/permissions/permissions.module';\nimport { TextboxModule } from './components/control-components/textbox/textbox.module';\nimport { NumbersOnlyModule } from './directives/numbers-only/numbers-only.module';\nimport { NoteModule } from './components/static-components/note/note.module';\nimport { ErrorModule } from './components/dynamic-components/error/error.module';\nimport { FoldableModule } from './directives/foldable/foldable.module';\nimport { InModule } from './pipes/wizard/in/in.module';\nimport { ModalModule } from './components/dynamic-components/modal/modal.module';\nimport { InlineTranslocoModule } from '../../../util/src/lib/pipes/inline-transloco/inline-transloco.module';\nimport { InputAutoFillOffDirective } from '../../../../evainsights/shared/util/src/lib/directives/input-auto-fill-off.directive';\nimport { NgLetModule } from 'ng-let';\nimport { TooltipModule } from './directives/tooltip/tooltip.module';\nimport { KeyboardSearchModule } from '../../../util/src/lib/directives/keyboard-search/keyboard-search.module';\nimport { MetaInfoModule } from './components/static-components/meta-info/meta-info.module';\nimport { StatusCardModule } from './components/dynamic-components/status-card/status-card.module';\nimport { LoadingOverlayModule } from './components/dynamic-components/loading-overlay/loading-overlay.module';\nimport { TableAreaModule } from './components/static-components/table-area/table-area.module';\nimport { SearchboxComponent } from './components/app-shell-components/searchbox/searchbox.component';\nimport { EmptyContentComponent } from './components/static-components/empty-content/empty-content.component';\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tNgbModule,\n\t\tReactiveFormsModule,\n\t\tRouterModule,\n\t\tSharedUtilModule,\n\t\tFormsModule,\n\t\tTranslocoModule,\n\t\tScrollingModule,\n\t\tInfiniteScrollModule,\n\t\tImageModule,\n\t\tProductMenuModule,\n\t\tNgxPopperjsModule,\n\t\tMetaInfoModule,\n\t\tStatusCardModule,\n\t\tLoadingOverlayModule,\n\t\tTableAreaModule,\n\t\tStepFilterModule,\n\t\tPageModule,\n\t\tHeaderModule,\n\t\tSelectorModule,\n\t\tButtonModule,\n\t\tTextOverflowModule,\n\t\tDropdownModule,\n\t\tKeepMapOrderModule,\n\t\tClickAwayModule,\n\t\tCheckboxModule,\n\t\tTextboxModule,\n\t\tNumbersOnlyModule,\n\t\tNoteModule,\n\t\tErrorModule,\n\t\tFoldableModule,\n\t\tInModule,\n\t\tPermissionsModule,\n\t\tModalModule,\n\t\tInlineTranslocoModule,\n\t\tInputAutoFillOffDirective,\n\t\tNgLetModule,\n\t\tTooltipModule,\n\t\tKeyboardSearchModule,\n\t],\n\tdeclarations: [\n\t\tTabsComponent,\n\t\tRadioButtonComponent,\n\t\tMenuComponent,\n\t\tListComponent,\n\t\tTopmenuComponent,\n\t\tUsermenuComponent,\n\t\tSidebarComponent,\n\t\tSidemenuComponent,\n\t\tSidebarContainerComponent,\n\t\tPaginationComponent,\n\t\tStaticNotificationComponent,\n\t\tOrderSelectorComponent,\n\t\tIsMenuActivePipe,\n\t\tUploadBoxComponent,\n\t\tSearchHelpComponent,\n\t\tSelectAreaComponent,\n\t\tLoadComponentComponent,\n\t\tDropdownOptionalComponent,\n\t\tProgressBarComponent,\n\t\tSelectAreaPipeComponent,\n\t\tFooterComponent,\n\t\tTypeaheadComponent,\n\t\tChipTypeaheadComponent,\n\t\tWizardComponent,\n\t\tKeyValueToMapPipe,\n\t\tKeyValueToSelectItemsPipe,\n\t\tConstraintsToTextboxTypePipe,\n\t\tProgressStepsComponent,\n\t\tNotificationCollectionComponent,\n\t\tBreadcrumbComponent,\n\t\tCollapseButtonComponent,\n\t\tTableCellClickableComponent,\n\t\tTableCellTextComponent,\n\t\tTableCellImageComponent,\n\t\tMarkComponent,\n\t\tSystemUsageComponent,\n\t\tDisabledDirective,\n\t\tOverlayComponent,\n\t\tHesitateDirective,\n\t\tTableStickyDirective,\n\t\tTextAreaComponent,\n\t\tPopperMenuComponent,\n\t\tChipComponent,\n\t\tLegalNoticeComponent,\n\t\tButtonToggleComponent,\n\t\tToggleButtonDirective,\n\t\tTopMenuComponent,\n\t\tShowMoreComponent,\n\t\tShowMoreContainerDirective,\n\t\tAccordionComponent,\n\t\tAccordionItemComponent,\n\t\tMoreMenuComponent,\n\t\tMoreMenuItemComponent,\n\t\tSearchboxComponent,\n\t\tEmptyContentComponent,\n\t],\n\texports: [\n\t\tTabsComponent,\n\t\tRadioButtonComponent,\n\t\tMenuComponent,\n\t\tListComponent,\n\t\tTopmenuComponent,\n\t\tUsermenuComponent,\n\t\tSidebarComponent,\n\t\tSidemenuComponent,\n\t\tSidebarContainerComponent,\n\t\tPaginationComponent,\n\t\tModalModule,\n\t\tStaticNotificationComponent,\n\t\tOrderSelectorComponent,\n\t\tUploadBoxComponent,\n\t\tSelectAreaComponent,\n\t\tSearchHelpComponent,\n\t\tLoadComponentComponent,\n\t\tDropdownOptionalComponent,\n\t\tProgressBarComponent,\n\t\tSelectAreaPipeComponent,\n\t\tFooterComponent,\n\t\tTypeaheadComponent,\n\t\tChipTypeaheadComponent,\n\t\tWizardComponent,\n\t\tNotificationCollectionComponent,\n\t\tBreadcrumbComponent,\n\t\tCollapseButtonComponent,\n\t\tTableCellClickableComponent,\n\t\tTableCellTextComponent,\n\t\tTableCellImageComponent,\n\t\tMarkComponent,\n\t\tInModule,\n\t\tSystemUsageComponent,\n\t\tOverlayComponent,\n\t\tHesitateDirective,\n\t\tDisabledDirective,\n\t\tTableStickyDirective,\n\t\tTextAreaComponent,\n\t\tPopperMenuComponent,\n\t\tChipComponent,\n\t\tTopMenuComponent,\n\t\tLegalNoticeComponent,\n\t\tToggleButtonDirective,\n\t\tButtonToggleComponent,\n\t\tShowMoreComponent,\n\t\tShowMoreContainerDirective,\n\t\tAccordionComponent,\n\t\tAccordionItemComponent,\n\t\tImageModule,\n\t\tProductMenuModule,\n\t\tMoreMenuComponent,\n\t\tMoreMenuItemComponent,\n\t\tMetaInfoModule,\n\t\tStatusCardModule,\n\t\tLoadingOverlayModule,\n\t\tTableAreaModule,\n\t\tStepFilterModule,\n\t\tPageModule,\n\t\tSearchboxComponent,\n\t\tEmptyContentComponent,\n\t\tHeaderModule,\n\t\tSelectorModule,\n\t\tButtonModule,\n\t\tClickAwayDirective,\n\t\tTableModule,\n\t\tTextOverflowModule,\n\t\tCheckboxModule,\n\t\tTextboxModule,\n\t\tNumbersOnlyModule,\n\t\tErrorModule,\n\t\tNoteModule,\n\t\tFoldableModule,\n\t\tTooltipModule,\n\t],\n})\nexport class SharedUiModule {\n\tstatic forRoot(config: SharedUiConfiguration): ModuleWithProviders {\n\t\treturn {\n\t\t\tngModule: SharedUiModule,\n\t\t\tproviders: [\n\t\t\t\t{\n\t\t\t\t\tprovide: SharedUiConfiguration,\n\t\t\t\t\tuseValue: config,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n","//DO NOT ADD THE WEB WORKER & WB WORKER FACTORY CLASS HERE! OTHERWISE IT COMES TO EXCEPTIONS BECAUSE OF WINDOW/DOCUMENT USE IN OTHER FILES!\nexport * from './lib/shared-util.module';\nexport * from './lib/rxjs/rxjs.operators';\nexport * from './lib/rxjs/rxjs.functions';\nexport * from './lib/appInit/services/app-checker.service';\nexport * from './lib/type-guards/selector-group.type-guard';\nexport * from './lib/type-guards/selector-item.type-guard';\nexport * from './lib/general/counter';\nexport * from './lib/pipes/user-rights.pipe';\nexport * from './lib/forms/formArrayValidatorMinMaxSelectedCheckboxes';\nexport * from './lib/general/web-worker/util.worker';\nexport * from './lib/general/formatter';\nexport * from './lib/text-measurement/text-measurement.service';\nexport * from './lib/subjects/local-storage-subject';\nexport * from './lib/pipes/to-observable.pipe';\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class AppCheckerService {\n\tpublic hasPopupBlocker(): boolean {\n\t\ttry {\n\t\t\tconst test = window.open('', '', 'width=10,height=10');\n\t\t\tif (test != undefined) test.close();\n\t\t\treturn false;\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IfContentDirective } from './if-content/if-content.directive';\n\n@NgModule({\n\tdeclarations: [IfContentDirective],\n\timports: [CommonModule],\n\texports: [IfContentDirective],\n})\nexport class IfContentModule {}\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n\tselector: '[evasysIfContent]',\n})\nexport class IfContentDirective implements AfterViewInit {\n\t@Input()\n\tevasysIfContent: number = 0;\n\n\tconstructor(private readonly elementRef: ElementRef) {}\n\n\tngAfterViewInit(): void {\n\t\tif (this.elementRef.nativeElement.childNodes.length <= this.evasysIfContent) {\n\t\t\tthis.elementRef.nativeElement.remove();\n\t\t}\n\t}\n}\n","import { AfterViewInit, Directive, ElementRef, inject, Input } from '@angular/core';\nimport { KeyboardSearchDirective } from '../keyboard-search/keyboard-search.directive';\n\n@Directive({\n\tselector: '[evasysKeyboardSearchElement]',\n})\nexport class KeyboardSearchElementDirective implements AfterViewInit {\n\t@Input('evasysKeyboardSearchElement')\n\ttext?: string;\n\n\tprivate _elementRef = inject(ElementRef);\n\tprivate readonly keyboardSearchDirective = inject(KeyboardSearchDirective);\n\tprivate isRegistered = false;\n\n\tngAfterViewInit() {\n\t\tthis.register();\n\t}\n\n\tprivate register() {\n\t\tif (!this.isRegistered) {\n\t\t\tif (this._elementRef?.nativeElement?.textContent) {\n\t\t\t\tthis.isRegistered = true;\n\t\t\t\tthis.keyboardSearchDirective?.registerElement(\n\t\t\t\t\tthis._elementRef,\n\t\t\t\t\tthis.text?.length > 0 ? this.text : this._elementRef.nativeElement.textContent?.trim()\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Directive, ElementRef, inject, Input, OnDestroy } from '@angular/core';\nimport { KeyValue } from '@angular/common';\nimport { KeyboardListenerService } from '../../services/keyboard-listener.service';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n\tselector: '[evasysKeyboardSearch]',\n})\nexport class KeyboardSearchDirective implements OnDestroy {\n\t//region Inputs & Outputs\n\t@Input()\n\tallowSelect = true;\n\t@Input()\n\tallowScroll = true;\n\n\t@Input('evasysKeyboardSearch')\n\tset isActive(isActive: boolean) {\n\t\tif (isActive) {\n\t\t\tthis.typedSubscriptions.push(\n\t\t\t\tthis.keyboardListenerService.currentTyped.subscribe(this.onCurrentTypedChange),\n\t\t\t\tthis.keyboardListenerService.onArrowTyped.subscribe(this.onArrowTyped)\n\t\t\t);\n\t\t} else {\n\t\t\tthis.typedSubscriptions.forEach((subscription) => subscription?.unsubscribe());\n\t\t}\n\t}\n\n\t//endregion\n\t//region Variables\n\tprivate readonly elements: KeyValue[] = [];\n\tprivate selectedElement?: ElementRef;\n\tprivate typedSubscriptions: Subscription[] = [];\n\tprivate searchValue = '';\n\tprivate searchPointer = -1;\n\tprivate lastTypeTimestamp?: number;\n\tprivate lastSearch?: string;\n\n\t//endregion\n\n\t//region Injections\n\tprivate readonly keyboardListenerService = inject(KeyboardListenerService);\n\tprivate readonly hostElement = inject(ElementRef);\n\t//endregion\n\n\t//region Events\n\tngOnDestroy() {\n\t\tthis.typedSubscriptions.forEach((subscription) => subscription?.unsubscribe());\n\t}\n\n\tprivate handleSearchValue(debounceSeconds: number, currentSearchValue?: string) {\n\t\tthis.searchValue += currentSearchValue;\n\t\t//clear searchValue if debounceSeconds are expired\n\t\tconst date = new Date();\n\t\tif (this.lastTypeTimestamp && this.lastTypeTimestamp < date.getTime()) {\n\t\t\tthis.searchValue = currentSearchValue;\n\t\t}\n\t\tdate.setSeconds(date.getSeconds() + debounceSeconds);\n\t\tthis.lastTypeTimestamp = date.getTime();\n\t}\n\t/**\n\tFor navigating through findings with one letter\n\tExample: [Anders, Andreas] - First keydown \"a\", Anders is selected. Second keydown \"a\", Andreas is selected.\n\t **/\n\tprivate handleSearchPointer(foundElements: KeyValue[], currentSearchValue?: string) {\n\t\tif (currentSearchValue === this.lastSearch) {\n\t\t\tif (this.searchPointer >= foundElements.length - 1) {\n\t\t\t\tthis.searchPointer = 0;\n\t\t\t} else {\n\t\t\t\tthis.searchPointer += 1;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.searchPointer = 0;\n\t\t\tthis.lastSearch = currentSearchValue;\n\t\t}\n\t}\n\n\tprivate handleScroll(foundElements: KeyValue[]) {\n\t\tif (this.allowScroll) {\n\t\t\tif (foundElements[this.searchPointer]?.key?.nativeElement) {\n\t\t\t\tfoundElements[this.searchPointer].key.nativeElement.scrollIntoView({\n\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\tblock: 'center',\n\t\t\t\t\tinline: 'center',\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconsole.error('ElementRef for key actions (scroll) not found!', foundElements, this.searchPointer);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleSelect(foundElements: KeyValue[]) {\n\t\tif (this.allowSelect) {\n\t\t\tif (foundElements[this.searchPointer]?.key) {\n\t\t\t\tfoundElements[this.searchPointer].key.nativeElement.dispatchEvent(new Event('mousedown'));\n\t\t\t\tfoundElements[this.searchPointer].key.nativeElement.dispatchEvent(new Event('mouseup'));\n\t\t\t\tfoundElements[this.searchPointer].key.nativeElement.dispatchEvent(new Event('click'));\n\t\t\t\tfoundElements[this.searchPointer].key.nativeElement.focus();\n\t\t\t\tthis.selectedElement = foundElements[this.searchPointer].key;\n\t\t\t} else {\n\t\t\t\tconsole.error('ElementRef for key actions (select) not found!', foundElements, this.searchPointer);\n\t\t\t}\n\t\t}\n\t}\n\n\tonArrowTyped = (event: KeyboardEvent) => {\n\t\tif (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n\t\t\tlet selectedElementIndex = this.elements.findIndex((element) => element.key === this.selectedElement);\n\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\tselectedElementIndex += 1;\n\t\t\t} else {\n\t\t\t\tselectedElementIndex -= 1;\n\t\t\t}\n\t\t\tif (selectedElementIndex >= 0 && selectedElementIndex < this.elements.length) {\n\t\t\t\tthis.searchPointer = 0;\n\t\t\t\tthis.handleSelect([this.elements[selectedElementIndex]]);\n\t\t\t\tthis.handleScroll([this.elements[selectedElementIndex]]);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t};\n\n\tonCurrentTypedChange = (currentSearchValue?: string) => {\n\t\tthis.handleSearchValue(1.5, currentSearchValue);\n\t\tlet searchValue = this.searchValue;\n\t\t//remove duplicates\n\t\tconst searchTab = [...new Set(this.searchValue?.toLowerCase().split(''))];\n\t\tif (searchTab && searchTab.length === 1) {\n\t\t\tsearchValue = searchTab[0];\n\t\t}\n\t\tconst foundElements = this.elements?.filter((keyValue) => keyValue.value.toLowerCase().startsWith(searchValue));\n\t\tthis.handleSearchPointer(foundElements, currentSearchValue);\n\t\tif (\n\t\t\tfoundElements &&\n\t\t\tfoundElements.length > 0 &&\n\t\t\tthis.selectedElement !== foundElements[this.searchPointer].key &&\n\t\t\tthis.hostElement.nativeElement.contains(foundElements[this.searchPointer]?.key.nativeElement)\n\t\t) {\n\t\t\tthis.handleScroll(foundElements);\n\t\t\tthis.handleSelect(foundElements);\n\t\t}\n\t};\n\t//endregion\n\t//region Methods\n\tregisterElement(elementRef: ElementRef, value: string) {\n\t\tthis.elements.push({ key: elementRef, value });\n\t}\n\t//endregion\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KeyboardListenerService } from './services/keyboard-listener.service';\nimport { KeyboardSearchDirective } from './directives/keyboard-search/keyboard-search.directive';\nimport { KeyboardSearchElementDirective } from './directives/keyboard-search-element/keyboard-search-element.directive';\n\n@NgModule({\n\tdeclarations: [KeyboardSearchDirective, KeyboardSearchElementDirective],\n\texports: [KeyboardSearchDirective, KeyboardSearchElementDirective],\n\timports: [CommonModule],\n\tproviders: [KeyboardListenerService],\n})\nexport class KeyboardSearchModule {}\n","import { Injectable } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\n@Injectable()\nexport class KeyboardListenerService {\n\t//region Variables\n\tpublic readonly currentTyped = fromEvent(window, 'keydown').pipe(\n\t\tfilter(\n\t\t\t(event) =>\n\t\t\t\t!event.altKey &&\n\t\t\t\t!event.shiftKey &&\n\t\t\t\t!event.ctrlKey &&\n\t\t\t\t!event.metaKey &&\n\t\t\t\tevent.key !== 'ArrowDown' &&\n\t\t\t\tevent.key !== 'ArrowUp' &&\n\t\t\t\tevent.key !== 'ArrowLeft' &&\n\t\t\t\tevent.key !== 'ArrowRight'\n\t\t),\n\t\tmap((keyboardEvents) => keyboardEvents.key)\n\t);\n\n\tpublic readonly onArrowTyped = fromEvent(window, 'keydown').pipe(\n\t\tfilter(\n\t\t\t(event) =>\n\t\t\t\tevent.key === 'ArrowDown' ||\n\t\t\t\tevent.key === 'ArrowUp' ||\n\t\t\t\tevent.key === 'ArrowLeft' ||\n\t\t\t\tevent.key === 'ArrowRight'\n\t\t)\n\t);\n\t//endregion\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LazyLoadDirective } from './lazy-load/lazy-load.directive';\n\n@NgModule({\n\tdeclarations: [LazyLoadDirective],\n\timports: [CommonModule],\n\texports: [LazyLoadDirective],\n})\nexport class LazyLoadModule {}\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\n\n@Directive({\n\tselector: '[evasysLazyLoad]',\n})\nexport class LazyLoadDirective {\n\t//region Listener\n\t@HostListener('scroll')\n\tscrolling() {\n\t\tthis.onScroll();\n\t}\n\t//endregion\n\n\t//region Input & Output\n\t@Input()\n\ttriggerArea = 50;\n\n\t@Output()\n\tpageChange: EventEmitter = new EventEmitter();\n\t//endregion\n\n\t//region Variables\n\tprivate newPage = 1;\n\tprivate scrollMarker: number = 0;\n\t//endregion\n\n\tconstructor(private readonly elementRef: ElementRef) {}\n\n\t//region Methods\n\tonScroll() {\n\t\tif (this.elementRef.nativeElement.scrollHeight !== this.scrollMarker) {\n\t\t\tconst scrollBottom =\n\t\t\t\tthis.elementRef.nativeElement.scrollHeight -\n\t\t\t\tthis.elementRef.nativeElement.scrollTop -\n\t\t\t\tthis.elementRef.nativeElement.clientHeight;\n\t\t\tif (scrollBottom < this.triggerArea) {\n\t\t\t\tthis.scrollMarker = this.elementRef.nativeElement.scrollHeight;\n\t\t\t\tthis.onNewPage();\n\t\t\t}\n\t\t}\n\t}\n\n\tonNewPage() {\n\t\tthis.newPage++;\n\t\tthis.pageChange.emit(this.newPage);\n\t}\n\n\t//endregion\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RegulationClickDirective } from './regulation-click/regulation-click.directive';\n\n@NgModule({\n\tdeclarations: [RegulationClickDirective],\n\texports: [RegulationClickDirective],\n\timports: [CommonModule],\n})\nexport class RegulationClickModule {}\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, Output } from '@angular/core';\nimport { isObservable, Observable, Subscription } from 'rxjs';\nimport { isPromise } from 'rxjs/internal/util/isPromise';\n\n@Directive({\n\tselector: '[evasysRegulationClick]',\n})\nexport class RegulationClickDirective implements OnDestroy {\n\t//@region Input & Output\n\t@Input()\n\tasyncClickCallbackFunction: (mouseEvent?: MouseEvent) => Promise | Observable;\n\n\t@Input()\n\tclickTimeoutMilliseconds = 500;\n\n\t@Input()\n\tignoreClicks = false;\n\n\t@Output()\n\tevasysRegulationClick: EventEmitter = new EventEmitter();\n\n\t@Output()\n\tcallbackSuccessfully = new EventEmitter();\n\n\t@Output()\n\tcallbackFailed = new EventEmitter();\n\t//endregion\n\n\t//region Variables\n\tprivate clickTimestamp: number;\n\tprivate subscription: Subscription;\n\t//endregion\n\n\t//region Events\n\t@HostListener('click', ['$event'])\n\tonClick(mouseEvent: MouseEvent) {\n\t\tconst currentTimestamp = Date.now();\n\t\tif (\n\t\t\t(currentTimestamp - this.clickTimeoutMilliseconds >= this.clickTimestamp || !this.clickTimestamp) &&\n\t\t\t!this.ignoreClicks\n\t\t) {\n\t\t\tthis.clickTimestamp = currentTimestamp;\n\t\t\tif (this.asyncClickCallbackFunction) {\n\t\t\t\tthis.handleCallback(mouseEvent);\n\t\t\t} else {\n\t\t\t\tthis.evasysRegulationClick.emit(mouseEvent);\n\t\t\t}\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tif (this.subscription) {\n\t\t\tthis.subscription.unsubscribe();\n\t\t}\n\t}\n\t//endregion\n\n\t//region Methods\n\tprivate handleCallback(mouseEvent: MouseEvent) {\n\t\tthis.ignoreClicks = true;\n\t\tconst callback = this.asyncClickCallbackFunction(mouseEvent);\n\t\tif (isObservable(callback)) {\n\t\t\tif (this.subscription) {\n\t\t\t\tthis.subscription.unsubscribe();\n\t\t\t}\n\t\t\tthis.subscription = callback.subscribe({\n\t\t\t\tnext: (data: T) => {\n\t\t\t\t\tthis.ignoreClicks = false;\n\t\t\t\t\tthis.subscription.unsubscribe();\n\t\t\t\t\tthis.callbackSuccessfully.emit(data);\n\t\t\t\t},\n\t\t\t\terror: (error: U) => {\n\t\t\t\t\tthis.ignoreClicks = false;\n\t\t\t\t\tthis.subscription.unsubscribe();\n\t\t\t\t\tthis.callbackFailed.emit(error);\n\t\t\t\t},\n\t\t\t});\n\t\t} else if (isPromise(callback)) {\n\t\t\tcallback\n\t\t\t\t.then((data: T) => {\n\t\t\t\t\tthis.callbackSuccessfully.emit(data);\n\t\t\t\t})\n\t\t\t\t.catch((error: U) => {\n\t\t\t\t\tthis.callbackFailed.emit(error);\n\t\t\t\t})\n\t\t\t\t.finally(() => (this.ignoreClicks = false));\n\t\t}\n\t}\n\t//endregion\n}\n","import { AfterViewInit, Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport { Required } from '@evasys/globals/shared/decorators/decorators';\nimport { SameWidthService } from './same-width.service';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n\tselector: '[evasysSameWidth]',\n})\nexport class SameWidthDirective implements AfterViewInit, OnInit {\n\t//region Inputs & Outputs\n\t@Required()\n\t@Input('evasysSameWidth')\n\tgroup: string;\n\t//endregion\n\t//region Variables\n\tprivate subscription: Subscription;\n\tprivate resizeObserver;\n\tprivate animationFrameId: number;\n\t//endregion\n\tconstructor(\n\t\tprivate renderer: Renderer2,\n\t\tprivate readonly elementRef: ElementRef,\n\t\tprivate readonly sameWidthService: SameWidthService\n\t) {}\n\n\tngOnInit() {\n\t\tthis.resizeObserver = new ResizeObserver(() => {\n\t\t\tif (this.animationFrameId) {\n\t\t\t\tcancelAnimationFrame(this.animationFrameId);\n\t\t\t}\n\t\t\tthis.animationFrameId = requestAnimationFrame(() => {\n\t\t\t\tthis.sameWidthService.registerElement(this.elementRef, this.group);\n\t\t\t});\n\t\t});\n\t\tthis.resizeObserver.observe(this.elementRef.nativeElement);\n\t}\n\n\t//region Events\n\tngAfterViewInit() {\n\t\tthis.sameWidthService.registerElement(this.elementRef, this.group);\n\t\tthis.subscription?.unsubscribe();\n\t\tthis.renderer.setStyle(\n\t\t\tthis.elementRef.nativeElement,\n\t\t\t'min-width',\n\t\t\tthis.sameWidthService.width(this.group) + 'px'\n\t\t);\n\t\tthis.subscription = this.sameWidthService.widthsChanges(this.group).subscribe((newWidth) => {\n\t\t\tthis.renderer.setStyle(this.elementRef.nativeElement, 'min-width', newWidth + 'px');\n\t\t});\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscription.unsubscribe();\n\t\tthis.sameWidthService.deregister(this.elementRef, this.group);\n\t\tthis.resizeObserver.unobserve(this.elementRef.nativeElement);\n\t}\n\n\t//endregion\n}\n","import { ElementRef, Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class SameWidthService {\n\t//region Variables\n\tprivate widths: Map = new Map();\n\tprivate registeredElements: Map> = new Map>();\n\tprivate _widthsChanges = new Map>();\n\t//endregion\n\n\t//region Getter & Setter\n\tpublic widthsChanges(group: string) {\n\t\tif (!this._widthsChanges.get(group)) {\n\t\t\tthis._widthsChanges.set(group, new Subject());\n\t\t}\n\t\treturn this._widthsChanges.get(group).asObservable();\n\t}\n\n\tpublic width(group: string) {\n\t\treturn this.widths.get(group);\n\t}\n\n\t//region Methods\n\tpublic registerElement(elementRef: ElementRef, group: string) {\n\t\tconst element = elementRef.nativeElement;\n\t\tif (!this.registeredElements.get(group)) {\n\t\t\tthis.registeredElements.set(group, []);\n\t\t}\n\t\tif (!this._widthsChanges.get(group)) {\n\t\t\tthis._widthsChanges.set(group, new Subject());\n\t\t}\n\t\tif (!this.registeredElements.get(group).includes(element)) {\n\t\t\tthis.registeredElements.get(group).push(element);\n\t\t}\n\t\tif (!this.widths.has(group) || this.widths.get(group) < elementRef.nativeElement.offsetWidth) {\n\t\t\tthis.widths.set(group, elementRef.nativeElement.offsetWidth);\n\t\t\tthis._widthsChanges.get(group)?.next(elementRef.nativeElement.offsetWidth);\n\t\t}\n\t}\n\n\tderegister(elementRef: ElementRef, group: string) {\n\t\tconst element = elementRef.nativeElement;\n\t\tif (this.widths.has(group) && this.registeredElements.get(group)?.length <= 1) {\n\t\t\tthis.widths.delete(group);\n\t\t\tthis.registeredElements.delete(group);\n\t\t} else {\n\t\t\tconst index = this.registeredElements.get(group)?.indexOf(element, 0);\n\t\t\tif (index > -1) {\n\t\t\t\tthis.registeredElements.get(group)?.splice(index, 1);\n\t\t\t}\n\t\t}\n\t}\n\t//endregion\n}\n","import { FormArray, ValidatorFn } from '@angular/forms';\n\nexport function minSelectedCheckboxes(min = 1) {\n\tconst validator: ValidatorFn = (formArray: FormArray) => {\n\t\treturn getTotalSelected(formArray) >= min ? null : { required: true };\n\t};\n\treturn validator;\n}\n\nexport function maxSelectedCheckboxes(max = 1) {\n\tconst validator: ValidatorFn = (formArray: FormArray) => {\n\t\treturn getTotalSelected(formArray) <= max ? null : { required: true };\n\t};\n\treturn validator;\n}\n\nfunction getTotalSelected(formArray: FormArray) {\n\treturn formArray.controls.map((control) => control.value).reduce((prev, next) => (next ? prev + next : prev), 0);\n}\n","export class Counter {\n\tprivate count: number;\n\n\tconstructor() {\n\t\tthis.count = 0;\n\t}\n\n\tget Count(): number {\n\t\treturn this.count;\n\t}\n\n\tcountUp(increment: number = 1): void {\n\t\tthis.count = this.count + increment;\n\t}\n\n\tcountDown(decrement: number = 1): void {\n\t\tthis.count = this.count - decrement;\n\t}\n}\n","import { Observable, of } from 'rxjs';\n\nexport type PropertyFormatter = keyof T;\nexport type StringFormatter = (item: T) => string;\nexport type ObservableFormatter = (item: T) => Observable;\nexport type Formatter = PropertyFormatter | StringFormatter | ObservableFormatter;\n\nexport function toObservableFormatter(formatter: Formatter): ObservableFormatter {\n\treturn (item: T) => {\n\t\tif (typeof formatter === 'function') {\n\t\t\tconst formatted = formatter(item);\n\t\t\treturn typeof formatted === 'string' ? of(formatted) : formatted;\n\t\t} else {\n\t\t\treturn of(item[formatter] as string);\n\t\t}\n\t};\n}\n\nexport function raisingFormatter(): never {\n\tthrow Error('Missing formatter');\n}\n","export const utilWorkerInstance = () =>\n\tnew Worker(new URL('libs/shared/util/src/lib/general/web-worker/util.worker', import.meta.url));\n","import { WebWorker } from '../../web-worker/web-worker';\nimport { Injectable } from '@angular/core';\nimport { utilWorkerInstance } from './util.worker.factory';\n\nexport interface SortWorkerParams {\n\tsortField: keyof T;\n\tentities: T[];\n\tsortDirectionAscending: boolean;\n}\nexport interface SearchWorkerParams {\n\tentities: T[];\n\tsearchValue: string;\n\tkeys?: (keyof T)[];\n}\n\n@Injectable({\n\tprovidedIn: 'root',\n\tuseFactory: () => new UtilWorker(utilWorkerInstance()),\n})\nexport class UtilWorker extends WebWorker | SearchWorkerParams> {\n\tconstructor(worker?: Worker) {\n\t\tsuper(worker);\n\t}\n\n\tpublic run(data: SearchWorkerParams, postMessage);\n\tpublic run(data: SortWorkerParams, postMessage);\n\tpublic run(data: SortWorkerParams | SearchWorkerParams, postMessage) {\n\t\tif ('searchValue' in data) {\n\t\t\tthis.handleSearch(data, postMessage);\n\t\t} else if ('sortField' in data && 'sortDirectionAscending' in data) {\n\t\t\tthis.handleSort(data, postMessage);\n\t\t}\n\t}\n\n\tprivate handleSearch(data: SearchWorkerParams, postMessage) {\n\t\tif (!data.entities || data.entities?.length === 0) {\n\t\t\tpostMessage({ result: [] });\n\t\t}\n\t\tif (!data.keys) {\n\t\t\tconst keys = Object.keys(data.entities[0]).filter((key) => key !== 'id');\n\t\t\tdata.keys = keys as (keyof T)[];\n\t\t}\n\n\t\tconst foundEntities = data.entities.filter((entity) => {\n\t\t\treturn data.keys.some((key) => {\n\t\t\t\treturn (\n\t\t\t\t\t(typeof entity[key] === 'string' && (entity[key] as string).includes(data.searchValue)) ||\n\t\t\t\t\t(typeof entity[key] === 'number' && (entity[key] as number).toString().includes(data.searchValue))\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\n\t\tpostMessage({ result: foundEntities });\n\t}\n\n\tprivate handleSort(data: SortWorkerParams, postMessage) {\n\t\tif (\n\t\t\tdata &&\n\t\t\tdata.sortField !== undefined &&\n\t\t\tdata.entities !== undefined &&\n\t\t\tdata.sortDirectionAscending !== undefined\n\t\t) {\n\t\t\tconst sortEntities = data.entities;\n\n\t\t\tconst sortedEntities = [...sortEntities].sort((entityA, entityB) => {\n\t\t\t\tconst sortValueA = entityA[data.sortField];\n\t\t\t\tconst sortValueB = entityB[data.sortField];\n\n\t\t\t\tif (typeof sortValueA === 'string' && typeof sortValueB === 'string') {\n\t\t\t\t\treturn data.sortDirectionAscending\n\t\t\t\t\t\t? sortValueA.localeCompare(sortValueB)\n\t\t\t\t\t\t: sortValueB.localeCompare(sortValueA);\n\t\t\t\t} else if (typeof sortValueA === 'number' && typeof sortValueB === 'number') {\n\t\t\t\t\treturn data.sortDirectionAscending ? sortValueA - sortValueB : sortValueB - sortValueA;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('Can not determine sort type in util Worker (handleSort).');\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tpostMessage({ result: sortedEntities });\n\t\t}\n\t}\n}\n\n// @ts-ignore\nif (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n\tconst sortWorker = new UtilWorker();\n\taddEventListener('message', ({ data }) => {\n\t\tsortWorker.run(data, postMessage);\n\t});\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\n\n@Pipe({\n\tname: 'canAccess',\n})\nexport class CanAccessPipe implements PipeTransform {\n\ttransform(activeUserRight: any, rights: UserRightsEnum[]): boolean {\n\t\treturn activeUserRight?.isAuthorized(rights);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'commaSeparated',\n})\nexport class CommaSeparatedPipe implements PipeTransform {\n\ttransform(value: string[], separator = ', '): string {\n\t\treturn value.join(separator);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'entitiesToIds',\n\tpure: false,\n})\nexport class EntitiesToIdsPipe implements PipeTransform {\n\ttransform(ids: number[], entities: T[]): T[] {\n\t\treturn entities?.filter((entity) => ids?.includes(entity?.id)) ?? [];\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Pipe({\n\tname: 'filter',\n})\nexport class FilterPipe implements PipeTransform {\n\ttransform(\n\t\tarray: T[] | Observable,\n\t\tfn: (item: T, ...args: any[]) => boolean,\n\t\t...args: any[]\n\t): T[] | Observable {\n\t\tif (array instanceof Observable) {\n\t\t\treturn array.pipe(map((array) => array.filter((e) => fn(e, ...args))));\n\t\t} else {\n\t\t\treturn array.filter((e) => fn(e, ...args));\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HasOnlyPipe } from './has-only/has-only.pipe';\n\n@NgModule({\n\tdeclarations: [HasOnlyPipe],\n\texports: [HasOnlyPipe],\n\timports: [CommonModule],\n})\nexport class HasOnlyModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'hasOnly',\n})\nexport class HasOnlyPipe implements PipeTransform {\n\ttransform(entities: T[], property: keyof T, value: any): boolean {\n\t\treturn entities?.map((entity) => entity[property]).every((currentValue) => currentValue === value);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'has',\n})\nexport class HasPipe implements PipeTransform {\n\ttransform(entities: T[] | Set, value: T): boolean {\n\t\treturn Array.isArray(entities) ? entities?.includes(value) : entities.has(value);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'IdsToEntities',\n\tpure: false,\n})\nexport class IdsToEntitiesPipe implements PipeTransform {\n\ttransform(ids: K[], allEntities: T[]): T[] {\n\t\treturn allEntities.filter((entity) => ids.includes(entity.id));\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InlineTranslocoPipe } from './inline-transloco/inline-transloco.pipe';\n\n@NgModule({\n\tdeclarations: [InlineTranslocoPipe],\n\texports: [InlineTranslocoPipe],\n\timports: [CommonModule],\n})\nexport class InlineTranslocoModule {}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { HashMap, TranslateParams, TranslocoService } from '@ngneat/transloco';\nimport { Observable } from 'rxjs';\n\n@Pipe({\n\tname: 'inlineTransloco',\n})\nexport class InlineTranslocoPipe implements PipeTransform {\n\ttranslocoService = inject(TranslocoService);\n\ttransform(language: string | undefined, value: TranslateParams, params?: HashMap): Observable {\n\t\treturn this.translocoService.selectTranslate(value, params ?? {}, language);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'invoke',\n})\nexport class InvokePipe implements PipeTransform {\n\ttransform(func: (...args: T) => R, ...args: T): R {\n\t\treturn func(...args);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'join',\n})\nexport class JoinPipe implements PipeTransform {\n\ttransform(value: unknown[] | undefined | null, seperator: string): string {\n\t\treturn value?.join(seperator);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, KeyValuePipe } from '@angular/common';\nimport { KeepMapOrderPipe } from './keep-map-order/keep-map-order.pipe';\n\n@NgModule({\n\tdeclarations: [KeepMapOrderPipe],\n\timports: [CommonModule],\n\tproviders: [KeyValuePipe],\n\texports: [KeepMapOrderPipe],\n})\nexport class KeepMapOrderModule {}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { KeyValue, KeyValuePipe } from '@angular/common';\n\n@Pipe({\n\tname: 'keepMapOrder',\n})\nexport class KeepMapOrderPipe implements PipeTransform {\n\tkeyValuePipe = inject(KeyValuePipe);\n\ttransform(input: ReadonlyMap): Array> {\n\t\treturn this.keyValuePipe.transform(input, () => 0);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModifyPipe } from './modify/modify.pipe';\n\n@NgModule({\n\tdeclarations: [ModifyPipe],\n\timports: [CommonModule],\n\texports: [ModifyPipe],\n})\nexport class ModifyModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'modify',\n})\nexport class ModifyPipe implements PipeTransform {\n\ttransform(value: T, modification?: (item?: T, arg?: U) => X, arg?: U): undefined | null | X;\n\ttransform(value: T[], modification?: (item: T, arg?: U) => X, arg?: U): X[];\n\ttransform(\n\t\tvalue: T | T[],\n\t\tmodification?: (item?: T | T[], arg?: U) => X,\n\t\targ?: U\n\t): undefined | null | X | X[] {\n\t\tif (value === undefined) {\n\t\t\treturn undefined;\n\t\t} else if (value === null) {\n\t\t\treturn null;\n\t\t} else if (Array.isArray(value)) {\n\t\t\treturn value.map((item) => modification(item, arg));\n\t\t} else {\n\t\t\treturn modification(value, arg);\n\t\t}\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'nameViaIdInList',\n})\nexport class NameViaIdInListPipe implements PipeTransform {\n\ttransform(value: string, list: any[]): string {\n\t\treturn list?.find((item) => item.id === value).name;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'namesByIds',\n})\nexport class NamesByIdsPipe implements PipeTransform {\n\ttransform(ids: (string | number)[], list: { id?: string | number; name: string }[] | null): string[] {\n\t\tif (list == null) {\n\t\t\treturn [];\n\t\t}\n\t\treturn list.filter((item) => ids.includes(item.id ?? item.name)).map((item) => item.name);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'reduce',\n})\nexport class ReducePipe implements PipeTransform {\n\ttransform(\n\t\tarr: T[],\n\t\tcallbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T,\n\t\tinitialValue?: T\n\t): T {\n\t\treturn arr.reduce(callbackfn, initialValue);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SortPipe } from './sort/sort.pipe';\n\n@NgModule({\n\tdeclarations: [SortPipe],\n\texports: [SortPipe],\n\timports: [CommonModule],\n})\nexport class SortModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'sort',\n})\nexport class SortPipe implements PipeTransform {\n\ttransform(array: T[] | undefined, sortKey: keyof T, sortAscending = true): T[] {\n\t\tif (array) {\n\t\t\tconst sortedArray = [...array]?.sort((entryA: T, entryB: T) => {\n\t\t\t\tswitch (typeof entryA[sortKey]) {\n\t\t\t\t\tcase 'number':\n\t\t\t\t\t\treturn Number(entryA[sortKey]) - Number(entryB[sortKey]);\n\t\t\t\t\tcase 'string':\n\t\t\t\t\t\treturn String(entryA[sortKey]).localeCompare(String(entryB[sortKey]));\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn sortAscending ? sortedArray : sortedArray?.reverse();\n\t\t} else {\n\t\t\treturn array;\n\t\t}\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'splice',\n})\nexport class SplicePipe implements PipeTransform {\n\ttransform(value: T[], start: number, deleteCount: number, ...items: T[]): T[] {\n\t\treturn [...value].splice(start, deleteCount, ...items);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n\tname: 'toMap',\n})\nexport class ToMapPipe implements PipeTransform {\n\ttransform(entities: T[] | undefined, key: keyof T, value: keyof T): Map {\n\t\tif (entities && entities?.length > 0) {\n\t\t\treturn entities.reduce((map, entity) => {\n\t\t\t\tmap.set(entity[key], entity[value]);\n\t\t\t\treturn map;\n\t\t\t}, new Map());\n\t\t} else {\n\t\t\treturn new Map();\n\t\t}\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\n@Pipe({\n\tname: 'toObservable',\n})\nexport class ToObservablePipe implements PipeTransform {\n\ttransform(value: T | Observable): Observable {\n\t\treturn value instanceof Observable ? value : of(value);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'toString',\n})\nexport class ToStringPipe implements PipeTransform {\n\ttransform(value?: T | T[], property?: keyof T, seperator?: string): string | undefined {\n\t\tif (value && Array.isArray(value)) {\n\t\t\treturn property\n\t\t\t\t? value?.map((item) => item[property]?.toString()).join(seperator ?? ', ')\n\t\t\t\t: value?.map((item) => item.toString()).join(seperator ?? ', ');\n\t\t} else if (value) {\n\t\t\treturn property ? (value as T)[property]?.toString() : value.toString();\n\t\t} else {\n\t\t\treturn undefined;\n\t\t}\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({ name: 'unescape' })\nexport class UnescapePipe implements PipeTransform {\n\tconstructor(private sanitized: DomSanitizer) {}\n\n\t/**\n\t * IMPORTANT: never use this for strings from users\n\t */\n\ttransform(value: any) {\n\t\treturn this.sanitized.bypassSecurityTrustHtml(value);\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserRightDesignation, UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\nimport { TranslocoService } from '@ngneat/transloco';\n\n@Pipe({\n\tname: 'userRightsDesignation',\n})\nexport class UserRightsDesignationPipe implements PipeTransform {\n\tpublic constructor(private readonly translocoService: TranslocoService) {}\n\n\ttransform(value: UserRightsEnum[], activeRole?: UserRightsEnum): Map | null {\n\t\tif (activeRole) {\n\t\t\tvalue = value.filter((role) => role !== activeRole && role !== UserRightsEnum.FIRSTADMIN);\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore\n\t\treturn value\n\t\t\t? new Map(\n\t\t\t\t\tObject.values(value).map((val) => [val, this.translocoService.translate(UserRightDesignation[val])])\n\t\t\t )\n\t\t\t: null;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { UserRightsEnum } from '@evasys/globals/shared/enums/business/user-rights.enum';\n\n@Pipe({\n\tname: 'userRights',\n})\nexport class UserRightsPipe implements PipeTransform {\n\ttransform(userRightsAsNumber: number): UserRightsEnum[] {\n\t\tif (userRightsAsNumber) {\n\t\t\treturn Object.values(UserRightsEnum)\n\t\t\t\t.filter(\n\t\t\t\t\t(userRight) =>\n\t\t\t\t\t\tuserRight === UserRightsEnum.FIRSTADMIN ||\n\t\t\t\t\t\tuserRight === UserRightsEnum.ADMINISTRATOR ||\n\t\t\t\t\t\tuserRight === UserRightsEnum.SUBSECTION_ADMINISTRATOR ||\n\t\t\t\t\t\tuserRight === UserRightsEnum.WEB_VERIFIER ||\n\t\t\t\t\t\tuserRight === UserRightsEnum.DATA_COLLECTOR ||\n\t\t\t\t\t\tuserRight === UserRightsEnum.REPORT_CREATOR\n\t\t\t\t)\n\t\t\t\t.map((userRight) => {\n\t\t\t\t\tif ((userRightsAsNumber & (userRight as number)) === userRight) {\n\t\t\t\t\t\treturn userRight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.filter((userRight) => userRight !== undefined);\n\t\t}\n\t\treturn [];\n\t}\n}\n","import { firstValueFrom, from, merge, Observable } from 'rxjs';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { filter, map, switchMap, tap } from 'rxjs/operators';\nimport { Actions } from '@ngrx/effects';\nimport { EvasysActionSet } from '@evasys/globals/shared/models/general/evasys-action-set.models';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { Store } from '@ngrx/store';\nimport { EvasysActionModel } from '@evasys/globals/shared/models/general/evasys-action.model';\n\nexport function catchFailure(\n\tdataObservable: Observable,\n\terrorObservable: Observable\n): Observable {\n\treturn merge(dataObservable, errorObservable.pipe(filter((error) => !!error))).pipe(\n\t\ttap((emit) => {\n\t\t\tif (emit instanceof Error || emit instanceof HttpErrorResponse) {\n\t\t\t\tthrow emit;\n\t\t\t}\n\t\t}),\n\t\tfilter((emit) => !(emit instanceof Error || emit instanceof HttpErrorResponse)),\n\t\tmap((emit) => emit as T)\n\t);\n}\n\n/**\n * Gives the ability to get a callback from a ngrx store action dispatch.\n * @param actions: Get actions via constructor injection\n * @param actionSet: Action set which is dispatched\n * @returns a Promise (success => promise resolves, failure => promise rejects)\n */\n\nexport function dispatchResult(\n\tactions: Actions,\n\tactionSet: EvasysActionSet,\n\tdefaultAction?: EvasysActionModel\n) {\n\treturn firstValueFrom(\n\t\tactions.pipe(\n\t\t\tfilter(\n\t\t\t\t(action: EvasysActionModel) =>\n\t\t\t\t\t(actionSet.SUCCESS.type === action.type || actionSet.FAILURE.type === action.type) &&\n\t\t\t\t\t(defaultAction?.requestId ? defaultAction.requestId === action.requestId : true)\n\t\t\t),\n\t\t\ttap((action) => {\n\t\t\t\tif ((action as any).error) {\n\t\t\t\t\tthrow (action as any).error;\n\t\t\t\t}\n\t\t\t\tif ((action as any).payload?.error) {\n\t\t\t\t\tthrow (action as any).payload;\n\t\t\t\t}\n\t\t\t}),\n\t\t\tmap((action) => (action as any).payload)\n\t\t)\n\t);\n}\n\nexport function load(\n\tactions: Actions,\n\tactionSet: EvasysActionSet,\n\tstore: Store,\n\tdispatchAction: EvasysActionModel,\n\tselect: () => Observable,\n\tloadingStrategy: EvasysLoadingStrategiesEnum,\n\tentityCount?: number,\n\tpageConfig?: boolean\n): Observable {\n\tconst apiResult = dispatchResult(actions, actionSet, dispatchAction);\n\tif (loadingStrategy !== EvasysLoadingStrategiesEnum.APIONLY && pageConfig) {\n\t\tthrow Error('pageConfig is only implemented for APIONLY yet');\n\t}\n\tswitch (loadingStrategy) {\n\t\tcase EvasysLoadingStrategiesEnum.APIONLY:\n\t\t\tstore.dispatch(dispatchAction);\n\t\t\treturn from(apiResult).pipe(map((response) => (pageConfig ? response : response.entities ?? response)));\n\t\tcase EvasysLoadingStrategiesEnum.APITHENSTATE:\n\t\t\tstore.dispatch(dispatchAction);\n\t\t\treturn from(apiResult).pipe(\n\t\t\t\tswitchMap((response) =>\n\t\t\t\t\tselect().pipe(\n\t\t\t\t\t\tmap((stateChange) =>\n\t\t\t\t\t\t\tArray.isArray(stateChange)\n\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t...stateChange,\n\t\t\t\t\t\t\t\t\t\t...response.entities.filter(\n\t\t\t\t\t\t\t\t\t\t\t(entity) =>\n\t\t\t\t\t\t\t\t\t\t\t\t!stateChange.find((searchEntity) => entity.id === searchEntity.id)\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t\t: { ...response, ...stateChange }\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\tcase EvasysLoadingStrategiesEnum.STATEONLY:\n\t\t\treturn select();\n\t\tcase EvasysLoadingStrategiesEnum.STATETHENAPI:\n\t\t\tstore.dispatch(dispatchAction);\n\t\t\treturn select();\n\t\tcase EvasysLoadingStrategiesEnum.STATEFALLBACKAPI:\n\t\t\tif (entityCount) {\n\t\t\t\treturn from(\n\t\t\t\t\tfirstValueFrom(select()).then((entities) => {\n\t\t\t\t\t\tif (entityCount === 1 && (entities === undefined || entities === null)) {\n\t\t\t\t\t\t\tstore.dispatch(dispatchAction);\n\t\t\t\t\t\t\treturn apiResult;\n\t\t\t\t\t\t} else if (entityCount > 1 && (entities?.length ?? 0) < entityCount) {\n\t\t\t\t\t\t\tstore.dispatch(dispatchAction);\n\t\t\t\t\t\t\treturn apiResult.then((response) => response.entities);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn entities;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'Can not get entity count: If you use state fallback api, you have to pass an entity count.'\n\t\t\t\t);\n\t\t\t}\n\t}\n}\n","import {\n\tbuffer,\n\tcombineLatest,\n\tdefer,\n\texhaustAll,\n\texhaustMap,\n\tfinalize,\n\tfirst,\n\tfrom,\n\tmerge,\n\tmergeAll,\n\tMonoTypeOperatorFunction,\n\tObservable,\n\tObservableInput,\n\tOperatorFunction,\n\tpipe,\n\tskipUntil,\n\tSubject,\n\tSubscriber,\n\tthrottle,\n} from 'rxjs';\nimport { filter, map, switchMap, tap, withLatestFrom } from 'rxjs/operators';\nimport { Dictionary } from '@ngrx/entity';\nimport { EvasysLoadingStrategiesEnum } from '@evasys/globals/shared/enums/general/evasys-loadingStrategies.enum';\nimport { Counter } from '../general/counter';\n\n/**\n * @deprecated use rxjs-function load\n */\nexport function loadData(\n\tloadData: () => void,\n\tloadingState: () => Observable,\n\tloadingStrategy: EvasysLoadingStrategiesEnum,\n\tmany: boolean = true,\n\titemCount: number = -1\n): MonoTypeOperatorFunction | T> {\n\tconst counter = new Counter();\n\treturn function (source$: Observable | T>): Observable | T> {\n\t\treturn new Observable((subscriber) => {\n\t\t\tconst newSource$ =\n\t\t\t\tloadingStrategy === EvasysLoadingStrategiesEnum.STATEONLY\n\t\t\t\t\t? source$\n\t\t\t\t\t: combineLatest([loadingState(), source$]).pipe(\n\t\t\t\t\t\t\tfilter(([loading]) => !loading),\n\t\t\t\t\t\t\tmap(([, source]) => source)\n\t\t\t\t\t );\n\n\t\t\tconst strategyObserver = (strategySubscriber: Subscriber>) => ({\n\t\t\t\tnext: (data: T | T[] | Dictionary) => strategySubscriber.next(data),\n\t\t\t\terror: (error: any) => strategySubscriber.error(error),\n\t\t\t\tcomplete: () => strategySubscriber.complete(),\n\t\t\t});\n\n\t\t\tswitch (loadingStrategy) {\n\t\t\t\tcase EvasysLoadingStrategiesEnum.STATEONLY:\n\t\t\t\t\tnewSource$.pipe(loadFromStateOnly()).subscribe(strategyObserver(subscriber));\n\t\t\t\t\tbreak;\n\t\t\t\tcase EvasysLoadingStrategiesEnum.APIONLY:\n\t\t\t\t\tnewSource$.pipe(loadFromAPIOnly(loadData, counter)).subscribe(strategyObserver(subscriber));\n\t\t\t\t\tbreak;\n\t\t\t\tcase EvasysLoadingStrategiesEnum.STATETHENAPI:\n\t\t\t\t\tnewSource$.pipe(loadFromStateThenAPI(loadData, counter)).subscribe(strategyObserver(subscriber));\n\t\t\t\t\tbreak;\n\t\t\t\tcase EvasysLoadingStrategiesEnum.STATEFALLBACKAPI:\n\t\t\t\t\tnewSource$\n\t\t\t\t\t\t.pipe(loadFromStateFallbackAPI(loadData, counter, many, itemCount))\n\t\t\t\t\t\t.subscribe(strategyObserver(subscriber));\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\t};\n}\n\nfunction loadFromStateOnly(): MonoTypeOperatorFunction | T> {\n\treturn (source$) => {\n\t\treturn source$;\n\t};\n}\n\nfunction loadFromAPIOnly(loadData: () => void, counter: Counter): MonoTypeOperatorFunction | T> {\n\treturn (source$) => {\n\t\treturn source$.pipe(\n\t\t\tonIndex(0, loadData, counter),\n\t\t\tfilter(() => {\n\t\t\t\treturn counter.Count > 2;\n\t\t\t}),\n\t\t\tswitchMap(() => source$)\n\t\t);\n\t};\n}\n\nfunction loadFromStateThenAPI(\n\tloadData: () => void,\n\tcounter: Counter\n): MonoTypeOperatorFunction | T> {\n\treturn (source$) => {\n\t\treturn source$.pipe(\n\t\t\tonIndex(0, loadData, counter),\n\t\t\tswitchMap(() => source$)\n\t\t);\n\t};\n}\n\nfunction loadFromStateFallbackAPI(\n\tloadData: () => void,\n\tcounter: Counter,\n\tmany: boolean = true,\n\titemCount: number = -1\n): MonoTypeOperatorFunction | T> {\n\treturn (source$) => {\n\t\treturn source$.pipe(\n\t\t\tonIndex(\n\t\t\t\t0,\n\t\t\t\t(data) => {\n\t\t\t\t\tif (!many && !data) {\n\t\t\t\t\t\tloadData();\n\t\t\t\t\t} else if (many) {\n\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\tconst dataArr = Array.isArray(data) ? data : Object.values(data);\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t(itemCount !== -1 && dataArr?.length !== itemCount) ||\n\t\t\t\t\t\t\t\t(itemCount === -1 && dataArr?.length === 0)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tloadData();\n\t\t\t\t\t\t\t} else if (itemCount !== -1 && dataArr?.length !== itemCount) {\n\t\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t\t'Can not load from state with the fallback to the api: The number of items is ' +\n\t\t\t\t\t\t\t\t\t\tdataArr?.length +\n\t\t\t\t\t\t\t\t\t\t' although ' +\n\t\t\t\t\t\t\t\t\t\titemCount +\n\t\t\t\t\t\t\t\t\t\t' were expected'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tloadData();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcounter\n\t\t\t),\n\t\t\tfilter((data, index) => {\n\t\t\t\tif (!many && data) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else if (many) {\n\t\t\t\t\tconst dataArr = Array.isArray(data) ? data : Object.values(data);\n\t\t\t\t\tif (\n\t\t\t\t\t\t(itemCount !== -1 && dataArr?.length === itemCount) ||\n\t\t\t\t\t\t(itemCount === -1 && dataArr?.length > 0) ||\n\t\t\t\t\t\tindex > 1\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else if (itemCount !== -1 && dataArr?.length !== itemCount) {\n\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t'Can not load from state with the fallback to the api (in filter): The number of items is ' +\n\t\t\t\t\t\t\t\tdataArr?.length +\n\t\t\t\t\t\t\t\t' although ' +\n\t\t\t\t\t\t\t\titemCount +\n\t\t\t\t\t\t\t\t' were expected'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}),\n\t\t\tswitchMap(() => source$)\n\t\t);\n\t};\n}\n\nexport function onIndex(\n\tindex: number,\n\tmethod: (data: T[] | Dictionary | T) => void,\n\tcounter: Counter\n): MonoTypeOperatorFunction | T> {\n\treturn (source$) => {\n\t\treturn source$.pipe(\n\t\t\ttap((v) => {\n\t\t\t\tif (counter.Count === index) {\n\t\t\t\t\tmethod(v);\n\t\t\t\t}\n\t\t\t\tcounter.countUp();\n\t\t\t})\n\t\t);\n\t};\n}\n\nfunction asyncFilter(\n\tasyncCondition: Observable | Promise\n): MonoTypeOperatorFunction | T> {\n\treturn (source$) => {\n\t\tif (asyncCondition instanceof Promise) {\n\t\t\tlet conditionResult = false;\n\t\t\treturn source$.pipe(\n\t\t\t\tswitchMap(async (x) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconditionResult = await asyncCondition;\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tconsole.error('Condition in promise of async filter rejected: ', err);\n\t\t\t\t\t}\n\t\t\t\t\treturn x;\n\t\t\t\t}),\n\t\t\t\tfilter(() => conditionResult)\n\t\t\t);\n\t\t} else {\n\t\t\treturn source$.pipe(\n\t\t\t\twithLatestFrom(asyncCondition),\n\t\t\t\tfilter(([, condition]) => condition),\n\t\t\t\tmap(([source]) => source)\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * Maps the input values to observables via an accumulator, rejecting all successive input values while the latest\n * returned observable has not completed.\n * The accumulator gets the last output of the latest returned observable as input as with the `scan` operator.\n * `exhaustScan` is to `scan` what rxjs' `exhaustMap` is to `map`.\n *\n * Marble diagram sketch with `inp` as the input, `out` as the output using an `accumulator` that maps according to\n * accumulator: `(acc: number, value: number) => of(acc+value).pipe(delay(5))`\n * i.e. the accumulator function outputs the sum of acc and value after 5 time steps and completes afterward.\n * ```\n * out = inp.pipe(exhaustScan(accumulator, 0));\n * inp: --1--2--------3-4-5-----6---7|\n * out: -------1-----------4---------10|\n * acc: -----1| -----4| -----10|\n * ^(0,1,0) ^(1,3,1) ^(4,6,2)\n * ```\n * Where the accumulator gets called thrice:\n * 1. with the parameters `acc=0` (the `seed`), `value=1`, `index=0` => returns 1 after 5 steps\n * 2. with the parameters `acc=1` (the previous result), `value=3`, `index=1` => returns 4 after 5 steps\n * 3. with the parameters `acc=4` (the previous result), `value=6`, `index=2` => returns 10 after 5 steps\n *\n * The input value 2 gets rejected as the observable returned by the first accumulator call has not yet completed.\n * Analogously, the values 4, 5, and 7 also get rejected.\n *\n * @param accumulator\n * Map the latest observable output (or initial seed) and the current input observable value together\n * with the call index to an observable.\n * Gets called the next time only when the previous output observable completes.\n * @param seed\n * The initial value for the `acc` parameter when the accumulator gets called the first time.\n */\nexport function exhaustScan(\n\taccumulator: (acc: A, value: V, index: number) => ObservableInput,\n\tseed: A\n): OperatorFunction;\nexport function exhaustScan(\n\taccumulator: (acc: A | S, value: V, index: number) => ObservableInput,\n\tseed: S\n): OperatorFunction;\nexport function exhaustScan(\n\taccumulator: (acc: A | S, value: V, index: number) => ObservableInput,\n\tseed: S\n) {\n\treturn (observable: Observable) =>\n\t\tdefer(() => {\n\t\t\tlet acc: A | S = seed;\n\n\t\t\treturn observable.pipe(\n\t\t\t\texhaustMap((value, index) => accumulator(acc, value, index)),\n\t\t\t\ttap((value) => (acc = value))\n\t\t\t);\n\t\t});\n}\n\n/**\n * Like rxjs' audit operator but emits every time when the durationSelector emits, not just once per input emit.\n */\nexport function auditAlways(durationSelector: (value: V) => ObservableInput): MonoTypeOperatorFunction {\n\treturn pipe(switchMap((value) => from(durationSelector(value)).pipe(map(() => value))));\n}\n\n/**\n * Like rxjs' exhaustAll but, instead of ignoring _all_ inner observables while the currently selected one, it always\n * retains the most recent one and switches over to that after the currently selected one completes.\n */\nexport function exhaustAllWithTrailing(): OperatorFunction, T> {\n\treturn (source) =>\n\t\tdefer(() => {\n\t\t\tconst release = new Subject();\n\t\t\treturn source.pipe(\n\t\t\t\tthrottle(() => release, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tmap((inner) => inner.pipe(finalize(() => release.next()))),\n\t\t\t\texhaustAll()\n\t\t\t);\n\t\t});\n}\n\n/**\n * Like rxjs' withLatestFrom but ensures that all values from the source observable get emitted in the output, waiting\n * for an initial value of the input observable if necessary\n */\nexport function bufferWithLatestFrom(input$: Observable): OperatorFunction {\n\t// TODO: Tests\n\treturn (source$: Observable) => {\n\t\tconst f = input$.pipe(first());\n\t\treturn merge(source$.pipe(buffer(f), mergeAll()), source$.pipe(skipUntil(f))).pipe(withLatestFrom(input$));\n\t};\n}\n","import { AfterViewInit, Directive, ElementRef, OnDestroy, OnInit } from '@angular/core';\nimport { ScreenService, ScreenSizes } from '../services/screen.service';\nimport { fromEvent, Subscription, throttleTime } from 'rxjs';\n\n@Directive({\n\tselector: '[evasysScreen]',\n})\nexport class ScreenDirective implements OnInit, AfterViewInit, OnDestroy {\n\t//region Variables\n\tprivate subscriptions: Subscription[] = [];\n\t//endregion\n\n\tconstructor(private readonly element: ElementRef, private readonly screenService: ScreenService) {}\n\n\t//region Events\n\tngAfterViewInit() {\n\t\tthis.subscriptions.push(\n\t\t\tfromEvent(window, 'resize')\n\t\t\t\t.pipe(throttleTime(100))\n\t\t\t\t.subscribe(() => this.determineScreenSize())\n\t\t);\n\t}\n\n\tngOnInit(): void {\n\t\tthis.determineScreenSize();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscriptions.forEach((sub) => sub.unsubscribe());\n\t\tthis.subscriptions.length = 0;\n\t}\n\n\t//endregion\n\n\t//region Methods\n\n\tprivate determineScreenSize(): void {\n\t\tlet screenSize;\n\t\tconst screenPxSize = window.innerWidth;\n\t\tthis.screenService.screenWidth.set(window.innerWidth);\n\t\tthis.screenService.screenHeight.set(window.innerHeight);\n\t\tswitch (true) {\n\t\t\tcase screenPxSize < ScreenSizes.S:\n\t\t\t\tscreenSize = ScreenSizes.XS;\n\t\t\t\tbreak;\n\t\t\tcase screenPxSize >= ScreenSizes.S && screenPxSize < ScreenSizes.M:\n\t\t\t\tscreenSize = ScreenSizes.S;\n\t\t\t\tbreak;\n\t\t\tcase screenPxSize >= ScreenSizes.M && screenPxSize < ScreenSizes.L:\n\t\t\t\tscreenSize = ScreenSizes.M;\n\t\t\t\tbreak;\n\t\t\tcase screenPxSize >= ScreenSizes.L && screenPxSize < ScreenSizes.XL:\n\t\t\t\tscreenSize = ScreenSizes.L;\n\t\t\t\tbreak;\n\t\t\tcase screenPxSize >= ScreenSizes.XL && screenPxSize < ScreenSizes.XXL:\n\t\t\t\tscreenSize = ScreenSizes.XL;\n\t\t\t\tbreak;\n\t\t\tcase screenPxSize >= ScreenSizes.XXL:\n\t\t\t\tscreenSize = ScreenSizes.XXL;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tscreenSize = ScreenSizes.NONE;\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.screenService.size = screenSize;\n\t}\n\t//endregion\n}\n","import { Injectable, signal } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/*\n\tnecessary to Work:\n\tadd directive to app.component.ts to a Tag.\n\tFor Example: ...\n */\n\nexport enum ScreenSizes {\n\tNONE = -1,\n\tXS = 0,\n\tS = 576,\n\tM = 768,\n\tL = 992,\n\tXL = 1200,\n\tXXL = 1400,\n}\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class ScreenService {\n\t//#region Variables\n\tprivate screenSize: ScreenSizes = ScreenSizes.NONE;\n\tpublic readonly screenWidth = signal(null);\n\tpublic readonly screenHeight = signal(null);\n\tprivate screenSizeSubject: BehaviorSubject = new BehaviorSubject(this.screenSize);\n\t//#endregion Variables\n\n\t//#region Getter/Setter\n\tset size(size: ScreenSizes) {\n\t\tthis.screenSize = size;\n\t\tthis.screenSizeSubject.next(size);\n\t}\n\n\tget size(): ScreenSizes {\n\t\treturn this.screenSize;\n\t}\n\n\tget sizeObservable(): Observable {\n\t\treturn this.screenSizeSubject.asObservable();\n\t}\n\n\t//#endregion Getter/Setter\n\n\t//#region methods\n\n\tisSize(size: ScreenSizes): boolean {\n\t\treturn this.screenSize === size;\n\t}\n\n\tisSizeSmallerThan(size: ScreenSizes): boolean {\n\t\treturn this.screenSize < size;\n\t}\n\n\tisSizeBiggerThan(size: ScreenSizes): boolean {\n\t\treturn this.screenSize > size;\n\t}\n\n\tisSizeObservable(screenSize: ScreenSizes): Observable {\n\t\treturn this.screenSizeSubject.asObservable().pipe(map((size) => size === screenSize));\n\t}\n\n\tisSizeSmallerThanObservable(screenSize: ScreenSizes): Observable {\n\t\treturn this.screenSizeSubject.asObservable().pipe(map((size) => screenSize > size));\n\t}\n\n\tisSizeBiggerThanObservable(screenSize: ScreenSizes): Observable {\n\t\treturn this.screenSizeSubject.asObservable().pipe(map((size) => screenSize < size));\n\t}\n\n\t//#endregion methods\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NameViaIdInListPipe } from './pipes/name-via-id-in-list.pipe';\nimport { AppCheckerService } from './appInit/services/app-checker.service';\nimport { HttpClientModule } from '@angular/common/http';\nimport { UserRightsPipe } from './pipes/user-rights.pipe';\nimport { UserRightsDesignationPipe } from './pipes/user-rights-designation.pipe';\nimport { CanAccessPipe } from './pipes/can-access.pipe';\nimport { ScreenService } from './screen/services/screen.service';\nimport { ScreenDirective } from './screen/directives/screen.directive';\nimport { CommaSeparatedPipe } from './pipes/comma-separated.pipe';\nimport { NamesByIdsPipe } from './pipes/names-by-ids.pipe';\nimport { UnescapePipe } from './pipes/unescape.pipe';\nimport { ToMapPipe } from './pipes/to-map.pipe';\nimport { EntitiesToIdsPipe } from './pipes/entities-to-ids.pipe';\nimport { FilterPipe } from './pipes/filter.pipe';\nimport { HasPipe } from './pipes/has.pipe';\nimport { IdsToEntitiesPipe } from './pipes/ids-to-entities.pipe';\nimport { SplicePipe } from './pipes/splice.pipe';\nimport { ToStringPipe } from './pipes/to-string.pipe';\nimport { SameWidthDirective } from './directives/same-width/same-width.directive';\nimport { ReducePipe } from './pipes/reduce.pipe';\nimport { ToObservablePipe } from './pipes/to-observable.pipe';\nimport { JoinPipe } from './pipes/join.pipe';\nimport { LazyLoadModule } from './directives/lazy-load/lazy-load.module';\nimport { InvokePipe } from './pipes/invoke.pipe';\nimport { IfContentModule } from './directives/if-content/if-content.module';\nimport { ModifyModule } from './pipes/modify/modify.module';\nimport { RegulationClickModule } from './directives/regulation-click/regulation-click.module';\nimport { HasOnlyModule } from './pipes/has-only/has-only.module';\nimport { SortModule } from './pipes/sort/sort.module';\nimport { KeyboardSearchModule } from './directives/keyboard-search/keyboard-search.module';\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tHttpClientModule,\n\t\tIfContentModule,\n\t\tModifyModule,\n\t\tRegulationClickModule,\n\t\tHasOnlyModule,\n\t\tSortModule,\n\t],\n\tdeclarations: [\n\t\tNameViaIdInListPipe,\n\t\tUserRightsPipe,\n\t\tUserRightsDesignationPipe,\n\t\tCanAccessPipe,\n\t\tScreenDirective,\n\t\tCommaSeparatedPipe,\n\t\tNamesByIdsPipe,\n\t\tFilterPipe,\n\t\tUnescapePipe,\n\t\tToMapPipe,\n\t\tEntitiesToIdsPipe,\n\t\tToMapPipe,\n\t\tHasPipe,\n\t\tIdsToEntitiesPipe,\n\t\tSplicePipe,\n\t\tToStringPipe,\n\t\tSameWidthDirective,\n\t\tReducePipe,\n\t\tToObservablePipe,\n\t\tJoinPipe,\n\t\tInvokePipe,\n\t],\n\texports: [\n\t\tNameViaIdInListPipe,\n\t\tUserRightsPipe,\n\t\tUserRightsDesignationPipe,\n\t\tCanAccessPipe,\n\t\tScreenDirective,\n\t\tCommaSeparatedPipe,\n\t\tNamesByIdsPipe,\n\t\tFilterPipe,\n\t\tToMapPipe,\n\t\tHasPipe,\n\t\tIdsToEntitiesPipe,\n\t\tSplicePipe,\n\t\tSameWidthDirective,\n\t\tUnescapePipe,\n\t\tToMapPipe,\n\t\tEntitiesToIdsPipe,\n\t\tToStringPipe,\n\t\tReducePipe,\n\t\tToObservablePipe,\n\t\tJoinPipe,\n\t\tInvokePipe,\n\n\t\tLazyLoadModule,\n\t\tModifyModule,\n\t\tRegulationClickModule,\n\t\tIfContentModule,\n\t\tHasOnlyModule,\n\t\tSortModule,\n\t\tKeyboardSearchModule,\n\t\tKeyboardSearchModule,\n\t],\n\tproviders: [AppCheckerService, ScreenService],\n})\nexport class SharedUtilModule {}\n","import { BehaviorSubject } from 'rxjs';\n\nexport interface LocalStorageSubjectOptions {\n\tid?: string;\n\tsync?: boolean;\n}\n\nexport class LocalStorageSubject extends BehaviorSubject {\n\tprivate static readonly LOCAL_STORAGE_TOKEN = 'localStorageSubject';\n\tprivate localStorageId: string;\n\tprivate _sync: boolean;\n\n\tset sync(sync: boolean) {\n\t\tthis._sync = sync;\n\t}\n\n\tconstructor(value: T, options?: LocalStorageSubjectOptions) {\n\t\tif (options?.id) {\n\t\t\tconst localStorageId = `${LocalStorageSubject.LOCAL_STORAGE_TOKEN}-${options.id}`;\n\t\t\tconst localStorageValue = JSON.parse(localStorage.getItem(localStorageId));\n\t\t\tsuper(localStorageValue !== null ? localStorageValue : value);\n\t\t\tthis.localStorageId = localStorageId;\n\t\t} else {\n\t\t\tsuper(value);\n\t\t}\n\t\tthis._sync = options?.sync !== undefined ? options?.sync : true;\n\t}\n\toverride next(value: T) {\n\t\tif (this.localStorageId && this._sync) {\n\t\t\tlocalStorage.setItem(this.localStorageId, JSON.stringify(value));\n\t\t}\n\t\tsuper.next(value);\n\t}\n\n\tpublic init(id: string) {\n\t\tthis.localStorageId = `${LocalStorageSubject.LOCAL_STORAGE_TOKEN}-${id}`;\n\t\tconst localStorageValue = JSON.parse(localStorage.getItem(this.localStorageId));\n\t\tif (localStorageValue !== null) {\n\t\t\tsuper.next(localStorageValue);\n\t\t} else if (this._sync) {\n\t\t\tlocalStorage.setItem(this.localStorageId, JSON.stringify(super.value));\n\t\t}\n\t}\n\n\tpublic clear() {\n\t\tif (this.localStorageId) {\n\t\t\tlocalStorage.removeItem(this.localStorageId);\n\t\t}\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { assertNotNullish } from '@evasys/globals/evainsights/typeguards/common';\nimport { memoize, once, sumBy } from 'lodash';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class TextMeasurementService {\n\tprivate getCtx = once(() => {\n\t\tconst canvas = document.createElement('canvas');\n\t\tcanvas.width = 0;\n\t\tcanvas.height = 0;\n\t\tthis.appendElementHidden(canvas);\n\n\t\tconst ctx = canvas.getContext('2d');\n\t\tassertNotNullish(ctx);\n\t\treturn ctx;\n\t});\n\n\tprivate getComputeStyleElement = once(() => {\n\t\tconst element = document.createElement('div');\n\t\tthis.appendElementHidden(element);\n\t\treturn element;\n\t});\n\n\tprivate getStyleFromCss = memoize((className: string): TextMeasurementStyle => {\n\t\tconst elt = this.getComputeStyleElement();\n\t\telt.className = className;\n\n\t\tconst style = window.getComputedStyle(elt);\n\n\t\treturn {\n\t\t\tfont: style.getPropertyValue('font'),\n\t\t\tpadding: sumBy(['padding-left', 'padding-right'], (property) => parseInt(style.getPropertyValue(property))),\n\t\t};\n\t});\n\n\t/**\n\t * Efficiently approximate the offsetWidth of an HTML element with text content\n\t * Occasionally over-estimates the offset width by one pixel.\n\t * @param text The text content of the element\n\t * @param className The CSS class name of the element\n\t */\n\tgetOffsetWidth = (text: string, className: string): number => {\n\t\tconst style = this.getStyleFromCss(className);\n\t\treturn Math.ceil(this.getTextWidth(text, style.font) + style.padding);\n\t};\n\n\tprivate getTextWidth(text: string, font: string): number {\n\t\tconst ctx = this.getCtx();\n\t\tctx.font = font;\n\t\treturn ctx.measureText(text).width;\n\t}\n\n\tprivate appendElementHidden(element: HTMLElement) {\n\t\telement.style.position = 'absolute';\n\t\telement.style.visibility = 'hidden';\n\t\telement.style.top = '0';\n\t\telement.style.left = '0';\n\t\tdocument.body.appendChild(element);\n\t}\n}\n\ninterface TextMeasurementStyle {\n\tfont: string;\n\tpadding: number; // in x-direction\n}\n","import { SelectorGroupModel } from '@evasys/globals/evasys/models/component/order-selector-item.model';\nimport { isSelectorItem } from './selector-item.type-guard';\n\nexport function isSelectorGroup(object: any): object is SelectorGroupModel {\n\treturn (\n\t\ttypeof object === 'object' &&\n\t\t'name' in object &&\n\t\ttypeof object.name === 'string' &&\n\t\t'items' in object &&\n\t\tArray.isArray(object.items) &&\n\t\t(object.items.length === 0 ||\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\tobject.items.every((item) => isSelectorItem(item)))\n\t);\n}\n","import { SelectorItemModel } from '@evasys/globals/evasys/models/component/order-selector-item.model';\n\nexport function isSelectorItem(object: any): object is SelectorItemModel {\n\treturn (\n\t\ttypeof object === 'object' &&\n\t\t'name' in object &&\n\t\ttypeof object.name === 'string' &&\n\t\t(!('id' in object) || object.id == null || typeof object.id === 'string' || typeof object.id === 'number')\n\t);\n}\n","import { Observable, Subject } from 'rxjs';\n\nexport abstract class WebWorker {\n\tworker: Worker;\n\tWORKER_ENABLED = typeof Worker !== 'undefined';\n\tprivate onMessage = new Subject();\n\tprivate onError = new Subject();\n\n\tconstructor(worker?: Worker) {\n\t\tif (this.WORKER_ENABLED) {\n\t\t\tif (!this.worker && worker) {\n\t\t\t\tthis.worker = worker;\n\t\t\t}\n\n\t\t\tif (this.worker) {\n\t\t\t\tthis.worker.onmessage = (data) => {\n\t\t\t\t\tthis.onMessage.next(data);\n\t\t\t\t};\n\n\t\t\t\tthis.worker.onerror = (data) => {\n\t\t\t\t\tthis.onError.next(data);\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.warn('WebWorker is not enabled');\n\t\t}\n\t}\n\n\tpostMessage(data: T) {\n\t\tif (this.WORKER_ENABLED && this.worker) {\n\t\t\tthis.worker.postMessage(data);\n\t\t} else {\n\t\t\tconsole.warn('WebWorker is not enabled or registered');\n\t\t\tthis.run(data);\n\t\t}\n\t}\n\n\tonmessage(): Observable {\n\t\treturn this.onMessage.asObservable();\n\t}\n\n\tonerror(): Observable {\n\t\treturn this.onError.asObservable();\n\t}\n\n\tterminate() {\n\t\tif (this.worker) {\n\t\t\tthis.worker.terminate();\n\t\t\tthis.worker = undefined;\n\t\t}\n\t}\n\n\tpublic abstract run(\n\t\tdata?: T,\n\t\tpostMessage?: (message: any, targetOrigin: string, transfer?: Transferable[]) => void\n\t);\n}\n"],"names":["RouterModule","UserRightsEnum","AuthGuard","SystemActivationGuard","routes","path","loadChildren","then","m","EvasysAuthenticationFeatureModule","EvasysSubunitFeatureModule","canActivate","data","rights","ADMINISTRATOR","SUBSECTION_ADMINISTRATOR","redirectTo","AppRoutingModule","forRoot","imports","i1","exports","inject","TranslateService","EvasysTranslateLoader","constructor","translateService","getTranslation","lang","clear","factory","ɵfac","providedIn","TRANSLOCO_CONFIG","TRANSLOCO_LOADER","TranslocoModule","environment","SharedCoreModule","ApplicationInit","AppTranslationModule","provide","useValue","availableLangs","reRenderOnLangChange","prodMode","production","deps","useClass","AppComponent","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","i0","ɵɵelement","ɵɵelementStart","ɵɵelementEnd","firstValueFrom","map","tap","EvasysLoadingStrategiesEnum","contrast","hexToRgb","isLight","mix","shade","tint","initDefaultLanguage","applicationInit","httpClient","translocoService","authUserService","initColorSettings","document","configService","initTitle","systemInfoService","authenticatedUserPromise","user","id","authenticateUser","toString","flavor","setDefaultLang","setActiveLang","get","apiHref","pipe","configResponse","results","value","oldValue","self","getManyConfigs","APIONLY","colors","buildColorMap","colorMap","colorSettingStyles","querySelector","createElement","appendChild","colorSettingSheet","forEach","color","varName","innerHTML","Map","topmenuBg","set","addColorWithRgb","primary","secondary","light","gray2","gray20","gray40","gray70","gray75","gray80","gray85","gray90","black","lightTheme","usedGray2","usedGray20","usedGray40","usedGray70","usedGray75","usedGray80","usedGray85","usedGray90","buttons","generateButtonColors","name","Object","entries","shouldTint","hoverBg","activeBg","join","getOne","systemInfo","textContent","catch","err","console","error","BrowserModule","APP_INITIALIZER","HttpClient","HttpClientModule","StoreModule","StoreDevtoolsModule","EffectsModule","APP_BASE_HREF","DOCUMENT","AuthUserService","ConfigService","SharedUtilModule","UserRightsPipe","SharedFeatureModule","SharedUiModule","EvasysSharedFeatureModule","EvasysSharedCoreModule","SystemInfoService","EvasysSharedUtilModule","TranslocoService","EvasysSharedUiModule","globalReducer","ScrollingModule","BrowserAnimationsModule","EvasysRevokeTokenTypeEnum","StepFilterModule","TableModule","sharedCoreConfiguration","api","auth","translation","config","status","baseUrl","revokeTokenType","ACCESS_TOKEN","clientId","clientSecret","userMap","apiData","userRightPipe","userRights","transform","adminRights","find","userRight","activeRight","undefined","level","firstname","surname","active","fullName","_additionalData","languageSet","encryptedId","subunitLogo","subunitName","onlineTemplatesAccess","AppModule","bootstrap","baseHref","useFactory","multi","metaReducers","instrument","maxAge","logOnly","translations","wizard","cancel","back","next","submit","errorMessages","required","maxLength","minLength","max","min","emailType","equal","securePassword","uploadBox","search","noFile","usermenu","logoutButtonText","changeRoleDropdownText","switchUserText","userMenuIconTitle","searchHelp","searchMenuButtonText","helpMenuButtonText","searchSubmitButtonAltText","searchTextboxLabel","helpTextboxLabel","systemUsage","headlineTranslation","systemTranslation","evasys","evaexam","onlineUserTranslation","pagination","nextButtonText","backButtonText","sidebar","permanentlyOpen","popperMenu","showAll","noItemsFound","productsMenu","switchTo","products","notificationCollection","notificationIconTitle","chipTypeahead","selectAll","removeAll","removeAllTooltip","legalNotice","text","link","showMore","typeahead","loading","tableHead","sortAscending","sortDescending","isApiUrl","requestUrl","startsWith","catchAllHttpErrors","multiPageUrl","oldWorldHref","declarations","StoreRootModule","i2","i3","EffectsRootModule","i4","i5","i6","i7","i8","i9","enableProdMode","out","window","errorType","logErrorTypes","logErrorType","includes","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","replaceUrlPathVariables","variableValueReplacer","escapeRegExp","getFullUrl","URL","location","href","PATH_DATA_SERVICE","dataServiceUrl","PATH_REPORT_SERVICE","reportServiceUrl","PATH_AUTH_SERVICE","authServiceUrl","SERVICE_PATHS","getIsNotPrefixPattern","prefixes","RegExp","isNotServicePathPattern","url","some","urlPrefix","Endpoint","variableValues","replacePathVariables","replacer","endpoints","getUserUiConfig","getSystemUiConfig","getUnits","getStaffs","getStaff","getParticipationEvents","getItems","postItemsSearch","postItemCollectionsSearch","getProgrammes","getPeriods","getForms","getForm","getSurveys","getSurveyPeriodName","getLeaders","reports","deleteReport","createNewRespondentFilterItemForReportIdAndItemOptionIds","deleteRespondentFilterItemOptionsForReportIdAndItemId","deleteReportTemplate","reportTemplates","report","reportByToken","reportPublish","reportCalculate","reportTemplate","getReportTemplatesForReport","postReportItemsForReport","patchReportItemPlacementsForReport","deleteReportItem","postReportItemsForReportTemplate","reportReportTemplate","reportItem","reportSurveys","getReportTemplateForms","topicModel","topicsByTopicModelId","getItemIdSurveyPeriodNames","topics","topic","topicResponses","assignTopicModel","checkRemainingTopicAssignments","getTopicModelInfos","getTopicModelInfo","calculateTopicModels","postAxisChartData","postResponsesData","postWordFrequencyWordcloudData","postTopicWordcloudData","postTopicWordcloudResponsesData","getWordcloudResponseDataByTopicId","getWordcloudDataByTopicId","evasysEndpoint","getTenantRegisteredBySubDomainName","PATH_VARIABLE_PREFIX","result","pathname","split","segment","isSegmentAVariable","getSegmentVariableName","slice","length","values","variable","hasOwnProperty","Error","ItemType","AnalysisType","DataBasisType","VisualizationType","BarChartVisualizationType","BarChartGroupBy","BarChartOrientation","ReportType","NumberOfTopics","Sentiment","TopicModelStatus","ValueAxisUnit","Language","ChartExportFormat","RadioButtonGroupDesign","Deployment","fallbackTenantSubdomain","enableDeveloperTools","getDeploymentFromLocation","isLocationSubdomainOf","STAGING_DE","DEV_DE","DE","hostname","LOCAL","domain","endsWith","runtimeEnvironment","tenantSubdomain","applicationInsightsConnectionString","padStart","formatCode","code","number","toFixed","CodedError","message","getErrorCode","rejection","logger","setDefaultLogger","newLogger","Level","consoleLoggerByLevel","DEBUG","debug","INFO","info","WARN","warn","ERROR","FATAL","Logger","getLevelLogger","fatal","props","log","preparedProps","prepareLogProperties","consoleLog","logPreparedProperties","isSystemMultiLang","isFormMultiLang","isReportMultiLang","ColorSchemeType","QuantitativeColorSchemeSymmetry","ThemeVariant","DataIndexDimensionType","PeriodDomainType","VisualizationDimensionType","AggregationType","CentralTendencyMetric","isNullish","v","isNotNullish","assertNotNullish","nonNullish","getPropertyNotNullishGuard","property","object","EndpointsEnum","UpdateSuccessMessageMapper","CONFIGS","UpdateErrorMessageMapper","authApiHref","ServiceInjectorMapper","configs","animate","state","style","transition","trigger","x3DRotateAnimation","y3DRotateAnimation","z3DRotateAnimation","popAnimation","xGrowAnimation","fadeInLeftAnimation","listAnimation","paginationAnimation","yGrowAnimation","nestedAnimations","fadeOutTopAnimation","opacityAnimation","Animations","_class","from","to","ms","child","opacity","width","overflow","height","query","stagger","optional","animateChild","PaginationAnimationEnum","TO_LEFT","TO_RIGHT","BACK","marginBottom","paddingTop","paddingRight","paddingBottom","paddingLeft","pageAnimation","noInitialAnimation","marginLeftAnimation","time","marginLeft","group","direction","position","top","padding","bytesToHex","toHex","sha256","Required","target","propertyKey","defineProperty","String","writable","Cache","cache","descriptor","getter","call","configurable","enumerable","originalMethod","prefixKey","args","key","JSON","stringify","cachedEntry","Date","now","timestamp","apply","LocalStorageForm","originalNgOnInit","ngOnInit","originalngOnDestroy","ngOnDestroy","subscription","form","storedData","localStorage","getItem","parsedData","parse","patchValue","valueChanges","subscribe","setItem","unsubscribe","LevelEnum","UserRightDesignation","INSTRUCTOR","DEAN","DEAN_OF_STUDIES","DATA_COLLECTOR","SERIES_PRINT","ARCHIVED","REPORT_CREATOR","WASTE_PAPER_BIN","WEB_VERIFIER","REPORTING_MASK","MODUL","BAHN_KAM_AND_ABT","BAHN_F_AND_E","BAHN_SCANKRAFT","LINKED_USER","FIRSTADMIN","EXAM_ACCOUNT","SURVEY_ACCOUNT","CATEGORIZATION","ButtonDesignEnum","ChipTypeaheadDesignEnum","DesignEnum","LabelPositionEnum","LoadedComponentEnum","NotificationEnum","NotificationEnumMap","WARNING","SelectorChangeabilityEnum","InputValueReplaceStrategy","EvasysActionsEnum","EvasysGrantEnum","EvasysPropertyTypeNameEnum","EvasysRequestMethodEnum","EvasysResponseStateEnum","WHITE","BLACK","hex","exec","parseInt","rgbToHex","rgb","hashtag","rgbVal","rgbStringVal","hex1","hex2","ratio","rgb1","rgb2","rgbMix","rgb1Val","i","Math","ceil","dark","enumValues","obj","filter","Number","isNaN","enumKeys","keys","getEnumValue","enumValue","enumKey","indexOf","isEqual","lodashIsEqual","reduceObject","reduce","a","b","getTypeaheadIdentifierValue","item","itemIdentifier","getWindowVariable","windowVariable","StatusCardEnum","Validators","emailValidator","control","validationResult","email","emailRegex","test","equalValidator","firstControlName","secondControlName","firstControl","secondControl","disabled","of","phoneValidator","phoneRegex","phone","securePasswordValidator","characterRegex","repetitionRegex","Validations","CommonModule","FormsModule","EvainsightsSharedCoreModule","Store","sharedSelectors","AuthUserServiceHelperService","userStore","tokenStore","getUserIdFromAuthUser","select","fromAuthUser","selectAuthenticatedUser","getAuthenticatedUser","getToken","fromAuth","selectToken","scan","shareReplay","pick","ChartService","http","countAxisChartLoader","matches","visualizationType","BAR_CHART","LINE_CHART","aggregation","type","RESPONSE_COUNT","getParams","reportId","dataDimensions","dimensionMappings","toDataRequestDimension","getData","params","post","centralTendencyLineChartLoader","CENTRAL_TENDENCY","metric","sources","itemOptionIds","wordFrequencyWordcloudLoader","WORDCLOUD","analysisType","WORD_FREQUENCY","itemIds","topicWordcloudResponsesLoader","WORDCLOUD_RESPONSES","getTopicRequestParams","topicWordcloudLoader","TOPIC","richTextLoader","RICH_TEXT","profileLineChartLoader","PROFILE_LINE_CHART","responsesLoader","RESPONSES","mapping","dataDimension","ITEM","toDataRequestDomain","ITEM_OPTION","PERIOD","properties","point","exclude","topicId","getReportItemContentFromConfig","configObservable","cacheKey","prevCacheKey","prevData","cacheQuery","makeDataCacheQuery","dataObservable","compute","content","makeDataCacheQueryWithLoader","loader","BreadcrumbUpdateService","updateLastBreadItem","title","breadItems","translate","queryParamsHandling","ɵɵinject","combineLatest","debounceTime","distinctUntilChanged","share","startWith","Subject","latestData","trackLoadingStates","asArray","DashboardTableDataProvider","paramService","activatedRoute","searchKey","filterParams","queryParams","searchRequest","defaultSearchRequestParams","sortRequest","sort","textRequest","reload$","search$","requests","isLoading","latestPage","urlSortParam","snapshot","urlSortParts","sortField","sortOrder","urlSearchTextParam","searchText","listenToSearchTextChanges","nextPage","page","updateParams","reload","setPageSize","size","sortPage","setSearchText","onSort","columnField","sortOrderAscending","sortingParams","isSortAscending","units","getParamAsStringArray","programmes","periods","forms","participationEvents","leaders","sentiments","str","param","searchRequestFilterParams","searchSelection","unit","programm","period","participationEvent","leader","ActivatedRoute","Router","SearchRequestParamService","router","update","currentParams","queryParamsUpdate","areParamsChanged","navigate","newValue","currentValue","asValuesArray","Array","isArray","BehaviorSubject","first","skip","switchMap","EnvironmentInjector","runInInjectionContext","DateTime","takeUntilDestroyed","UiConfigService","authUserServiceHelperService","environmentInjector","_uiConfig$","logoSrc","decimalFormat","dateFormat","language","timeFormat","isInitialized","getUiConfig","asObservable","uiConfigLanguage","getTimeDateFormat","selectTranslate","atTranslation","toISOFormat","keepUiConfigUpToDate","useSystemUiConfig","uiConfigUpdaterSubscription","uiConfig","trim","FormService","ParticipationEventService","ProgrammeService","PeriodService","StaffService","UnitService","MultiLangService","pageContent","SurveyService","ItemService","TopicModelService","FilterService","participationEventService","periodService","formService","programmeService","staffService","unitService","surveyService","itemService","multiLangService","topicModelService","buildItemSearchAndLoad","rest","icon","identifier","formatter","emptyResultsText","queryParameterName","getSearchResult","eventName","surveys","description","items","itemTextName","topicModels","NEUTRAL","POSITIVE","NEGATIVE","load","ids","sentiment","searchFn","i10","i11","getById","formId","ItemCollectionService","searchItemCollections","getContextLanguageCode","LanguageService","uiConfigService","onUiConfigChange","initialize","getActiveSystemLanguageCode","userLanguageCode","activeLang","getActiveLang","contextLanguageCode","patchedSystemLanguageCode","isLang","EndpointsService","getEvasysEndpoint","signal","getUserLanguageCode","ReportLanguageService","_activeReportLanguage","activeReportLanguage","asReadonly","changeActiveReportLanguage","reportLanguage","getPreferredReportLanguage","availableReportLanguages","findClosestReportLanguage","equalAvailable","av","sameIdAvailable","userLanguage","currentUiLanguage","primaryUserLanguage","computed","ReportProcessingService","isProcessingTemplate","isProcessingUpdate","isProcessing","processing","ReportTemplateService","reportTemplateId","saveNew","put","delete","observe","ReportService","getByToken","token","_","publishReport","reportPublishing","patch","getReportSurveysForReportId","putReportSurveys","surveyIds","reportUpdate","calculateItems","putReportTemplate","removeReportTemplate","ReportItemService","getReportItem","reportItemId","saveNewReportItemsForReport","reportItems","saveNewReportItemsForReportTemplate","reportItemPlacements","updateReportItem","RespondentFilterService","createNewRespondentFilterItemOptionByReportIdAndItemOptionIds","deleteRespondentFilterItemOptionForReportIdAndItemId","itemId","TenantService","getTenantRegistered","response","interval","topicModelId","getInfoById","deleteById","getItemSurveyPeriodNames","calculateNewTopicModel","topicModelCalculationRequest","patchTopicModelTitle","listenById","listenBySearchRequest","assign","body","checkAssignments","TopicService","getTopicMetadata","getTopics","getTopicWordcloudData","searchTopicResponses","onlyBuildResponses","patchTopicTitle","calculateDateTimeForSystemTimezone","date","targetTime","tzDifference","getTimezoneOffset","getTime","getDateTimeInSystemTimezone","ElementRef","InputAutoFillOffDirective","_el","nativeElement","setAttribute","standalone","SimpleChanges","AbstractControl","ReplaceIfEmptyDirective","el","defaultValue","onBlur","replaceOnFormControl","hasError","setValue","observer","MutationObserver","mutations","mutation","updateEventListener","ngOnChanges","changes","firstChange","updateDefault","ngAfterViewInit","childList","subtree","initEventListener","disconnect","htmlInputElement","removeEventListener","getInputElement","addEventListener","ɵɵdirectiveInject","inputs","features","ɵɵNgOnChangesFeature","TranslateMultiLangPipe","GetLanguageControlPipe","ReportLanguageCodePipe","EvainsightsSharedUtilModule","isAvailable","font","fonts","check","weight","family","fallback","candidates","found","noWhitespaceValidator","isWhitespace","whitespace","Text","richTextIsEmpty","richText","every","elementIsEmpty","element","children","isText","requiresControl","controls","abstractControl","formGroup","valid","range","sum","fitTexts","textLengths","availableWidth","j","diff","requiredDiff","upper","s","GridsterPush","disableGridsterPushBackSwappingItems","prototype","checkPushedItem","pushedItem","pushedItemsPath","lastPosition","x","y","change","$item","collidingItems","gridster","findItemsWithItem","setSize","splice","gridsterItem","removeFromPushed","makeGridsterSwapCompact","addToPushed","pushedItems","push","newPath","pathBetween","currentPath","lastPath","start","end","inclusiveRange","freezeGridsterRowHeight","options","fixedRowHeight","substring","findSystemMultiLangEntry","userLang$","langChanges$","multiLang","findGeneralMultiLangEntry","entry","findFormMultiLangEntry","findReportMultiLangEntry","systemMultiLang","fromUserLang","userLang","mapFn","findFormMultiLangEntryForReportLang","ReportMultiLangService","reportLanguage$","setReportLanguage","formMultiLang","reportMultiLang","t","minBy","l","translateReportMultiLangString","reportLanguageId","mapToReportMultiLang","reportLanguages","selectByReportLanguage","arbitraryFallback","formLanguageId","reportLanguageFormLanguageIds","Set","formLanguages","fl","langValue","has","TranslocoMultiLangService","LoggerService","HttpErrorResponse","ErrorHandlerService","handleError","AngularPlugin","ApplicationInsights","context","angularPlugin","applicationInsights","connectionString","extensions","extensionConfig","enableCorsCorrelation","correlationHeaderExcludePatterns","addTelemetryInitializer","loadAppInsights","trackTrace","severityLevel","trackException","exception","pure","languageService","texts","catchError","defer","merge","withLatestFrom","FormGroup","UntypedFormArray","request","trackLoadingState","source","states","validOrDisabledRawFormControlValueChanges","statusChanges","isCompositeFormControl","getRawValue","formControlRawValueChanges","Title","TitleService","setTitle","titleText","fromSystemInfo","fromMenu","fromWizard","fromStatus","evasysActions","EvasysActionsFactory","actionsFactory","LoadAllActionSet","ClearActionSet","LoadActionSet","createActions","OpenPermanentlyActionSet","createCustomActionSet","SetSearchTextActionSet","SetMenuMarkActionSet","LoadOneActionSet","EulaAcceptedActionSet","transmitEvasysUpdateStatus","transmitEvasysUpdateRentalStatus","transmitExtrasUpdateStatus","deleteOneStatusActionSet","createOneStatusActionSet","LoadPageActionSet","LoadManyActionSet","LoadOneWithParamsActionSet","ToggleWizard","ApiService","EvasysEffects","Actions","MenuEffects","actions$","apiService","API_PATH","MENUS","loadAll$","createEffect","apiPath","many","requestMethod","GET","mapToBackend","menu","menuForBackend","mapToFrontend","menus","menuid","submenus","menuitems","menuitem","route","multiPage","submenu","StatusEffects","STATUS","pageSize","transmitEvasysUpdateStatus$","PATCH","transmitEvasysUpdateRentalStatus$","action","payload","transmitExtrasUpdateStatus$","extrasUpdateCheck","loadOne$","fields","acceptEula$","endpoint","SystemInfoEffects","INFOS","loadPage$","loadMany$","newSystemInfo","WizardEffects","WIZARDS","loadOneWithParams$","wizardname","show","wizardData","wData","usertype","propertyGroups","pgroup","constraints","newWizard","SystemInfoModule","MenuModule","WizardModule","StatusModule","menuInitialState","menuReducer","menuMetaReducers","forFeature","initialState","EffectsFeatureModule","StoreFeatureModule","statusReducer","systemInfoInitialState","systemInfoReducer","wizardReducer","defaultEvasysState","EvasysEntityAdapter","EvasysReducerCaseFactory","createReducer","on","localStorageSync","menuAdapter","entity","getInitialState","supplement","menuReducerCaseFactory","reduceLoadAllActionSet","reduceClearActionSet","reduceEvasysActionSets","DEFAULT","updateOne","mark","reducer","localStorageSyncReducer","rehydrate","storageKeySerializer","statusAdapter","statusInitialState","statusReducerCaseFactory","reduceLoadOneActionSet","reduceLoadActionSet","removeOne","loadOneSucceed","SUCCESS","FAILURE","systemInfoAdapter","systemInfoReducerCaseFactory","reduceLoadPageActionSet","reduceLoadManyActionSet","actionReducer","wizardAdapter","wizardInitialState","wizardReducerCaseFactory","reduceLoadOneWithParamsActionSet","entities","evasysSelectors","createFeatureSelector","createSelector","getMenuState","selectLoading","selectPageConfig","selectPage","selectLoadedPages","selectEntity","selectMany","selectError","getSelectors","selectIds","selectEntities","selectTotal","selectPermanentOpenState","selectSearchTextState","getStatusState","selectHasError","getSystemInfoState","getWizardState","selectShowWizard","FacadeService","MenuService","menuStore","actions","getMenuItems","store","loadMenus","dispatch","setMenuMark","menuItemName","showMark","openMenuPermanently","open","getPermanentlyMenuOpenState","getSearchTextState","StatusService","ProductService","_this","statusService","productsObservable","refreshProductUrls","_asyncToGenerator","loadingStrategy","refreshedEvaXData","evaXDataToRequestList","evaXData","getEvainsightsProduct","evaInsightsUrl","forwardKey","getEvasysPlusProduct","evasysPlusUrl","isDashboardFeatureAvailable","isActive","UserRights","urlString","getAvailableProducts","STATEFALLBACKAPI","catchFailure","loadData","statusStore","getAllStatuses","createOneStatus","deleteOneStatus","acceptEula","sendEvasysUpdateAnswerToBackend","sendEvasysUpdateRentalAnswerToBackend","sendExtrasUpdateAnswerToBackend","extrasUpdatesAvailable","systemInfoStore","initialDispatch","loadedPages","getManySystemInfos","getMany","service","keyOrMap","WizardService","wizardStore","Injector","NavigateService","AuthService","NotificationService","LegalNoticeService","EvasysSharedFeatureConfiguration","ModalMultipleUsersComponent","UserChangeService","NavigationEnd","ɵɵlistener","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_menuResponse_0_listener","$event","ɵɵrestoreView","_r3","ctx_r2","ɵɵnextContext","ɵɵresetView","onMenuResponse","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_roleResponse_0_listener","ctx_r4","onUserRightChange","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_logoutResponse_0_listener","ctx_r5","onLogout","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_searchAction_0_listener","ctx_r6","onSearch","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_helpAction_0_listener","ctx_r7","onHelp","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_deleteNotificationAction_0_listener","ctx_r8","onNotificationDelete","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_apiCallAction_0_listener","ctx_r9","onApiCallAction","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_openUserSwitch_0_listener","ctx_r10","onOpenUserSwitchAction","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_systemUsageCall_0_listener","ctx_r11","onSystemUsageAction","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_userMenuOpened_0_listener","ctx_r12","onUserMenuOpenAction","AppShellComponent_evasys_topmenu_2_Template_evasys_topmenu_logoClickedAction_0_listener","ctx_r13","onLogoClicked","ɵɵproperty","ɵɵpipeBind2","ɵɵpipeBind1","ctx_r1","ɵɵpureFunction2","_c1","topMenuitems","notifications","userRightDesignation","tmp_2_0","tmp_3_0","tmp_4_0","canSwitchUser","showSystemUsage","activeSystemUser","activeOnlineUser","system","productService","tmp_13_0","logo","logoAlt","AppShellComponent","navigateService","authService","menuService","notificationService","httpService","sharedFeatureConfiguration","injector","userChangeService","legalNoticeService","subscriptions","menuItems","isSidemenuCollapsed","sidemenuItems","authenticated","hasValidToken","authenticatedUserObservable","getSystem","declareFooter","declareIsNotLoginPage","isSidebarPermanentlyOpen","getAllForCollection","loadOrganisationLogo","setMenuItems","initLegalNotice","handleSystemSwitch","sub","logout","changeActiveSideMenuItems","right","authUser","changeActiveRole","lastviewedpage","navigateWithUserRightAndLevel","searchValue","navigateTo","notificationId","deleteOne","apiRoute","addNotification","configid","multipleUsersModal","userSwitchData","refreshUserSwitch","users","onlinesurveys","onUserSwitchOpenChange","isOpen","close","onUserSwitchSubmit","userId","changeUser","onPermanentlyOpenChange","isScantronObservable","isExam","isNotLoginPage","events","event","footerTextObservable","STATETHENAPI","footer","customer","reseller","version","copyright","userRightPointer","clearAll","changeSystemUsageRights","getOneConfigObservable","systemUsageSettingActivated","addTopmenuItems","isMultiPage","activeSubmenu","tooltip","canAccess","STATEONLY","systemInfos","logo_key","logo_file","login_alt_text","getUserForSwitch","viewQuery","AppShellComponent_Query","AppShellComponent_Template_evasys_modal_multiple_users_openChange_0_listener","AppShellComponent_Template_evasys_modal_multiple_users_submitChange_0_listener","ɵɵtemplate","AppShellComponent_evasys_topmenu_2_Template","AppShellComponent_Template_evasys_sidebar_permanentlyOpenChange_7_listener","AppShellComponent_Template_evasys_sidebar_collapsedChange_7_listener","AppShellComponent_Template_evasys_sidemenu_activeChange_11_listener","ɵɵprojection","ɵɵadvance","ModuleWithProviders","MultiPageLinkPipe","TranslatePipe","TranslocoPipe","ModalUpdateCheckComponent","HTTP_INTERCEPTORS","ResponseNotificationInterceptor","LoadingSpinnerComponent","PermissionsModule","ngModule","providers","HttpEvent","HttpHandler","HttpRequest","HttpResponse","intercept","handle","handleSuccessResponse","handleErrorResponse","severity","getMessage","errorResponse","responseCode","translatedResponse","toUpperCase","placeholder","index","translatedPlaceholder","replace","GlobalService","globalService","LoadingSpinnerComponent_Template","LoadingSpinnerComponent_div_0_Template","ChangeDetectorRef","AsyncPipe","asyncPipe","transformUrlObservable","Location","evasysSharedFeatureConfiguration","CSRF_ID","addToken","transformedUrl","navigateBack","targetURL","startSlash","separator","csrf","urlParams","urlParamsString","addChar","navigateWithUserRights","navigateWithUserLevel","userLevel","navigateToStartPage","_this2","_ref","getCompleteStartPage","_x","startPage","getStartPage","arguments","navigateToExternWebsite","PermissionPipe","userService","pipedValue","TemplateRef","ViewContainerRef","PermissionDirective","templateRef","viewContainer","currentUser","updateView","checkPermission","createEmbeddedView","evasysPermission","login","username","password","showLoginMessages","getLoginMessages","notification","navigationService","_route","_state","translocoPipe","inlineLang","modalOpen","updateCheckResponse","onClose","opened","onAccept","Promise","resolve","setTimeout","ModalUpdateCheckComponent_Template","ModalUpdateCheckComponent_Template_evasys_modal_openedChange_0_listener","ModalUpdateCheckComponent_Template_evasys_button_click_7_listener","ɵɵtext","ɵɵsanitizeHtml","ɵɵtextInterpolate","EventEmitter","ModalComponent","ModalConfirmComponent","accept","reject","designs","confirm","modal","ModalConfirmComponent_Query","ModalConfirmComponent_Template_evasys_button_click_4_listener","_r1","_r0","ɵɵreference","emit","ModalConfirmComponent_Template_evasys_button_click_7_listener","ɵɵtextInterpolate1","SECONDARY","__decorate","ButtonModule","ModalModule","ModalConfirmModule","sortBy","ModalMultipleUsersComponent_tr_17_Template_tr_click_0_listener","restoredCtx","user_r1","$implicit","onSubmit","ɵɵclassMap","ɵɵsanitizeUrl","openChange","submitChange","externalIdUsers","userList","list","orderId","outputs","ModalMultipleUsersComponent_Template","ModalMultipleUsersComponent_Template_evasys_modal_openedChange_0_listener","ModalMultipleUsersComponent_tr_17_Template","NgbModule","ReactiveFormsModule","TranslateLevelPipe","TranslateRolesPipe","levelToLangKeyMap","SOAP","langKey","roleBitmap","userRoles","role","roleStrings","roleInBitmap","bitmap","AuthenticateUserActionSet","UnauthenticateUserActionSet","ChangeActiveRoleActionSet","GetUserSwitchDataActionSet","LoginActionSet","LogoutActionSet","RefreshActionSet","EditOneActionSet","LoadOneWithConfigName","fromTranslate","fromConfigs","fromNotifications","fromGlobal","sharedActions","CreateOneActionSet","CreateManyActionSet","DeleteOneActionSet","UpdateOneActionSet","LoadTranslationSet","SharedCoreConfiguration","AuthUserEffects","authenticateUser$","switchUser$","AuthEffects","login$","POST","sso","grant_type","PASSWORD","client_id","client_secret","chosenUserId","captchaResetKey","captchaInputString","forwardinfo","session","tenant_subdomain","refresh$","refresh_token","REFRESH_TOKEN","logout$","expire_time","detail","setSeconds","getSeconds","expires_in","userid","multipleExternalIds","mainUserFullName","ConfigEffects","editOne$","loadOneWithConfigName$","newConfig","TranslateEffects","prefix","identifierCondition","view","translationMap","regex","RequestId","generate","c","r","random","HttpParams","getDynamicParams","requestParams","httpParams","append","mapResponse","mapRequest","handleFileUpload","handleRequestBodyMapping","mapMany","mapFunction","pageConfig","pageCount","page_count","page_size","totalItems","total_items","PUT","DELETE","getFile","fileData","file","File","replaceFilePropertyWithName","bodyUpdate","checkRequestMethod","formName","formData","FormData","order","createAction","_token","actionType","apiRequest","createActionSet","CUSTOM","DELETEMANY","LOAD","LOADPAGEWITHPARAMS","LOADONE","LOADALL","LOADONEWITHPARAMS","LoadWithParamsActionSet","LOADWITHPARAMS","LOADMANY","LoadPageWithFilterActionSet","LOADPAGEWITHFILTER","CREATEONE","CreateOneLocalActionSet","CREATEONELOCAL","UploadFileActionSet","UPLOADFILE","EDITONE","EditOneLocalActionSet","EDITONELOCAL","EditManyActionSet","EDITMANY","DELETEONE","DeleteOneLocalActionSet","DELETEONELOCAL","DeleteManyActionSet","CLEAR","createEntityAdapter","cloneDeep","entitySelector","errorSelector","hasErrorSelector","loadedPagesSelector","loadingSelector","manyEntitiesSelector","manyEntitiesWithFilterSelector","pageConfigSelector","pageSelector","responseSelector","selectWithFilterSelector","loadFailed","loadManySucceed","collection","newState","upsertedState","upsertMany","upsertOne","selectManyWithFilter","selectResponse","selectWithFilter","ofType","mergeMap","fromActions","load$","createSuccessAction","actionSet","requestId","requestFunction","adapter","createOneSuccessStateChange","addOne","deleteOneSuccessStateChange","editOneSuccessStateChange","bind","reduceUploadFileActionSet","reduceLoadPageWithFilterActionSet","reduceLoadWithParamsActionSet","reduceCreateOneActionSet","reduceCreateOneLocalActionSet","reduceDeleteOneActionSet","reduceDeleteOneLocalActionSet","reduceDeleteManyActionSet","removeMany","reduceEditOneActionSet","reduceEditOneLocalActionSet","reduceEditManyActionSet","updateMany","loadingState","entitiesState","loadedPagesState","pageConfigState","pageState","toPage","entityState","entityProps","responseState","errorState","hasErrorState","manyEntitiesState","manyEntitiesProps","manyWithFilterState","manyWithFilterProps","dispatchResult","fromSelectors","requestCounter","entityCount","filterState","asEvasysCollectionModel","getAllLoaded","getAll","getOneWithParams","getPage","getAllUntilPage","getPageConfigs","getError","getResponse","onlyLoadPage","deleteOneLocal","deleteMany","createOne","createOneLocal","updateOneLocal","updates","UserModelClass","userModel","setModel","isAuthorized","activeRole","userInitialState","authUserReducer","AuthUserModule","authInitialState","authReducer","AuthModule","configInitialState","configReducer","ConfigsModule","notificationInitialState","notificationReducer","NotificationModule","translationInitialState","translateReducer","TranslateModule","userAdapter","authUserReducerCaseFactory","authAdapter","authReducerCaseFactory","configAdapter","configReducerCaseFactory","expections","clearedState","expectation","notificationAdapter","notificationReducerCaseFactory","addMany","syncReducer","translationAdapter","translationReducerCaseFactory","getUserState","selectHasAuthenticatedUserOrError","getAuthState","selectHasValidToken","selectHasValidTokenOrError","selectLoginMessages","loginAdditionalData","loginMessages","selectStartPage","userStartPage","selectCompleteStartPage","userStartPageComplete","getConfigState","selectConfigWithName","selectConfigsWithName","names","getNotificationState","getTranslateState","unauthenticateUser","externalId","userForSwitch","loginModel","access_token","logoutResult","finally","removeItem","token_type_hint","refreshLogin","hasToken","throwError","configStore","configValue","getOneConfigPromise","Reflect","globalStore","allLoadingStates","notificationStore","listenToQueryParams","showInCollection","createMany","notificationUpdate","displayed","messageType","translationStore","areAllFilesLoaded","pairwise","UrlService","previousUrl$","isNavigationEnd","previous","UrlSerializer","omit","urlSerializer","userLevels","levels","addRedirectAndSessionUrlParams","redirectUrl","serialize","createUrlTree","loginUrl","parseUrl","newActiveRole","LogoutGuard","isAuthenticated","finalize","take","SharedFeatureConfiguration","Oauth2Interceptor","isRefreshing","refreshTokenSubject","handle401Error","req","newToken","addHeader","accessToken","headers","Authorization","Eva","clone","setHeaders","NgbAlertConfig","asCssClass","notification_r1","DynamicNotificationComponent_ng_container_1_evasys_button_5_Template_evasys_button_evasysRegulationClick_0_listener","_r7","ɵɵelementContainerStart","DynamicNotificationComponent_ng_container_1_Template_ngb_alert_closed_1_listener","_r10","onClosed","DynamicNotificationComponent_ng_container_1_img_2_Template","DynamicNotificationComponent_ng_container_1_evasys_button_5_Template","DynamicNotificationComponent_ng_container_1_Template_evasys_button_click_6_listener","ɵɵelementContainerEnd","ɵɵattribute","ctx_r0","buttonDesign","LINK","DynamicNotificationComponent","alertConfig","dismissible","handleNotifications","notificationsSubscription","duration","ɵɵProvidersFeature","DynamicNotificationComponent_Template","DynamicNotificationComponent_ng_container_1_Template","NgbAlertModule","footerText","FooterComponent","ngContentSelectors","_c0","FooterComponent_Template","FooterComponent_div_1_Template","SharedUiConfiguration","LegalNoticeComponent","isScantronLicense","LegalNoticeComponent_Template","LegalNoticeComponent_a_0_Template","isVisible","_isVisible","_isScantronObservable","visible","MenuComponent_li_5_a_2_Template_a_click_0_listener","_r9","id_r3","onActiveChange","menuitem_r2","MenuComponent_li_5_a_2_Template","MenuComponent_li_5_ng_template_3_Template","ɵɵtemplateRefExtractor","_r5","MenuComponent","activeChange","labelRight","callback","MenuComponent_Template","MenuComponent_Template_ul_activeIdChange_3_listener","MenuComponent_li_5_Template","NotificationCollectionComponent_div_6_div_2_evasys_button_5_Template_evasys_button_click_0_listener","notification_r4","onDeleteAction","NotificationCollectionComponent_div_6_div_2_Template_button_click_3_listener","_r12","NotificationCollectionComponent_div_6_div_2_evasys_button_5_Template","ɵɵpureFunction1","isLast_r5","NotificationCollectionComponent_div_6_div_1_Template","NotificationCollectionComponent_div_6_div_2_Template","NotificationCollectionComponent","deleteAction","apiCallAction","collapsed","onCollapseToggle","NotificationCollectionComponent_Template","NotificationCollectionComponent_Template_button_click_0_listener","NotificationCollectionComponent_Template_div_evasysClickAway_5_listener","NotificationCollectionComponent_div_6_Template","ProductMenuItemComponent","ProductMenuItemComponent_Template","ɵɵstyleProp","renderOnOpen","tmp_1_0","switchtotranslation","ProductMenuComponent","expireTime","onOpenStateChange","refreshMethod","lastRefresh","productstranslation","switchlogo","ProductMenuComponent_Template","ProductMenuComponent_Template_div_evasysClickAway_0_listener","ProductMenuComponent_Template_button_click_1_listener","ProductMenuComponent_div_4_Template","ImageModule","ProductMenuModule","ScreenService","ScreenSizes","FormBuilder","MenuState","SearchHelpComponent","screenService","formBuilder","helpAction","searchAction","MenuStateEnum","menuState","NONE","isMenuCollapsed","isLargeScreenObservable","searchButtonDesign","OUTLINE_LINK","searchForm","searching","isSizeBiggerThanObservable","M","onButtonClick","HELPING","SEARCHING","onSearchSubmit","onClickOutside","SearchHelpComponent_Template","SearchHelpComponent_Template_div_evasysClickAway_0_listener","SearchHelpComponent_Template_button_click_3_listener","SearchHelpComponent_Template_button_click_8_listener","SearchHelpComponent_Template_div_ngbCollapseChange_13_listener","SearchHelpComponent_Template_evasys_button_click_22_listener","SearchHelpComponent_Template_evasys_button_keyup_enter_22_listener","ɵɵclassProp","forwardRef","NG_VALUE_ACCESSOR","ɵɵpropertyInterpolate","_language","SearchboxComponent","thinStyle","_onChange","_onTouched","onChange","registerOnChange","fn","registerOnTouched","writeValue","useExisting","SearchboxComponent_Template","SearchboxComponent_img_1_Template","SearchboxComponent_Template_evasys_textbox_ngModelChange_2_listener","SearchboxComponent_Template_evasys_textbox_blurAction_2_listener","SidebarContainerComponent","scrollbar","SidebarContainerComponent_Template","SidebarComponent_div_0_div_4_Template_evasys_checkbox_checkedChange_1_listener","onPermanentlyOpen","_permanentlyOpen","SidebarComponent_div_0_Template_div_hesitate_0_listener","onHover","SidebarComponent_div_0_div_4_Template","_collapsed","openTimeout","SidebarComponent","updateCollapsed","hostClass","collapsedChange","permanentlyOpenChange","hover","_hover","hostVars","hostBindings","SidebarComponent_HostBindings","SidebarComponent_div_0_Template","SidemenuComponent_ng_container_1_evasys_menu_1_Template_evasys_menu_activeChange_0_listener","_r6","i_r2","ctx_r3","sidemenuItem_r1","SidemenuComponent_ng_container_1_evasys_menu_1_Template","SidemenuComponent","sideMenuItems","_sidemenuItems","menuAccess","accessArr","handleOutsideRouting","searchIndex","mItem","findIndex","groupIndex","SidemenuComponent_Template","SidemenuComponent_ng_container_1_Template","SystemUsageComponent","sharedUiConfigs","systemUsageCall","onSystemUsageCall","SystemUsageComponent_Template","SystemUsageComponent_Template_a_click_5_listener","SystemUsageComponent_Template_a_click_10_listener","SystemUsageComponent_Template_a_click_13_listener","SystemUsageComponent_Template_a_click_18_listener","TopMenuComponent","logoClickedAction","isMobileMenuCollapsed","TopMenuComponent_Template","TopMenuComponent_Template_button_click_2_listener","toggle","TopMenuComponent_Template_button_click_6_listener","TopMenuComponent_Template_div_ngbCollapseChange_10_listener","tmp_8_0","Observable","product_r3","TopmenuComponent_evasys_product_menu_5_ng_container_1_ng_container_1_evasys_product_menu_item_1_Template","TopmenuComponent_evasys_product_menu_5_ng_container_1_ng_container_1_Template","TopmenuComponent_evasys_product_menu_5_ng_container_1_Template","productRefreshMethod","TopmenuComponent","roleItems","menuResponse","roleResponse","logoutResponse","deleteNotificationAction","openUserSwitch","userMenuOpened","connected","currentProduct","onDeleteNotification","TopmenuComponent_Template","TopmenuComponent_Template_button_click_2_listener","_r8","TopmenuComponent_evasys_product_menu_5_Template","TopmenuComponent_Template_button_click_7_listener","TopmenuComponent_Template_evasys_usermenu_roleResponse_10_listener","TopmenuComponent_Template_evasys_usermenu_logoutResponse_10_listener","TopmenuComponent_Template_evasys_usermenu_systemUsageCall_10_listener","TopmenuComponent_Template_evasys_usermenu_userMenuOpened_10_listener","TopmenuComponent_Template_evasys_usermenu_openUserSwitch_10_listener","TopmenuComponent_Template_evasys_notification_collection_deleteAction_11_listener","TopmenuComponent_Template_evasys_notification_collection_apiCallAction_11_listener","TopmenuComponent_Template_div_ngbCollapseChange_12_listener","TopmenuComponent_Template_evasys_tabs_response_14_listener","TopmenuComponent_Template_evasys_search_help_helpAction_17_listener","TopmenuComponent_Template_evasys_search_help_searchAction_17_listener","ɵɵpipeBind3","tmp_9_0","FormControl","value_r9","role_r11","UsermenuComponent_div_5_evasys_dropdown_9_div_7_evasys_selector_item_2_Template","roleControl","roles","UsermenuComponent_div_5_evasys_dropdown_9_Template_evasys_dropdown_valueChange_0_listener","_r13","respond","UsermenuComponent_div_5_evasys_dropdown_9_span_6_Template","UsermenuComponent_div_5_evasys_dropdown_9_div_7_Template","_c2","UsermenuComponent_div_5_evasys_button_14_Template_evasys_button_click_0_listener","_r15","ctx_r14","UsermenuComponent_div_5_evasys_system_usage_15_Template_evasys_system_usage_systemUsageCall_0_listener","_r17","ctx_r16","UsermenuComponent_div_5_evasys_dropdown_9_Template","UsermenuComponent_div_5_Template_evasys_button_evasysRegulationClick_11_listener","_r19","ctx_r18","UsermenuComponent_div_5_evasys_button_14_Template","UsermenuComponent_div_5_evasys_system_usage_15_Template","isCollapsed","UsermenuComponent","UsermenuComponent_Query","UsermenuComponent_Template_div_evasysClickAway_1_listener","UsermenuComponent_Template_button_click_2_listener","UsermenuComponent_div_5_Template","AbstractInputComponent","readonly","touched","_isDisabled","input","isDisabled","setDisabledState","onInput","onWriteValue","disable","enable","reset","AbstractInputComponent_Template","encapsulation","ButtonToggleComponent","_valueChanges","_value","onTouched","ButtonToggleComponent_Template","ButtonToggleComponent_span_1_Template","StateClasses","ToggleButtonDirective","onClick","buttonToggleComponent","elementRef","elementClass","deactivated","checkIsActive","valueChangeSubsription","activated","ToggleButtonDirective_HostBindings","dateIsValid","getDefaultChar","createDatePattern","initFormat","defaultChar","dateTimeFormatSpilt","dateFormatSplit","timeFormatSplit","datePattern","CheckboxComponent","CheckboxModule","Renderer2","errors","checked","_checked","changeDetectionRef","renderer","labelPosition","RIGHT","hiddenLabel","arrange","checkedChange","clearAction","indeterminate","_labelPosition","changeEvent","inputElem","setProperty","listenToChangeEvent","onChecked","isInvalid","CheckboxComponent_Query","CheckboxComponent_Template","CheckboxComponent_Template_input_change_1_listener","CheckboxComponent_evasys_error_6_Template","LEFT","effect","DropdownComponent","DropdownMenuDirective","PUFFER_HEIGHT","dropdownComponent","viewContainerRef","onOpenStateChanged","embeddedViewRef","rootNodes","classList","add","determineMenuHeight","determineMenuWidth","dropdownMenuComponent","allowSignalWrites","node","menuHeight","innerHeight","getBoundingClientRect","maxHeight","menuWidth","innerWidth","maxWidth","createPopper","fromEvent","DropdownToggleDirective","eventType","popperOptions","placement","_menuPlacement","onDropdownMenuChanged","popperInstance","destroy","onEvent","isMap","DropdownValueDirective","onValueChanged","mappedValue","_mapping","keyValue","DropdownPrimaryComponent","DropdownFilterComponent","NgxPopperjsModule","TextOverflowModule","ClickAwayModule","DropdownModule","splitControlValues","valueChange","_isInvalid","onControlsChanged","onStatusChanged","onClickAway","formControls","menuPlacement","DropdownComponent_Template","DropdownComponent_Template_div_evasysClickAway_0_listener","raisingFormatter","toObservableFormatter","TypeaheadComponent","ChipTypeaheadComponent_div_3_ng_container_1_Template_evasys_chip_removeAction_1_listener","chip_r11","removeChip","_formatter","ChipTypeaheadComponent_div_3_ng_container_2_Template_evasys_button_click_1_listener","setChips","buttonStyle","ɵɵtextInterpolate2","chips","ChipTypeaheadComponent_div_3_ng_container_1_Template","ChipTypeaheadComponent_div_3_ng_container_2_Template","ɵɵelementContainer","ChipTypeaheadComponent_div_4_div_1_Template_evasys_button_click_8_listener","_r21","chip_r17","ctx_r20","ChipTypeaheadComponent_div_4_div_1_ng_container_10_Template","last_r18","iconStyle","chipContentTemplate","ChipTypeaheadComponent_div_4_div_1_Template","tmp_0_0","chipVisibleSize","ChipTypeaheadComponent_ng_template_5_div_1_evasys_button_1_Template_evasys_button_click_0_listener","_r29","canSelectAll_r26","ngLet","results_r22","ctx_r27","selectAllResults","latestResults","ctx_r25","_c3","totalElements","maxTotalSelectedElements","ChipTypeaheadComponent_ng_template_5_div_1_evasys_button_1_Template","isLoadingNewQuery","isLoadingMore","ctx_r24","ChipTypeaheadComponent_ng_template_5_ng_container_0_Template","ChipTypeaheadComponent_ng_template_5_div_1_Template","header","showSelectAll","ChipTypeaheadComponent_ng_template_7_ng_container_3_Template","entity_r32","isSelected","isPartSelected","resultTemplate","ɵɵpureFunction3","_c4","term_r33","text_r34","text_r36","term_r37","ChipTypeaheadComponent","cd","design","popoverContainer","typeaheadInputValue","chipTypeaheadDesign","inputValueReplaceStrategy","canSelectAllElements","filterUnselected","childItemIdentifier","chip","getIdentifier","matchedCount","updateUnselectedItems","unselectedItems","pageRequest","unselected","canSelectAll","concat","preventDefault","toggleChip","hasChildItem","chipsToAdd","detectChanges","chipsToRemove","ChipTypeaheadComponent_Query","_c5","ChipTypeaheadComponent_Template","ChipTypeaheadComponent_Template_evasys_typeahead_ngModelChange_0_listener","ChipTypeaheadComponent_Template_evasys_typeahead_blur_0_listener","ChipTypeaheadComponent_div_3_Template","ChipTypeaheadComponent_div_4_Template","ChipTypeaheadComponent_ng_template_5_Template","ChipTypeaheadComponent_ng_template_7_Template","ChipTypeaheadComponent_ng_template_9_Template","searchFailedText","autoFocus","popoverClass","KEEP_INPUT_VALUE","LIST","NgbDropdown","DropdownOptionalComponent_button_7_Template_button_focus_0_listener","onFocus","DropdownOptionalComponent_button_7_Template_button_blur_0_listener","inputControl","DropdownOptionalComponent_button_13_Template_button_click_0_listener","_r11","item_r9","onSelect","error_r12","DropdownOptionalComponent_ng_container_14_div_1_Template","DropdownOptionalComponent","focusAction","blurAction","pageChange","focused","labelInside","documentElement","getPropertyValue","val","determineLabel","onOpenChange","dropdownElement","DropdownOptionalComponent_Query","DropdownOptionalComponent_Template","DropdownOptionalComponent_Template_div_openChange_0_listener","DropdownOptionalComponent_Template_input_focus_4_listener","DropdownOptionalComponent_Template_input_blur_4_listener","DropdownOptionalComponent_Template_input_input_4_listener","DropdownOptionalComponent_button_7_Template","DropdownOptionalComponent_span_11_Template","DropdownOptionalComponent_Template_div_pageChange_12_listener","DropdownOptionalComponent_button_13_Template","DropdownOptionalComponent_ng_container_14_Template","offsetHeight","ComponentRef","EMPTY","sample","NgbPopover","exhaustScan","maxSizePopperOptions","minWidthReference","TypeaheadPopoverService","text_r7","formatter$","term_r8","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_ng_container_3_ng_container_1_Template","ctx_r19","entity_r17","results_r10","text_r21","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_button_7_ng_container_2_ng_container_1_Template","child_r25","ctext_r28","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_button_7_Template_button_click_0_listener","_r33","ctx_r32","onItemClick","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_button_7_Template_button_mouseenter_0_listener","ci_r26","i_r18","ctx_r34","onItemMouseenter","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_button_7_ng_container_2_Template","activeIndex","activeChildIndex","hasInputFocus","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_Template_button_click_1_listener","_r38","ctx_r37","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_Template_button_mouseenter_1_listener","ctx_r39","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_ng_container_3_Template","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_button_7_Template","TypeaheadComponent_ng_template_10_div_0_ng_container_4_ng_container_1_Template","ctx_r15","TypeaheadComponent_ng_template_10_div_0_Template_div_mousedown_0_listener","_r42","ctx_r41","onPopoverMouseDown","TypeaheadComponent_ng_template_10_div_0_Template_div_scrolled_0_listener","ctx_r43","onScrolled","TypeaheadComponent_ng_template_10_div_0_ng_container_1_Template","TypeaheadComponent_ng_template_10_div_0_div_3_Template","TypeaheadComponent_ng_template_10_div_0_ng_container_4_Template","TypeaheadComponent_ng_template_10_div_0_div_5_Template","TypeaheadComponent_ng_template_10_div_0_div_6_Template","TypeaheadComponent_ng_template_10_div_0_Template","results$","items$","clearSearchText","searchText$","typeaheadPopoverService","autoClosePopoverOnSelect","REPLACE_WITH_SELECTED_VALUE","isOpen$","selected$","loadMore$","buildInfiniteScrollingSearch","escapeKeySubscription","resultsSubscription","borderAvoidingPopperOptions","minWidth","minHeight","left","bottom","onBodyClick","ev","popoverWindow","popover","_windowRef","contains","inputContainer","popoverOption","modifier","modifiers","offset","onFirstUpdate","elements","arrow","display","popper","onSearchTextChange","applySearch","selected","formattedItem","focus","stopPropagation","inputIntersectionObserver","IntersectionObserver","isIntersecting","onEscapeKeydown","onArrowDownKeydown","isReady","onArrowUpKeydown","activeItemChildCount","onConfirmKeydown","activeExists","currentResult","childIndex","onInputMouseDown","activeElement","addBodyClickHandlerForInstance","removeBodyClickHandlerForInstance","scrollingState","acc","TypeaheadComponent_Query","_c6","TypeaheadComponent_Template","TypeaheadComponent_ng_template_0_Template","TypeaheadComponent_Template_input_click_4_listener","TypeaheadComponent_Template_input_focus_4_listener","TypeaheadComponent_Template_input_mousedown_4_listener","TypeaheadComponent_Template_input_keydown_escape_4_listener","TypeaheadComponent_Template_input_keydown_arrowDown_4_listener","TypeaheadComponent_Template_input_keydown_arrowUp_4_listener","TypeaheadComponent_Template_input_keydown_enter_4_listener","TypeaheadComponent_Template_input_keydown_tab_4_listener","TypeaheadComponent_Template_input_ngModelChange_4_listener","TypeaheadComponent_ng_template_10_Template","PAGE_SIZE","buildInfiniteScrollingSearchFromItemSearch","buildInfiniteScrollingSearchFromStaticItems","previousPageState","pageNum","last","infiniteScrollingState","itemsWithTexts$","toLowerCase","matchingItems","hasValue","DropdownFilterComponent_Template","QueryList","ErrorComponent","contentQueries","DropdownPrimaryComponent_ContentQueries","dirIndex","DropdownPrimaryComponent_div_1_Template","DropdownPrimaryComponent_span_4_Template","OrderSelectorComponent_a_1_Template_a_click_0_listener","i_r3","onTopSelect","selectedFormControl","item_r2","uniqueName","OrderSelectorComponent_option_3_Template_option_click_0_listener","item_r6","selectionsFormGroup","OrderSelectorComponent","createFormGroup","_items","selectItems","activeSelect","multiSelect","selectSize","activeSelectChange","selectedTopItem","controlNames","controlConfig","clearFollowingSelector","OrderSelectorComponent_Template","OrderSelectorComponent_a_1_Template","OrderSelectorComponent_option_3_Template","RadioButtonComponent","lablePosition","isChecked","_fn","RadioButtonComponent_Query","RadioButtonComponent_Template","RadioButtonComponent_Template_input_change_1_listener","RadioButtonComponent_evasys_error_6_Template","isSelectorGroup","selectItem_r3","SelectAreaComponent_evasys_selector_5_Template_evasys_selector_pageChange_0_listener","SelectAreaComponent_evasys_selector_5_Template_evasys_selector_selectionChange_0_listener","SelectAreaComponent_evasys_selector_5_evasys_selector_item_1_Template","multiple","SelectAreaComponent","itemsChange","focusedChange","selectionChange","_canFocus","_selectItems","_focused","canFocus","focusable","selectItem","SelectAreaComponent_Template","SelectAreaComponent_Template_button_click_2_listener","SelectAreaComponent_p_4_Template","SelectAreaComponent_evasys_selector_5_Template","SelectorGroupComponent","SelectorGroupComponent_Template","SelectorComponent","selectorComponent","checkIcon","SelectorItemComponent","allowDeselection","stretchItem","forbiddenDeselectionAction","selectStateChanged","_isSelected","dataCy","mouseEvent","shiftKey","allowMultiSelect","selectBetween","handleDeselection","handleSelection","onMouseEnter","isMouseDown","onValueChange","forceSelection","onlyNewSelectionChange","SelectorItemComponent_HostBindings","SelectorItemComponent_mouseenter_HostBindingHandler","SelectorItemComponent_img_1_Template","SelectorPrimaryComponent","SelectorPrimaryComponent_Template","SelectorModule","onMouseDown","onMouseUp","onMouseLeave","fromValue","toValue","selectedValues","selectedValue","newSelectedValues","formControlName","SelectorComponent_Template","SelectorComponent_Template_div_mouseleave_0_listener","SelectorComponent_Template_div_mousedown_0_listener","SelectorComponent_Template_div_mouseup_0_listener","TextAreaComponent","rows","class","ɵɵInheritDefinitionFeature","TextAreaComponent_Template","TextAreaComponent_Template_div_click_0_listener","TextAreaComponent_Template_textarea_focus_2_listener","TextAreaComponent_Template_textarea_blur_2_listener","TextAreaComponent_Template_textarea_input_2_listener","TextAreaComponent_span_7_Template","TextAreaComponent_evasys_error_8_Template","TextboxComponent","NumbersOnlyModule","ErrorModule","NoteModule","TextboxModule","additionalText","TextboxComponent_button_9_Template_button_click_0_listener","onClear","descriptionAsInnerHTML","clearButton","keydownAction","keyCode","TextboxComponent_Query","TextboxComponent_Template","TextboxComponent_Template_div_click_0_listener","TextboxComponent_div_1_Template","TextboxComponent_Template_input_focus_3_listener","TextboxComponent_Template_input_blur_3_listener","TextboxComponent_Template_input_input_3_listener","TextboxComponent_Template_input_keydown_3_listener","TextboxComponent_span_8_Template","TextboxComponent_button_9_Template","TextboxComponent_evasys_note_10_Template","TextboxComponent_evasys_error_11_Template","UploadBoxComponent_div_1_Template_button_click_4_listener","_r4","onImageClear","previewAsBase64String","imagePreviewSrc","UploadBoxComponent","outputType","imagePreview","fileContent","readFileError","fileSizeError","fileAcceptError","onFileChange","files","fileType","maxSizeKb","fileInputElement","emitFileContent","textboxComponent","createFilePreview","reader","FileReader","onload","onerror","readAsDataURL","fileName","readAsArrayBuffer","readAsBinaryString","readAsText","UploadBoxComponent_Query","UploadBoxComponent_Template","UploadBoxComponent_div_1_Template","UploadBoxComponent_Template_evasys_textbox_clearAction_3_listener","UploadBoxComponent_Template_evasys_button_evasysRegulationClick_7_listener","_r2","click","UploadBoxComponent_Template_input_change_10_listener","LocalStorageSubject","AccordionComponent","accordionId","AccordionItemComponent","_show","accordion","activeAccordionItemId","syncWithLocalStorage","sync","_initialShow","init","registerAccordionItem","onToggle","attrs","AccordionItemComponent_Template","AccordionItemComponent_Template_button_click_2_listener","AccordionItemComponent_div_4_Template","accordionItems","_activeAccordionItemId","alwaysOpen","accordionItem","AccordionComponent_Template","BreadcrumbComponent_nav_0_li_2_a_1_Template","BreadcrumbComponent_nav_0_li_2_span_2_Template","last_r3","BreadcrumbComponent_nav_0_li_2_Template","BreadcrumbComponent","maxBreadCrumbLength","getBreadCrumbText","BreadcrumbComponent_Template","BreadcrumbComponent_nav_0_Template","error_r1","ErrorComponent_ng_container_0_div_1_Template","ErrorComponent_Template","ErrorComponent_ng_container_0_Template","LoadComponentComponent","loadedComponent","component","LoadComponentComponent_Template","LoadComponentComponent_div_0_Template","LoadComponentComponent_div_1_Template","LoadComponentComponent_div_2_Template","LoadComponentComponent_div_3_Template","LoadComponentComponent_div_4_Template","BUTTON","TEXTBOX","TEXT","LOGO","backdropColorClass","LoadingOverlayComponent","LoadingOverlayComponent_Template","LoadingOverlayComponent_div_0_Template","LoadingOverlayModule","IfContentModule","NgbModal","ModalComponent_ng_template_0_evasys_button_2_Template_evasys_button_click_0_listener","modal_r2","dismiss","ModalComponent_ng_template_0_evasys_button_2_Template","closeable","_open","modalService","scrollable","centered","backdrop","beforeDismiss","onDismiss","openedChange","ModalComponent_Query","ModalComponent_ng_template_0_Template","MoreMenuItemComponent","MoreMenuItemComponent_Template","MoreMenuComponent","isMenuOpen","onToggleMenu","MoreMenuComponent_Template","MoreMenuComponent_Template_div_evasysClickAway_0_listener","MoreMenuComponent_Template_evasys_button_click_1_listener","MoreMenuComponent_div_3_Template","PaginationComponent_div_0_Template_evasys_button_click_1_listener","pageBackward","PaginationComponent_div_0_Template_ngb_pagination_pageChange_6_listener","ngbOnChange","PaginationComponent_div_0_Template_evasys_button_click_8_listener","pageForward","backwardButtonDisabled","maxSize","fowardButtonDisabled","PaginationComponent","pageNumberChange","pageNumber","PaginationComponent_Template","PaginationComponent_div_0_Template","PopperMenuComponent_div_0_button_1_Template_button_click_0_listener","item_r5","selectedItemAction","eventResponse","PopperMenuComponent_div_0_button_1_img_1_Template","checkedItemIds","sharedUiConfiguration","PopperMenuComponent_div_0_button_3_Template_button_click_0_listener","onShowAllItems","PopperMenuComponent_div_0_button_1_Template","PopperMenuComponent_div_0_div_2_Template","PopperMenuComponent_div_0_button_3_Template","PopperMenuComponent_div_0_evasys_load_component_4_Template","nothingFound","showAllItems","enableShowAllItemsButton","waitForAllItems","PopperMenuComponent","showAllItemsAction","PopperMenuComponent_Template","PopperMenuComponent_div_0_Template","ProgressBarComponent","ProgressBarComponent_Template","ɵɵstyleMap","ɵɵclassMapInterpolate1","index_r2","current","ProgressStepsComponent","total","_total","ProgressStepsComponent_Template","ProgressStepsComponent_span_1_Template","isSelectorItem","SelectAreaPipeComponent","areaSubs","focusSubs","_areas","areas","clearAreaSubscriptions","area","resetForm","ngAfterContentInit","areaQuery","toArray","selectAreas","ngAfterContentChecked","clearFocusSubscriptions","focusedIndex","focusedArea","selectOneAndOnlyItemForArea","nextIndex","lastAreaFilled","areaIndex","areaFilled","selectorItems","itemOrGroup","SelectAreaPipeComponent_ContentQueries","ShowMoreComponent","throttleTime","ShowMoreContainerDirective","visibleComponentsSubject","resize$","isFirstCheckDone","listenToResize","listenOnVisibleComponentsOverflow","listenOnVisibleComponents","ngAfterViewChecked","checkForVisibleComponents","resizeObserver","isOverflow","scrollHeight","updateDOM","ResizeObserver","animationFrameId","cancelAnimationFrame","requestAnimationFrame","container","components","showMoreComponents","visibleComponents","currentComponent","currentIndex","innerElement","containerRect","ShowMoreContainerDirective_ContentQueries","ShowMoreComponent_button_4_Template_button_click_0_listener","onShowMoreClicked","sharedUiConfigurations","_isOverflow","showMoreContainerDirective","changeDetectorRef","maxLines","isClicked","setStyle","ShowMoreComponent_Query","ShowMoreComponent_button_4_Template","statusCardEnum","LOADING","StatusCardComponent_div_0_div_3_Template","SUCCEEDED","FAILED","statusText","StatusCardComponent","onStatusChange","loadingText","failedText","StatusCardComponent_Template","StatusCardComponent_div_0_Template","StatusCardModule","NgControl","RequiredStepDirective","ngControl","isControlValid","formControl","hasValidator","addValidators","clearControl","StepFilterComponent","toObservable","StepFilterItemComponent","loadAction","stepFilterComponent","activeStepFilterItem","isStepValid","isFirst","canStepFilterItemToBeActivated","isPreloaded","requiredStepDirectives","requiredStepDirective","onActivate","isFormValid","onPreload","StepFilterItemComponent_ContentQueries","StepFilterItemComponent_Template_button_click_1_listener","StepFilterItemComponent_Template_button_mouseenter_1_listener","StepFilterItemComponent_img_2_Template","StepFilterItemComponent_ng_template_4_Template","StepFilterConfig","StepFilterComponent_div_6_Template_evasys_button_click_1_listener","onClearButtonClicked","StepFilterComponent_div_6_Template_evasys_button_click_4_listener","onBackButtonClicked","StepFilterComponent_div_6_Template_evasys_button_click_7_listener","onNextButtonClicked","StepFilterComponent_div_6_Template_evasys_button_mouseenter_7_listener","onPreloadNextItems","isStepFilterItemActive","stepFilterConfig","submitAction","stepFilterItemComponents","listenToValueChanges","stepFilterItemComponent","canBeActivated","currentstepFilterItemComponent","StepFilterComponent_ContentQueries","StepFilterComponent_ng_container_5_Template","StepFilterComponent_div_6_Template","stepContent","TabsComponent_li_2_button_1_Template_button_click_0_listener","tabitem_r2","onItemClicked","orientation","subItem_r15","TabsComponent_li_2_div_2_a_1_Template_a_click_0_listener","_r22","subId_r16","ctx_r21","onSubItemClicked","TabsComponent_li_2_div_2_a_1_div_2_Template","TabsComponent_li_2_div_2_a_1_img_3_Template","isTitleImage","TabsComponent_li_2_div_2_a_1_Template","subItems","TabsComponent_li_2_ng_template_3_a_0_Template_a_click_0_listener","_r27","ctx_r28","ctx_r26","activeSub","TabsComponent_li_2_ng_template_3_a_0_Template","TabsComponent_li_2_Template_li_click_0_listener","openSupMenu","TabsComponent_li_2_button_1_Template","TabsComponent_li_2_div_2_Template","TabsComponent_li_2_ng_template_3_Template","TabsComponent_li_2_ng_template_5_Template","openSubMenuId","TabsComponent","tabitems","underline","centerItems","responsive","determineOrientation","counterId","subCounterId","activeSubMenu","subItemData","TabsComponent_HostBindings","ɵɵresolveWindow","TabsComponent_Template_ul_mouseleave_0_listener","TabsComponent_Template_ul_activeIdChange_0_listener","TabsComponent_li_2_Template","ValidatorFn","componentProperty_r6","toolTip","ɵɵpureFunction8","getValidationErrorTrigger","group_r2","getValidationError","requiredLength","tmp_4_1","disabledIf","fieldName","fieldValues","maxlen","minlen","ɵɵpureFunction6","tmp_2_1","tmp_3_1","value_r25","item_r27","WizardComponent_div_6_div_1_ng_container_2_evasys_dropdown_5_div_6_evasys_selector_item_2_Template","keyValueList","WizardComponent_div_6_div_1_ng_container_2_evasys_dropdown_5_span_5_Template","WizardComponent_div_6_div_1_ng_container_2_evasys_dropdown_5_div_6_Template","WizardComponent_div_6_div_1_ng_container_2_evasys_selector_primary_6_evasys_selector_item_5_Template_evasys_selector_item_forbiddenDeselectionAction_0_listener","_r34","selectItem_r32","ctx_r33","WizardComponent_div_6_div_1_ng_container_2_evasys_selector_primary_6_evasys_selector_item_5_Template_evasys_selector_item_selectStateChanged_0_listener","ctx_r35","checkTriggerEvent","triggerEvent","noDeselection","WizardComponent_div_6_div_1_ng_container_2_evasys_selector_primary_6_evasys_selector_item_5_Template","multiselect","WizardComponent_div_6_div_1_ng_container_2_evasys_upload_box_7_Template_evasys_upload_box_fileAcceptError_0_listener","_r39","ctx_r38","onForbiddenFileType","WizardComponent_div_6_div_1_ng_container_2_evasys_upload_box_7_Template_evasys_upload_box_fileSizeError_0_listener","ctx_r40","onFileSizeTooBig","ɵɵpureFunction0","WizardComponent_div_6_div_1_ng_container_2_evasys_button_8_Template_evasys_button_evasysRegulationClick_0_listener","_r44","ctx_r42","buttonAction","WizardComponent_div_6_div_1_ng_container_2_evasys_header_1_Template","WizardComponent_div_6_div_1_ng_container_2_evasys_textbox_2_Template","WizardComponent_div_6_div_1_ng_container_2_evasys_text_area_3_Template","WizardComponent_div_6_div_1_ng_container_2_div_4_Template","WizardComponent_div_6_div_1_ng_container_2_evasys_dropdown_5_Template","WizardComponent_div_6_div_1_ng_container_2_evasys_selector_primary_6_Template","WizardComponent_div_6_div_1_ng_container_2_evasys_upload_box_7_Template","WizardComponent_div_6_div_1_ng_container_2_evasys_button_8_Template","typename","evasysPropertyTypeNameEnum","HEADLINE","STRING","invisible","hidden","TEXTAREA","BOOL","IMAGE","WizardComponent_div_6_div_1_ng_container_2_Template","WizardComponent_div_6_div_1_Template","startStep","step","intermediateStep","WizardComponent_evasys_button_8_Template_evasys_button_click_0_listener","_r49","ctx_r48","onCancel","WizardComponent","_propertyGroups","createDynamicForm","_step","stepChange","totalSteps","showValidationErrors","disableNextButton","showCancelButton","cancelAction","backAction","nextAction","eventTriggerItemChangeAction","onBack","onNext","groupInvalid","lastStep","propertyGroup","removeControl","controlValidations","createControlValidations","groupValidators","createGroupValidations","newGroup","validators","setControl","validations","asyncValidations","secure","equals","equalToField","invalid","groupName","controlName","validationName","isGroupValidation","validationError","headline","WizardComponent_Template","WizardComponent_Template_evasys_modal_openedChange_0_listener","WizardComponent_div_6_Template","WizardComponent_evasys_button_8_Template","WizardComponent_Template_evasys_button_click_9_listener","WizardComponent_Template_evasys_button_evasysRegulationClick_12_listener","ButtonComponent","PRIMARY","ButtonComponent_Template","imageAlt","imageSrc","ChipComponent","removeAction","_removeAction","ChipComponent_HostBindings","ChipComponent_img_1_Template","ChipComponent_Template_evasys_button_click_4_listener","CollapseButtonComponent","labelClass","buttonDesigns","label","labelCollapsed","labelExpanded","collapse","collapseComponent","_isCollapsed","currentLabel","CollapseButtonComponent_Template","CollapseButtonComponent_Template_evasys_button_click_0_listener","EmptyContentComponent","EmptyContentComponent_Template","HeaderComponent","HeaderModule","headerLevel","HeaderComponent_Template","HeaderComponent_h1_0_Template","HeaderComponent_h2_1_Template","HeaderComponent_h3_2_Template","HeaderComponent_h4_3_Template","HeaderComponent_h5_4_Template","HeaderComponent_h6_5_Template","ListComponent_li_1_a_1_Template_a_click_0_listener","listitem_r1","ListComponent_li_1_a_1_Template","ListComponent_li_1_p_2_Template","ListComponent","listitems","ListComponent_Template","ListComponent_li_1_Template","LoadingComponent","LoadingModule","takeUntil","timer","ɵɵnamespaceSVG","ɵɵnamespaceHTML","_size","loadingIconSize","lg","xl","LoadingIconSize","_loading","md","destroy$","LoadingComponent_Template","LoadingComponent_div_0_Template","MarkComponent","marked","MarkComponent_Template","MarkComponent_span_1_Template","MetaInfoComponent","MetaInfoComponent_Template","MetaInfoModule","NgbPopoverModule","NoteComponent","note","asInnerHTML","NoteComponent_Template","NoteComponent_ng_template_0_Template","NoteComponent_img_2_Template","OverlayComponent","openOnHover","OverlayComponent_Template","OverlayComponent_Template_div_mouseenter_0_listener","OverlayComponent_Template_div_mouseleave_0_listener","OverlayComponent_div_2_Template","StaticNotificationComponent_ngb_alert_0_Template_ngb_alert_closed_0_listener","StaticNotificationComponent","hiddenChange","StaticNotificationComponent_Template","StaticNotificationComponent_ngb_alert_0_Template","TableAreaService","TableAreaRegisterService","TableAreaListDirective","tableAreaService","guiItems","TableComponent","TableAreaNestedElementDirective","tableAreaRegisterService","tableComponent","registerComponent","componentRegister","componentName","getComponent","TableAreaComponent","TableAreaModule","SortEnum","searchboxComponent","_searchboxComponent","loadingOverlayComponent","_loadingOverlayComponent","_tableComponent","loadMethod","setItems","_isLoading","minMaxHeight","loadOnInit","tableAreaArgsChanges","tableAreaArgsObservable","getTableAreaArgsFromQueryParams","tableAreaArgs","tableMaxHeight","screen","addSortEvent","addSearchEvent","handleItemChanges","handleTableArgsFromQueryParams","sortingModel","newTableAreaArgs","ASC","DESC","onlyInGui","searchKeys","table","defaultTableHeadSorted","tableHeads","setSorting","sortInfos","sortAction","TableAreaComponent_ContentQueries","TableAreaComponent_ng_content_9_Template","guiItemsSubject","itemsSubject","searchedItems","sortArray","entityA","entityB","sortValueA","sortValueB","localeCompare","TableCellImageComponent","TableCellClickableComponent_div_0_ng_container_1_Template","TableCellClickableComponent_div_1_ng_container_1_Template","TableCellClickableComponent","clickable","updateImageIds","imageCells","cell","TableCellClickableComponent_ContentQueries","TableCellClickableComponent_div_0_Template","TableCellClickableComponent_div_1_Template","TableCellClickableComponent_ng_template_2_Template","src","alt","isIcon","altTextAsLabel","TableCellImageComponent_Template","TableCellImageComponent_img_0_Template","TableCellImageComponent_img_1_Template","TableCellTextComponent","TableCellTextComponent_Template","TableColumnComponent","horizontalPosition","verticalPosition","TableColumnComponent_Template","TableConfiguration","TableHeadComponent","sortable","sortByDefault","sortingChange","sortOrderAscendingChange","sorting","imageId","imageIdCounter","overflowText","TableHeadComponent_Template","TableHeadComponent_Template_div_click_0_listener","fixedLayout","_tableHeads","tableHeadSubs","sortingSubs","clearTableHeadSubs","onSorting","columnQuery","findAndActivateDefaultSort","clearSortingSubs","sortingIndex","sortingTableHead","TableComponent_ContentQueries","PageComponent","PageModule","PageComponent_Template","ClickAwayDirective","clickAwayActive","unsubscribeClickOutside","clickOutsideSubscription","clickOutside$","e","host","evasysClickAway","toggleElement","FoldableDirective","FoldableModule","isFolded","onFoldedChange","foldableTemplateRef","remove","evasysFoldableTemplateRef","folded","htmlElement","HesitateDirective","evasysHesitate","hesitate","clearTimer","clearTimeout","ImageDirective","_id","asBase64String","_src","addTimestampToSrc","renderer2","_alt","checkAltText","checkSettedAttributes","getAttribute","DisabledDirective","evasysDisabled","_disabled","NumbersOnlyDirective","onKeyDown","evasysNumbersOnly","ctrlKey","metaKey","match","onPaste","clipboardData","NumbersOnlyDirective_HostBindings","NumbersOnlyDirective_paste_HostBindingHandler","TRANSLATE_Y_REGEX","MUTATION_ATTRIBUTES_TYPE","TableStickyDirective","virtualScrollViewPort","initStickHeader","translateYObserver","contentWrapper","firstChild","onMutationsChange","attributes","it","setHeaderTopPosition","evasysTableSticky","stickyElement","stickyDirection","TextOverflowDirective","ApplicationRef","NgZone","NgbTooltip","NgbTooltipConfig","defaultStyle","ngbTooltip","_ngZone","_document","applicationRef","_changeDetector","resizeSubject","DEFAULT_STYLES","addTooltipConfigs","observeElementResize","listenOnResize","unobserve","complete","cssClass","disableTooltip","openDelay","closeDelay","offsetWidth","scrollWidth","TooltipDirective","TooltipModule","evasysTooltip","IsMenuActivePipe","arg","ConstraintsToTextboxTypePipe","numeric","InPipe","InModule","array","KeyValueToMapPipe","arr","kv","KeyValueToSelectItemsPipe","changeability","NO_DESELECTION","CHANGE_OTHERS_RIGHTS","detectOverflow","enabled","phase","requiresIfExists","modifiersData","preventOverflow","rects","basePlacement","mainAxis","widthProp","heightProp","requires","styles","reference","handlers","handler","h","defaultPrevented","InfiniteScrollModule","KeepMapOrderModule","InlineTranslocoModule","NgLetModule","KeyboardSearchModule","NgForOf","NgIf","NgbCollapse","ReducePipe","NgClass","NgTemplateOutlet","NgbHighlight","NgControlStatus","NgModel","i12","i13","NgLetDirective","SlicePipe","i14","ModifyPipe","AppCheckerService","hasPopupBlocker","IfContentDirective","evasysIfContent","childNodes","KeyboardSearchDirective","KeyboardSearchElementDirective","_elementRef","keyboardSearchDirective","isRegistered","register","registerElement","KeyboardListenerService","allowSelect","allowScroll","typedSubscriptions","searchPointer","keyboardListenerService","hostElement","onArrowTyped","selectedElementIndex","selectedElement","handleSelect","handleScroll","onCurrentTypedChange","currentSearchValue","handleSearchValue","searchTab","foundElements","handleSearchPointer","currentTyped","debounceSeconds","lastTypeTimestamp","lastSearch","scrollIntoView","behavior","block","inline","dispatchEvent","Event","altKey","keyboardEvents","LazyLoadDirective","LazyLoadModule","scrolling","onScroll","triggerArea","newPage","scrollMarker","scrollBottom","scrollTop","clientHeight","onNewPage","LazyLoadDirective_HostBindings","RegulationClickDirective","RegulationClickModule","isObservable","isPromise","clickTimeoutMilliseconds","ignoreClicks","evasysRegulationClick","callbackSuccessfully","callbackFailed","currentTimestamp","clickTimestamp","asyncClickCallbackFunction","handleCallback","RegulationClickDirective_HostBindings","SameWidthService","SameWidthDirective","sameWidthService","widthsChanges","newWidth","deregister","widths","registeredElements","_widthsChanges","minSelectedCheckboxes","validator","formArray","getTotalSelected","maxSelectedCheckboxes","prev","Counter","count","Count","countUp","increment","countDown","decrement","formatted","utilWorkerInstance","Worker","import","meta","WebWorker","UtilWorker","worker","run","postMessage","handleSearch","handleSort","foundEntities","sortDirectionAscending","sortEntities","sortedEntities","WorkerGlobalScope","sortWorker","CanAccessPipe","activeUserRight","CommaSeparatedPipe","EntitiesToIdsPipe","FilterPipe","HasOnlyPipe","HasOnlyModule","HasPipe","IdsToEntitiesPipe","allEntities","InlineTranslocoPipe","InvokePipe","func","JoinPipe","seperator","KeyValuePipe","KeepMapOrderPipe","keyValuePipe","ModifyModule","modification","NameViaIdInListPipe","NamesByIdsPipe","callbackfn","initialValue","SortPipe","SortModule","sortKey","sortedArray","entryA","entryB","reverse","SplicePipe","deleteCount","ToMapPipe","ToObservablePipe","ToStringPipe","DomSanitizer","UnescapePipe","sanitized","bypassSecurityTrustHtml","UserRightsDesignationPipe","userRightsAsNumber","errorObservable","defaultAction","dispatchAction","apiResult","APITHENSTATE","stateChange","searchEntity","buffer","exhaustAll","exhaustMap","mergeAll","skipUntil","throttle","itemCount","counter","source$","subscriber","newSource$","strategyObserver","strategySubscriber","loadFromStateOnly","loadFromAPIOnly","loadFromStateThenAPI","loadFromStateFallbackAPI","onIndex","dataArr","method","asyncFilter","asyncCondition","conditionResult","condition","accumulator","seed","observable","auditAlways","durationSelector","exhaustAllWithTrailing","release","leading","trailing","inner","bufferWithLatestFrom","input$","f","ScreenDirective","determineScreenSize","screenSize","screenPxSize","screenWidth","screenHeight","S","XS","L","XL","XXL","screenSizeSubject","sizeObservable","isSize","isSizeSmallerThan","isSizeBiggerThan","isSizeObservable","isSizeSmallerThanObservable","_sync","localStorageId","LOCAL_STORAGE_TOKEN","localStorageValue","memoize","once","sumBy","TextMeasurementService","getCtx","canvas","appendElementHidden","getContext","getComputeStyleElement","getStyleFromCss","className","elt","getComputedStyle","getOffsetWidth","getTextWidth","measureText","visibility","WORKER_ENABLED","onMessage","onError","onmessage","terminate"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}