{"version":3,"file":"main.5d477a382e230c93.js","mappings":"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","sources":["./src/app/+state/app.reducer.ts","./src/app/+state/router/ngrx-store-router.module.ts","./src/app/+state/router/reduced-route-serialzer.ts","./src/app/+state/router/reduced-route.selectors.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/+state/constants/index.ts","./src/app/core/+state/core.actions.ts","./src/app/core/+state/core.effects.ts","./src/app/core/+state/core.reducer.ts","./src/app/core/+state/core.selectors.ts","./src/app/core/+state/utils/core-state-helper.ts","./src/app/core/auth/auth-config.ts","./src/app/core/auth/auth.module.ts","./src/app/core/auth/auth.service.ts","./src/app/core/constants/index.ts","./src/app/core/core.module.ts","./src/app/core/custom-icons.service.ts","./src/app/core/deep-linking/deep-linking-sender.directive.ts","./src/app/core/deep-linking/deep-linking.interface.ts","./src/app/core/dialogs/delete-confirm-dialog/delete-confirm-dialog.component.ts","./src/app/core/dialogs/delete-confirm-dialog/delete-confirm-dialog.component.html","./src/app/core/dialogs/delete-revert-dialog/delete-revert-dialog.component.ts","./src/app/core/dialogs/delete-revert-dialog/delete-revert-dialog.component.html","./src/app/core/environment-settings/environment-settings-http.service.ts","./src/app/core/environment-settings/environment-settings.service.ts","./src/app/core/environment-settings/interfaces/index.ts","./src/app/core/environment/environment-container.component.ts","./src/app/core/environment/environment-container.component.html","./src/app/core/environment/environment-select/environment-select.component.ts","./src/app/core/environment/environment-select/environment-select.component.html","./src/app/core/environment/environment.component.ts","./src/app/core/environment/environment.component.html","./src/app/core/environment/environment.module.ts","./src/app/core/environment/environment.service.ts","./src/app/core/environment/no-environment-available-overlay/no-environment-available-overlay.component.ts","./src/app/core/environment/no-environment-available-overlay/no-environment-available-overlay.component.html","./src/app/core/environment/no-environment-available-overlay/no-environment-available-overlay.service.ts","./src/app/core/error-handling/error-handler.service.ts","./src/app/core/error-handling/global-error-handler.ts","./src/app/core/frontend-config.service.ts","./src/app/core/global-query-params.service.ts","./src/app/core/global-year-selection/global-year-selection.component.ts","./src/app/core/global-year-selection/global-year-selection.component.html","./src/app/core/groups-tree-navigation/add-group/add-group.component.ts","./src/app/core/groups-tree-navigation/add-group/add-group.component.html","./src/app/core/groups-tree-navigation/delete-confirm-dialog/delete-confirm-dialog.component.ts","./src/app/core/groups-tree-navigation/delete-confirm-dialog/delete-confirm-dialog.component.html","./src/app/core/groups-tree-navigation/delete-revert-dialog/delete-revert-dialog.component.ts","./src/app/core/groups-tree-navigation/delete-revert-dialog/delete-revert-dialog.component.html","./src/app/core/groups-tree-navigation/directive/drag.directive.ts","./src/app/core/groups-tree-navigation/editing-item-options/editing-item-options.component.ts","./src/app/core/groups-tree-navigation/editing-item-options/editing-item-options.component.html","./src/app/core/groups-tree-navigation/groups-tree-navigation-http.service.ts","./src/app/core/groups-tree-navigation/groups-tree-navigation.component.ts","./src/app/core/groups-tree-navigation/groups-tree-navigation.component.html","./src/app/core/groups-tree-navigation/groups-tree-navigation.module.ts","./src/app/core/groups-tree-navigation/groups-tree-navigation.service.ts","./src/app/core/groups-tree-navigation/groups-tree-navigation.store.ts","./src/app/core/groups-tree-navigation/site-item/site-item.component.ts","./src/app/core/groups-tree-navigation/site-item/site-item.component.html","./src/app/core/groups-tree-navigation/utils/group-helper.ts","./src/app/core/groups/group.mapper.ts","./src/app/core/groups/group.service.ts","./src/app/core/http-error.interceptor.ts","./src/app/core/http-token-authorization.interceptor.ts","./src/app/core/language/language.interface.ts","./src/app/core/language/language.service.ts","./src/app/core/load-status/load-status.interceptor.ts","./src/app/core/load-status/load-status.interface.ts","./src/app/core/load-status/load-status.service.ts","./src/app/core/portfolio-group-navigation/portfolio-group-navigation.component.ts","./src/app/core/portfolio-group-navigation/portfolio-group-navigation.component.html","./src/app/core/portfolio-group-navigation/portfolio-group-navigation.service.ts","./src/app/core/portfolio-group-navigation/portfolio-group-navigation.store.ts","./src/app/core/portfolio-group-navigation/tag-dialog/tag-dialog.component.ts","./src/app/core/portfolio-group-navigation/tag-dialog/tag-dialog.component.html","./src/app/core/request-tracking.service.ts","./src/app/core/selected-period-info/selected-period-info.component.ts","./src/app/core/selected-period-info/selected-period-info.component.html","./src/app/core/selected-period-info/selected-period-info.service.ts","./src/app/core/sticky-header/sticky-header.component.ts","./src/app/core/sticky-header/sticky-header.component.html","./src/app/core/sticky-header/sticky-header.interface.ts","./src/app/core/sticky-header/sticky-header.service.ts","./src/app/core/tags/interface/index.ts","./src/app/core/tags/tag-active-state/tag-active-state.component.ts","./src/app/core/tags/tag-active-state/tag-active-state.component.html","./src/app/core/tags/tag-edit-options/tag-edit-options.component.ts","./src/app/core/tags/tag-edit-options/tag-edit-options.component.html","./src/app/core/tags/tag-edit-options/tag-input-error-matcher.ts","./src/app/core/tags/tags-http.service.ts","./src/app/core/tags/tags.component.ts","./src/app/core/tags/tags.component.html","./src/app/core/tags/tags.service.ts","./src/app/core/tags/tags.store.ts","./src/app/core/tags/utils/custom-validators.ts","./src/app/core/title-strategy.service.ts","./src/app/core/tracking/tracking-wrapper.service.ts","./src/app/core/user-settings/user-settings-http.service.ts","./src/app/core/user-settings/user-settings.service.ts","./src/app/features/benchmarking/+state/benchmarking.actions.ts","./src/app/features/benchmarking/constants/index.ts","./src/app/features/benchmarking/guards/reset-current-selected-request-params.guard.ts","./src/app/features/benchmarking/guards/reset-emission-media-chart-filter.guard.ts","./src/app/features/dashboard/+state/dashboard.actions.ts","./src/app/features/dashboard/utils/dashboard-helper.ts","./src/app/features/features.module.ts","./src/app/features/portfolio/+state/portfolio.actions.ts","./src/app/features/portfolio/+state/portfolio.reducer.ts","./src/app/features/portfolio/+state/portfolio.selectors.ts","./src/app/features/portfolio/delete-object/delete-object.component.ts","./src/app/features/portfolio/delete-object/delete-object.component.html","./src/app/features/portfolio/delete-object/delete-object.module.ts","./src/app/features/portfolio/portfolio-consumption/consumption-table.config.ts","./src/app/features/portfolio/portfolio-consumption/consumption.mapper.ts","./src/app/features/portfolio/portfolio-group-masterdata/group-masterdata-tabel.config.ts","./src/app/features/portfolio/portfolio-http.service.ts","./src/app/features/portfolio/portfolio-site-masterdata/portfolio-site-masterdata.service.ts","./src/app/features/portfolio/utils/portfolio-chart.mapper.ts","./src/app/features/portfolio/utils/portfolio-masterdata.mapper.ts","./src/app/features/portfolio/utils/portfolio-monitoring.mapper.ts","./src/app/features/portfolio/utils/portfolio.constants.ts","./src/app/features/reporting/period-toggle/period-toggle.component.ts","./src/app/features/reporting/period-toggle/period-toggle.component.html","./src/app/features/settings/unsaved-changes.guard.ts","./src/app/shared/constants/colors.ts","./src/app/shared/constants/index.ts","./src/app/shared/constants/value-bar-diagnse-card-skeleton.ts","./src/app/shared/directives/box-shadow.directive.ts","./src/app/shared/directives/directives.module.ts","./src/app/shared/directives/link-with-global-query-params.directive.ts","./src/app/shared/directives/scroll-to.directive.ts","./src/app/shared/directives/var.directive.ts","./src/app/shared/directives/visibility-observe.directive.ts","./src/app/shared/guards/reset-headline.guard.ts","./src/app/shared/guards/reset-sticky-header.guard.ts","./src/app/shared/helper/chart-helper.ts","./src/app/shared/helper/chart-scale-helper.ts","./src/app/shared/helper/color-helper.ts","./src/app/shared/helper/custom-colors-helper.ts","./src/app/shared/helper/custom-validators.ts","./src/app/shared/helper/destroy-abstract.service.ts","./src/app/shared/helper/icon-helper.ts","./src/app/shared/helper/language-key-helper.ts","./src/app/shared/helper/logger.service.ts","./src/app/shared/helper/osm-helper.ts","./src/app/shared/helper/portfolio-card-helper.service.ts","./src/app/shared/helper/unit-mapping.ts","./src/app/shared/helper/util-helper.ts","./src/app/shared/helper/utils.ts","./src/app/shared/helper/value-unit.service.ts","./src/app/shared/interfaces/consumption-type-button.interface.ts","./src/app/shared/interfaces/filters.config.ts","./src/app/shared/models/color-style.enum.ts","./src/app/shared/models/heating.type.ts","./src/app/shared/models/unit.enum.ts","./src/app/shared/pipes/environment-dropdown.pipe.ts","./src/app/shared/pipes/format-number.pipe.ts","./src/app/shared/pipes/null-to-undefined.pipe.ts","./src/app/shared/pipes/pipes.module.ts","./src/app/shared/pipes/safe.pipe.ts","./src/app/shared/shared.module.ts","./src/app/shared/ui/bar-card/bar-card.component.ts","./src/app/shared/ui/bar-card/bar-card.component.html","./src/app/shared/ui/bar-chart-portfolio-analysis/constants/index.ts","./src/app/shared/ui/bar-chart-portfolio-analysis/portfolio-analysis-chart/portfolio-analysis-chart.service.ts","./src/app/shared/ui/bar-chart-portfolio-analysis/portfolio-analysis.service.ts","./src/app/shared/ui/base-input/base-input.component.ts","./src/app/shared/ui/base-ui/base-ui.ts","./src/app/shared/ui/basic/average-display/average-display.component.ts","./src/app/shared/ui/basic/average-display/average-display.component.html","./src/app/shared/ui/basic/badge-button/badge-button.component.ts","./src/app/shared/ui/basic/badge-button/badge-button.component.html","./src/app/shared/ui/basic/basic.module.ts","./src/app/shared/ui/basic/button-data-add/button-data-add.component.ts","./src/app/shared/ui/basic/button-data-add/button-data-add.component.html","./src/app/shared/ui/basic/button-delete-object/button-delete-object.component.ts","./src/app/shared/ui/basic/button-delete-object/button-delete-object.component.html","./src/app/shared/ui/basic/button-edit/button-edit.component.ts","./src/app/shared/ui/basic/button-edit/button-edit.component.html","./src/app/shared/ui/basic/button/button-color.enum.ts","./src/app/shared/ui/basic/button/button-type.enum.ts","./src/app/shared/ui/basic/button/button.component.ts","./src/app/shared/ui/basic/button/button.component.html","./src/app/shared/ui/basic/button/button.module.ts","./src/app/shared/ui/basic/card/card.component.ts","./src/app/shared/ui/basic/card/card.component.html","./src/app/shared/ui/basic/checkbox/checkbox.component.ts","./src/app/shared/ui/basic/checkbox/checkbox.component.html","./src/app/shared/ui/basic/content-card-open/content-card-open.component.ts","./src/app/shared/ui/basic/content-card-open/content-card-open.component.html","./src/app/shared/ui/basic/content-card/content-card.component.ts","./src/app/shared/ui/basic/content-card/content-card.component.html","./src/app/shared/ui/basic/content-offset/content-offset.component.ts","./src/app/shared/ui/basic/content-offset/content-offset.component.html","./src/app/shared/ui/basic/dropdown/dropdown.component.ts","./src/app/shared/ui/basic/dropdown/dropdown.component.html","./src/app/shared/ui/basic/dropdown/dropdown.directive.ts","./src/app/shared/ui/basic/dropdown/dropdown.module.ts","./src/app/shared/ui/basic/full-width-select/full-width-select.component.ts","./src/app/shared/ui/basic/full-width-select/full-width-select.component.html","./src/app/shared/ui/basic/icon/icon-type.enum.ts","./src/app/shared/ui/basic/icon/icon.component.ts","./src/app/shared/ui/basic/icon/icon.component.html","./src/app/shared/ui/basic/icon/icon.module.ts","./src/app/shared/ui/basic/input-search/input-search.component.ts","./src/app/shared/ui/basic/input-search/input-search.component.html","./src/app/shared/ui/basic/input-search/input-search.module.ts","./src/app/shared/ui/basic/input/input-types.enum.ts","./src/app/shared/ui/basic/input/input.component.ts","./src/app/shared/ui/basic/input/input.component.html","./src/app/shared/ui/basic/input/input.module.ts","./src/app/shared/ui/basic/key-value-card/key-value-card.component.ts","./src/app/shared/ui/basic/key-value-card/key-value-card.component.html","./src/app/shared/ui/basic/label/label-mapping.ts","./src/app/shared/ui/basic/label/label.component.ts","./src/app/shared/ui/basic/label/label.component.html","./src/app/shared/ui/basic/label/label.module.ts","./src/app/shared/ui/basic/loader/bar/bar.component.ts","./src/app/shared/ui/basic/loader/bar/bar.component.html","./src/app/shared/ui/basic/loader/circle/circle.component.ts","./src/app/shared/ui/basic/loader/circle/circle.component.html","./src/app/shared/ui/basic/loader/loader.component.ts","./src/app/shared/ui/basic/loader/loader.component.html","./src/app/shared/ui/basic/loader/loader.interface.ts","./src/app/shared/ui/basic/loader/loader.module.ts","./src/app/shared/ui/basic/pagination-alphabet/pagination-alphabet.component.ts","./src/app/shared/ui/basic/pagination-alphabet/pagination-alphabet.component.html","./src/app/shared/ui/basic/radiobutton/radiobutton.component.ts","./src/app/shared/ui/basic/radiobutton/radiobutton.component.html","./src/app/shared/ui/basic/select/select.component.ts","./src/app/shared/ui/basic/select/select.component.html","./src/app/shared/ui/basic/selection/selection.component.ts","./src/app/shared/ui/basic/selection/selection.component.html","./src/app/shared/ui/basic/tab/tab.component.ts","./src/app/shared/ui/basic/tab/tab.component.html","./src/app/shared/ui/basic/tab/tab.module.ts","./src/app/shared/ui/basic/table/mat-paginator-intl.ts","./src/app/shared/ui/basic/table/table-base.class.ts","./src/app/shared/ui/basic/table/table.component.ts","./src/app/shared/ui/basic/table/table.component.html","./src/app/shared/ui/basic/table/table.module.ts","./src/app/shared/ui/basic/textarea/textarea.component.ts","./src/app/shared/ui/basic/textarea/textarea.component.html","./src/app/shared/ui/basic/tooltip/tooltip.component.ts","./src/app/shared/ui/basic/tooltip/tooltip.component.html","./src/app/shared/ui/basic/tooltip/tooltip.directive.ts","./src/app/shared/ui/basic/tooltip/tooltip.module.ts","./src/app/shared/ui/basic/value-unit/value-unit.component.ts","./src/app/shared/ui/basic/value-unit/value-unit.component.html","./src/app/shared/ui/basic/value-unit/value-unit.module.ts","./src/app/shared/ui/breadcrumb-navigation/breadcrumb-navigation.component.ts","./src/app/shared/ui/breadcrumb-navigation/breadcrumb-navigation.component.html","./src/app/shared/ui/breadcrumb-navigation/breadcrumb-navigation.service.ts","./src/app/shared/ui/breadcrumb-navigation/breadcrumb.store.ts","./src/app/shared/ui/breadcrumb-navigation/constants/index.ts","./src/app/shared/ui/card-headline/card-headline.component.ts","./src/app/shared/ui/card-headline/card-headline.component.html","./src/app/shared/ui/chart/abstract-chart.component.ts","./src/app/shared/ui/chart/abstract-multi-chart.component.ts","./src/app/shared/ui/chart/balance-chart/balance-chart.component.ts","./src/app/shared/ui/chart/balance-chart/balance-chart.component.html","./src/app/shared/ui/chart/bar-chart/bar-chart-options.ts","./src/app/shared/ui/chart/bar-chart/bar-chart.component.ts","./src/app/shared/ui/chart/bar-chart/bar-chart.component.html","./src/app/shared/ui/chart/bar-chart/bar-chart.mapper.ts","./src/app/shared/ui/chart/bar-horizontal-chart-mini/bar-horizontal-chart-mini.component.ts","./src/app/shared/ui/chart/bar-horizontal-chart-mini/bar-horizontal-chart-mini.component.html","./src/app/shared/ui/chart/bar-horizontal-chart/bar-horizontal-chart-options.ts","./src/app/shared/ui/chart/bar-horizontal-chart/bar-horizontal-chart.component.ts","./src/app/shared/ui/chart/bar-horizontal-chart/bar-horizontal-chart.component.html","./src/app/shared/ui/chart/bar-horizontal-chart/bar-horizontal-chart.service.ts","./src/app/shared/ui/chart/bar-horizontal-multi-chart/bar-horizontal-multi-chart-options.ts","./src/app/shared/ui/chart/bar-horizontal-multi-chart/bar-horizontal-multi-chart.component.ts","./src/app/shared/ui/chart/bar-horizontal-multi-chart/bar-horizontal-multi-chart.component.html","./src/app/shared/ui/chart/bar-horizontal-multi-chart/bar-horizontal-multi-chart.service.ts","./src/app/shared/ui/chart/bar-horizontal-stacked-chart/bar-horizontal-stacked-chart-options.ts","./src/app/shared/ui/chart/bar-horizontal-stacked-chart/bar-horizontal-stacked-chart.component.ts","./src/app/shared/ui/chart/bar-horizontal-stacked-chart/bar-horizontal-stacked-chart.component.html","./src/app/shared/ui/chart/bar-horizontal-stacked-chart/bar-horizontal-stacked-chart.service.ts","./src/app/shared/ui/chart/benchmarking-chart/benchmarking-chart-helper.service.ts","./src/app/shared/ui/chart/benchmarking-chart/benchmarking-chart.component.ts","./src/app/shared/ui/chart/benchmarking-chart/benchmarking-chart.component.html","./src/app/shared/ui/chart/chart-helper.service.ts","./src/app/shared/ui/chart/chart-legend/chart-legend.component.ts","./src/app/shared/ui/chart/chart-legend/chart-legend.component.html","./src/app/shared/ui/chart/chart.interface.ts","./src/app/shared/ui/chart/chart.module.ts","./src/app/shared/ui/chart/distribution-chart/distribution-chart.component.ts","./src/app/shared/ui/chart/distribution-chart/distribution-chart.component.html","./src/app/shared/ui/chart/doughnut-chart-percent/doughnut-chart-percent.component.ts","./src/app/shared/ui/chart/doughnut-chart-percent/doughnut-chart-percent.component.html","./src/app/shared/ui/chart/doughnut-chart-simple/doughnut-chart-simple.component.ts","./src/app/shared/ui/chart/doughnut-chart-simple/doughnut-chart-simple.component.html","./src/app/shared/ui/chart/doughnut-chart/doughnut-chart-options.ts","./src/app/shared/ui/chart/doughnut-chart/doughnut-chart.component.ts","./src/app/shared/ui/chart/doughnut-chart/doughnut-chart.component.html","./src/app/shared/ui/chart/doughnut-chart/doughnut-chart.mapper.ts","./src/app/shared/ui/chart/line-chart/line-chart-options.ts","./src/app/shared/ui/chart/line-chart/line-chart.component.ts","./src/app/shared/ui/chart/line-chart/line-chart.component.html","./src/app/shared/ui/chart/line-chart/line-chart.service.ts","./src/app/shared/ui/chart/tooltip/custom-external-tooltip.ts","./src/app/shared/ui/co2-cost-card-distribution/co2-cost-card-distribution.component.ts","./src/app/shared/ui/co2-cost-card-distribution/co2-cost-card-distribution.component.html","./src/app/shared/ui/co2-cost-card-stage/co2-cost-card-stage.component.ts","./src/app/shared/ui/co2-cost-card-stage/co2-cost-card-stage.component.html","./src/app/shared/ui/co2-cost-card-total/co2-cost-card-total.component.ts","./src/app/shared/ui/co2-cost-card-total/co2-cost-card-total.component.html","./src/app/shared/ui/empty-environment-notification/empty-environment-notification.component.ts","./src/app/shared/ui/empty-environment-notification/empty-environment-notification.component.html","./src/app/shared/ui/empty-environment-notification/empty-environment-notification.service.ts","./src/app/shared/ui/file-upload/file-upload-contact-info/file-upload-contact-info.component.ts","./src/app/shared/ui/file-upload/file-upload-contact-info/file-upload-contact-info.component.html","./src/app/shared/ui/file-upload/file-upload-step-file/file-upload-step-file-efile/file-upload-step-file-efile.component.ts","./src/app/shared/ui/file-upload/file-upload-step-file/file-upload-step-file-efile/file-upload-step-file-efile.component.html","./src/app/shared/ui/file-upload/file-upload-step-file/file-upload-step-file-excel/file-upload-step-file-excel.component.ts","./src/app/shared/ui/file-upload/file-upload-step-file/file-upload-step-file-excel/file-upload-step-file-excel.component.html","./src/app/shared/ui/file-upload/file-upload-step-file/file-upload-step-file-excel/file-upload-step-file-excel.store.ts","./src/app/shared/ui/file-upload/file-upload-step-file/file-upload-step-file.service.ts","./src/app/shared/ui/file-upload/file-upload-step-finished/file-upload-step-finished.component.ts","./src/app/shared/ui/file-upload/file-upload-step-finished/file-upload-step-finished.component.html","./src/app/shared/ui/file-upload/file-upload-step-result/file-upload-result-billing/file-upload-result-billing.component.ts","./src/app/shared/ui/file-upload/file-upload-step-result/file-upload-result-billing/file-upload-result-billing.component.html","./src/app/shared/ui/file-upload/file-upload-step-result/file-upload-result-efile/file-upload-result-efile.component.ts","./src/app/shared/ui/file-upload/file-upload-step-result/file-upload-result-efile/file-upload-result-efile.component.html","./src/app/shared/ui/file-upload/file-upload-step-result/file-upload-step-result.component.ts","./src/app/shared/ui/file-upload/file-upload-step-result/file-upload-step-result.component.html","./src/app/shared/ui/file-upload/file-upload-step-upload/file-upload-step-upload.component.ts","./src/app/shared/ui/file-upload/file-upload-step-upload/file-upload-step-upload.component.html","./src/app/shared/ui/file-upload/file-upload/file-upload-http.service.ts","./src/app/shared/ui/file-upload/file-upload/file-upload.component.ts","./src/app/shared/ui/file-upload/file-upload/file-upload.component.html","./src/app/shared/ui/file-upload/file-upload/file-upload.helper.ts","./src/app/shared/ui/file-upload/file-upload/file-upload.service.ts","./src/app/shared/ui/file-upload/file-upload/file-upload.state.ts","./src/app/shared/ui/file-upload/file-upload/file-upload.store.ts","./src/app/shared/ui/file-upload/types/file-upload.model.ts","./src/app/shared/ui/filter/filter-page/filter-page.component.ts","./src/app/shared/ui/filter/filter-page/filter-page.component.html","./src/app/shared/ui/filter/filter-sub-tab/filter-sub-tab.component.ts","./src/app/shared/ui/filter/filter-sub-tab/filter-sub-tab.component.html","./src/app/shared/ui/filter/filter-tab-small/filter-tab-small.component.ts","./src/app/shared/ui/filter/filter-tab-small/filter-tab-small.component.html","./src/app/shared/ui/filter/filter-tab.interface.ts","./src/app/shared/ui/filter/filter-tab/filter-tab-store.service.ts","./src/app/shared/ui/filter/filter-tab/filter-tab.component.ts","./src/app/shared/ui/filter/filter-tab/filter-tab.component.html","./src/app/shared/ui/filter/filter-time-series/filter-time-series.component.ts","./src/app/shared/ui/filter/filter-time-series/filter-time-series.component.html","./src/app/shared/ui/filter/filter.component.ts","./src/app/shared/ui/filter/filter.component.html","./src/app/shared/ui/filter/filter.module.ts","./src/app/shared/ui/headline/headline.component.ts","./src/app/shared/ui/headline/headline.component.html","./src/app/shared/ui/icon-label/icon-label.component.ts","./src/app/shared/ui/icon-label/icon-label.component.html","./src/app/shared/ui/icon-value-label/icon-value-label.component.ts","./src/app/shared/ui/icon-value-label/icon-value-label.component.html","./src/app/shared/ui/info-card/info-card.component.ts","./src/app/shared/ui/info-card/info-card.component.html","./src/app/shared/ui/monitoring-card/monitoring-card-data.interface.ts","./src/app/shared/ui/monitoring-card/monitoring-card.component.ts","./src/app/shared/ui/monitoring-card/monitoring-card.component.html","./src/app/shared/ui/monitoring-card/monitoring-card.skeleton.ts","./src/app/shared/ui/navigation/navigation.component.ts","./src/app/shared/ui/navigation/navigation.component.html","./src/app/shared/ui/navigation/navigation.module.ts","./src/app/shared/ui/notification/notification.component.ts","./src/app/shared/ui/notification/notification.component.html","./src/app/shared/ui/notification/notification.interface.ts","./src/app/shared/ui/notification/notification.module.ts","./src/app/shared/ui/notification/notification.service.ts","./src/app/shared/ui/osm/osm.component.ts","./src/app/shared/ui/osm/osm.component.html","./src/app/shared/ui/overlay/overlay.component.ts","./src/app/shared/ui/overlay/overlay.component.html","./src/app/shared/ui/overlay/overlay.module.ts","./src/app/shared/ui/overlay/overlay.service.ts","./src/app/shared/ui/page-stepper/page-stepper.component.ts","./src/app/shared/ui/page-stepper/page-stepper.component.html","./src/app/shared/ui/page-stepper/page-stepper.module.ts","./src/app/shared/ui/pagination/pagination.component.ts","./src/app/shared/ui/pagination/pagination.component.html","./src/app/shared/ui/pagination/pagination.module.ts","./src/app/shared/ui/portfolio-card/portfolio-card.component.ts","./src/app/shared/ui/portfolio-card/portfolio-card.component.html","./src/app/shared/ui/section/section.component.ts","./src/app/shared/ui/section/section.component.html","./src/app/shared/ui/table-site/table-site.component.ts","./src/app/shared/ui/table-site/table-site.component.html","./src/app/shared/ui/table-site/table-site.module.ts","./src/app/shared/ui/ui.module.ts","./src/app/shared/ui/value-unit-card/value-unit-card.component.ts","./src/app/shared/ui/value-unit-card/value-unit-card.component.html","./src/app/static-pages/contact/contact.component.ts","./src/app/static-pages/contact/contact.component.html","./src/app/static-pages/footer/footer.component.ts","./src/app/static-pages/footer/footer.component.html","./src/app/static-pages/imprint/imprint.component.ts","./src/app/static-pages/imprint/imprint.component.html","./src/app/static-pages/page-not-found/page-not-found.component.ts","./src/app/static-pages/page-not-found/page-not-found.component.html","./src/app/static-pages/privacy/google-tag-manager/google-tag-manager.component.ts","./src/app/static-pages/privacy/google-tag-manager/google-tag-manager.component.html","./src/app/static-pages/privacy/hotjar/hotjar.component.ts","./src/app/static-pages/privacy/hotjar/hotjar.component.html","./src/app/static-pages/privacy/piwik/piwik.component.ts","./src/app/static-pages/privacy/piwik/piwik.component.html","./src/app/static-pages/privacy/privacy.component.ts","./src/app/static-pages/privacy/privacy.component.html","./src/app/static-pages/privacy/privacy.module.ts","./src/app/static-pages/privacy/usercentrics/usercentrics.component.ts","./src/app/static-pages/privacy/usercentrics/usercentrics.component.html","./src/app/static-pages/privacy/zenloop/zenloop.component.ts","./src/app/static-pages/privacy/zenloop/zenloop.component.html","./src/app/static-pages/static-pages.module.ts","./src/environments/environment.prod.ts","./src/main.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ActionReducer, ActionReducerMap, combineReducers } from '@ngrx/store';\nimport { coreReducer } from 'core/+state/core.reducer';\nimport { CoreState } from 'core/+state/interface';\nimport { initialCoreState } from 'core/+state/constants';\n\nexport interface RootState {\n core: CoreState;\n}\n\nexport const initialRootState: RootState = {\n core: initialCoreState,\n};\n\nexport const rootStateReducer: ActionReducer = combineReducers({\n core: coreReducer,\n});\n\nexport const ROOT_REDUCER_TOKEN = new InjectionToken>('State', {\n factory: () => ({\n core: coreReducer,\n }),\n});\n","import { NgModule } from '@angular/core';\nimport { StoreModule } from '@ngrx/store';\nimport {\n routerReducer,\n RouterStateSerializer,\n StoreRouterConnectingModule,\n} from '@ngrx/router-store';\nimport { ReducedRouteSerialzer } from './reduced-route-serialzer';\n\nexport const routerStateConfig = {\n stateKey: 'router',\n};\n\n@NgModule({\n imports: [\n StoreModule.forFeature(routerStateConfig.stateKey, routerReducer),\n StoreRouterConnectingModule.forRoot(routerStateConfig),\n ],\n exports: [StoreModule, StoreRouterConnectingModule],\n providers: [\n {\n provide: RouterStateSerializer,\n useClass: ReducedRouteSerialzer,\n },\n ],\n})\nexport class NgrxStoreRouterModule {}\n","import { RouterStateSerializer } from '@ngrx/router-store';\nimport { ReducedRouteState } from './reduced-route-state';\nimport { ActivatedRouteSnapshot, Data, RouterStateSnapshot } from '@angular/router';\n\nexport class ReducedRouteSerialzer implements RouterStateSerializer {\n serialize(routerState: RouterStateSnapshot): ReducedRouteState {\n let route = routerState.root;\n\n while (route.firstChild) {\n route = route.firstChild;\n }\n\n const {\n url,\n root: { queryParams },\n } = routerState;\n const { params } = route;\n\n return {\n url,\n data: this.mergeRouteData(routerState.root),\n queryParams: queryParams ?? {},\n params: params ?? {},\n };\n }\n\n private mergeRouteData(route: ActivatedRouteSnapshot | null): Data {\n if (!route) {\n return {};\n }\n\n const currentData = route.data;\n const primaryChild = route.children.find((c) => c.outlet === 'primary') || route.firstChild;\n return { ...currentData, ...this.mergeRouteData(primaryChild) };\n }\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\n\nimport { routerStateConfig } from './ngrx-store-router.module';\nimport { ReducedRouterReducerState } from './reduced-route-state';\nimport { ENVIRONMENT_ID_QUERY_PARAM, YEAR_QUERY_PARAM } from 'core/constants';\n\nexport const selectReducedRouterReducerState = createFeatureSelector(\n routerStateConfig.stateKey\n);\nexport const selectReducedRouteState = createSelector(\n selectReducedRouterReducerState,\n (routerReducerState) => routerReducerState?.state\n);\n\nexport const selectRouteData = createSelector(\n selectReducedRouteState,\n (routerReducerState) => routerReducerState?.data\n);\nexport const selectRouteBreadcrumbTitle = createSelector(\n selectRouteData,\n (data) => (data['breadcrumbTitle'] ?? '') as string\n);\nexport const selectRouteUrl = createSelector(\n selectReducedRouteState,\n (routerReducerState) => routerReducerState?.url\n);\n\nexport const selectRouteUrlWithoutQueryParams = createSelector(\n selectRouteUrl,\n (url) => url?.split('?')[0] ?? ''\n);\n\nexport const selectRouteQueryParams = createSelector(\n selectReducedRouteState,\n (routerReducerState) => routerReducerState?.queryParams ?? {}\n);\n\nexport const selectRouteParams = createSelector(\n selectReducedRouteState,\n (routerReducerState) => routerReducerState?.params\n);\n\nexport const selectShowFooterWave = createSelector(selectRouteData, (data) =>\n data && data.hasOwnProperty('showFooterWave') ? Boolean(data['showFooterWave']) : false\n);\n\nexport const selectShowSubNavigationMenu = createSelector(selectRouteData, (data) =>\n data && data.hasOwnProperty('showSubNavigationMenu')\n ? Boolean(data['showSubNavigationMenu'])\n : false\n);\n\nexport const selectShowEnvironmentContainer = createSelector(selectRouteData, (data) =>\n data && data.hasOwnProperty('showEnvironmentContainer')\n ? Boolean(data['showEnvironmentContainer'])\n : false\n);\n\nexport const selectShowGlobalYearSelection = createSelector(selectRouteData, (data) =>\n data && data.hasOwnProperty('showGlobalYearSelection')\n ? Boolean(data['showGlobalYearSelection'])\n : false\n);\n\nexport const selectSubNavigationHeadline = createSelector(selectRouteData, (data) =>\n data && data.hasOwnProperty('subNavigationHeadline')\n ? (data['subNavigationHeadline'] as string)\n : ''\n);\n\nexport const selectQueryParams = createSelector(selectRouteQueryParams, (params) => params);\n\nexport const selectGroupIdParam = createSelector(selectRouteParams, (params) =>\n params?.hasOwnProperty('id') ? parseInt(params['id'] as string, 10) : undefined\n);\n\nexport const selectIsIdParamIdGroup = createSelector(selectRouteUrl, (url) =>\n url?.includes('/portfolio/group/')\n);\n\nexport const selectIsIdParamIdSite = createSelector(selectRouteUrl, (url) =>\n url?.includes('/portfolio/site/')\n);\n\nexport const selectIsPortfolioUrl = createSelector(selectRouteUrl, (url) => url === '/portfolio');\n\nexport const selectEnvironmentIdQueryParam = createSelector(selectQueryParams, (params) =>\n params.hasOwnProperty(ENVIRONMENT_ID_QUERY_PARAM)\n ? parseInt(params[ENVIRONMENT_ID_QUERY_PARAM] as string, 10)\n : undefined\n);\n\nexport const selectYearQueryParam = createSelector(selectQueryParams, (params) =>\n params.hasOwnProperty(YEAR_QUERY_PARAM)\n ? parseInt(params[YEAR_QUERY_PARAM] as string, 10)\n : undefined\n);\n\nexport const selectHideSelectedPeriodInfo = createSelector(selectRouteData, (data) =>\n data && data.hasOwnProperty('hideSelectedPeriodInfo')\n ? Boolean(data['hideSelectedPeriodInfo'])\n : false\n);\n","import { NgModule } from '@angular/core';\nimport { PreloadAllModules, RouterModule, Routes, TitleStrategy } from '@angular/router';\nimport { TitleStrategyService } from 'core/title-strategy.service';\nimport { ResetHeadlineGuard } from 'shared/guards/reset-headline.guard';\nimport { ResetStickyHeaderGuard } from 'shared/guards/reset-sticky-header.guard';\nimport { ContactComponent } from './static-pages/contact/contact.component';\nimport { ImprintComponent } from './static-pages/imprint/imprint.component';\nimport { PageNotFoundComponent } from './static-pages/page-not-found/page-not-found.component';\nimport { PrivacyComponent } from './static-pages/privacy/privacy.component';\nimport { UnsavedChangesGuard } from 'app/features/settings/unsaved-changes.guard';\nimport { ResetEmissionMediaChartFilterGuard } from 'app/features/benchmarking/guards/reset-emission-media-chart-filter.guard';\nimport { ResetCurrentSelectedRequestParam } from './features/benchmarking/guards/reset-current-selected-request-params.guard';\n\nconst routes: Routes = [\n {\n path: '',\n redirectTo: 'dashboard',\n pathMatch: 'full',\n },\n {\n path: 'stylebook',\n loadChildren: () =>\n import('./features/style-book/style-book.module').then((m) => m.StyleBookModule),\n },\n {\n path: 'benchmarking',\n loadChildren: () =>\n import('./features/benchmarking/benchmarking.module').then((m) => m.BenchmarkingModule),\n data: {\n breadcrumbTitle: 'navigation.benchmarking',\n showGlobalYearSelection: true,\n hideSelectedPeriodInfo: true,\n showEnvironmentContainer: true,\n },\n title: 'navigation.benchmarking',\n canDeactivate: [\n ResetStickyHeaderGuard,\n ResetEmissionMediaChartFilterGuard,\n ResetCurrentSelectedRequestParam,\n ],\n },\n {\n path: 'logout',\n loadChildren: () => import('./features/logout/logout.module').then((m) => m.LogoutModule),\n },\n {\n path: 'settings',\n loadComponent: () =>\n import('./features/settings/settings.component').then((m) => m.SettingsComponent),\n data: { breadcrumbTitle: 'navigation.preferences' },\n title: 'navigation.preferences',\n canDeactivate: [UnsavedChangesGuard],\n },\n {\n path: 'data-gap',\n loadChildren: () => import('./features/data-gap/data-gap.module').then((m) => m.DataGapModule),\n title: 'navigation.data-gap',\n data: {\n breadcrumbTitle: 'navigation.data-gap',\n showEnvironmentContainer: true,\n showGlobalYearSelection: true,\n },\n canDeactivate: [ResetHeadlineGuard, ResetStickyHeaderGuard],\n },\n {\n path: 'portfolio',\n loadChildren: () =>\n import('./features/portfolio/portfolio.module').then((m) => m.PortfolioModule),\n title: 'navigation.portfolio',\n data: {\n breadcrumbTitle: 'navigation.portfolio',\n showSubNavigationMenu: true,\n showEnvironmentContainer: true,\n showGlobalYearSelection: true,\n subNavigationHeadline:\n \"Portfolio\",\n },\n canDeactivate: [ResetHeadlineGuard, ResetStickyHeaderGuard],\n },\n {\n path: 'dashboard',\n loadChildren: () =>\n import('./features/dashboard/dashboard.module').then((m) => m.DashboardModule),\n title: 'navigation.dashboard',\n data: {\n breadcrumbTitle: 'navigation.dashboard',\n showEnvironmentContainer: true,\n showGlobalYearSelection: true,\n },\n canDeactivate: [ResetHeadlineGuard, ResetStickyHeaderGuard],\n },\n {\n path: 'help',\n loadComponent: () => import('./static-pages/help/help.component').then((c) => c.HelpComponent),\n data: { breadcrumbTitle: 'navigation.help' },\n title: 'navigation.help',\n },\n {\n path: 'imprint',\n component: ImprintComponent,\n title: 'Imprint',\n data: { breadcrumbTitle: 'Impressum', showFooterWave: false },\n },\n {\n path: 'privacy',\n component: PrivacyComponent,\n data: { breadcrumbTitle: 'Datenschutz', showFooterWave: false },\n title: 'Datenschutz',\n },\n {\n path: 'contact',\n component: ContactComponent,\n data: { breadcrumbTitle: 'navigation.contact', showFooterWave: false },\n title: 'navigation.contact',\n },\n {\n path: 'reporting',\n loadChildren: () =>\n import('./features/reporting/reporting.module').then((c) => c.ReportingModule),\n data: { breadcrumbTitle: 'navigation.reporting' },\n title: 'navigation.reporting',\n },\n {\n path: 'data-upload',\n loadChildren: () =>\n import('./features/daten-upload/daten-upload.module').then((c) => c.DatenUploadModule),\n data: { breadcrumbTitle: 'navigation.dataUpload', showFooterWave: false },\n title: 'navigation.dataUpload',\n },\n {\n path: 'page-not-found-404',\n component: PageNotFoundComponent,\n data: { title: 'Page not found - 404' },\n },\n {\n path: '**',\n redirectTo: 'page-not-found-404',\n },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, {\n preloadingStrategy: PreloadAllModules,\n scrollPositionRestoration: 'enabled',\n anchorScrolling: 'enabled',\n }),\n ],\n exports: [RouterModule],\n providers: [\n {\n provide: TitleStrategy,\n useClass: TitleStrategyService,\n },\n ],\n})\nexport class AppRoutingModule {}\n","import { Component, Inject, LOCALE_ID, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n selectHideSelectedPeriodInfo,\n selectShowEnvironmentContainer,\n selectShowFooterWave,\n selectShowGlobalYearSelection,\n selectShowSubNavigationMenu,\n} from 'app/+state/router/reduced-route.selectors';\nimport {\n selectEnvironmentHasNoData,\n selectEnvironmentReadiness,\n selectEnvironmentSettings,\n selectHasNoEnvironments,\n selectIsUserLoggedIn,\n selectSelectedEnvironmentId,\n selectSelectedLanguage,\n selectShouldShowHeadlineContainer,\n selectShowNavigationMenu,\n} from 'core/+state/core.selectors';\nimport { AuthService } from 'core/auth/auth.service';\nimport { EnvironmentService } from 'core/environment/environment.service';\nimport { FrontendConfigService } from 'core/frontend-config.service';\nimport { TrackingWrapperService } from 'core/tracking/tracking-wrapper.service';\nimport {\n combineLatest,\n distinctUntilChanged,\n filter,\n first,\n mergeMap,\n Observable,\n takeUntil,\n} from 'rxjs';\nimport { DestroyAbstractService } from 'shared/helper/destroy-abstract.service';\nimport { RootState } from './+state/app.reducer';\nimport { NoEnvironmentAvailableOverlayService } from 'core/environment/no-environment-available-overlay/no-environment-available-overlay.service';\nimport { LanguageService } from 'core/language/language.service';\nimport { DOCUMENT } from '@angular/common';\nimport { UserSettingsService } from 'core/user-settings/user-settings.service';\nimport { Languages } from 'core/language/language.interface';\nimport { EnvironmentSettingsService } from 'core/environment-settings/environment-settings.service';\nimport { GlobalQueryParamsService } from 'core/global-query-params.service';\nimport { CustomIconsService } from 'core/custom-icons.service';\nimport { Chart, Legend, Tooltip } from 'chart.js';\nimport { EmptyEnvironmentNotificationService } from 'shared/ui/empty-environment-notification/empty-environment-notification.service';\nimport { Meta } from '@angular/platform-browser';\n\n@Component({\n selector: 'ista-daytona-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n providers: [NoEnvironmentAvailableOverlayService],\n})\nexport class AppComponent extends DestroyAbstractService implements OnInit {\n selectShowNavigationMenu$: Observable = this.ngrxStore.select(selectShowNavigationMenu);\n selectShowFooterWave$: Observable = this.ngrxStore.select(selectShowFooterWave);\n\n selectShouldDisplaySmall$ = this.ngrxStore.select(selectShowSubNavigationMenu);\n\n selectShowEnvironmentContainer$ = this.ngrxStore.select(selectShowEnvironmentContainer);\n selectShowGlobalYearSelection$ = this.ngrxStore.select(selectShowGlobalYearSelection);\n selectShouldShowHeadlineContainer$ = this.ngrxStore.select(selectShouldShowHeadlineContainer);\n\n selectSelectedLanguage$ = this.ngrxStore.select(selectSelectedLanguage);\n selectHideSelectedPeriodInfo$ = this.ngrxStore.select(selectHideSelectedPeriodInfo);\n\n public environmentReady$: Observable = this.ngrxStore.select(selectEnvironmentReadiness);\n\n constructor(\n private readonly _translateService: TranslateService,\n private readonly _frontendConfigService: FrontendConfigService,\n private readonly _router: Router,\n private readonly _environmentService: EnvironmentService,\n private readonly _authService: AuthService,\n private readonly _trackingService: TrackingWrapperService,\n private readonly ngrxStore: Store,\n private noEnvironmentAvailableOverlayService: NoEnvironmentAvailableOverlayService,\n private languageService: LanguageService,\n private userSettingsService: UserSettingsService,\n private environmentSettingsService: EnvironmentSettingsService,\n private emptyEnvironmentNotificationService: EmptyEnvironmentNotificationService,\n private globalQueryParamsService: GlobalQueryParamsService,\n private customIconsService: CustomIconsService,\n private meta: Meta,\n private translate: TranslateService,\n @Inject(LOCALE_ID) public locale: string,\n @Inject(DOCUMENT) private document: Document\n ) {\n super();\n this._router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this._trackingService.addGTM({ eventCategory: 'page_load' }, [event.url]);\n }\n });\n this.translate.onLangChange\n .pipe(\n mergeMap(() => this.translate.get('meta-description')),\n takeUntil(this._onDestroy$)\n )\n .subscribe((translatedDescription: string) => {\n this.meta.updateTag({\n name: 'description',\n content: translatedDescription,\n });\n });\n this.initialSetup();\n }\n\n public get isLoggedIn$(): Observable {\n return this.ngrxStore.select(selectIsUserLoggedIn);\n }\n\n ngOnInit(): void {\n this.showNoEnvironmentOverlayWhenHasNoEnvironments();\n this.showEnvironmentHasNoDataOverlay();\n this.listenToLangChangeAndUpdateAppLang();\n this.listenToEnvironmentChangeAndLoadSettingsAndPeriods();\n this.loadUserSettings();\n this.globalQueryParamsService.listenToRouteChanges().subscribe();\n this.globalQueryParamsService.updateQueryParamsInUrl().subscribe();\n this.customIconsService.registerCustomIcons();\n this.registerChartFeatures();\n }\n\n registerChartFeatures(): void {\n Chart.register([Tooltip, Legend]);\n }\n\n loadUserSettings(): void {\n this.ngrxStore\n .select(selectEnvironmentReadiness)\n .pipe(\n filter(Boolean),\n first(),\n mergeMap(() => this.userSettingsService.getUserSettingsAndUpdateStore())\n )\n .subscribe();\n }\n\n listenToEnvironmentChangeAndLoadSettingsAndPeriods(): void {\n this.ngrxStore\n .select(selectSelectedEnvironmentId)\n .pipe(\n filter(Boolean),\n distinctUntilChanged(),\n mergeMap((envId) =>\n this.environmentSettingsService.getEnvironmentSettingsAndUpdateStore(envId)\n ),\n takeUntil(this._onDestroy$)\n )\n .subscribe();\n\n this.ngrxStore\n .select(selectEnvironmentSettings)\n .pipe(\n filter(Boolean),\n mergeMap(() => this._environmentService.loadReportingPeriods()),\n takeUntil(this._onDestroy$)\n )\n .subscribe();\n }\n\n listenToLangChangeAndUpdateAppLang(): void {\n this.selectSelectedLanguage$\n .pipe(\n filter((lang) => !!lang),\n distinctUntilChanged(),\n takeUntil(this._onDestroy$)\n )\n .subscribe((lang) => {\n this.languageService.saveLanguage(lang as Languages);\n if (!!this.document?.documentElement) {\n this.document.documentElement.lang = lang as Languages;\n }\n });\n }\n\n showEnvironmentHasNoDataOverlay(): void {\n combineLatest([\n this.ngrxStore.select(selectEnvironmentHasNoData),\n this.ngrxStore.select(selectEnvironmentReadiness),\n ])\n .pipe(filter(([hasNoData, envIsReady]) => hasNoData && envIsReady))\n .subscribe(() => {\n this.emptyEnvironmentNotificationService.open();\n });\n }\n\n showNoEnvironmentOverlayWhenHasNoEnvironments(): void {\n this.ngrxStore\n .select(selectHasNoEnvironments)\n .pipe(filter(Boolean))\n .subscribe(() => {\n this.noEnvironmentAvailableOverlayService.open();\n });\n }\n\n private async initialSetup(): Promise {\n // 1. Load frontend config values from backend\n await this._frontendConfigService.loadFrontendConfigValues();\n // 2. Handle login\n const loggedIn = await this._authService.handleLogin();\n // 3. Load environment basics\n if (loggedIn) this._environmentService.loadEnvironments();\n }\n}\n","\n \n \n
\n \n
\n
\n
\n
\n \n \n @if (!(selectHideSelectedPeriodInfo$ | async)) {\n \n }\n \n \n
\n\n
\n \n \n \n \n
\n \n
\n\n\n\n\n \n\n","import { registerLocaleData } from '@angular/common';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport localeDe from '@angular/common/locales/de';\nimport { ErrorHandler, NgModule } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { provideUiAngular } from '@ista-ui/angular';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { GoogleTagManagerModule } from 'angular-google-tag-manager';\nimport { NgrxStoreRouterModule } from 'app/+state/router/ngrx-store-router.module';\nimport { CoreEffects } from 'core/+state/core.effects';\nimport { CoreModule } from 'core/core.module';\nimport { NoEnvironmentAvailableOverlayComponent } from 'core/environment/no-environment-available-overlay/no-environment-available-overlay.component';\nimport { GlobalErrorHandler } from 'core/error-handling/global-error-handler';\nimport { NgChartsModule } from 'ng2-charts';\nimport { SharedModule } from 'shared/shared.module';\nimport { ROOT_REDUCER_TOKEN } from './+state/app.reducer';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { FeaturesModule } from './features/features.module';\nimport { StaticPagesModule } from './static-pages/static-pages.module';\nimport { SelectedPeriodInfoComponent } from 'core/selected-period-info/selected-period-info.component';\nimport { provideComponentStore } from '@ngrx/component-store';\nimport { BreadcrumbStore } from 'shared/ui/breadcrumb-navigation/breadcrumb.store';\nimport { BreadcrumbNavigationService } from 'shared/ui/breadcrumb-navigation/breadcrumb-navigation.service';\n\nexport const version = {\n hash: (+new Date()).toString(36), // generates a unique alphanumeric string representing the current timestamp in base 36\n};\n\nregisterLocaleData(localeDe, 'de');\n\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nexport function createTranslateLoader(http: HttpClient) {\n // append a hash value to the translation file url in order to force a cache refresh\n return new TranslateHttpLoader(http, './assets/i18n/', '.json?v=' + version.hash);\n}\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n AppRoutingModule,\n BrowserAnimationsModule,\n FeaturesModule,\n CoreModule,\n SharedModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: createTranslateLoader,\n deps: [HttpClient],\n },\n defaultLanguage: 'de',\n }),\n HttpClientModule,\n NgChartsModule,\n StaticPagesModule,\n GoogleTagManagerModule.forRoot({\n id: 'GTM-MMSSHDX',\n }),\n StoreModule.forRoot(ROOT_REDUCER_TOKEN, {\n runtimeChecks: {\n strictStateImmutability: true,\n strictActionImmutability: true,\n strictStateSerializability: true,\n strictActionSerializability: true,\n },\n }),\n EffectsModule.forRoot([CoreEffects]),\n StoreDevtoolsModule.instrument({\n maxAge: 25, // Retains last 25 states\n logOnly: false, // Restrict extension to log-only mode\n }),\n NgrxStoreRouterModule,\n NoEnvironmentAvailableOverlayComponent,\n SelectedPeriodInfoComponent,\n ],\n providers: [\n {\n provide: ErrorHandler,\n useClass: GlobalErrorHandler,\n },\n provideUiAngular(),\n provideComponentStore(BreadcrumbStore),\n BreadcrumbNavigationService,\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import { CoreState } from '../interface';\nimport { Languages } from 'core/language/language.interface';\nimport { DEFAULT_UNASSIGNED_SITES_GROUP } from 'core/constants';\n\nexport const initialCoreState: CoreState = {\n environmentReady: false,\n availableEnvironments: [],\n selectedEnvironment: undefined,\n yearsWithData: [],\n reportingPeriods: [],\n selectedGroup: undefined,\n allowLoadSites: true,\n groupSearchRunning: false,\n showNavigationMenu: true,\n subNavigationSelectedHeadline: '',\n globalSelectedYear: undefined,\n selectedLanguage: Languages.DE,\n environmentSettings: undefined,\n navigationSubmenuObjectIsSelected: false,\n hasNoEnvironments: false,\n selectedSite: undefined,\n selectedSiteOrGroup: undefined,\n unassignedSitesGroup: {\n ...DEFAULT_UNASSIGNED_SITES_GROUP,\n },\n forcePortfolioGroupToReload: false,\n userSettings: undefined,\n tags: [],\n\n treeNavigation: {\n groups: undefined,\n unassignedSitesGroup: {\n ...DEFAULT_UNASSIGNED_SITES_GROUP,\n },\n },\n searchTreeNavigation: undefined,\n};\n","import { createAction, props } from '@ngrx/store';\nimport { EnvironmentSettings } from 'core/environment-settings/interfaces';\nimport { ReportingPeriod } from 'core/environment/reporting-period.interface';\nimport { Languages } from 'core/language/language.interface';\nimport { UserSettings } from 'core/user-settings/interfaces';\nimport { FilterDateRange } from 'shared/ui/filter/filter-tab.interface';\n\nimport { Environment } from '../environment/environment.interface';\nimport { Group, Site, SiteOfGroup } from '../groups/groups.interface';\nimport { Tag } from '../tags/interface';\n\n// export const load = createAction('[TimeSeries] load TimeSeries');\n\nexport const storeFrontendConfigType = '[Core] Store Frontend Config';\nexport const storeUserTokenType = '[Core] Store User Token';\nexport const storeEnvironmentReadinessType = '[Core] Store Environment Readiness';\nexport const storeEnvironmentsType = '[Core] Store Environments';\nexport const storeSelectedEnvironmentType = '[Core] Store selected Environment';\nexport const storeAvailableYearsType = '[Core] Store available Years';\nexport const storeReportingPeriodsType = '[Core] Store Reporting Periods Type';\nexport const storeGroupsType = '[Core] Store Groups';\nexport const storeSearchTreeNavigationType = '[Core] Store Search Tree Navigation';\nexport const resetSearchTreeNavigationType = '[Core] reset Search Tree Navigation';\nexport const storeSelectedGroupType = '[Core] Store selected Group';\nexport const storeSitesOfGroupsType = '[Core] Store Sites of Groups';\nexport const deleteSiteFromGroupType = '[Core] delete Site from Group';\nexport const updateLoadSitesStateType = '[Core] Update Load Sites State';\nexport const clearLoadSitesStateType = '[Core] Clear Load Sites State';\nexport const storeGroupSearchStatusType = '[Core] Store Group Search Status';\nexport const updateShowNavigationMenuType = '[Core] Update NavigationMenu';\nexport const updateSubNavigationSelectedHeadlineType =\n '[Core] Update subNavigation Selected Headline';\nexport const updateGlobalSelectedYearType = '[Core] Update Global Selected Year';\n\nexport const updateSelectedLanguageType = '[Core] Update Selected Language';\nexport const storeSelectedSiteType = '[Core] Store Selected Site';\nexport const storeSelectedGroupOrSiteType = '[Core] Store Selected Group Or Site';\n\nexport const removeSelectedSiteType = '[Site] Remove Selected';\nexport const moveAndAddSiteType = '[Core] Move Site';\nexport const moveAndAddGroupType = '[Core] Move Group';\nexport const moveAndAddGroupToRootType = '[Core] Move Group To Root';\nexport const updateUnassignedSitesType = '[Core] Update unassigned Sites';\nexport const addUnassignedSitesType = '[Core] Add Sites To unassigned Sites';\nexport const addNewGroupToGroupType = '[Core] Add New Group';\nexport const deleteGroupFromGroupType = '[Core] Delete Group From Group';\nexport const updateUserSettingsType = '[Core] Update User Settings';\nexport const updateEnvironmentSettingsType = '[Core] Update Environment Settings';\nexport const renameGroupType = '[Core] Rename Group';\nexport const updateTagsType = '[Core] Update Tags';\nexport const addTagType = '[Core] Add Tag';\nexport const resetTagsType = '[Core] Reset Tags';\nexport const setTagsType = '[Core] Set Tags';\n\nexport const updateSearchTreeNavigationType = '[Core] update Search Tree Navigation';\n\nexport const storeFrontendConfig = createAction(\n storeFrontendConfigType,\n props<{\n frontendConfig: {\n keycloakUrl: string;\n keycloakClientId: string;\n keycloakMockEnabled: boolean;\n };\n }>()\n);\n\nexport const storeUserToken = createAction(storeUserTokenType, props<{ userToken: string }>());\n\nexport const storeEnvironmentReadiness = createAction(\n storeEnvironmentReadinessType,\n props<{ environmentReady: boolean }>()\n);\n\nexport const storeEnvironments = createAction(\n storeEnvironmentsType,\n props<{ availableEnvironments: Environment[] }>()\n);\n\nexport const storeSelectedEnvironment = createAction(\n storeSelectedEnvironmentType,\n props<{ selectedEnvironment: Environment }>()\n);\n\nexport const storeAvailableYears = createAction(\n storeAvailableYearsType,\n props<{ yearsWithData: number[]; preSelectedYear?: number }>()\n);\n\nexport const storeReportingPeriods = createAction(\n storeReportingPeriodsType,\n props<{ reportingPeriods: ReportingPeriod[] }>()\n);\n\nexport const storeGroups = createAction(storeGroupsType, props<{ groups: Group[] }>());\nexport const storeSearchTreeNavigationGroups = createAction(\n storeSearchTreeNavigationType,\n props<{\n groups: Group[];\n unassignedSites: SiteOfGroup[];\n }>()\n);\n\nexport const resetSearchTreeNavigation = createAction(resetSearchTreeNavigationType);\n\nexport const storeSelectedGroup = createAction(\n storeSelectedGroupType,\n props<{ selectedGroupId: number }>()\n);\n\nexport const storeSelectedAvailableYear = createAction(\n '[Core] Store selected available Year',\n props<{ selectedYear: FilterDateRange }>()\n);\n\nexport const storeSitesOfGroups = createAction(\n storeSitesOfGroupsType,\n props<{ groupId: number; sites: SiteOfGroup[] }>()\n);\n\nexport const deleteSiteFromGroup = createAction(\n deleteSiteFromGroupType,\n props<{ parentGroup: Group; site: SiteOfGroup }>()\n);\n\nexport const updateLoadSitesState = createAction(\n updateLoadSitesStateType,\n props<{ state: boolean }>()\n);\n\nexport const clearLoadSitesState = createAction(clearLoadSitesStateType);\n\nexport const storeGroupSearchStatus = createAction(\n storeGroupSearchStatusType,\n props<{ isRunning: boolean }>()\n);\n\nexport const updateShowNavigationMenu = createAction(\n updateShowNavigationMenuType,\n props<{ showNavigationMenu: boolean }>()\n);\n\nexport const updateSubNavigationSelectedHeadline = createAction(\n updateSubNavigationSelectedHeadlineType,\n props<{ subNavigationSelectedHeadline: string }>()\n);\n\nexport const updateGlobalSelectedYear = createAction(\n updateGlobalSelectedYearType,\n props<{ globalSelectedYear: number }>()\n);\n\nexport const updateSelectedLanguage = createAction(\n updateSelectedLanguageType,\n props<{\n selectedLanguage: Languages;\n }>()\n);\n\nexport const storeSelectedSite = createAction(\n storeSelectedSiteType,\n props<{ selectedSite: Site | undefined }>()\n);\n\nexport const storeSelectedGroupOrSite = createAction(\n storeSelectedGroupOrSiteType,\n props<{ selectedGroupOrSite: Group | undefined }>()\n);\n\nexport const removeSelectedSite = createAction(removeSelectedSiteType);\nexport const moveAndAddSite = createAction(\n moveAndAddSiteType,\n props<{\n site: SiteOfGroup;\n targetGroup: Group;\n }>()\n);\n\nexport const moveAndAddGroup = createAction(\n moveAndAddGroupType,\n props<{\n group: Group;\n targetGroup: Group;\n }>()\n);\nexport const moveAndAddGroupToRoot = createAction(\n moveAndAddGroupToRootType,\n props<{\n group: Group;\n targetGroup: Group;\n }>()\n);\n\nexport const updateUnassignedSites = createAction(\n updateUnassignedSitesType,\n props<{\n unassignedSites: SiteOfGroup[];\n }>()\n);\n\nexport const addSitesToUnassignedSites = createAction(\n addUnassignedSitesType,\n props<{\n unassignedSites: SiteOfGroup[];\n }>()\n);\n\nexport const addNewGroupToGroups = createAction(\n addNewGroupToGroupType,\n props<{\n newGroup: Group;\n parentGroupId: number;\n }>()\n);\n\nexport const deleteGroupFromGroup = createAction(\n deleteGroupFromGroupType,\n props<{\n groupId: number;\n }>()\n);\n\nexport const updateEnvironmentSettings = createAction(\n updateEnvironmentSettingsType,\n props<{ environmentSettings: EnvironmentSettings }>()\n);\n\nexport const updateUserSettings = createAction(\n updateUserSettingsType,\n props<{\n settings: UserSettings;\n }>()\n);\n\nexport const renameGroup = createAction(\n renameGroupType,\n props<{\n name: string;\n groupId: number;\n }>()\n);\n\nexport const updateTags = createAction(\n updateTagsType,\n props<{\n tags: Tag[];\n }>()\n);\n\nexport const setTags = createAction(\n setTagsType,\n props<{\n tags: Tag[];\n }>()\n);\n\nexport const addTag = createAction(\n addTagType,\n props<{\n tag: Tag;\n }>()\n);\n\nexport const resetTags = createAction(resetTagsType);\n\nexport const updateSearchTreeNavigation = createAction(\n updateSearchTreeNavigationType,\n props<{\n group: Group[];\n unassignedSites: SiteOfGroup[];\n }>()\n);\n","import { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { storeSelectedEnvironment } from './core.actions';\nimport { tap } from 'rxjs';\nimport { StickyHeaderService } from '../sticky-header/sticky-header.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class CoreEffects {\n resetHeader$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(storeSelectedEnvironment),\n tap(() => this.stickyHeaderService.resetHeader())\n ),\n {\n dispatch: false,\n }\n );\n\n constructor(private actions$: Actions, private stickyHeaderService: StickyHeaderService) {}\n}\n","import { createReducer, on } from '@ngrx/store';\nimport { DEFAULT_UNASSIGNED_SITES_GROUP } from 'core/constants';\nimport { GroupHelper } from 'core/groups-tree-navigation/utils/group-helper';\nimport * as _ from 'lodash';\nimport {\n addNewGroupToGroups,\n addSitesToUnassignedSites,\n addTag,\n clearLoadSitesState,\n deleteGroupFromGroup,\n deleteSiteFromGroup,\n moveAndAddGroup,\n moveAndAddGroupToRoot,\n moveAndAddSite,\n removeSelectedSite,\n renameGroup,\n resetSearchTreeNavigation,\n resetTags,\n setTags,\n storeAvailableYears,\n storeEnvironmentReadiness,\n storeEnvironments,\n storeFrontendConfig,\n storeGroups,\n storeGroupSearchStatus,\n storeReportingPeriods,\n storeSearchTreeNavigationGroups,\n storeSelectedEnvironment,\n storeSelectedGroup,\n storeSelectedGroupOrSite,\n storeSelectedSite,\n storeSitesOfGroups,\n storeUserToken,\n updateEnvironmentSettings,\n updateGlobalSelectedYear,\n updateLoadSitesState,\n updateSearchTreeNavigation,\n updateSelectedLanguage,\n updateShowNavigationMenu,\n updateSubNavigationSelectedHeadline,\n updateTags,\n updateUnassignedSites,\n updateUserSettings,\n} from './core.actions';\nimport { initialCoreState } from 'core/+state/constants';\nimport { CoreStateHelper } from 'core/+state/utils/core-state-helper';\n\nexport const coreReducer = createReducer(\n initialCoreState,\n on(storeFrontendConfig, (state, action): typeof state => ({\n ...state,\n frontendConfig: action.frontendConfig,\n })),\n on(storeUserToken, (state, action): typeof state => ({\n ...state,\n userToken: action.userToken,\n })),\n on(storeEnvironmentReadiness, (state, action): typeof state => ({\n ...state,\n environmentReady: action.environmentReady,\n })),\n on(storeEnvironments, (state, action): typeof state => ({\n ...state,\n availableEnvironments: action.availableEnvironments,\n hasNoEnvironments: !action.availableEnvironments.length,\n })),\n on(storeSelectedEnvironment, (state, action): typeof state => ({\n ...state,\n selectedEnvironment: action.selectedEnvironment,\n })),\n on(storeAvailableYears, (state, action): typeof state => {\n const isExist = action.preSelectedYear && action.yearsWithData.includes(action.preSelectedYear);\n const selectedYear = isExist\n ? action.preSelectedYear\n : action.yearsWithData[action.yearsWithData.length - 1];\n\n return {\n ...state,\n yearsWithData: action.yearsWithData,\n globalSelectedYear: selectedYear,\n };\n }),\n on(storeReportingPeriods, (state, action): typeof state => ({\n ...state,\n reportingPeriods: action.reportingPeriods,\n })),\n on(storeGroups, (state, action): typeof state => ({\n ...state,\n treeNavigation: {\n ...state.treeNavigation,\n groups: action.groups,\n },\n })),\n on(resetSearchTreeNavigation, (state): typeof state => ({\n ...state,\n searchTreeNavigation: undefined,\n })),\n on(storeSearchTreeNavigationGroups, (state, action): typeof state => ({\n ...state,\n searchTreeNavigation: {\n groups: action.groups,\n unassignedSitesGroup: {\n ...DEFAULT_UNASSIGNED_SITES_GROUP,\n sites: action.unassignedSites,\n },\n },\n })),\n on(storeSelectedGroup, (state, action): typeof state => {\n const selectedGroup =\n action.selectedGroupId && state.treeNavigation.groups\n ? GroupHelper.flattenGroups(state.treeNavigation.groups).find(\n (g) => g.id === action.selectedGroupId\n )\n : undefined;\n return {\n ...state,\n selectedGroup,\n subNavigationSelectedHeadline:\n selectedGroup?.name ?? state.subNavigationSelectedHeadline ?? '',\n };\n }),\n on(deleteSiteFromGroup, (state, { parentGroup, site }) => {\n const res = CoreStateHelper.deleteSiteFromGroup(\n parentGroup,\n site,\n state.treeNavigation,\n state.searchTreeNavigation\n );\n return {\n ...state,\n ...res,\n };\n }),\n on(storeSitesOfGroups, (state, action): typeof state => ({\n ...state,\n treeNavigation: {\n ...state.treeNavigation,\n groups: CoreStateHelper.mergeSitesIntoGroups(\n state.treeNavigation.groups ?? [],\n action.groupId,\n action.sites,\n true\n ),\n },\n })),\n on(updateLoadSitesState, (state, action): typeof state => ({\n ...state,\n allowLoadSites: action.state,\n })),\n on(clearLoadSitesState, (state): typeof state => ({\n ...state,\n allowLoadSites: true,\n })),\n on(storeGroupSearchStatus, (state, action): typeof state => ({\n ...state,\n groupSearchRunning: action.isRunning,\n })),\n on(updateShowNavigationMenu, (state, action) => ({\n ...state,\n showNavigationMenu: action.showNavigationMenu,\n })),\n on(updateSubNavigationSelectedHeadline, (state, action) => ({\n ...state,\n subNavigationSelectedHeadline: action.subNavigationSelectedHeadline,\n })),\n on(updateGlobalSelectedYear, (state, action) => ({\n ...state,\n globalSelectedYear: action.globalSelectedYear,\n })),\n on(updateSelectedLanguage, (state, action) => ({\n ...state,\n selectedLanguage: action.selectedLanguage,\n })),\n on(updateEnvironmentSettings, (state, action) => ({\n ...state,\n environmentSettings: action.environmentSettings,\n })),\n on(storeSelectedSite, (state, action): typeof state => ({\n ...state,\n selectedSite: action.selectedSite,\n })),\n on(storeSelectedGroupOrSite, (state, action): typeof state => ({\n ...state,\n selectedSiteOrGroup: action.selectedGroupOrSite,\n })),\n on(removeSelectedSite, (state) => ({ ...state, selectedSite: undefined })),\n on(moveAndAddSite, (state, action) => {\n const res = CoreStateHelper.moveAndAddSite(\n action.site,\n action.targetGroup,\n state.treeNavigation,\n state.searchTreeNavigation\n );\n return {\n ...state,\n ...res,\n };\n }),\n on(moveAndAddGroup, (state, action) => {\n const res = CoreStateHelper.moveAndAddGroup(\n action.group,\n action.targetGroup,\n state.treeNavigation,\n state.searchTreeNavigation\n );\n return {\n ...state,\n ...res,\n };\n }),\n on(moveAndAddGroupToRoot, (state, action) => {\n const res = CoreStateHelper.moveAndAddGroupToRoot(\n action.group,\n state.treeNavigation,\n state.searchTreeNavigation\n );\n return {\n ...state,\n ...res,\n };\n }),\n on(deleteGroupFromGroup, (state, action) => {\n const res = CoreStateHelper.deleteGroupFromGroup(\n action.groupId,\n state.treeNavigation,\n state.searchTreeNavigation\n );\n return {\n ...state,\n ...res,\n };\n }),\n on(addSitesToUnassignedSites, (state, action) => ({\n ...state,\n ...CoreStateHelper.addSitesToUnassignedSites(\n action.unassignedSites,\n state.treeNavigation,\n state.searchTreeNavigation\n ),\n })),\n on(updateUnassignedSites, (state, action) => ({\n ...state,\n treeNavigation: {\n ...state.treeNavigation,\n unassignedSitesGroup: {\n ...DEFAULT_UNASSIGNED_SITES_GROUP,\n sites: action.unassignedSites,\n },\n },\n })),\n on(addNewGroupToGroups, (state, action) => ({\n ...state,\n ...CoreStateHelper.addNewGroupToGroups(\n action.newGroup,\n action.parentGroupId,\n state.treeNavigation,\n state.searchTreeNavigation\n ),\n })),\n on(updateUserSettings, (state, action) => ({\n ...state,\n userSettings: action.settings,\n })),\n on(renameGroup, (state, action) => {\n let treeGroups = _.cloneDeep(state.treeNavigation.groups ?? []);\n let searchTreeGroups = _.cloneDeep(state.searchTreeNavigation?.groups ?? []);\n if (treeGroups.length) {\n treeGroups = GroupHelper.renameGroup(treeGroups, action.groupId, action.name);\n }\n if (searchTreeGroups.length) {\n searchTreeGroups = GroupHelper.renameGroup(searchTreeGroups, action.groupId, action.name);\n }\n return {\n ...state,\n treeNavigation: {\n ...state.treeNavigation,\n groups: treeGroups,\n },\n searchTreeNavigation: state.searchTreeNavigation\n ? {\n ...state.searchTreeNavigation,\n groups: searchTreeGroups,\n }\n : undefined,\n };\n }),\n on(addTag, (state, action) => ({\n ...state,\n tags: [action.tag, ...state.tags],\n })),\n on(updateTags, (state, action) => {\n const tagsSet = new Set();\n const allTags = [...action.tags, ...state.tags];\n const filteredTags = allTags\n .filter((tag) => {\n const duplicate = tagsSet.has(tag.id);\n tagsSet.add(tag.id);\n return !duplicate;\n })\n .map((tag) => ({\n ...tag,\n lastModified: new Date().toISOString(),\n }));\n return {\n ...state,\n tags: filteredTags,\n };\n }),\n on(setTags, (state, action) => ({\n ...state,\n tags: [...action.tags],\n })),\n on(resetTags, (state) => ({\n ...state,\n tags: [],\n })),\n on(updateSearchTreeNavigation, (state, action) => ({\n ...state,\n searchTreeNavigation: {\n groups: action.group,\n unassignedSitesGroup: {\n ...DEFAULT_UNASSIGNED_SITES_GROUP,\n sites: action.unassignedSites,\n },\n },\n }))\n);\n","import { createSelector } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport {\n selectShowEnvironmentContainer,\n selectShowGlobalYearSelection,\n} from 'app/+state/router/reduced-route.selectors';\nimport { GroupMapper } from 'core/groups/group.mapper';\nimport { FilterDateRange, FilterTabItem } from 'shared/ui/filter/filter-tab.interface';\n\nimport { GroupHelper } from 'core/groups-tree-navigation/utils/group-helper';\nimport { CoreState } from 'core/+state/interface';\nimport { SelectItem } from '../../shared/ui/basic/select/select.interface';\nimport { CurrencySymbol } from '../environment-settings/interfaces';\n\nexport const selectCore = (state: RootState): CoreState => state.core;\nexport const selectFrontendConfig = createSelector(selectCore, (state) => state.frontendConfig);\nexport const selectUserToken = createSelector(selectCore, (state) => state.userToken);\nexport const selectIsUserLoggedIn = createSelector(selectCore, (state) => !!state.userToken);\nexport const selectAvailableEnvironment = createSelector(\n selectCore,\n (state) => state.availableEnvironments\n);\nexport const selectSelectedEnvironment = createSelector(\n selectCore,\n (state) => state?.selectedEnvironment\n);\nexport const selectSelectedEnvironmentId = createSelector(\n selectSelectedEnvironment,\n (env) => env?.id\n);\nexport const selectYearsWithData = createSelector(selectCore, (state) => state.yearsWithData);\n\nexport const selectEnvironmentHasNoData = createSelector(\n selectCore,\n (state) => state.yearsWithData?.length === 0\n);\n\nexport const selectYearsWithDataSortedDesc = createSelector(selectCore, (state) =>\n [...state.yearsWithData].sort((a, b) => b - a)\n);\n\nexport const selectYearsWithDataSortedDescAsString = createSelector(\n selectYearsWithDataSortedDesc,\n (state) => state.map((value) => value.toString())\n);\n\nexport const selectGlobalSelectedYear = createSelector(\n selectCore,\n (state) => state?.globalSelectedYear\n);\n\nexport const selectGlobalSelectedYearAsFilterRange = createSelector(\n selectCore,\n (state) =>\n ({\n from: state.globalSelectedYear ? `${state.globalSelectedYear}` : '',\n until: '',\n } as FilterDateRange)\n);\n\nexport const selectYearsWithDataAsFilterTabItems = createSelector(\n selectYearsWithData,\n selectGlobalSelectedYear,\n (years: number[], globalSelectedYear: number | undefined): FilterTabItem[] =>\n years.map((item) => ({\n label: item.toString(),\n value: item.toString(),\n active: item === globalSelectedYear,\n }))\n);\n\nexport const selectYearsCount = createSelector(selectCore, (state) => state.yearsWithData?.length);\n\nexport const selectEnvironmentReadiness = createSelector(\n selectCore,\n (state) => state.environmentReady\n);\n\nexport const selectTreeNavigation = createSelector(selectCore, (state) => state.treeNavigation);\nexport const selectSearchTreeNavigation = createSelector(\n selectCore,\n (state) => state.searchTreeNavigation\n);\nexport const selectTreeNavigationGroups = createSelector(\n selectTreeNavigation,\n (tree) => tree.groups\n);\nexport const selectSearchTreeNavigationGroups = createSelector(\n selectSearchTreeNavigation,\n (tree) => tree?.groups\n);\n\nexport const selectAllTreeNavigationGroups = createSelector(\n selectSearchTreeNavigationGroups,\n selectTreeNavigationGroups,\n (searchTreeGroups, treeGroups) => [...(treeGroups ?? []), ...(searchTreeGroups ?? [])]\n);\n\nexport const selectTreeNavigationSortedGroups = createSelector(\n selectSearchTreeNavigationGroups,\n selectTreeNavigationGroups,\n (searchTreeGroups, treeGroups) =>\n searchTreeGroups || treeGroups\n ? GroupHelper.sortGroupsAndChildGroupsAlphabetically(searchTreeGroups ?? treeGroups ?? [])\n : undefined\n);\n\nexport const selectAllowLoadSites = createSelector(selectCore, (state) => state.allowLoadSites);\n\nexport const selectHasNoEnvironments = createSelector(\n selectCore,\n (state) => state.hasNoEnvironments\n);\n\nexport const selectSelectedGroup = createSelector(selectCore, (state) => state.selectedGroup);\n\nexport const selectSelectedGroupId = createSelector(selectCore, (state) => state.selectedGroup?.id);\n\nexport const selectGroupSearchStatus = createSelector(\n selectCore,\n (state) => state.groupSearchRunning\n);\n\nexport const selectGroupsExist = createSelector(\n selectTreeNavigationGroups,\n (groups) => !!groups && !!groups.length\n);\n\nexport const selectAllGroups = createSelector(selectTreeNavigationGroups, (groups) =>\n groups ? GroupMapper.flatAllGroups(groups) : []\n);\n\nexport const selectShowNavigationMenu = createSelector(\n selectCore,\n (state) => state.showNavigationMenu\n);\nexport const selectSubNavigationSelectedHeadline = createSelector(\n selectCore,\n (state) => state.subNavigationSelectedHeadline\n);\n\nexport const selectShouldShowHeadlineContainer = createSelector(\n selectShowEnvironmentContainer,\n selectShowGlobalYearSelection,\n (showEnvironmentContainer, selectShowGlobalYearSelection) =>\n showEnvironmentContainer || selectShowGlobalYearSelection\n);\n\n/**\n * On the dashboard & portfolio screen, data is always shown for three years. E.g., if the year 2020\n * is selected, also the data for 2019 and 2018 is shown. But if there is no data for 2018, 2021\n * should be shown instead. This method determines the adjacent years of the selected year. If no\n * selected year is passed, the most recent three years are returned.\n */\nconst calcYearsRange = (yearsWithData: number[], selectedYear?: number) => {\n if (!selectedYear) {\n return yearsWithData.length <= 3\n ? yearsWithData\n : yearsWithData.slice(yearsWithData.length - 3, yearsWithData.length);\n }\n const index = yearsWithData.findIndex((item) => item === selectedYear);\n const start = index - 2 >= 0 ? index - 2 : 0;\n let end = index < 0 ? 0 : index + 1;\n if (start === 0) {\n end = 3;\n }\n return yearsWithData.slice(start, end);\n};\n\n/** @param selectedYear Selected year */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const selectAdjacentOrDefaultYears = (selectedYear?: number) =>\n createSelector(selectYearsWithData, (yearsWithData: number[]) =>\n calcYearsRange(yearsWithData, selectedYear)\n );\n\nexport const selectAdjacentYearsDependsOnGlobalSelectedYear = createSelector(\n selectGlobalSelectedYear,\n selectYearsWithData,\n (selectedYear, yearsWithData: number[]) => calcYearsRange(yearsWithData, selectedYear)\n);\n\nexport const selectChartYearFilterRange = createSelector(\n selectAdjacentYearsDependsOnGlobalSelectedYear,\n (years: number[]) =>\n ({\n from: `${years[0]}`,\n until: `${years[years.length - 1]}`,\n } as FilterDateRange)\n);\n\nexport const selectSelectedLanguage = createSelector(\n selectCore,\n (state) => state.userSettings?.language\n);\n\nexport const selectSelectedSite = createSelector(selectCore, (state) => state.selectedSite);\n\nexport const selectIsSite = createSelector(selectSelectedSite, (state) => !!state?.id);\n\nexport const selectSelectedGroupOrSite = createSelector(\n selectCore,\n (state) => state?.selectedSiteOrGroup\n);\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const selectSpecificGroup = (groupId: number) =>\n createSelector(selectAllGroups, (groups) => groups.find((group) => group.id === groupId));\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const selectTreeNavigationSpecificGroup = (groupId: number) =>\n createSelector(selectTreeNavigationGroups, (groups) =>\n GroupMapper.flatAllGroups(groups ?? []).find((group) => group.id === groupId)\n );\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n// New Implementation for TreeNavigation\nexport const selectTreeNavigationUnassignedSitesGroup = createSelector(\n selectTreeNavigation,\n (state) => state.unassignedSitesGroup\n);\n\nexport const selectSearchTreeNavigationUnassignedSitesGroup = createSelector(\n selectSearchTreeNavigation,\n (state) => state?.unassignedSitesGroup\n);\n\nexport const selectUnassignedSitesGroup = createSelector(\n selectSearchTreeNavigationUnassignedSitesGroup,\n selectTreeNavigationUnassignedSitesGroup,\n (unassignedSearchTree, unassignedTree) => unassignedSearchTree ?? unassignedTree\n);\n\nexport const selectUnassignedSitesGroupSortedSites = createSelector(\n selectUnassignedSitesGroup,\n (unassignedSitesGroup) => ({\n ...unassignedSitesGroup,\n sites: unassignedSitesGroup?.sites\n ? GroupHelper.sortSitesAlphabetically(unassignedSitesGroup?.sites)\n : undefined,\n })\n);\n\n// End New\n\nexport const selectEnvironmentSettings = createSelector(\n selectCore,\n (state) => state.environmentSettings\n);\n\nexport const selectIsCustomYearSelected = createSelector(\n selectEnvironmentSettings,\n (state) => state?.type === 'CUSTOM_REPORT_YEAR'\n);\n\nexport const selectCustomYearStartDate = createSelector(\n selectEnvironmentSettings,\n (state) => state?.annualReportStartDate\n);\n\nexport const selectEnvironmentSettingsType = createSelector(\n selectCore,\n (state) => state.environmentSettings?.type\n);\n\nexport const selectEnvironmentSettingsCurrency = createSelector(\n selectCore,\n (state) => state.environmentSettings?.currency\n);\n\nexport const selectEnvironmentSettingsCurrencySymbol = createSelector(\n selectEnvironmentSettingsCurrency,\n (currency) => (currency ? CurrencySymbol[currency] : CurrencySymbol.EUR)\n);\n\nexport const selectAllTags = createSelector(selectCore, (state) => state.tags);\n\nexport const selectAllGroupsAsSelectItem = createSelector(selectAllGroups, (groups): SelectItem[] =>\n groups.map((group) => ({\n id: group.id,\n name: group.name,\n }))\n);\n","import { CoreState } from '../interface';\nimport { Group, SiteOfGroup } from 'core/groups/groups.interface';\nimport { TreeNavigation } from 'core/interface';\nimport * as _ from 'lodash';\nimport { cloneDeep } from 'lodash';\nimport { GroupHelper } from 'core/groups-tree-navigation/utils/group-helper';\nimport { DEFAULT_UNASSIGNED_SITES_GROUP, UNASSIGNED_SITES_GROUP_ID } from 'core/constants';\n\nexport class CoreStateHelper {\n static moveAndAddSite(\n site: SiteOfGroup,\n targetGroup: Group,\n treeNavigation: TreeNavigation,\n searchTreeNavigation?: TreeNavigation\n ): Partial {\n const treeNavigationGroup = cloneDeep([\n treeNavigation.unassignedSitesGroup,\n ...(treeNavigation.groups ?? []),\n ]);\n const searchTreeNavigationGroup: Group[] = searchTreeNavigation\n ? cloneDeep([\n searchTreeNavigation.unassignedSitesGroup,\n ...(searchTreeNavigation.groups ?? []),\n ])\n : [];\n if (treeNavigationGroup.length) {\n GroupHelper.deleteSiteFromChildGroup(treeNavigationGroup, site);\n GroupHelper.addSiteToGroup(treeNavigationGroup, site, targetGroup.id);\n }\n if (searchTreeNavigationGroup.length) {\n GroupHelper.deleteSiteFromChildGroup(searchTreeNavigationGroup, site);\n GroupHelper.addSiteToGroup(searchTreeNavigationGroup, site, targetGroup.id);\n }\n const [treeUnassignedSitesGroup, ...treeNavigationGroups] = treeNavigationGroup;\n const [searchTreeUnassignedSitesGroup, ...searchTreeNavigationGroups] =\n searchTreeNavigationGroup;\n return {\n treeNavigation: {\n groups: treeNavigationGroups,\n unassignedSitesGroup: treeUnassignedSitesGroup,\n },\n searchTreeNavigation: searchTreeNavigation\n ? {\n groups: searchTreeNavigationGroups,\n unassignedSitesGroup: searchTreeUnassignedSitesGroup,\n }\n : undefined,\n };\n }\n\n static moveAndAddGroup(\n group: Group,\n targetGroup: Group,\n treeNavigation: TreeNavigation,\n searchTreeNavigation?: TreeNavigation\n ): Partial {\n let treeNavigationGroups = cloneDeep(treeNavigation.groups);\n let searchTreeNavigationGroups: Group[] = searchTreeNavigation\n ? (cloneDeep(searchTreeNavigation.groups) as Group[])\n : [];\n\n if (treeNavigationGroups?.length) {\n treeNavigationGroups = GroupHelper.addGroupToGroup(\n GroupHelper.deleteGroupFromChildGroup(treeNavigationGroups, group.id),\n group,\n targetGroup.id\n );\n }\n\n if (searchTreeNavigationGroups.length) {\n searchTreeNavigationGroups = GroupHelper.addGroupToGroup(\n GroupHelper.deleteGroupFromChildGroup(searchTreeNavigationGroups, group.id),\n group,\n targetGroup.id\n );\n }\n\n return {\n treeNavigation: {\n ...treeNavigation,\n groups: treeNavigationGroups,\n },\n searchTreeNavigation: searchTreeNavigation\n ? {\n ...searchTreeNavigation,\n groups: searchTreeNavigationGroups,\n }\n : undefined,\n };\n }\n\n static moveAndAddGroupToRoot(\n group: Group,\n treeNavigation: TreeNavigation,\n searchTreeNavigation?: TreeNavigation\n ): Partial {\n let treeNavigationGroups = cloneDeep(treeNavigation.groups);\n let searchTreeNavigationGroups: Group[] = searchTreeNavigation\n ? (cloneDeep(searchTreeNavigation.groups) as Group[])\n : [];\n\n if (treeNavigationGroups?.length) {\n const treeNavigationGroupsAfterDelete = GroupHelper.deleteGroupFromChildGroup(\n treeNavigationGroups,\n group.id\n );\n treeNavigationGroups = [...treeNavigationGroupsAfterDelete, group];\n }\n\n if (searchTreeNavigationGroups.length) {\n const searchTreeNavigationGroupsAfterDelete = GroupHelper.deleteGroupFromChildGroup(\n searchTreeNavigationGroups,\n group.id\n );\n searchTreeNavigationGroups = [...searchTreeNavigationGroupsAfterDelete, group];\n }\n\n return {\n treeNavigation: {\n ...treeNavigation,\n groups: treeNavigationGroups,\n },\n searchTreeNavigation: searchTreeNavigation\n ? {\n ...searchTreeNavigation,\n groups: searchTreeNavigationGroups,\n }\n : undefined,\n };\n }\n\n static deleteGroupFromGroup(\n groupId: number,\n treeNavigation: TreeNavigation,\n searchTreeNavigation?: TreeNavigation\n ): Partial {\n let treeNavigationGroups = cloneDeep(treeNavigation.groups);\n let searchTreeNavigationGroups: Group[] = searchTreeNavigation\n ? (cloneDeep(searchTreeNavigation.groups) as Group[])\n : [];\n\n if (treeNavigationGroups?.length) {\n treeNavigationGroups = GroupHelper.deleteGroupFromChildGroup(treeNavigationGroups, groupId);\n }\n\n if (searchTreeNavigationGroups.length) {\n searchTreeNavigationGroups = GroupHelper.deleteGroupFromChildGroup(\n searchTreeNavigationGroups,\n groupId\n );\n }\n\n return {\n treeNavigation: {\n ...treeNavigation,\n groups: treeNavigationGroups,\n },\n searchTreeNavigation: searchTreeNavigation\n ? {\n ...searchTreeNavigation,\n groups: searchTreeNavigationGroups,\n }\n : undefined,\n };\n }\n\n static addSitesToUnassignedSites(\n unassignedSites: SiteOfGroup[],\n treeNavigation: TreeNavigation,\n searchTreeNavigation?: TreeNavigation\n ): Partial {\n return {\n treeNavigation: {\n ...treeNavigation,\n unassignedSitesGroup: {\n ...treeNavigation.unassignedSitesGroup,\n sites: [...unassignedSites, ...(treeNavigation.unassignedSitesGroup.sites ?? [])],\n },\n },\n searchTreeNavigation: searchTreeNavigation\n ? {\n ...searchTreeNavigation,\n unassignedSitesGroup: {\n ...searchTreeNavigation.unassignedSitesGroup,\n sites: [\n ...unassignedSites,\n ...(searchTreeNavigation.unassignedSitesGroup.sites ?? []),\n ],\n },\n }\n : undefined,\n };\n }\n\n static addNewGroupToGroups(\n newGroup: Group,\n parentGroupId: number,\n treeNavigation: TreeNavigation,\n searchTreeNavigation?: TreeNavigation\n ): Partial {\n if (!parentGroupId) {\n return {\n treeNavigation: {\n ...treeNavigation,\n groups: [newGroup, ...(treeNavigation?.groups ?? [])],\n },\n searchTreeNavigation: searchTreeNavigation\n ? {\n ...searchTreeNavigation,\n groups: [newGroup, ...(searchTreeNavigation?.groups ?? [])],\n }\n : undefined,\n };\n }\n\n return {\n treeNavigation: {\n ...treeNavigation,\n groups: GroupHelper.addGroupToGroup(\n cloneDeep(treeNavigation.groups ?? []),\n newGroup,\n parentGroupId\n ),\n },\n searchTreeNavigation: searchTreeNavigation\n ? {\n ...searchTreeNavigation,\n groups: GroupHelper.addGroupToGroup(\n cloneDeep(searchTreeNavigation.groups ?? []),\n newGroup,\n parentGroupId\n ),\n }\n : undefined,\n };\n }\n\n static deleteSiteFromGroup(\n parentGroup: Group,\n site: SiteOfGroup,\n treeNavigation: TreeNavigation,\n searchTreeNavigation?: TreeNavigation\n ): Partial {\n const childSites = site.sites;\n const filteredSites = GroupHelper.deleteChildSiteFromGroupSites(\n parentGroup.sites ?? [],\n site.id\n );\n\n if (parentGroup.id !== UNASSIGNED_SITES_GROUP_ID) {\n return {\n treeNavigation: {\n ...treeNavigation,\n groups: CoreStateHelper.mergeSitesIntoGroups(\n treeNavigation.groups ?? [],\n parentGroup.id,\n filteredSites\n ),\n unassignedSitesGroup: {\n ...treeNavigation.unassignedSitesGroup,\n sites: [...childSites, ...(treeNavigation.unassignedSitesGroup.sites ?? [])],\n },\n },\n searchTreeNavigation: searchTreeNavigation\n ? {\n ...searchTreeNavigation,\n groups: CoreStateHelper.mergeSitesIntoGroups(\n searchTreeNavigation.groups ?? [],\n parentGroup.id,\n filteredSites\n ),\n unassignedSitesGroup: {\n ...searchTreeNavigation.unassignedSitesGroup,\n sites: [...childSites, ...(searchTreeNavigation.unassignedSitesGroup.sites ?? [])],\n },\n }\n : undefined,\n };\n }\n\n return {\n treeNavigation: {\n ...treeNavigation,\n unassignedSitesGroup: {\n ...DEFAULT_UNASSIGNED_SITES_GROUP,\n sites: [...childSites, ...filteredSites],\n },\n },\n\n searchTreeNavigation: searchTreeNavigation\n ? {\n ...searchTreeNavigation,\n unassignedSitesGroup: {\n ...DEFAULT_UNASSIGNED_SITES_GROUP,\n sites: [...childSites, ...filteredSites],\n },\n }\n : undefined,\n };\n }\n\n static mergeSitesIntoGroupsRecursion(\n groups: Group[],\n targetGroupId: number,\n sites: SiteOfGroup[],\n sitesAlreadyLoaded: boolean\n ): void {\n let index = 0;\n let targetGroupFound = false;\n while (index < groups.length && !targetGroupFound) {\n if (groups[index].id === targetGroupId) {\n groups[index].sites = sites;\n groups[index].sitesAlreadyLoaded = sitesAlreadyLoaded;\n targetGroupFound = true;\n } else if (groups[index].groups !== undefined && groups[index].groups.length > 0) {\n CoreStateHelper.mergeSitesIntoGroupsRecursion(\n groups[index].groups,\n targetGroupId,\n sites,\n sitesAlreadyLoaded\n );\n }\n index++;\n }\n }\n\n static mergeSitesIntoGroups(\n groups: Group[],\n targetGroupId: number,\n sites: SiteOfGroup[],\n sitesAlreadyLoaded = false\n ): Group[] {\n const result = _.cloneDeep(groups);\n CoreStateHelper.mergeSitesIntoGroupsRecursion(result, targetGroupId, sites, sitesAlreadyLoaded);\n return result;\n }\n}\n","import { AuthConfig } from 'angular-oauth2-oidc';\n\nimport { environment } from 'environments/environment';\n\nexport const authCodeFlowConfig: AuthConfig = {\n // Url of the Identity Provider\n issuer: 'https://keycloak-test.ista.com/auth/realms/daytona',\n\n // URL of the SPA to redirect the user to after login\n redirectUri: `${window.location.origin}${window.location.pathname}`,\n\n // https://keycloak-test.ista.com/auth/realms/daytona\n loginUrl: 'https://keycloak-test.ista.com/auth/realms/daytona',\n logoutUrl: environment.redirectUri,\n\n // The SPA's id. The SPA is registerd with this id at the auth-server\n // clientId: 'server.code',\n clientId: 'daytona-api',\n\n // Just needed if your auth server demands a secret. In general, this\n // is a sign that the auth server is not configured with SPAs in mind\n // and it might not enforce further best practices vital for security\n // such applications.\n // dummyClientSecret: 'secret',\n\n responseType: 'code',\n\n // set the scope for the permissions the client should request\n // The first four are defined by OIDC.\n // Important: Request offline_access to get a refresh token\n // The api scope is a usecase specific one\n scope: 'openid profile email offline_access',\n\n showDebugInformation: true,\n silentRefreshTimeout: 500,\n};\n","import { HttpClientModule } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';\nimport { AuthService } from './auth.service';\n\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\n\n// We need a factory since localStorage is not available at AOT build time\nexport function storageFactory(): OAuthStorage {\n return sessionStorage;\n}\n\n@NgModule({\n imports: [HttpClientModule, OAuthModule.forRoot()],\n declarations: [],\n providers: [AuthService],\n})\nexport class AuthModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: AuthModule,\n providers: [{ provide: OAuthStorage, useFactory: storageFactory }],\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { RootState } from 'app/+state/app.reducer';\nimport { environment } from 'environments/environment';\nimport { firstValueFrom } from 'rxjs';\nimport { LoggerService } from 'shared/helper/logger.service';\n\nimport { storeUserToken } from '../+state/core.actions';\nimport { selectFrontendConfig } from '../+state/core.selectors';\nimport { authCodeFlowConfig } from './auth-config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private readonly baseUrl = environment?.apiUrl;\n\n constructor(\n private readonly ngrxStore: Store,\n private readonly _httpClient: HttpClient,\n private readonly _oauthService: OAuthService\n ) {}\n public logout(): void {\n this._oauthService.logOut();\n }\n public async handleLogin(): Promise {\n try {\n const frontendConfig = await firstValueFrom(this.ngrxStore.select(selectFrontendConfig));\n\n if (frontendConfig) {\n const auth = {\n ...authCodeFlowConfig,\n issuer: frontendConfig.keycloakUrl,\n clientId: frontendConfig.keycloakClientId,\n };\n\n if (!frontendConfig.keycloakMockEnabled && !!environment.useAuthentification) {\n // Login using real Keycloak\n this._oauthService.configure(auth);\n try {\n await this._oauthService.loadDiscoveryDocumentAndLogin();\n } catch (error) {\n LoggerService.error('error in auth', error);\n }\n\n // If Login was successful, store user token\n if (this._oauthService.hasValidAccessToken() && this._oauthService.hasValidIdToken()) {\n const obtainedUserToken = this._oauthService.getAccessToken();\n this.ngrxStore.dispatch(storeUserToken({ userToken: obtainedUserToken }));\n await this.setRefreshTimer();\n } else {\n return Promise.resolve(false);\n }\n } else {\n // Login using Keycloak Mock of Backend (just for local development or testing environments)\n const obtainedUserToken = await firstValueFrom(\n this._httpClient.post(\n `${this.baseUrl}/issue-admin-token`,\n {},\n {\n responseType: 'text',\n }\n )\n );\n this.ngrxStore.dispatch(storeUserToken({ userToken: obtainedUserToken }));\n }\n }\n } catch (error) {\n console.error('Fehler beim Abrufen von frontendConfig:', error);\n }\n\n return Promise.resolve(true);\n }\n\n public async refreshToken(): Promise {\n try {\n const tokenResponse = await this._oauthService.refreshToken();\n this.ngrxStore.dispatch(storeUserToken({ userToken: tokenResponse.access_token }));\n this.setRefreshTimer();\n } catch (error) {\n // if refreshing the access token did not work, logout and let the user login again\n this._oauthService.logOut();\n }\n }\n\n public async setRefreshTimer(): Promise {\n const expiryTimestamp = this._oauthService.getAccessTokenExpiration();\n const currentTimestamp = Date.now();\n const timeLeft = expiryTimestamp - currentTimestamp;\n if (timeLeft <= 60000) {\n await this.refreshToken();\n } else {\n setTimeout(() => {\n this.refreshToken();\n }, timeLeft - 60000);\n }\n }\n}\n","import { FilterTab } from 'shared/ui/filter/filter-tab.interface';\nimport { Group } from 'core/groups/groups.interface';\nimport { SelectItem } from '../../shared/ui/basic/select/select.interface';\n\nexport const UNASSIGNED_SITES_GROUP_ID = 0;\n\nexport const nullValueDisplay = '-';\nexport const naValueDisplay = 'n/a';\n\nexport const PortfolioChartDefaultMainFilter: FilterTab = {\n left: [\n {\n label: '',\n value: 'consumption',\n },\n ],\n selectedYear: {\n from: '',\n until: '',\n },\n};\n\nexport const PortfolioChartDefaultSubFilter: FilterTab = {\n left: [\n {\n label: 'types.all',\n value: 'heatingAndHotWater',\n },\n ],\n selectedYear: {\n from: '',\n until: '',\n },\n};\n\nexport const ENVIRONMENT_ID_QUERY_PARAM = 'environmentId';\nexport const YEAR_QUERY_PARAM = 'year';\n\nexport const DEFAULT_UNASSIGNED_SITES_GROUP: Group = {\n groups: [],\n id: UNASSIGNED_SITES_GROUP_ID,\n name: 'common.unassigned-group',\n hasSites: false,\n sites: [],\n};\n\nexport const DEFAULT_CUSTOMER_PORTFOLIO_SELECTED_GROUP: SelectItem = {\n id: -1,\n name: 'common.groups-default-option-text',\n};\n\nexport const DEFAULT_MARKET_PORTFOLIO_SELECTED_GROUP: SelectItem = {\n id: -2,\n name: 'common.custom-groups-default-option-text',\n};\n","import { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\n\nimport { AuthModule } from './auth/auth.module';\nimport { EnvironmentModule } from './environment/environment.module';\nimport { LoadStatusIntereptor } from './load-status/load-status.interceptor';\nimport { ErrorCatchingInterceptor } from './http-error.interceptor';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { HttpTokenAuthorizationInterceptor } from './http-token-authorization.interceptor';\nimport { GlobalYearSelectionComponent } from 'core/global-year-selection/global-year-selection.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { StickyHeaderComponent } from 'core/sticky-header/sticky-header.component';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { DirectivesModule } from 'shared/directives/directives.module';\nimport { FilterModule } from 'shared/ui/filter/filter.module';\nimport { BasicModule } from 'shared/ui/basic/basic.module';\nimport { NgChartsModule } from 'ng2-charts';\nimport { TabModule } from 'shared/ui/basic/tab/tab.module';\nimport { MatTreeModule } from '@angular/material/tree';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RouterLink } from '@angular/router';\nimport { PortfolioGroupNavigationComponent } from 'core/portfolio-group-navigation/portfolio-group-navigation.component';\nimport { ButtonModule } from 'shared/ui/basic/button/button.module';\nimport { GroupsTreeNavigationModule } from 'core/groups-tree-navigation/groups-tree-navigation.module';\nimport { TooltipModule } from 'shared/ui/basic/tooltip/tooltip.module';\nimport { InputSearchModule } from 'shared/ui/basic/input-search/input-search.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatInputModule } from '@angular/material/input';\nimport { BreadcrumbComponent, UiBadgeVerticallyCenteredDirective } from '@ista-ui/angular';\nimport { MatBadge } from '@angular/material/badge';\nimport { BadgeButtonComponent } from 'shared/ui/basic/badge-button/badge-button.component';\nimport { BreadcrumbNavigationComponent } from 'shared/ui/breadcrumb-navigation/breadcrumb-navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EnvironmentModule,\n AuthModule.forRoot(),\n HttpClientModule,\n TranslateModule,\n MatSelectModule,\n FormsModule,\n PipesModule,\n DirectivesModule,\n FilterModule,\n BasicModule,\n NgChartsModule,\n TabModule,\n MatTreeModule,\n MatButtonModule,\n RouterLink,\n ButtonModule,\n GroupsTreeNavigationModule,\n TooltipModule,\n InputSearchModule,\n MatTooltipModule,\n MatInputModule,\n MatIconModule,\n GlobalYearSelectionComponent,\n ReactiveFormsModule,\n UiBadgeVerticallyCenteredDirective,\n MatBadge,\n BadgeButtonComponent,\n BreadcrumbComponent,\n BreadcrumbNavigationComponent,\n ],\n declarations: [\n StickyHeaderComponent,\n PortfolioGroupNavigationComponent,\n ],\n exports: [\n EnvironmentModule,\n GlobalYearSelectionComponent,\n StickyHeaderComponent,\n PortfolioGroupNavigationComponent,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: LoadStatusIntereptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorCatchingInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpTokenAuthorizationInterceptor,\n multi: true,\n },\n ],\n})\nexport class CoreModule {}\n","import { Injectable } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CustomIconsService {\n constructor(private matIconRegistry: MatIconRegistry, private domSanitizer: DomSanitizer) {}\n\n registerCustomIcons(): void {\n this.matIconRegistry.addSvgIcon(\n 'circle_cost',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/cost.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'table_filter',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/table-filter.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'emissions',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/emissions.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'money_graph',\n this.domSanitizer.bypassSecurityTrustResourceUrl(\n '../assets/icons/rebranding/money-graph-bar.svg'\n )\n );\n this.matIconRegistry.addSvgIcon(\n 'heating',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/heating.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'building',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/building.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'area',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/area.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'door',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/door.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'waste',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/waste.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'water',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/water.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'electricity',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/electricity.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'buildings',\n this.domSanitizer.bypassSecurityTrustResourceUrl(\n '../assets/icons/rebranding/site-building.svg'\n )\n );\n\n this.matIconRegistry.addSvgIcon(\n 'masterdata',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/masterdata.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'logo',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/ista-logo.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'logo_small',\n this.domSanitizer.bypassSecurityTrustResourceUrl(\n '../assets/icons/rebranding/ista-logo-small.svg'\n )\n );\n\n this.matIconRegistry.addSvgIcon(\n 'finance_chart',\n this.domSanitizer.bypassSecurityTrustResourceUrl(\n '../assets/icons/rebranding/finance-chart.svg'\n )\n );\n\n this.matIconRegistry.addSvgIcon(\n 'report',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/report.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'envelop',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/envelop.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'help',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/help.svg')\n );\n this.matIconRegistry.addSvgIcon(\n 'settings',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/settings.svg')\n );\n this.matIconRegistry.addSvgIcon(\n 'logout',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/logout.svg')\n );\n this.matIconRegistry.addSvgIcon(\n 'tags',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/tags.svg')\n );\n this.matIconRegistry.addSvgIcon(\n 'marker',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/marker.svg')\n );\n this.matIconRegistry.addSvgIcon(\n 'glossar',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/glossar.svg')\n );\n this.matIconRegistry.addSvgIcon(\n 'add_circle',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/add-circle.svg')\n );\n this.matIconRegistry.addSvgIcon(\n 'shopping_building',\n this.domSanitizer.bypassSecurityTrustResourceUrl(\n '../assets/icons/rebranding/shopping-building.svg'\n )\n );\n\n this.matIconRegistry.addSvgIcon(\n 'dashboard',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/rebranding/dashboard.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'warning',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/warning.svg')\n );\n\n this.matIconRegistry.addSvgIcon(\n 'circle_success',\n this.domSanitizer.bypassSecurityTrustResourceUrl('../assets/icons/circle-success.svg')\n );\n }\n}\n","import { Directive, HostBinding, HostListener, Input } from '@angular/core';\nimport { DeepLinkingCustomParamsKeys, DeepLinkingIds } from './deep-linking.interface';\nimport { LinkWithGlobalQueryParamsDirective } from 'shared/directives/link-with-global-query-params.directive';\n\n@Directive({\n selector: '[deepLinkingSender]',\n standalone: true,\n hostDirectives: [LinkWithGlobalQueryParamsDirective],\n})\nexport class DeepLinkingSenderDirective {\n @Input({ required: true }) redirectUrl!: string;\n @Input() targetId?: DeepLinkingIds;\n @Input() customParamsValues: string[] = [];\n\n constructor(private linkWithGlobalQueryParamsDirective: LinkWithGlobalQueryParamsDirective) {}\n\n @HostBinding('class.cursor-pointer')\n get hasTargetId(): boolean {\n return !!this.targetId;\n }\n\n @HostListener('mousedown', ['$event'])\n navigateTo(event: MouseEvent): void {\n if (!this.redirectUrl || !this.targetId) {\n return;\n }\n\n this.linkWithGlobalQueryParamsDirective.link = this.redirectUrl;\n this.linkWithGlobalQueryParamsDirective.customParams = this.getCustomParamsObject();\n this.linkWithGlobalQueryParamsDirective.overrideTarget = '_blank';\n this.linkWithGlobalQueryParamsDirective.openInNewTab(event);\n }\n\n private getCustomParamsObject(): Record {\n const customParamsKeys = DeepLinkingCustomParamsKeys[this.targetId as DeepLinkingIds];\n const defaultParam = {\n target: this.targetId as DeepLinkingIds,\n };\n\n if (customParamsKeys.length) {\n return customParamsKeys\n .map((key, index) =>\n this.customParamsValues[index] ? { [key]: this.customParamsValues[index] } : undefined\n )\n .filter(Boolean)\n .reduce(\n (previousValue, currentValue) => ({\n ...previousValue,\n ...currentValue,\n }),\n defaultParam\n ) as Record;\n }\n\n return defaultParam;\n }\n}\n","export enum DeepLinkingIds {\n PORTFOLIO_CONSUMPTION_CHART = 'consumptionChart',\n PORTFOLIO_OVERVIEW = 'portfolioOverview',\n PORTFOLIO_SITE_TABS = 'portfolioSiteTabs',\n HELP = 'help',\n REPORTING = 'reporting',\n}\n\nexport type DeepLinkingCustomParams = Record;\n\nexport const DeepLinkingCustomParamsKeys: DeepLinkingCustomParams = {\n [DeepLinkingIds.PORTFOLIO_CONSUMPTION_CHART]: ['subTab', 'mainTab'],\n [DeepLinkingIds.PORTFOLIO_OVERVIEW]: [],\n [DeepLinkingIds.HELP]: ['id', 'tab'],\n [DeepLinkingIds.REPORTING]: ['tab'],\n [DeepLinkingIds.PORTFOLIO_SITE_TABS]: ['tabIndex'],\n};\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { UiModule } from 'shared/ui/ui.module';\n\n@Component({\n selector: 'ista-daytona-delete-confirm-dialog',\n templateUrl: 'delete-confirm-dialog.component.html',\n standalone: true,\n imports: [TranslateModule, UiModule],\n})\nexport class DeleteConfirmDialogComponent {\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { itemName: string }\n ) {}\n\n closeDialog(): void {\n this.dialogRef.close(false);\n }\n\n confirm(): void {\n this.dialogRef.close(true);\n }\n}\n","\n
\n
\n
\n
\n \n \n
\n
\n \n \n\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'ista-daytona-delete-revert-dialog',\n templateUrl: 'delete-revert-dialog.component.html',\n imports: [MatIcon, TranslateModule],\n standalone: true,\n})\nexport class DeleteRevertDialogComponent {\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { itemName: string }\n ) {}\n\n revert(): void {\n this.dialogRef.close(true);\n }\n}\n","\n
\n check_circle\n\n
\n
\n \n
\n \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'environments/environment';\nimport { EnvironmentSettings } from 'core/environment-settings/interfaces';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentSettingsHttpService {\n constructor(private readonly httpClient: HttpClient) {}\n\n getEnvironmentSettings(envId: number): Observable {\n return this.httpClient.get(\n `${environment.apiUrl}/api/${envId}/environment-settings`\n );\n }\n\n updateEnvironmentSettings(\n envId: number,\n settings: EnvironmentSettings\n ): Observable {\n return this.httpClient.post(\n `${environment.apiUrl}/api/${envId}/environment-settings`,\n settings\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { EnvironmentSettingsHttpService } from './environment-settings-http.service';\nimport { Observable, tap } from 'rxjs';\nimport { EnvironmentSettings } from 'core/environment-settings/interfaces';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { updateEnvironmentSettings } from 'core/+state/core.actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentSettingsService {\n constructor(\n private environmentSettingsHttpService: EnvironmentSettingsHttpService,\n private readonly ngrxStore: Store\n ) {}\n\n getEnvironmentSettingsAndUpdateStore(envId: number): Observable {\n return this.environmentSettingsHttpService.getEnvironmentSettings(envId).pipe(\n tap((environmentSettings) =>\n this.ngrxStore.dispatch(\n updateEnvironmentSettings({\n environmentSettings,\n })\n )\n )\n );\n }\n\n updateEnvironmentSettingsAndUpdateStore(\n envId: number,\n settings: EnvironmentSettings\n ): Observable {\n return this.environmentSettingsHttpService.updateEnvironmentSettings(envId, settings).pipe(\n tap((environmentSettings) =>\n this.ngrxStore.dispatch(\n updateEnvironmentSettings({\n environmentSettings,\n })\n )\n )\n );\n }\n}\n","export type DisplayedPeriodType = 'CALENDAR_YEAR' | 'CUSTOM_REPORT_YEAR';\n\nexport enum Currency {\n EUR = 'EUR',\n DKK = 'DKK',\n SFR = 'SFR',\n}\n\nexport enum CurrencySymbol {\n EUR = '€',\n DKK = 'kr',\n SFR = '₣',\n}\n\nexport interface EnvironmentSettings {\n type: DisplayedPeriodType;\n annualReportStartDate?: string;\n currency?: Currency;\n}\n","import { Component } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { Environment } from './environment.interface';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { selectAvailableEnvironment, selectSelectedEnvironment } from '../+state/core.selectors';\nimport { storeSelectedEnvironment } from '../+state/core.actions';\n\n@Component({\n selector: 'ista-daytona-environment-container',\n templateUrl: './environment-container.component.html',\n})\nexport class EnvironmentContainerComponent {\n envs$: Observable = this.ngrxStore.select(selectAvailableEnvironment);\n selectedEnv$: Observable =\n this.ngrxStore.select(selectSelectedEnvironment);\n\n constructor(private readonly ngrxStore: Store) {}\n\n onSelectChange(env: Environment): void {\n this.ngrxStore.dispatch(storeSelectedEnvironment({ selectedEnvironment: env }));\n }\n}\n","\n","/* eslint-disable @typescript-eslint/member-ordering */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\nimport { FormControl, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { map, Observable, startWith } from 'rxjs';\n\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SelectItem } from 'shared/ui/basic/select/select.interface';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { CommonModule } from '@angular/common';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { Environment } from '../environment.interface';\nimport { EnvironmentDropdownPipe } from 'shared/pipes/environment-dropdown.pipe';\n\n@Component({\n selector: 'ista-daytona-environment-select',\n templateUrl: './environment-select.component.html',\n styleUrls: ['./environment-select.component.scss'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatIconModule,\n MatAutocompleteModule,\n TranslateModule,\n MatButtonModule,\n EnvironmentDropdownPipe,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line no-use-before-define\n useExisting: forwardRef(() => EnvironmentSelectComponent),\n multi: true,\n },\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EnvironmentSelectComponent {\n @Input() envs: Environment[] = [];\n @Input() title = '';\n @Input() disabled = false;\n @Output() selectedEnvChanged = new EventEmitter();\n\n // mat-autocomplete writes user-selected values\n // automatically in here, so the type is string | SelectItem\n public singleControl = new FormControl('');\n public lastSelectedEnv: Environment | undefined;\n public filteredSingleOptions$: Observable = this.singleControl.valueChanges.pipe(\n startWith(''),\n map((value) => this._filterSingleOptions(value ?? ''))\n );\n\n @HostListener('document:click', ['$event'])\n clickOutsideEnvSelect(event: Event): void {\n if (\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n !this.element.nativeElement.contains(event.target) &&\n this.singleControl.value !== this.lastSelectedEnv\n ) {\n this.selectedEnv = this.lastSelectedEnv;\n }\n }\n\n constructor(private element: ElementRef) {}\n\n @Input()\n get selectedEnv(): Environment | undefined | null {\n return this._selectedEnv;\n }\n\n set selectedEnv(selectedEnv: Environment | undefined | null) {\n this._selectedEnv = selectedEnv;\n if (selectedEnv) {\n this.lastSelectedEnv = selectedEnv;\n // For outside changes, like initial env loaded\n this.singleControl.setValue(selectedEnv, { emitEvent: false });\n }\n }\n\n private _selectedEnv: Environment | undefined | null = null;\n\n public onOptionSelected(item: SelectItem): void {\n const env = this.envs.find((env) => env.id === item.id);\n if (env) {\n this.selectedEnv = env;\n this.selectedEnvChanged.emit(env);\n }\n if (env !== this.lastSelectedEnv) {\n this.lastSelectedEnv = env;\n }\n }\n\n clearInput(): void {\n this.singleControl.reset();\n }\n\n displayFn(item: SelectItem): string {\n return item ? item.name : '';\n }\n\n private _filterSingleOptions(input: string | SelectItem): Environment[] {\n // If one option is selected, that is, the input is of type SelectItem,\n // we want to show every option to the user again\n if (typeof input === 'string') {\n return this.envs.filter(\n (env) =>\n env.name.toLowerCase().includes(input.toLowerCase()) ||\n env.customerNumbers.filter((customerNo) => customerNo.includes(input.toLowerCase()))\n .length\n );\n } else {\n return this.envs;\n }\n }\n}\n","
\n @if (title) {\n {{ title }}\n }\n \n \n \n @for (item of filteredSingleOptions$ | async | environmentDropdown; track item.id) {\n \n {{ item.name }}\n \n }\n \n
\n @if (!!searchInput) {\n \n }\n
\n \n
\n\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Environment } from './environment.interface';\n\n@Component({\n selector: 'ista-daytona-environment',\n templateUrl: './environment.component.html',\n styleUrls: ['./environment.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EnvironmentComponent {\n @Input()\n envs: Environment[] = [];\n @Input()\n selectedEnv?: Environment;\n @Output()\n selectEnv: EventEmitter = new EventEmitter();\n\n public onSelectChange(env: Environment): void {\n this.selectEnv.emit(env);\n }\n}\n","@if (envs.length > 1) {\n
\n \n
\n} @else {\n

{{ 'environment.envFailure' | translate }}

\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EnvironmentComponent } from './environment.component';\nimport { EnvironmentContainerComponent } from './environment-container.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EnvironmentDropdownPipe } from 'shared/pipes/environment-dropdown.pipe';\nimport { EnvironmentSelectComponent } from 'core/environment/environment-select/environment-select.component';\nimport { PipesModule } from 'shared/pipes/pipes.module';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n FormsModule,\n TranslateModule,\n EnvironmentDropdownPipe,\n EnvironmentSelectComponent,\n PipesModule,\n ],\n declarations: [EnvironmentContainerComponent, EnvironmentComponent],\n exports: [EnvironmentContainerComponent],\n providers: [],\n})\nexport class EnvironmentModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { ReportingPeriod } from 'core/environment/reporting-period.interface';\nimport { environment } from 'environments/environment';\nimport { filter, firstValueFrom, Subject, takeUntil } from 'rxjs';\nimport { DestroyAbstractService } from 'shared/helper/destroy-abstract.service';\n\nimport {\n resetTags,\n storeAvailableYears,\n storeEnvironmentReadiness,\n storeEnvironments,\n storeReportingPeriods,\n storeSelectedEnvironment,\n} from '../+state/core.actions';\nimport {\n selectEnvironmentIdQueryParam,\n selectYearQueryParam,\n} from 'app/+state/router/reduced-route.selectors';\nimport { selectSelectedEnvironment } from '../+state/core.selectors';\nimport { ErrorHandlerService } from '../error-handling/error-handler.service';\nimport { GroupService } from '../groups/group.service';\nimport { RequestTrackingService } from '../request-tracking.service';\nimport { Environment } from './environment.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService extends DestroyAbstractService {\n readonly baseUrl = environment?.apiUrl;\n private destroy$ = new Subject();\n\n constructor(\n private readonly ngrxStore: Store,\n private readonly _httpClient: HttpClient,\n private readonly requestTrackingService: RequestTrackingService,\n private readonly _errorHandler: ErrorHandlerService,\n private readonly groupService: GroupService\n ) {\n super();\n this.ngrxStore\n .select(selectSelectedEnvironment)\n .pipe(filter(Boolean), takeUntil(this.destroy$))\n .subscribe((selectedEnvironment) => {\n this.loadYearsWithData(selectedEnvironment);\n this.ngrxStore.dispatch(resetTags());\n this.groupService.loadGroupsOfEnvironment(selectedEnvironment);\n });\n }\n\n public async updateYearsAndGroups(): Promise {\n const selectedEnvironment = await firstValueFrom(\n this.ngrxStore.select(selectSelectedEnvironment)\n );\n try {\n await this.loadYearsWithData(selectedEnvironment);\n await this.groupService.loadGroupsOfEnvironment(selectedEnvironment);\n } catch {\n Promise.reject();\n }\n }\n\n public async loadEnvironments(): Promise {\n this.ngrxStore.dispatch(storeEnvironmentReadiness({ environmentReady: false }));\n const requestId = this.requestTrackingService.registerRequest('loadEnvironments');\n try {\n const result = await firstValueFrom(\n this._httpClient.get(`${this.baseUrl}/api/environments`)\n );\n\n // If there is a newer environments request, discard the result\n if (this.requestTrackingService.isRequestStillValid('loadEnvironments', requestId)) {\n this.ngrxStore.dispatch(storeEnvironments({ availableEnvironments: result }));\n if (result.length > 0) {\n const environmentIdQueryParam = await firstValueFrom(\n this.ngrxStore.select(selectEnvironmentIdQueryParam)\n );\n const index = result.findIndex((env) => env.id === environmentIdQueryParam);\n const env = index > -1 ? result[index] : result[0];\n this.ngrxStore.dispatch(\n storeSelectedEnvironment({\n selectedEnvironment: env,\n })\n );\n }\n }\n } catch (error) {\n this._errorHandler.handleError(error, 'LOAD_ENVIRONMENTS');\n }\n }\n\n public async loadYearsWithData(selectedEnvironment?: Environment): Promise {\n if (selectedEnvironment) {\n this.ngrxStore.dispatch(storeEnvironmentReadiness({ environmentReady: false }));\n const requestId = this.requestTrackingService.registerRequest('loadYearsWithData');\n try {\n const result = await firstValueFrom(\n this._httpClient.get(\n `${this.baseUrl}/api/${selectedEnvironment.id}/time-series/years-with-data`\n )\n );\n\n if (this.requestTrackingService.isRequestStillValid('loadYearsWithData', requestId)) {\n const yearQueryParam = await firstValueFrom(this.ngrxStore.select(selectYearQueryParam));\n this.ngrxStore.dispatch(storeAvailableYears({ yearsWithData: result }));\n\n this.ngrxStore.dispatch(\n storeAvailableYears({ yearsWithData: result, preSelectedYear: yearQueryParam })\n );\n this.ngrxStore.dispatch(storeEnvironmentReadiness({ environmentReady: true }));\n }\n } catch (error) {\n this._errorHandler.handleError(error, 'LOAD_YEARS_WITH_DATA');\n }\n }\n }\n\n async loadReportingPeriods(): Promise {\n const selectedEnvironment = await firstValueFrom(\n this.ngrxStore.select(selectSelectedEnvironment)\n );\n if (selectedEnvironment) {\n try {\n const requestId = this.requestTrackingService.registerRequest('loadReportingPeriods');\n const result = await firstValueFrom(\n this._httpClient.get(\n `${this.baseUrl}/api/${selectedEnvironment.id}/time-series/report-periods`\n )\n );\n\n if (this.requestTrackingService.isRequestStillValid('loadReportingPeriods', requestId)) {\n this.ngrxStore.dispatch(storeReportingPeriods({ reportingPeriods: result }));\n }\n } catch (error) {\n this._errorHandler.handleError(error, 'LOAD_REPORTING_PERIODS');\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { ButtonModule } from 'shared/ui/basic/button/button.module';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgIf } from '@angular/common';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { NotificationService } from 'shared/ui/notification/notification.service';\nimport { NotificationType } from 'shared/ui/notification/notification.interface';\n\n@Component({\n selector: 'ista-daytona-no-environment-overlay',\n templateUrl: 'no-environment-available-overlay.component.html',\n standalone: true,\n imports: [ButtonModule, MatIconModule, NgIf, TranslateModule, PipesModule],\n})\nexport class NoEnvironmentAvailableOverlayComponent {\n constructor(\n private translateService: TranslateService,\n private notificationService: NotificationService\n ) {}\n historyBack(event: MouseEvent): void {\n event.preventDefault();\n history.back();\n }\n\n openEmailClientProgram(): void {\n window.location.href = `mailto:${\n this.translateService.instant('no-environment-overlay.esg-email') as string\n }`;\n }\n\n copyEmailIntoClipBoard(): void {\n navigator.clipboard.writeText(\n this.translateService.instant('no-environment-overlay.esg-email') as string\n );\n\n this.notificationService.addNotification({\n headline: this.translateService.instant('no-environment-overlay.notification') as string,\n type: NotificationType.CONFIRMATION,\n });\n }\n}\n","
\n \n
\n
\n person_search\n
\n

{{ 'no-environment-overlay.headline' | translate }}

\n

\n

{{ 'no-environment-overlay.info' | translate }}

\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { NoEnvironmentAvailableOverlayComponent } from 'core/environment/no-environment-available-overlay/no-environment-available-overlay.component';\nimport { ComponentPortal } from '@angular/cdk/portal';\n\n@Injectable()\nexport class NoEnvironmentAvailableOverlayService {\n overlayRef!: OverlayRef;\n constructor(private overlay: Overlay) {\n this.overlayRef = this.createOverlayRef();\n }\n\n createOverlayRef(): OverlayRef {\n return this.overlay.create(this.getOverlayConfig(840, 840));\n }\n\n open(): void {\n this.overlayRef.attach(new ComponentPortal(NoEnvironmentAvailableOverlayComponent));\n this.overlayRef.backdropClick().subscribe(() => this.overlayRef.detach() as unknown);\n }\n\n close(): void {\n this.overlayRef.detach();\n }\n\n private getOverlayConfig(minHeight: number, minWidth: number): OverlayConfig {\n const positionStrategy = this.overlay\n .position()\n .global()\n .centerHorizontally()\n .centerVertically();\n\n return new OverlayConfig({\n hasBackdrop: true,\n backdropClass: 'overlay-background',\n panelClass: '',\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy,\n minHeight,\n minWidth,\n });\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { combineLatest, ObservableInput, of, throwError } from 'rxjs';\nimport { LoggerService } from 'shared/helper/logger.service';\nimport { NotificationType } from 'shared/ui/notification/notification.interface';\nimport { NotificationService } from 'shared/ui/notification/notification.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ErrorHandlerService {\n constructor(\n private readonly notificationService: NotificationService,\n private readonly translateService: TranslateService // private injector: Injector\n ) {\n // IMPORTANT: this is a workaround. Using this.injector.get(TranslateService) to invoke methods from the\n // TranslatorService as done in the method below also is part of this workaround.\n // This workaround is required when both of the following conditions are true:\n // 1. This service is injected in an httpInterceptor\n // 2. This service needs the TranslatorService\n // not applying this workaround will lead to an empty object injected. Debugging this is tough.\n // At the moment, this solution is not used anyway, but keep this comment for the future.\n // const translate = injector.get(TranslateService);\n }\n\n public handleError(\n error: HttpErrorResponse | any,\n attemptedActionKey?: string\n ): ObservableInput {\n let errorKey = 'errorMsg.UNKNOWN_ERROR';\n if (error?.status === 0) {\n errorKey = 'errorMsg.HTTP_FAILURE';\n LoggerService.error('An error occurred:', error.error);\n } else {\n if (error.status >= 400 && error.status < 500) {\n // expected error (status code 4xx)\n errorKey =\n 'errorMsg.' + ((error.error?.errorCode || error.error?.message) as string) ||\n 'errorMsg.UNKNOWN_ERROR';\n } else if (error.status >= 500) {\n // unexpected server error (status code 5xx)\n errorKey = 'errorMsg.UNEXPECTED_ERROR';\n }\n\n LoggerService.error(\n `Backend returned code ${error.status as string}, body was: `,\n error?.error || error\n );\n }\n\n combineLatest([\n this.translateService.get('errorMsg.HEADER_LABEL_ERROR'),\n this.translateService.get(errorKey),\n attemptedActionKey\n ? this.translateService.get('errorMsg.attemptedAction.' + attemptedActionKey)\n : of(''),\n ]).subscribe(([header, msg, attemptedAction]) => {\n this.notificationService.addNotification({\n headline: header as string,\n text:\n (attemptedAction as string) +\n ' ' +\n this.setErrorParameters(msg as string, error?.error?.errorParameters as string[]),\n type: NotificationType.WARNING,\n });\n });\n return throwError(() => new Error('Something bad happened; please try again later.'));\n }\n\n public displayError(errorTranslateKey: string, errorParameters?: string[]): void {\n combineLatest([\n this.translateService.get('errorMsg.HEADER_LABEL_ERROR'),\n this.translateService.get('errorMsg.' + errorTranslateKey),\n ]).subscribe(([header, msg]) => {\n this.notificationService.addNotification({\n headline: header as string,\n text: this.setErrorParameters(msg as string, errorParameters),\n type: NotificationType.WARNING,\n });\n });\n }\n\n private setErrorParameters(msg: string, parameters?: string[]): string {\n if (!msg || !parameters || !Array.isArray(parameters)) {\n return msg;\n }\n let currentIndex = 0;\n\n // Use a regular expression to match placeholders enclosed in curly braces\n const regex = /{}/g;\n\n // Use the replace() method with a callback function\n return msg.replace(regex, () => {\n if (currentIndex < parameters.length) {\n return parameters[currentIndex++];\n }\n\n // If there are no more values in the array, leave the placeholder unchanged\n return '{}';\n });\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { ErrorHandler, Injectable } from '@angular/core';\n\nimport { ErrorHandlerService } from './error-handler.service';\n\n@Injectable()\nexport class GlobalErrorHandler implements ErrorHandler {\n constructor(private readonly _errorHandler: ErrorHandlerService) {}\n\n /**\n * This global error handler handles all errors which haven't been caught where else. This\n * assures, that for every error a message is shown to the user. It is still better to catch the\n * errors where they are thrown and to handle them more specifically and to provide more use-case\n * specific details to the user.\n *\n * @param error\n */\n handleError(error: HttpErrorResponse | UncaughtPromiseError | any): void {\n console.error('GlobalErrorHandler.handleError', error);\n // if error.rejection is set, it's an UncaughtPromiseError\n const errorObject = (error.rejection ? error.rejection : error) as HttpErrorResponse;\n\n // Display a notification for the error\n this._errorHandler.handleError(errorObject);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AuthConfig } from 'angular-oauth2-oidc';\nimport { firstValueFrom } from 'rxjs';\n\nimport { environment } from 'environments/environment';\nimport { DestroyAbstractService } from 'shared/helper/destroy-abstract.service';\nimport { ErrorHandlerService } from './error-handling/error-handler.service';\nimport { Store } from '@ngrx/store';\nimport { RootState } from '../+state/app.reducer';\nimport { storeFrontendConfig } from './+state/core.actions';\n\n/* eslint-disable @typescript-eslint/member-ordering */\nexport interface AuthConfigExtended {\n auth: AuthConfig;\n mockEnabled: boolean;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FrontendConfigService extends DestroyAbstractService {\n constructor(\n private readonly ngrxStore: Store,\n private readonly _httpClient: HttpClient,\n private readonly _errorHandler: ErrorHandlerService\n ) {\n super();\n }\n\n public async loadFrontendConfigValues(): Promise {\n try {\n // 1. Load keycloak URL\n const keycloakUrl = await firstValueFrom(\n this._httpClient.get(environment.apiUrl + '/api/frontend-config/keycloak-url', {\n responseType: 'text',\n })\n );\n // 2. Load keycloak client ID\n const keycloakClientId = await firstValueFrom(\n this._httpClient.get(environment.apiUrl + '/api/frontend-config/keycloak-client-id', {\n responseType: 'text',\n })\n );\n // 3. Load mock enabled flag\n const keycloakMockEnabled: boolean = await firstValueFrom(\n this._httpClient.get(\n environment.apiUrl + '/api/frontend-config/keycloak-mock-enabled'\n )\n );\n\n this.ngrxStore.dispatch(\n storeFrontendConfig({\n frontendConfig: {\n keycloakUrl,\n keycloakClientId,\n keycloakMockEnabled,\n },\n })\n );\n } catch (error) {\n this._errorHandler.displayError('FRONTEND_CONFIG_FAILURE');\n }\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from '../+state/app.reducer';\nimport { combineLatest, filter, Observable, Subject, takeUntil, tap, withLatestFrom } from 'rxjs';\nimport { NavigationEnd, Router, UrlTree } from '@angular/router';\nimport { selectGlobalSelectedYear, selectSelectedEnvironmentId } from './+state/core.selectors';\nimport { ENVIRONMENT_ID_QUERY_PARAM, YEAR_QUERY_PARAM } from 'core/constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalQueryParamsService implements OnDestroy {\n private destroy$ = new Subject();\n\n constructor(private store: Store, private router: Router) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n listenToRouteChanges(): Observable {\n return this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n withLatestFrom(\n this.store.select(selectSelectedEnvironmentId),\n this.store.select(selectGlobalSelectedYear)\n ),\n filter(([, environmentId, globalSelectedYear]) => !!environmentId && !!globalSelectedYear),\n tap(([, environmentId, year]) => {\n const updatedUrlTree = this.setGlobalQueryParamsIntoUrl(\n environmentId as number,\n year as number\n );\n this.router.navigateByUrl(updatedUrlTree);\n }),\n takeUntil(this.destroy$)\n );\n }\n\n updateQueryParamsInUrl(): Observable {\n return combineLatest([\n this.store.select(selectSelectedEnvironmentId),\n this.store.select(selectGlobalSelectedYear),\n ]).pipe(\n filter(([environmentId, globalSelectedYear]) => !!environmentId && !!globalSelectedYear),\n tap(([environmentId, year]) => {\n const updatedUrlTree = this.setGlobalQueryParamsIntoUrl(\n environmentId as number,\n year as number\n );\n this.router.navigateByUrl(updatedUrlTree);\n })\n );\n }\n\n setGlobalQueryParamsIntoUrl(environmentId: number, year: number): UrlTree {\n const currentUrlTree = this.router.parseUrl(this.router.url);\n return this.router.createUrlTree([], {\n queryParams: {\n ...currentUrlTree.queryParams,\n [ENVIRONMENT_ID_QUERY_PARAM]: environmentId,\n [YEAR_QUERY_PARAM]: year,\n },\n queryParamsHandling: 'merge',\n preserveFragment: true,\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, OnDestroy, OnInit } from '@angular/core';\nimport {\n selectGlobalSelectedYear,\n selectYearsWithDataSortedDesc,\n} from 'core/+state/core.selectors';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { filter, Subject, takeUntil } from 'rxjs';\nimport { updateGlobalSelectedYear } from 'core/+state/core.actions';\nimport { MatButton } from '@angular/material/button';\nimport { MatMenu, MatMenuContent, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';\nimport { AsyncPipe, NgForOf, NgIf } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ButtonComponent } from 'shared/ui/basic/button/button.component';\n\n@Component({\n selector: 'ista-daytona-global-year-selection',\n templateUrl: 'global-year-selection.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatButton,\n MatMenuTrigger,\n MatMenu,\n MatMenuItem,\n MatIconModule,\n NgForOf,\n FormsModule,\n AsyncPipe,\n NgIf,\n MatMenuContent,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line no-use-before-define\n useExisting: forwardRef(() => ButtonComponent),\n multi: true,\n },\n ],\n standalone: true,\n})\nexport class GlobalYearSelectionComponent implements OnInit, OnDestroy {\n selectYearsWithDataSortedDesc$ = this.ngrxStore.select(selectYearsWithDataSortedDesc);\n selectedYear?: number = undefined; // for default Value, with async pipe doesn't work\n protected chevronType = 'arrow_drop_down';\n private destroy$ = new Subject();\n\n constructor(private readonly ngrxStore: Store) {}\n\n ngOnInit(): void {\n this.ngrxStore\n .select(selectGlobalSelectedYear)\n .pipe(\n filter((selectedYear) => !!selectedYear),\n takeUntil(this.destroy$)\n )\n .subscribe((selectedYear) => (this.selectedYear = selectedYear));\n }\n\n onSelectYearChange({ value }: { value: number }): void {\n this.ngrxStore.dispatch(\n updateGlobalSelectedYear({\n globalSelectedYear: value,\n })\n );\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","\n \n
\n \n \n
\n \n \n \n
\n \n {{ year }}\n \n
\n
\n
\n
\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { CustomValidators } from 'shared/helper/custom-validators';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { GROUP_NAME_EXISTS_ERROR_KEY } from 'shared/constants';\n\n@Component({\n selector: 'ista-daytona-add-group',\n templateUrl: 'add-group.component.html',\n styleUrls: ['add-group.component.scss'],\n})\nexport class AddGroupComponent {\n @ViewChild('inputField') inputField!: ElementRef;\n @Input() hideIcon = false;\n @Output() createGroup = new EventEmitter();\n showInputField = false;\n /* eslint-disable @typescript-eslint/unbound-method */\n groupNameInputControl: FormControl = new FormControl(\n '',\n [Validators.required, Validators.max(200)],\n [CustomValidators.isGroupNameAlreadyExists(this.ngrxStore)]\n );\n\n constructor(\n private element: ElementRef,\n private readonly ngrxStore: Store\n ) {}\n\n get isNameAlreadyExistError(): boolean {\n return this.groupNameInputControl.hasError(GROUP_NAME_EXISTS_ERROR_KEY);\n }\n\n hasError(): boolean {\n return this.groupNameInputControl.touched && this.groupNameInputControl.invalid;\n }\n\n showInputFieldAndSetFocus(): void {\n this.showInputField = true;\n setTimeout(() => {\n const inputField = this.element.nativeElement.querySelector(\n '.create-input-field'\n ) as HTMLInputElement;\n if (inputField) {\n inputField.focus();\n }\n });\n }\n\n hideInputFieldAndResetValue(): void {\n this.showInputField = false;\n this.groupNameInputControl.reset();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.hideInputFieldAndResetValue();\n } else if (event.key === 'Enter') {\n this.groupNameInputControl.markAsTouched();\n if (this.groupNameInputControl.valid) {\n this.createGroup.emit((event.target as HTMLInputElement).value);\n this.hideInputFieldAndResetValue();\n }\n }\n }\n}\n","\n \n {{ 'common.add-group-button-label' | translate }}\n
\n add\n
\n \n
\n \n \n \n {{ 'group-tree-navigation.create-group-error-message' | translate }}\n \n @if (isNameAlreadyExistError) {\n \n {{ 'group-tree-navigation.create-group-name-exist-error-message' | translate }}\n \n }\n \n close\n \n \n
\n\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'ista-daytona-group-delete-confirm-dialog',\n templateUrl: 'delete-confirm-dialog.component.html',\n})\nexport class DeleteConfirmDialogComponent {\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { itemName: string }\n ) {}\n\n closeDialog(): void {\n this.dialogRef.close(false);\n }\n\n confirm(): void {\n this.dialogRef.close(true);\n }\n}\n","\n
\n
\n
\n
\n \n \n
\n
\n \n \n\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'ista-daytona-delete-revert-dialog',\n templateUrl: 'delete-revert-dialog.component.html',\n})\nexport class DeleteRevertDialogComponent {\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { itemName: string }\n ) {}\n\n revert(): void {\n this.dialogRef.close(true);\n }\n}\n","\n
\n check_circle\n\n
\n
\n \n
\n \n\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { filter, fromEvent, Subject, switchMap, takeUntil, timer } from 'rxjs';\n\n@Directive({\n selector: '[drag]',\n})\nexport class DragDirective implements AfterViewInit, OnChanges, OnDestroy {\n @Input() enableDrag = false;\n @Output() dragStart = new EventEmitter();\n @Output() dragOver = new EventEmitter();\n @Output() dragEnd = new EventEmitter();\n destroy$ = new Subject();\n\n constructor(private elementRef: ElementRef) {}\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.hasOwnProperty('enableDrag') && changes['enableDrag']) {\n this.elementRef.nativeElement.draggable =\n (changes['enableDrag']?.currentValue as boolean) ?? false;\n }\n }\n\n registerDragEvents(): void {\n // handle long press on Mouse to Add Style\n const mouseUp$ = fromEvent(this.elementRef.nativeElement, 'mouseup').pipe(\n filter(() => this.enableDrag)\n );\n mouseUp$\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.elementRef.nativeElement.classList.remove('drag-start'));\n\n fromEvent(this.elementRef.nativeElement, 'mousedown')\n .pipe(\n switchMap(() => timer(200).pipe(takeUntil(mouseUp$))),\n filter(() => this.enableDrag),\n takeUntil(this.destroy$)\n )\n .subscribe(() => {\n this.elementRef.nativeElement.classList.add('drag-start');\n });\n\n // drag Events\n fromEvent(this.elementRef.nativeElement, 'dragstart')\n .pipe(\n filter(() => this.enableDrag),\n takeUntil(this.destroy$)\n )\n .subscribe((event) => this.dragStart.emit(event as DragEvent));\n\n fromEvent(this.elementRef.nativeElement, 'dragover')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n this.elementRef.nativeElement.classList.remove('drag-start');\n this.dragOver.emit(event as DragEvent);\n });\n\n fromEvent(this.elementRef.nativeElement, 'dragend')\n .pipe(\n filter(() => this.enableDrag),\n takeUntil(this.destroy$)\n )\n .subscribe((event) => {\n this.elementRef.nativeElement.classList.remove('drag-start');\n this.dragEnd.emit(event as DragEvent);\n });\n }\n\n ngAfterViewInit(): void {\n this.registerDragEvents();\n }\n}\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'ista-daytona-editing-item-options',\n templateUrl: 'editing-item-options.component.html',\n styleUrls: ['editing-item-options.component.scss'],\n})\nexport class EditingItemOptionsComponent {\n @ViewChild('element') element!: ElementRef;\n @Input() item?: { id: number; name: string };\n @Input({ transform: booleanAttribute }) showDragIcon = true;\n @Output() delete = new EventEmitter<{ x: number; y: number }>();\n\n onDelete(): void {\n const rect = this.element.nativeElement.getBoundingClientRect();\n this.delete.emit({\n x: rect.x,\n y: rect.bottom,\n });\n }\n}\n","
\n @if (showDragIcon) {\n \n swap_vert\n \n } @else {\n
\n }\n
{{ item.name }}
\n delete\n \n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Group, SiteOfGroup } from '../groups/groups.interface';\nimport { environment } from 'environments/environment';\n\n@Injectable()\nexport class GroupsTreeNavigationHttpService {\n constructor(private httpClient: HttpClient) {}\n\n getUnassignedSites(envId: number): Observable {\n return this.httpClient.get(\n `${environment.apiUrl}/api/${envId}/sites/unassigned`\n );\n }\n\n createGroup(envId: number, name: string, parentId?: number): Observable {\n return this.httpClient.post(`${environment.apiUrl}/api/${envId}/groups`, {\n name,\n parentId,\n });\n }\n\n getSiteHierarchy(envId: number, siteId: number): Observable {\n return this.httpClient.get(\n `${environment.apiUrl}/api/${envId}/sites/${siteId}/hierarchy`\n );\n }\n\n deleteSite(envId: number, siteId: number): Observable {\n return this.httpClient.delete(`${environment.apiUrl}/api/${envId}/portfolio/site/${siteId}`);\n }\n\n deleteGroup(envId: number, groupId: number): Observable {\n return this.httpClient.delete(`${environment.apiUrl}/api/${envId}/groups/${groupId}`);\n }\n\n updateSiteGroup(envId: number, siteId: number, groupId: number): Observable {\n return this.httpClient.post(\n `${environment.apiUrl}/api/${envId}/sites/${siteId}/group`,\n {\n groupId,\n }\n );\n }\n\n updateGroupParentId(envId: number, groupId: number, parentId: number): Observable {\n return this.httpClient.post(`${environment.apiUrl}/api/${envId}/groups/${groupId}`, {\n parentId,\n });\n }\n\n getSite(envId: number, siteId: number): Observable {\n return this.httpClient.get(\n `${environment.apiUrl}/api/${envId}/portfolio/site/${siteId}`\n );\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { NestedTreeControl } from '@angular/cdk/tree';\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\nimport { Group, SiteOfGroup } from 'core/groups/groups.interface';\nimport { Subject, takeUntil } from 'rxjs';\nimport { GroupsTreeNavigationStore } from 'core/groups-tree-navigation/groups-tree-navigation.store';\nimport { GroupsTreeNavigationService } from 'core/groups-tree-navigation/groups-tree-navigation.service';\nimport { GroupsTreeNavigationHttpService } from 'core/groups-tree-navigation/groups-tree-navigation-http.service';\nimport { UNASSIGNED_SITES_GROUP_ID } from 'core/constants';\nimport { ActiveNodeType } from 'core/groups-tree-navigation/interfaces';\n\n@Component({\n selector: 'ista-daytona-groups-tree-navigation',\n templateUrl: 'groups-tree-navigation.component.html',\n styleUrls: ['groups-tree-navigation.component.scss'],\n providers: [\n GroupsTreeNavigationHttpService,\n GroupsTreeNavigationStore,\n GroupsTreeNavigationService,\n ],\n})\nexport class GroupsTreeNavigationComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) enableEditingMode = false;\n @Input({ transform: booleanAttribute }) highlightEmptyGroups = false;\n dropZoneGroup?: Group;\n treeControl = new NestedTreeControl((node) => node.groups);\n dataSource = new MatTreeNestedDataSource();\n private destroy$ = new Subject();\n\n constructor(public groupsTreeNavigationService: GroupsTreeNavigationService) {}\n\n @Input({ transform: booleanAttribute }) set openAllGroups(openAllGroups: boolean) {\n this.groupsTreeNavigationService.updateOpenAllGroups(openAllGroups);\n }\n\n ngOnInit(): void {\n this.groupsTreeNavigationService.setGroupOrSiteId().pipe(takeUntil(this.destroy$)).subscribe();\n this.groupsTreeNavigationService\n .listenToEnvironmentChangesAndNavigateToPortfolio()\n .pipe(takeUntil(this.destroy$))\n .subscribe();\n }\n\n isGroupUnassignedGroup(group: Group): boolean {\n return group.id === UNASSIGNED_SITES_GROUP_ID;\n }\n\n shouldShowUnassignedGroup(group: Group): boolean {\n return this.isGroupUnassignedGroup(group) && (this.enableEditingMode || !!group.sites?.length);\n }\n\n shouldHighlightGroup(group: Group): boolean {\n return this.highlightEmptyGroups && !this.enableEditingMode && !group.sites?.length;\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n ngAfterViewInit(): void {\n this.groupsTreeNavigationService\n .checkIfISiteAndGetSiteHierarchyAndSetHierarchyGroups()\n .subscribe();\n this.groupsTreeNavigationService\n .listenToGroupChanges()\n .pipe(takeUntil(this.destroy$))\n .subscribe((groups) => (this.dataSource.data = groups));\n this.groupsTreeNavigationService\n .listenToPortfolioUrlChanges()\n .pipe(takeUntil(this.destroy$))\n .subscribe();\n }\n\n shouldEnableOpening(group: Group): boolean {\n return (\n this.enableEditingMode ||\n this.shouldShowUnassignedGroup(group) ||\n group.hasSites ||\n !!group.groups.length\n );\n }\n\n loadSites(group: Group): void {\n this.groupsTreeNavigationService.loadSites(group);\n }\n\n deleteGroup({ x, y }: { x: number; y: number }, group: Group): void {\n this.groupsTreeNavigationService.deleteGroup(group, y, x).subscribe();\n }\n\n deleteSite(\n { event, site }: { event: { x: number; y: number }; site: SiteOfGroup },\n parentGroup: Group\n ): void {\n this.groupsTreeNavigationService.deleteSite(event.y, event.x, site, parentGroup).subscribe();\n }\n\n toggleNodeAndLoadSites(group: Group): void {\n this.groupsTreeNavigationService.toggleNode(group);\n if (!this.isGroupUnassignedGroup(group)) {\n this.loadSites(group);\n }\n }\n\n navigateToSite(site: SiteOfGroup): void {\n this.groupsTreeNavigationService.navigateToSite(site);\n }\n\n createGroup(name: string, parentId?: number): void {\n this.groupsTreeNavigationService.createGroup(name, parentId).subscribe();\n }\n\n navigateToGroup(group: Group): void {\n this.groupsTreeNavigationService.navigateToGroup(group);\n }\n\n dragSiteStart(event: DragEvent, site: SiteOfGroup, parentGroupId: number): void {\n this.groupsTreeNavigationService.dragItemStart(event, site, 'site', parentGroupId);\n }\n\n dragGroupStart(event: DragEvent, group: Group): void {\n if (!this.isGroupUnassignedGroup(group)) {\n this.groupsTreeNavigationService.dragItemStart(event, group, 'group');\n }\n }\n\n showInEditingModeAndForNotUnassignedGroup(group: Group): boolean {\n return this.enableEditingMode && !this.isGroupUnassignedGroup(group);\n }\n\n showInReadonlyModeAndForNotUnassignedGroup(group: Group): boolean {\n return !this.enableEditingMode && !this.isGroupUnassignedGroup(group);\n }\n\n handleDrop(event: DragEvent, node: Group): void {\n this.groupsTreeNavigationService.handleDrop(event, node);\n this.dropZoneGroup = undefined;\n }\n\n dragend(): void {\n this.dropZoneGroup = undefined;\n }\n\n isExpanded(group: Group): boolean {\n return this.groupsTreeNavigationService.isExpanded(group);\n }\n\n isNodeActive(nodeId: number, type: ActiveNodeType): boolean {\n return this.groupsTreeNavigationService.getIsNodeActive(nodeId, type);\n }\n\n handleDragEnter($event: DragEvent, node: Group): void {\n this.dropZoneGroup = node;\n }\n\n handleDragLeave(): void {\n this.dropZoneGroup = undefined;\n }\n\n handleDragOver(event: DragEvent, node: Group): void {\n this.dropZoneGroup = node;\n this.groupsTreeNavigationService.handleDragOver(event);\n }\n\n handleSiteDragOver({ event, parentGroup }: { event: DragEvent; parentGroup: Group }): void {\n this.dropZoneGroup = parentGroup;\n this.groupsTreeNavigationService.handleDragOver(event);\n }\n}\n","\n \n\n \n \n \n \n
\n \n {{ node.name | translate }}\n
\n \n \n {{ node.name }}\n \n \n \n
\n \n {{ isExpanded(node) ? 'expand_more' : 'chevron_right' }}\n \n
\n \n \n \n
\n \n \n @if (node?.sites?.length) {\n @for (site of node.sites; track site.id) {\n \n }\n }\n
\n
\n \n\n","import { NgModule } from '@angular/core';\nimport { AddGroupComponent } from './add-group/add-group.component';\nimport { GroupsTreeNavigationComponent } from './groups-tree-navigation.component';\nimport { MatTreeModule } from '@angular/material/tree';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AsyncPipe, NgClass, NgForOf, NgIf } from '@angular/common';\nimport { MatInputModule } from '@angular/material/input';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { EditingItemOptionsComponent } from 'core/groups-tree-navigation/editing-item-options/editing-item-options.component';\nimport { DeleteConfirmDialogComponent } from 'core/groups-tree-navigation/delete-confirm-dialog/delete-confirm-dialog.component';\nimport { UiModule } from 'shared/ui/ui.module';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { DeleteRevertDialogComponent } from 'core/groups-tree-navigation/delete-revert-dialog/delete-revert-dialog.component';\nimport { DragDirective } from 'core/groups-tree-navigation/directive/drag.directive';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { SiteItemComponent } from 'core/groups-tree-navigation/site-item/site-item.component';\n\n@NgModule({\n declarations: [\n AddGroupComponent,\n GroupsTreeNavigationComponent,\n EditingItemOptionsComponent,\n DeleteConfirmDialogComponent,\n DeleteRevertDialogComponent,\n DragDirective,\n SiteItemComponent,\n ],\n exports: [GroupsTreeNavigationComponent],\n imports: [\n MatTreeModule,\n TranslateModule,\n MatIconModule,\n NgIf,\n MatInputModule,\n NgClass,\n NgForOf,\n ReactiveFormsModule,\n MatMenuModule,\n MatDividerModule,\n UiModule,\n MatDialogModule,\n MatTooltipModule,\n AsyncPipe,\n ],\n})\nexport class GroupsTreeNavigationModule {}\n","import { Injectable } from '@angular/core';\nimport { GroupsTreeNavigationStore } from 'core/groups-tree-navigation/groups-tree-navigation.store';\nimport { Group, SiteOfGroup } from 'core/groups/groups.interface';\nimport {\n combineLatest,\n debounceTime,\n delay,\n distinctUntilChanged,\n filter,\n first,\n forkJoin,\n map,\n mergeMap,\n NEVER,\n Observable,\n of,\n skip,\n tap,\n} from 'rxjs';\nimport {\n selectGroupIdParam,\n selectIsIdParamIdGroup,\n selectIsIdParamIdSite,\n selectIsPortfolioUrl,\n} from 'app/+state/router/reduced-route.selectors';\nimport { GroupHelper } from 'core/groups-tree-navigation/utils/group-helper';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport {\n selectSelectedEnvironmentId,\n selectSelectedGroupOrSite,\n selectTreeNavigationGroups,\n selectTreeNavigationSortedGroups,\n selectUnassignedSitesGroup,\n} from 'core/+state/core.selectors';\nimport {\n addNewGroupToGroups,\n deleteGroupFromGroup,\n deleteSiteFromGroup,\n moveAndAddGroup,\n moveAndAddGroupToRoot,\n moveAndAddSite,\n storeSelectedGroupOrSite,\n updateSubNavigationSelectedHeadline,\n updateUnassignedSites,\n} from 'core/+state/core.actions';\nimport { GroupService } from 'core/groups/group.service';\nimport { GroupsTreeNavigationHttpService } from 'core/groups-tree-navigation/groups-tree-navigation-http.service';\nimport { Router } from '@angular/router';\nimport { GroupMapper } from 'core/groups/group.mapper';\nimport { UNASSIGNED_SITES_GROUP_ID } from 'core/constants';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DeleteConfirmDialogComponent } from 'core/groups-tree-navigation/delete-confirm-dialog/delete-confirm-dialog.component';\nimport { catchError } from 'rxjs/operators';\nimport { DeleteRevertDialogComponent } from 'core/groups-tree-navigation/delete-revert-dialog/delete-revert-dialog.component';\nimport { ActiveNodeType } from 'core/groups-tree-navigation/interfaces';\nimport { updatePossibleEditingPortfolioNavigationFinishedState } from 'app/features/portfolio/+state/portfolio.actions';\nimport { ToastrService } from 'ngx-toastr';\nimport { TranslateService } from '@ngx-translate/core';\nimport { StickyHeaderService } from 'core/sticky-header/sticky-header.service';\nimport { Title } from '@angular/platform-browser';\nimport { BASE_PAGE_TITLE } from '../title-strategy.service';\n\n@Injectable()\nexport class GroupsTreeNavigationService {\n constructor(\n private readonly ngrxStore: Store,\n private groupsTreeNavigationStore: GroupsTreeNavigationStore,\n private readonly groupService: GroupService,\n private groupsTreeNavigationHttpService: GroupsTreeNavigationHttpService,\n private readonly route: Router,\n private dialog: MatDialog,\n private toastService: ToastrService,\n private translateService: TranslateService,\n private stickyHeaderService: StickyHeaderService,\n private readonly _titleService: Title\n ) {}\n\n showDeleteConfirmDialog(itemName: string, top: number, left: number): Observable {\n const dialog = this.dialog.open(DeleteConfirmDialogComponent, {\n data: {\n itemName,\n },\n hasBackdrop: false,\n position: {\n top: `${top}px`,\n left: `${left}px`,\n },\n });\n return dialog.afterClosed() as Observable;\n }\n\n showDeleteRevertDialog(itemName: string, top: number, left: number): Observable {\n const dialog = this.dialog.open(DeleteRevertDialogComponent, {\n data: {\n itemName,\n },\n hasBackdrop: false,\n position: {\n top: `${top}px`,\n left: `${left}px`,\n },\n });\n dialog\n .afterOpened()\n .pipe(delay(5000))\n .subscribe(() => dialog.close(false));\n return dialog.afterClosed() as Observable;\n }\n\n navigateToSite(site: SiteOfGroup): void {\n this.updateSelectedGroupOrSite(site.id);\n this.updateActiveNode(site, 'site');\n this.updateHeadline(site);\n this.updatePageTitle(site);\n this.route.navigate(['portfolio', 'site', site.id]);\n }\n\n navigateToGroup(group: Group): void {\n this.updateSelectedGroupOrSite(group.id);\n this.updateActiveNode(group, 'group');\n this.updateHeadline(group);\n this.updatePageTitle(group);\n this.route.navigate(['portfolio', 'group', group.id]);\n }\n\n navigateToPortfolio(): void {\n this.route.navigate(['portfolio']);\n }\n\n listenToPortfolioUrlChanges(): Observable {\n return this.ngrxStore.select(selectIsPortfolioUrl).pipe(\n distinctUntilChanged(),\n filter(Boolean),\n tap(() => {\n this.updateSelectedGroupOrSite();\n this.groupsTreeNavigationStore.resetStore();\n })\n );\n }\n\n listenToEnvironmentChangesAndNavigateToPortfolio(): Observable {\n return this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n filter(Boolean),\n skip(1), // skip initial Value\n distinctUntilChanged(),\n tap(() => this.navigateToPortfolio())\n );\n }\n\n listenToGroupChanges(): Observable {\n return combineLatest([\n this.ngrxStore.select(selectGroupIdParam),\n this.ngrxStore.select(selectIsIdParamIdGroup),\n this.ngrxStore.select(selectTreeNavigationSortedGroups),\n this.ngrxStore.select(selectUnassignedSitesGroup),\n ]).pipe(\n debounceTime(200),\n tap(([idParam, isGroupId, treeNavigationGroups]) => {\n if (idParam && isGroupId && treeNavigationGroups) {\n const isGroupIdExists = GroupMapper.flatAllGroups(treeNavigationGroups).find(\n (group) => group.id === idParam\n );\n if (!isGroupIdExists) {\n this.navigateToPortfolio();\n }\n }\n }),\n tap(([idParam, isGroupId, groups]) => {\n if (idParam && isGroupId) {\n const hierarchy = groups ? GroupHelper.getGroupHierarchy(groups, idParam) : [];\n if (hierarchy.length) {\n const targetNode = hierarchy.pop() as Group;\n this.groupsTreeNavigationStore.addNodesId(hierarchy.map((g) => g.id));\n this.updateHeadline(targetNode);\n this.updatePageTitle(targetNode);\n }\n this.updateActiveNode(\n {\n id: idParam,\n },\n 'group'\n );\n }\n }),\n map(([, , groups, unassignedGroup]) => [...(groups ?? []), unassignedGroup]),\n tap((groups) => this.groupsTreeNavigationStore.updateGroupsAndExpandedNodeIds(groups)),\n catchError((err) => {\n console.error(err);\n this.showErrorAndReloadPageIsRequired();\n return [];\n })\n );\n }\n\n // Http Functions Start\n updateSiteGroup(siteId: number, groupId: number): Observable {\n return this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n first(),\n filter(Boolean),\n mergeMap((envId) =>\n this.groupsTreeNavigationHttpService.updateSiteGroup(envId, siteId, groupId)\n ),\n catchError((err) => {\n console.error(err);\n this.showErrorAndReloadPageIsRequired();\n return NEVER;\n })\n );\n }\n\n updateGroupParentGroup(groupId: number, parentId: number): Observable {\n return this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n first(),\n filter(Boolean),\n mergeMap((envId) =>\n this.groupsTreeNavigationHttpService.updateGroupParentId(envId, groupId, parentId)\n ),\n catchError((err) => {\n console.error(err);\n this.showErrorAndReloadPageIsRequired();\n return NEVER;\n })\n );\n }\n\n getUnassignedSites(): Observable {\n return this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n first(),\n filter(Boolean),\n mergeMap((envId) =>\n forkJoin([of(envId), this.groupsTreeNavigationHttpService.getUnassignedSites(envId)])\n ),\n mergeMap(([envId, sites]) =>\n forkJoin([\n of(sites),\n this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n first(),\n map((currentEnvId) => currentEnvId === envId)\n ),\n ])\n ),\n filter(([, isEnvIdMatched]) => !!isEnvIdMatched),\n map(([sites]) => sites),\n tap((unassignedSites) =>\n this.ngrxStore.dispatch(\n updateUnassignedSites({\n unassignedSites,\n })\n )\n ),\n catchError((err) => {\n console.error(err);\n this.showErrorAndReloadPageIsRequired();\n return of([]);\n })\n );\n }\n\n loadSites(group: Group): void {\n this.groupService.loadSitesOfGroup(group.id);\n }\n\n createGroup(name: string, parentId?: number): Observable {\n return this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n first(),\n filter(Boolean),\n mergeMap((envId) => this.groupsTreeNavigationHttpService.createGroup(envId, name, parentId)),\n tap((newGroupId) =>\n this.ngrxStore.dispatch(\n addNewGroupToGroups({\n newGroup: {\n id: newGroupId,\n groups: [],\n name,\n },\n parentGroupId: parentId ?? 0,\n })\n )\n ),\n catchError((err) => {\n console.error(err);\n this.showErrorAndReloadPageIsRequired();\n return of(-1);\n })\n );\n }\n\n deleteGroup(group: Group, top: number, left: number): Observable {\n return this.showDeleteConfirmDialog(group.name, top, left).pipe(\n first(Boolean),\n mergeMap(() =>\n this.showDeleteRevertDialog(group.name, top, left).pipe(\n map((shouldRevert) => !shouldRevert)\n )\n ),\n filter(Boolean),\n mergeMap(() => this.ngrxStore.select(selectSelectedEnvironmentId).pipe(first())),\n filter(Boolean),\n tap(() => {\n this.ngrxStore.dispatch(\n deleteGroupFromGroup({\n groupId: group.id,\n })\n );\n }),\n mergeMap((envId) =>\n this.groupsTreeNavigationHttpService.deleteGroup(envId, group.id).pipe(\n catchError((err) => {\n console.error('deleteGroup', err);\n this.showErrorAndReloadPageIsRequired();\n return NEVER;\n })\n )\n ),\n mergeMap(() => this.getUnassignedSites()),\n mergeMap(() => this.ngrxStore.select(selectSelectedGroupOrSite).pipe(first())),\n filter((selectedSiteOrGroup) => selectedSiteOrGroup?.id === group.id),\n tap(() => this.stickyHeaderService.resetHeader()),\n tap(() => this.navigateToPortfolio()),\n catchError((err) => {\n console.error('deleteGroup', err);\n return NEVER;\n })\n );\n }\n\n deleteSite(\n top: number,\n left: number,\n site: SiteOfGroup,\n parentGroup: Group\n ): Observable {\n return this.showDeleteConfirmDialog(site.name, top, left).pipe(\n first(Boolean),\n mergeMap(() =>\n this.showDeleteRevertDialog(site.name, top, left).pipe(map((shouldRevert) => !shouldRevert))\n ),\n filter(Boolean),\n mergeMap(() => this.ngrxStore.select(selectSelectedEnvironmentId)),\n filter(Boolean),\n tap(() => {\n this.ngrxStore.dispatch(\n deleteSiteFromGroup({\n parentGroup,\n site,\n })\n );\n }),\n mergeMap((envId) =>\n this.groupsTreeNavigationHttpService.deleteSite(envId, site.id).pipe(\n catchError((err) => {\n console.error('deleteSite', err);\n this.showErrorAndReloadPageIsRequired();\n return NEVER;\n })\n )\n ),\n mergeMap(() => this.ngrxStore.select(selectSelectedGroupOrSite).pipe(first())),\n filter((selectedSiteOrGroup) => selectedSiteOrGroup?.id === site.id),\n tap(() => this.stickyHeaderService.resetHeader()),\n tap(() => this.navigateToPortfolio()),\n catchError((err) => {\n console.error('deleteSite', err);\n return NEVER;\n })\n );\n }\n\n getSiteHierarchyAndSetHierarchyGroups(\n envId: number,\n siteId: number\n ): Observable {\n return this.groupsTreeNavigationHttpService.getSiteHierarchy(envId, siteId).pipe(\n tap((hierarchy) => {\n this.handleSiteHierarchy(siteId, hierarchy);\n })\n );\n }\n\n // Http Functions End\n\n // global Store Functions Start\n setGroupOrSiteId(): Observable {\n return this.ngrxStore\n .select(selectGroupIdParam)\n .pipe(tap((id) => this.updateSelectedGroupOrSite(id)));\n }\n\n updateSelectedGroupOrSite(id?: number): void {\n this.ngrxStore.dispatch(\n storeSelectedGroupOrSite({\n selectedGroupOrSite: id\n ? {\n groups: [],\n name: '',\n id,\n sites: [],\n }\n : undefined,\n })\n );\n }\n\n checkIfISiteAndGetSiteHierarchyAndSetHierarchyGroups(): Observable {\n return combineLatest([\n this.ngrxStore.select(selectSelectedEnvironmentId),\n this.ngrxStore.select(selectGroupIdParam),\n this.ngrxStore.select(selectIsIdParamIdSite),\n this.ngrxStore.select(selectTreeNavigationGroups),\n ]).pipe(\n filter(([envId, , , selectGroups]) => !!envId && !!selectGroups),\n first(),\n filter(([, idParam, isSiteUrl]) => !!idParam && isSiteUrl),\n mergeMap(([envId, idParam]) =>\n forkJoin([\n this.getSiteHierarchyAndSetHierarchyGroups(envId as number, idParam as number),\n this.getSiteAndUpdateHeadline(envId as number, idParam as number),\n ])\n ),\n catchError((err) => {\n console.error(err);\n this.navigateToPortfolio();\n return NEVER;\n })\n );\n }\n\n updateHeadline({ name }: { name: string }): void {\n this.ngrxStore.dispatch(\n updateSubNavigationSelectedHeadline({\n subNavigationSelectedHeadline: name,\n })\n );\n }\n\n updatePageTitle({ name }: { name: string }): void {\n this._titleService.setTitle(`${name} - ${BASE_PAGE_TITLE}`);\n }\n\n getSiteAndUpdateHeadline(envId: number, siteId: number): Observable {\n return this.groupsTreeNavigationHttpService.getSite(envId, siteId).pipe(\n tap((site) => {\n this.updateHeadline(site);\n this.updatePageTitle(site);\n })\n );\n }\n\n moveAndAddSite(site: SiteOfGroup, targetGroup: Group): void {\n this.ngrxStore.dispatch(\n moveAndAddSite({\n site,\n targetGroup,\n })\n );\n this.updateSiteGroup(site.id, targetGroup.id).subscribe();\n }\n\n moveAndAddGroup(group: Group, targetGroup: Group): void {\n if (targetGroup.id === UNASSIGNED_SITES_GROUP_ID) {\n this.ngrxStore.dispatch(\n moveAndAddGroupToRoot({\n group,\n targetGroup,\n })\n );\n } else {\n this.ngrxStore.dispatch(\n moveAndAddGroup({\n group,\n targetGroup,\n })\n );\n }\n this.updateGroupParentGroup(group.id, targetGroup.id).subscribe();\n }\n\n // global Store Functions End\n\n // local Store Functions Start\n isExpanded(group: Group): boolean {\n return this.groupsTreeNavigationStore.getIsNodeIdExist(group.id);\n }\n\n getIsNodeActive(nodeId: number, type: ActiveNodeType): boolean {\n return this.groupsTreeNavigationStore.getIsNodeActive(nodeId, type);\n }\n\n updateActiveNode({ id }: { id: number }, type: ActiveNodeType): void {\n this.groupsTreeNavigationStore.updateActiveNode({\n nodeId: id,\n type,\n });\n }\n\n updateOpenAllGroups(openAllGroups: boolean): void {\n this.groupsTreeNavigationStore.updateOpenAllGroups(openAllGroups);\n }\n\n toggleNode(node: Group): void {\n if (this.groupsTreeNavigationStore.getIsNodeIdExist(node.id)) {\n this.groupsTreeNavigationStore.removeExpandedNodeIds([\n node.id,\n ...GroupHelper.flattenGroups(node.groups).map((g) => g.id),\n ]);\n } else {\n this.groupsTreeNavigationStore.addNodesId([node.id]);\n }\n }\n\n // local Store Functions End\n\n // Drag and Drop Start\n dragItemStart(\n event: DragEvent,\n item: Group | SiteOfGroup,\n type: 'site' | 'group',\n parentGroupId?: number\n ): void {\n if (event.dataTransfer) {\n event.dataTransfer.setData(type, '');\n event.dataTransfer.dropEffect = 'move';\n this.groupsTreeNavigationStore.updateDraggedItem({\n ...item,\n parentGroupId,\n });\n }\n }\n\n handleDragOver($event: DragEvent): void {\n if (\n $event?.dataTransfer?.types?.includes('site') ||\n $event?.dataTransfer?.types?.includes('group')\n ) {\n $event.preventDefault();\n }\n }\n\n handleDrop(event: DragEvent, node: Group): void {\n const isGroup = event?.dataTransfer?.types?.includes('group');\n const isSite = event?.dataTransfer?.types?.includes('site');\n const draggedItem = this.groupsTreeNavigationStore.getDraggedItem();\n event.preventDefault();\n if (draggedItem) {\n if (isGroup) {\n this.handleGroupDrop(draggedItem as Group, node);\n } else if (isSite) {\n this.handleSiteDrop(draggedItem as SiteOfGroup, node);\n }\n }\n this.groupsTreeNavigationStore.resetDraggedItem();\n }\n\n // Drag and Drop End\n\n private handleGroupDrop(draggedItem: Group, node: Group): void {\n if (GroupHelper.isAllowToMoveGroup(draggedItem, node)) {\n this.checkIfDropGroupRequireReloadAndSetReload(draggedItem, node).subscribe();\n this.moveAndAddGroup(draggedItem, node);\n } else {\n this.showDragAndDropNotAllowedToast('group-tree-navigation.drop-is-not-allowed');\n }\n }\n\n private handleSiteDrop(draggedItem: SiteOfGroup, node: Group): void {\n if (GroupHelper.isAllowToMoveSite(draggedItem, node)) {\n this.checkIfDropSiteRequireReloadAndSetReload(draggedItem, node).subscribe();\n this.moveAndAddSite(draggedItem, node);\n } else {\n this.showDragAndDropNotAllowedToast('group-tree-navigation.site-drop-is-not-allowed');\n }\n }\n\n private checkIfDropRequireReload(\n { id }: { id: number },\n node: Group,\n type: 'site' | 'group'\n ): Observable {\n return of(\n this.groupsTreeNavigationStore.getActiveNodeType() === 'group' &&\n this.groupsTreeNavigationStore.getNodeActiveId() === node.id\n ).pipe(\n filter(Boolean),\n mergeMap(() =>\n this.ngrxStore.select(selectTreeNavigationSortedGroups).pipe(filter(Boolean), first())\n ),\n map((groups) => {\n const siteHierarchy = GroupHelper.flattenGroups(\n type === 'site'\n ? GroupHelper.getSiteHierarchy(groups, id)\n : GroupHelper.getGroupHierarchy(groups, id)\n );\n const targetGroupChildren = GroupHelper.flattenGroups(\n GroupHelper.getGroupHierarchy(\n groups,\n this.groupsTreeNavigationStore.getNodeActiveId() as number\n )\n );\n return [...siteHierarchy, ...targetGroupChildren].map((g) => g.id).includes(node.id);\n })\n );\n }\n\n private checkIfDropGroupRequireReloadAndSetReload(\n draggedItem: Group,\n node: Group\n ): Observable {\n return this.checkIfDropRequireReload(draggedItem, node, 'group').pipe(\n filter(Boolean),\n tap(() => {\n this.ngrxStore.dispatch(\n updatePossibleEditingPortfolioNavigationFinishedState({\n possibleState: 1,\n })\n );\n })\n );\n }\n\n private checkIfDropSiteRequireReloadAndSetReload(\n draggedItem: SiteOfGroup,\n node: Group\n ): Observable {\n return this.checkIfDropRequireReload(draggedItem, node, 'site').pipe(\n filter(Boolean),\n tap(() => {\n this.ngrxStore.dispatch(\n updatePossibleEditingPortfolioNavigationFinishedState({\n possibleState: 1,\n })\n );\n })\n );\n }\n\n private handleSiteHierarchy(siteId: number, hierarchy?: Group): void {\n if (hierarchy) {\n // Site has Parent Group\n const hierarchyGroups = GroupMapper.flatAllGroups([hierarchy]);\n this.groupsTreeNavigationStore.addNodesId(hierarchyGroups.map((g) => g.id));\n const directParentOfSite = hierarchyGroups.pop() as Group;\n // we need to test, how BE fast is, it with a Group with a lot of LGs.\n // if it's Slow we need to override loadSites to load the Sites in the BE, and in mean Time save the Single Site in Store\n this.loadSites(directParentOfSite);\n } else {\n // Site is in Root\n this.groupsTreeNavigationStore.addNodesId([UNASSIGNED_SITES_GROUP_ID]);\n }\n this.updateActiveNode(\n {\n id: siteId,\n },\n 'site'\n );\n }\n\n private showErrorAndReloadPageIsRequired(): void {\n this.toastService.show(\n this.translateService.instant('group-tree-navigation.error-occurred') as string,\n '',\n {\n timeOut: 5000,\n tapToDismiss: true,\n payload: {\n showIcon: true,\n customFontIcon: 'info',\n },\n },\n 'error'\n );\n }\n\n private showDragAndDropNotAllowedToast(messageKey: string): void {\n this.toastService.show(\n this.translateService.instant(messageKey) as string,\n '',\n {\n positionClass: 'toast-top-left',\n timeOut: 5000,\n tapToDismiss: true,\n payload: {\n showIcon: true,\n customFontIcon: 'info',\n },\n },\n 'warning'\n );\n }\n}\n","import { ComponentStore } from '@ngrx/component-store';\nimport { Group, SiteOfGroup } from 'core/groups/groups.interface';\nimport { ActiveNodeType, GroupsTreeNavigationState } from 'core/groups-tree-navigation/interfaces';\nimport { Injectable } from '@angular/core';\nimport { GroupMapper } from 'core/groups/group.mapper';\n\n@Injectable()\nexport class GroupsTreeNavigationStore extends ComponentStore {\n readonly addNodesId = this.updater((state, nodesId: number[]) => ({\n ...state,\n expandedNodesId: !state.openAllGroups\n ? [...new Set([...state.expandedNodesId, ...nodesId])]\n : state.expandedNodesId,\n searchExpandedNodesIds: state.openAllGroups\n ? [...new Set([...state.searchExpandedNodesIds, ...nodesId])]\n : state.searchExpandedNodesIds,\n }));\n\n readonly removeExpandedNodeIds = this.updater((state, nodeIds: number[]) => ({\n ...state,\n expandedNodesId: !state.openAllGroups\n ? state.expandedNodesId.filter((expandedNodeId) => !nodeIds.includes(expandedNodeId))\n : state.expandedNodesId,\n searchExpandedNodesIds: state.openAllGroups\n ? state.searchExpandedNodesIds.filter((expandedNodeId) => !nodeIds.includes(expandedNodeId))\n : state.searchExpandedNodesIds,\n }));\n\n readonly updateActiveNode = this.updater(\n (state, { nodeId, type }: { nodeId: number; type: ActiveNodeType }) => ({\n ...state,\n activeNode: {\n type,\n id: nodeId,\n },\n })\n );\n\n readonly updateDraggedItem = this.updater((state, draggedItem: Group | SiteOfGroup) => ({\n ...state,\n draggedItem,\n }));\n\n readonly updateOpenAllGroups = this.updater((state, openAllGroups: boolean) => ({\n ...state,\n openAllGroups,\n searchExpandedNodesIds: openAllGroups ? GroupMapper.getGroupsIds(state.groups) : [],\n }));\n\n readonly updateGroupsAndExpandedNodeIds = this.updater((state, groups: Group[]) => ({\n ...state,\n groups,\n }));\n\n readonly resetDraggedItem = this.updater((state) => ({\n ...state,\n draggedItem: undefined,\n }));\n\n selectActiveNode$ = this.select((state) => state.activeNode);\n\n constructor() {\n super({\n expandedNodesId: [],\n draggedItem: undefined,\n activeNode: undefined,\n groups: [],\n openAllGroups: false,\n searchExpandedNodesIds: [],\n });\n }\n\n getIsNodeIdExist(nodeId: number): boolean {\n if (this.get().openAllGroups) {\n return this.get().searchExpandedNodesIds.includes(nodeId);\n }\n return this.get().expandedNodesId.includes(nodeId);\n }\n\n getExpandedNodesId(): number[] {\n return this.get().expandedNodesId;\n }\n\n getIsNodeActive(nodeId: number, type: ActiveNodeType): boolean {\n return this.get().activeNode?.id === nodeId && this.get().activeNode?.type === type;\n }\n\n getNodeActiveId(): number | undefined {\n return this.get().activeNode?.id;\n }\n\n getDraggedItem(): Group | SiteOfGroup | undefined {\n return this.get().draggedItem;\n }\n\n resetStore(): void {\n this.setState(() => ({\n activeNode: undefined,\n draggedItem: undefined,\n expandedNodesId: [],\n groups: [],\n openAllGroups: false,\n searchExpandedNodesIds: [],\n }));\n }\n\n getActiveNodeType(): ActiveNodeType | undefined {\n return this.get().activeNode?.type;\n }\n\n getOpenAllGroups(): boolean {\n return this.get().openAllGroups;\n }\n\n getGroups(): Group[] {\n return this.get().groups;\n }\n\n getSearchExpandedNodesIds(): number[] {\n return this.get().searchExpandedNodesIds;\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n SkipSelf,\n} from '@angular/core';\nimport { Group, SiteOfGroup } from 'core/groups/groups.interface';\nimport { GroupsTreeNavigationStore } from 'core/groups-tree-navigation/groups-tree-navigation.store';\nimport { map, shareReplay } from 'rxjs';\n\n@Component({\n selector: 'ista-daytona-site-item',\n templateUrl: 'site-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SiteItemComponent {\n @Input({ required: true }) item?: SiteOfGroup;\n @Input({ required: true }) parentGroup!: Group;\n @Input({ transform: booleanAttribute }) showEditingOptions = false;\n @Input({ transform: booleanAttribute }) enableDrag = false;\n @Input({ transform: booleanAttribute }) showDragIcon = true;\n @Output() delete = new EventEmitter<{\n event: { x: number; y: number };\n site: SiteOfGroup;\n }>();\n @Output() itemClick = new EventEmitter();\n @Output() dragOver = new EventEmitter<{\n event: DragEvent;\n parentGroup: Group;\n }>();\n @Output() dragStart = new EventEmitter();\n @Output() dropOver = new EventEmitter();\n\n isNodeActive$ = this.groupsTreeNavigationStore.selectActiveNode$.pipe(\n map(\n (activeNode) => !!activeNode && activeNode.id === this.item?.id && activeNode.type === 'site'\n ),\n shareReplay(1)\n );\n\n constructor(@SkipSelf() private groupsTreeNavigationStore: GroupsTreeNavigationStore) {}\n\n deleteSite({ event, site }: { event: { x: number; y: number }; site: SiteOfGroup }): void {\n this.delete.emit({\n event,\n site,\n });\n }\n\n onItemClick(site: SiteOfGroup): void {\n this.itemClick.emit(site);\n }\n\n handleDragOver({ event, parentGroup }: { event: DragEvent; parentGroup: Group }): void {\n event.preventDefault();\n this.dragOver.emit({\n event,\n parentGroup,\n });\n }\n\n dragSiteStart(event: DragEvent): void {\n this.dragStart.emit(event);\n }\n\n handleDrop(event: DragEvent): void {\n this.dropOver.emit(event);\n }\n}\n","@if (item) {\n
\n \n @if (showEditingOptions) {\n \n } @else {\n \n \n {{ item.name }}\n
\n }\n \n @if (item.sites.length) {\n
\n @for (child of item.sites; track child.id) {\n
\n \n
\n }\n
\n }\n \n}\n","import { Group, SiteOfGroup } from 'core/groups/groups.interface';\n\nexport class GroupHelper {\n static getGroupHierarchy(groups: Group[], groupId: number): Group[] {\n let hierarchy: Group[] = [];\n const targetGroup = groups.find((group) => group.id === groupId);\n if (targetGroup) {\n return [targetGroup];\n } else {\n for (const element of groups) {\n const childHierarchy = GroupHelper.getGroupHierarchy(element.groups, groupId);\n if (childHierarchy.length) {\n hierarchy = [element, ...childHierarchy];\n break;\n }\n }\n }\n return hierarchy;\n }\n\n static getSiteFromSitesHierarchy(sites: SiteOfGroup[], siteId: number): Group[] {\n let hierarchy: Group[] = [];\n const targetSite = sites.find((site) => site.id === siteId) as SiteOfGroup;\n if (targetSite !== undefined) {\n return [\n { name: targetSite.name, id: targetSite.id, groups: [], sites: targetSite.sites },\n ] as Group[];\n } else {\n for (const element of sites) {\n let childHierarchy: Group[] = [];\n if (element.sites?.length) {\n childHierarchy = GroupHelper.getSiteFromSitesHierarchy(element.sites, siteId);\n }\n if (childHierarchy.length) {\n hierarchy = [\n { name: element.name, id: element.id, groups: [], sites: element.sites },\n ...childHierarchy,\n ];\n break;\n }\n }\n }\n return hierarchy;\n }\n\n static getSiteHierarchy(groups: Group[], siteId: number, withTargetSite = false): Group[] {\n try {\n let hierarchy: Group[] = [];\n const targetGroup = groups.find(\n (group) => group.sites?.length && group.sites.find((s) => s.id === siteId)\n );\n if (targetGroup) {\n if (withTargetSite) {\n const targetSite = targetGroup.sites?.find((s) => s.id === siteId) as SiteOfGroup;\n return [\n targetGroup,\n {\n ...targetSite,\n groups: [],\n },\n ];\n }\n return [targetGroup];\n } else {\n for (const element of groups) {\n let childHierarchy = GroupHelper.getSiteHierarchy(element.groups, siteId, withTargetSite);\n if (childHierarchy.length) {\n hierarchy = [element, ...childHierarchy];\n break;\n } else {\n childHierarchy = GroupHelper.getSiteFromSitesHierarchy(element.sites ?? [], siteId);\n if (childHierarchy.length) {\n return [element, ...childHierarchy];\n }\n }\n }\n }\n return hierarchy;\n } catch (e) {\n console.error('getSiteHierarchy', e);\n return [];\n }\n }\n\n static deleteSiteFromChildGroup(groups: Group[], siteId: SiteOfGroup): boolean {\n // the Whole Manipulation happens By Reference -> that's why the returned Value is not critical at this Point.\n // I changed the Value to Boolean to stop Recursion at some Point.\n try {\n const parentGroupIndex = groups.findIndex(\n (group) => group.sites?.length && !!group.sites.find((s) => s.id === siteId.id)\n );\n if (parentGroupIndex > -1 && groups[parentGroupIndex].sites) {\n groups[parentGroupIndex].sites = (groups[parentGroupIndex]?.sites ?? []).filter(\n (site) => site.id !== siteId.id\n );\n return true;\n } else {\n let isFoundAndDeleted = false;\n for (const element of groups) {\n isFoundAndDeleted = GroupHelper.deleteSiteFromChildGroup(element.groups, siteId);\n if (isFoundAndDeleted) {\n break;\n }\n }\n return isFoundAndDeleted;\n }\n } catch (e) {\n console.error('deleteSiteFromChildGroup', e);\n return false;\n }\n }\n\n static addSiteToGroup(groups: Group[], site: SiteOfGroup, targetGroupId: number): boolean {\n // the Whole Manipulation happens By Reference -> that's why the returned Value is not critical at this Point.\n // I changed the Value to Boolean to stop Recursion at some Point.\n try {\n const targetGroupIndex = groups.findIndex((group) => group.id === targetGroupId);\n if (targetGroupIndex > -1) {\n groups[targetGroupIndex].sites = [site, ...(groups[targetGroupIndex]?.sites ?? [])];\n groups[targetGroupIndex].hasSites = true;\n return true;\n } else {\n let isFoundAndAdded = false;\n for (const element of groups) {\n isFoundAndAdded = GroupHelper.addSiteToGroup(element.groups, site, targetGroupId);\n if (isFoundAndAdded) {\n break;\n }\n }\n\n return isFoundAndAdded;\n }\n } catch (e) {\n console.error('addSiteToGroup', e);\n return false;\n }\n }\n\n static deleteGroupFromChildGroup(groups: Group[], targetGroupId: number): Group[] {\n try {\n const parentGroup = groups.find((group) => group.id === targetGroupId);\n if (parentGroup) {\n return groups.filter((g) => g.id !== targetGroupId);\n } else {\n for (const element of groups) {\n const recursiveGroups = GroupHelper.deleteGroupFromChildGroup(\n element.groups,\n targetGroupId\n );\n if (recursiveGroups.length !== element.groups.length) {\n element.groups = recursiveGroups;\n break;\n }\n }\n }\n return groups;\n } catch (e) {\n console.error('deleteGroupFromChildGroup', e);\n return groups;\n }\n }\n\n static deleteChildSiteFromGroupSites(sites: SiteOfGroup[], targetSiteId: number): SiteOfGroup[] {\n try {\n const parentSite = sites.find((site) => site.id === targetSiteId);\n if (parentSite) {\n return sites.filter((s) => s.id !== targetSiteId);\n } else {\n for (const element of sites) {\n const recursiveGroups = GroupHelper.deleteChildSiteFromGroupSites(\n element.sites,\n targetSiteId\n );\n if (recursiveGroups.length !== element.sites.length) {\n element.sites = recursiveGroups;\n break;\n }\n }\n }\n return sites;\n } catch (e) {\n console.error('deleteChildSiteFromGroupSites', e);\n return sites;\n }\n }\n\n static addGroupToGroup(groups: Group[], childGroup: Group, targetGroupId: number): Group[] {\n try {\n const targetGroupIndex = groups.findIndex((group) => group.id === targetGroupId);\n if (targetGroupIndex > -1) {\n groups[targetGroupIndex].groups = [childGroup, ...(groups[targetGroupIndex]?.groups ?? [])];\n return groups;\n } else {\n for (const element of groups) {\n const recursiveGroups = GroupHelper.addGroupToGroup(\n element.groups,\n childGroup,\n targetGroupId\n );\n if (recursiveGroups.length !== element.groups.length) {\n element.groups = recursiveGroups;\n break;\n }\n }\n }\n\n return groups;\n } catch (e) {\n console.error('addGroupToGroup', e);\n return groups;\n }\n }\n\n static renameGroup(groups: Group[], targetGroupId: number, name: string): Group[] {\n try {\n const targetGroupIndex = groups.findIndex((group) => group.id === targetGroupId);\n if (targetGroupIndex > -1) {\n groups[targetGroupIndex].name = name;\n return groups;\n } else {\n for (const element of groups) {\n const recursiveGroups = GroupHelper.renameGroup(element.groups, targetGroupId, name);\n if (recursiveGroups.length !== element.groups.length) {\n element.groups = recursiveGroups;\n break;\n }\n }\n }\n\n return groups;\n } catch (e) {\n console.error('renameGroup', e);\n return groups;\n }\n }\n\n static isAllowToMoveGroup(group: Group, targetGroup: Group): boolean {\n return (\n group.id !== targetGroup.id &&\n GroupHelper.flattenGroups(group.groups).every((g) => g.id !== targetGroup.id)\n );\n }\n\n static isAllowToMoveSite(site: SiteOfGroup, targetGroup: Group): boolean {\n return site.parentGroupId !== targetGroup.id;\n }\n\n static flattenGroups(groups: Group[]): Group[] {\n const flattened: Group[] = [];\n\n const flatten = (group: Group) => {\n flattened.push(group);\n if (group.groups && group.groups.length > 0) {\n group.groups.forEach((subGroup) => {\n flatten(subGroup);\n });\n }\n };\n\n groups.forEach((group) => {\n flatten(group);\n });\n\n return flattened;\n }\n\n // two seperated Function for sites and Groups, maybe for Future requirements, we need different sorting for sites and Groups\n static sortGroupsAlphabetically(groups: Group[]): Group[] {\n return groups.sort((a, b) => a.name.localeCompare(b.name));\n }\n\n static sortSitesAlphabetically(sites: SiteOfGroup[]): SiteOfGroup[] {\n return sites.sort((a, b) => a.name.localeCompare(b.name));\n }\n\n static sortGroupAndSitesAlphabetically(group: Group): Group {\n return {\n ...group,\n groups: GroupHelper.sortGroupsAlphabetically(group.groups),\n sites: group.sites ? GroupHelper.sortSitesAlphabetically(group.sites) : group.sites,\n };\n }\n\n static sortGroupsAndChildGroupsAlphabetically(groups: Group[]): Group[] {\n return GroupHelper.sortGroupsAlphabetically(groups).map((g) => {\n GroupHelper.loopThrowGroupsAndSort(g.groups);\n return GroupHelper.sortGroupAndSitesAlphabetically(g);\n });\n }\n\n static loopThrowGroupsAndSort(groups: Group[]): Group[] {\n if (!groups.length) {\n return [];\n }\n return groups.map((g) => {\n GroupHelper.loopThrowGroupsAndSort(g.groups);\n return GroupHelper.sortGroupAndSitesAlphabetically(g);\n });\n }\n}\n","import { Group } from 'core/groups/groups.interface';\n\nexport class GroupMapper {\n static flatAllGroups(groups: Group[]): Group[] {\n if (!groups.length) {\n return [];\n }\n return groups.map((group) => [group, GroupMapper.flatAllGroups(group.groups)].flat()).flat();\n }\n\n static getGroupsIds(groups: Group[]): number[] {\n return GroupMapper.flatAllGroups(groups).map((g) => g.id);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { environment } from 'environments/environment';\nimport {\n catchError,\n filter,\n first,\n firstValueFrom,\n forkJoin,\n map,\n mergeMap,\n NEVER,\n Observable,\n of,\n tap,\n} from 'rxjs';\nimport { DestroyAbstractService } from 'shared/helper/destroy-abstract.service';\n\nimport {\n clearLoadSitesState,\n storeGroups,\n storeGroupSearchStatus,\n storeSearchTreeNavigationGroups,\n storeSitesOfGroups,\n updateLoadSitesState,\n updateUnassignedSites,\n} from '../+state/core.actions';\nimport {\n selectAllowLoadSites,\n selectSelectedEnvironment,\n selectSelectedEnvironmentId,\n selectTreeNavigationSpecificGroup,\n} from '../+state/core.selectors';\nimport { Environment } from '../environment/environment.interface';\nimport { ErrorHandlerService } from '../error-handling/error-handler.service';\nimport { RequestTrackingService } from '../request-tracking.service';\nimport { GroupAndSite, GroupSearch, SiteOfGroup } from './groups.interface';\nimport { updateTagsInSitesAreChanged } from '../../features/portfolio/+state/portfolio.actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GroupService extends DestroyAbstractService {\n private readonly baseUrl = environment?.apiUrl;\n\n constructor(\n private readonly ngrxStore: Store,\n private readonly _httpClient: HttpClient,\n private readonly requestTrackingService: RequestTrackingService,\n private readonly _errorHandler: ErrorHandlerService\n ) {\n super();\n }\n\n public async loadGroupsOfEnvironment(selectedEnvironment?: Environment): Promise {\n if (selectedEnvironment) {\n const requestId = this.requestTrackingService.registerRequest('loadGroupsOfEnvironment');\n try {\n const result = await firstValueFrom(\n this._httpClient.get(`${this.baseUrl}/api/${selectedEnvironment.id}/groups`)\n );\n if (this.requestTrackingService.isRequestStillValid('loadGroupsOfEnvironment', requestId)) {\n this.ngrxStore.dispatch(storeGroups({ groups: result.groups }));\n this.ngrxStore.dispatch(updateUnassignedSites({ unassignedSites: result.sites }));\n this.ngrxStore.dispatch(clearLoadSitesState());\n }\n } catch (error) {\n this._errorHandler.handleError(error, 'LOAD_GROUPS');\n }\n }\n }\n\n public async loadSitesOfGroup(groupId: number): Promise {\n const envId = await firstValueFrom(this.ngrxStore.select(selectSelectedEnvironmentId));\n const allowToLoadSites = await firstValueFrom(this.ngrxStore.select(selectAllowLoadSites));\n\n const group = await firstValueFrom(\n this.ngrxStore.select(selectTreeNavigationSpecificGroup(groupId))\n );\n if (envId && allowToLoadSites && group && group.hasSites && !group.sitesAlreadyLoaded) {\n const requestId = this.requestTrackingService.registerRequest(\n 'loadSitesOfGroup:' + groupId.toString()\n );\n try {\n const result = await firstValueFrom(\n this._httpClient.get(\n `${this.baseUrl}/api/${envId}/groups/${groupId}/sites`\n )\n );\n\n if (\n this.requestTrackingService.isRequestStillValid(\n 'loadSitesOfGroup:' + groupId.toString(),\n requestId\n )\n ) {\n this.ngrxStore.dispatch(storeSitesOfGroups({ groupId, sites: result }));\n }\n } catch (error) {\n this._errorHandler.handleError(error, 'LOAD_GROUP_SITES');\n }\n }\n }\n\n // @Deprecated\n public async searchGroupTree(searchTerm: string): Promise {\n const envId = await firstValueFrom(this.ngrxStore.select(selectSelectedEnvironmentId));\n\n if (envId) {\n this.ngrxStore.dispatch(storeGroupSearchStatus({ isRunning: true }));\n const requestId = this.requestTrackingService.registerRequest('searchGroupTree');\n try {\n const result = await firstValueFrom(\n this._httpClient.post(`${this.baseUrl}/api/${envId}/groups/search`, {\n searchTerm,\n })\n );\n\n if (this.requestTrackingService.isRequestStillValid('searchGroupTree', requestId)) {\n this.ngrxStore.dispatch(storeGroups({ groups: result.groups }));\n this.ngrxStore.dispatch(updateUnassignedSites({ unassignedSites: result.sites }));\n this.ngrxStore.dispatch(storeGroupSearchStatus({ isRunning: false }));\n }\n } catch (error) {\n this.ngrxStore.dispatch(storeGroupSearchStatus({ isRunning: false }));\n this._errorHandler.handleError(error, 'LOAD_GROUPS');\n }\n }\n }\n\n searchGroupsHttp(envId: number, search: GroupSearch): Observable {\n return this._httpClient.post(\n `${this.baseUrl}/api/${envId}/groups/search`,\n search\n );\n }\n\n searchGroups(search: GroupSearch): Observable {\n return this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n filter(Boolean),\n first(),\n tap(() => {\n this.ngrxStore.dispatch(storeGroupSearchStatus({ isRunning: true }));\n }),\n mergeMap((envId) => forkJoin([of(envId), this.searchGroupsHttp(envId, search)])),\n mergeMap(([envId, response]) =>\n forkJoin([\n this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n first(),\n map((currentEnvId) => currentEnvId === envId)\n ),\n of(response),\n ])\n ),\n tap(() => {\n this.ngrxStore.dispatch(storeGroupSearchStatus({ isRunning: false }));\n }),\n filter(([sameEnv]) => !!sameEnv),\n map(([, res]) => res),\n tap((result) => {\n this.ngrxStore.dispatch(\n storeSearchTreeNavigationGroups({\n groups: result.groups,\n unassignedSites: result.sites,\n })\n );\n this.ngrxStore.dispatch(updateLoadSitesState({ state: false }));\n this.ngrxStore.dispatch(updateTagsInSitesAreChanged({ tagsInSitesAreChanged: false }));\n }),\n catchError((err) => {\n console.error('searchGroups', err);\n this._errorHandler.handleError(err, 'LOAD_GROUPS');\n this.ngrxStore.dispatch(storeGroupSearchStatus({ isRunning: false }));\n return NEVER;\n })\n );\n }\n\n public getInitialGroupsState(): Observable {\n return this.ngrxStore.select(selectSelectedEnvironment).pipe(\n first(),\n filter(Boolean),\n mergeMap((envId) => this.loadGroupsOfEnvironment(envId))\n );\n }\n}\n","import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { EMPTY, Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { AuthService } from './auth/auth.service';\n\n@Injectable()\nexport class ErrorCatchingInterceptor implements HttpInterceptor {\n constructor(\n // IMPORTANT: do not inject services which themselves depend on TranslateService (e.g. ErrorHandlerService) unless\n // you inject the TranslateService inside the injected service using the Angular Injector (see ErrorHandlerService),\n // otherwise the injected TranslateService will be an empty object. At the moment it is out commented anyway.\n // private readonly _errorHandler: ErrorHandlerService\n private readonly _authService: AuthService\n ) {}\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request).pipe(\n catchError((error: HttpErrorResponse) => {\n if (error.status === 401) {\n // if at any backend request a 401 is thrown, it means no valid token is available and the user should login again\n this._authService.logout();\n return EMPTY;\n }\n\n // Error handling could be done here but turns out that it is not flexible enough.\n // Each caller should handle errors by themselves because context information can't be passed to the interceptor.\n // For example, the attempted action can't be passed from the caller to the interceptor.\n // this._errorHandler.handleError(error);\n\n return throwError(() => error);\n })\n );\n }\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { first, map, mergeMap, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from '../+state/app.reducer';\nimport { selectUserToken } from './+state/core.selectors';\n\n@Injectable()\nexport class HttpTokenAuthorizationInterceptor implements HttpInterceptor {\n constructor(private readonly ngrxStore: Store) {}\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n // content-type: Default is 'application/json', if it's required to change please change manually in headers of the Http Call\n return this.ngrxStore.select(selectUserToken).pipe(\n first(),\n map((userToken) => {\n if (!req.url.includes('https://geocode.maps.co')) {\n return userToken\n ? req.clone({\n setHeaders: {\n Authorization: `Bearer ${userToken}`,\n },\n })\n : req;\n }\n return req;\n }),\n mergeMap((authReq) => next.handle(authReq))\n );\n }\n}\n","export enum Languages {\n DE = 'DE',\n EN = 'EN',\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { TranslateService } from '@ngx-translate/core';\nimport { RootState } from 'app/+state/app.reducer';\nimport { updateSelectedLanguage } from 'core/+state/core.actions';\n\nimport { Languages } from './language.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LanguageService {\n constructor(\n private readonly ngrxStore: Store,\n private translateService: TranslateService\n ) {}\n\n saveLanguage(lang: Languages): void {\n this.translateService.use(lang.toLowerCase());\n this.ngrxStore.dispatch(\n updateSelectedLanguage({\n selectedLanguage: lang,\n })\n );\n }\n\n isLangGerman(lang: string): boolean {\n return lang === Languages.DE || lang.startsWith(`${Languages.DE.toLowerCase()}-`);\n }\n}\n","import {\n HttpEvent,\n HttpEventType,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, tap } from 'rxjs';\n\nimport { LoggerService } from 'shared/helper/logger.service';\nimport { LoadingState, LoadStatus } from './load-status.interface';\nimport { LoadStatusService } from './load-status.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadStatusIntereptor implements HttpInterceptor {\n constructor(private readonly loadStatusService: LoadStatusService) {}\n\n public intercept(req: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(req).pipe(\n tap((event) => {\n switch (event.type) {\n case HttpEventType.UploadProgress:\n case HttpEventType.DownloadProgress:\n const status: LoadStatus = {\n id: 'eins',\n progress: event.total ? Math.round((100 * event.loaded) / event.total) : 0,\n state: LoadingState.PROGRESS,\n };\n this.loadStatusService.setProgressStatus(status);\n break;\n case HttpEventType.Response:\n this.loadStatusService.setProgressStatus({\n id: 'eins',\n progress: 100,\n state: LoadingState.DONE,\n });\n break;\n case HttpEventType.Sent:\n // this.loadStatusService.setInitalState();\n break;\n default:\n // this.setInitalState();\n LoggerService.log('default');\n break;\n }\n })\n );\n }\n}\n","export enum LoadingState {\n PENDING = 'PENDING',\n PROGRESS = 'IN_PROGRESS',\n DONE = 'DONE',\n READY = 'READY',\n ABORT = 'ERROR',\n}\n\nexport interface LoadStatus {\n progress: number;\n state: LoadingState;\n id?: string;\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { LoadingState, LoadStatus } from './load-status.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadStatusService {\n private readonly _initialState: LoadStatus = {\n id: '',\n progress: 0,\n state: LoadingState.READY,\n };\n private _progressStatus$ = new BehaviorSubject(this._initialState);\n\n public getProgressStatus(): Observable {\n return this._progressStatus$.asObservable();\n }\n public setProgressStatus(status: LoadStatus): void {\n this._progressStatus$.next(status);\n }\n\n public setInitalState(): void {\n this.setProgressStatus(this._initialState);\n }\n\n public setInProgressState(id: string): void {\n this.setProgressStatus({\n id,\n progress: 0,\n state: LoadingState.PROGRESS,\n });\n }\n}\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { InputSearchComponent } from 'shared/ui/basic/input-search/input-search.component';\nimport { PortfolioGroupNavigationService } from 'core/portfolio-group-navigation/portfolio-group-navigation.service';\nimport { Observable } from 'rxjs';\nimport { PortfolioGroupNavigationStore } from 'core/portfolio-group-navigation/portfolio-group-navigation.store';\nimport { CustomIcon } from 'shared/interfaces/custom-icon.interface';\nimport { provideComponentStore } from '@ngrx/component-store';\n\n@Component({\n selector: 'ista-daytona-portfolio-group-navigation',\n templateUrl: 'portfolio-group-navigation.component.html',\n providers: [provideComponentStore(PortfolioGroupNavigationStore), PortfolioGroupNavigationService],\n})\nexport class PortfolioGroupNavigationComponent implements OnInit {\n @ViewChild('searchInputField') searchInputField!: InputSearchComponent;\n @ViewChild('tagButton', { read: ElementRef }) tagButton!: ElementRef;\n selectBadgeCount$: Observable = this.portfolioGroupNavigationService.selectBadgeCount$;\n selectBadgeHidden$: Observable = this.portfolioGroupNavigationService.selectBadgeHidden$;\n selectIsEditingModeEnabled$: Observable =\n this.portfolioGroupNavigationService.selectIsEditingModeEnabled$;\n selectShowSearchInput$: Observable =\n this.portfolioGroupNavigationService.selectShowSearchInput$;\n selectOpenAllGroups$: Observable =\n this.portfolioGroupNavigationService.selectOpenAllGroups$;\n\n badgeIcon: CustomIcon = {\n name: 'tags',\n isSvgIcon: true,\n colorClass: 'fill-base-600',\n };\n\n constructor(private portfolioGroupNavigationService: PortfolioGroupNavigationService) {}\n\n ngOnInit(): void {\n this.portfolioGroupNavigationService.selectSearchGroupParams$.subscribe();\n }\n\n toggleEditingMode(): void {\n this.portfolioGroupNavigationService.toggleIsEditingModeEnabledAndUpdateNavigationFinishedState();\n }\n\n searchDeleteButtonClicked(): void {\n this.portfolioGroupNavigationService.updateShowSearchInput(false);\n this.portfolioGroupNavigationService.updateSearchTerm('');\n }\n\n search(searchStr: string): void {\n this.portfolioGroupNavigationService.updateSearchTerm(searchStr);\n }\n\n showSearchInputField(): void {\n this.portfolioGroupNavigationService.updateShowSearchInput(true);\n setTimeout(() => {\n if (this.searchInputField?.inputField) {\n this.searchInputField.inputField.myInputField.nativeElement.focus();\n }\n });\n }\n\n showTagDialog(): void {\n if (this.tagButton?.nativeElement) {\n const rect = this.tagButton.nativeElement.getBoundingClientRect();\n this.portfolioGroupNavigationService.toggleTagDialog(rect.bottom, rect.left);\n }\n }\n}\n","
\n
\n
\n Portfolio\n info\n \n
\n
\n
\n \n\n
\n @if (selectShowSearchInput$ | async) {\n \n } @else {\n \n }\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { filter, finalize, map, mergeMap, shareReplay, takeUntil, tap } from 'rxjs';\nimport { TagDialogComponent } from 'core/portfolio-group-navigation/tag-dialog/tag-dialog.component';\nimport { PortfolioGroupNavigationStore } from 'core/portfolio-group-navigation/portfolio-group-navigation.store';\nimport { updatePossibleEditingPortfolioNavigationFinishedState } from 'app/features/portfolio/+state/portfolio.actions';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { GroupService } from 'core/groups/group.service';\nimport { clearLoadSitesState, resetSearchTreeNavigation } from 'core/+state/core.actions';\n\n@Injectable()\nexport class PortfolioGroupNavigationService {\n selectBadgeCount$ = this.portfolioGroupNavigationStore.selectBadgeCount$.pipe(shareReplay(1));\n selectBadgeHidden$ = this.selectBadgeCount$.pipe(map((count) => parseInt(count, 10) === 0));\n selectShowSearchInput$ = this.portfolioGroupNavigationStore.selectShowSearchInput$;\n selectIsEditingModeEnabled$ = this.portfolioGroupNavigationStore.selectIsEditingModeEnabled$;\n selectSearchGroupParams$ = this.portfolioGroupNavigationStore.selectSearchGroupParams$.pipe(\n tap((searchParam) => {\n if (!searchParam.searchTerm && !searchParam.tagIds?.length) {\n // this would reset also the Search when User leaves the Portfolio and then returns to it.\n this.ngrxStore.dispatch(resetSearchTreeNavigation());\n this.ngrxStore.dispatch(clearLoadSitesState());\n }\n }),\n filter((searchParam) => !!searchParam.searchTerm || !!searchParam.tagIds?.length),\n mergeMap((searchParam) => this.groupService.searchGroups(searchParam)),\n takeUntil(this.portfolioGroupNavigationStore.destroy$)\n );\n selectOpenAllGroups$ = this.portfolioGroupNavigationStore.selectSearchGroupParams$.pipe(\n map(({ searchTerm, tagIds }) => !!searchTerm || !!tagIds?.length)\n );\n dialogRef?: MatDialogRef;\n\n constructor(\n private dialog: MatDialog,\n private readonly ngrxStore: Store,\n private readonly groupService: GroupService,\n private portfolioGroupNavigationStore: PortfolioGroupNavigationStore\n ) {}\n\n toggleTagDialog(top: number, left: number): void {\n if (!this.dialogRef) {\n this.openTagDialog(top, left);\n } else {\n this.dialogRef.close();\n }\n }\n\n openTagDialog(top: number, left: number): void {\n this.dialogRef = this.dialog.open(TagDialogComponent, {\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n data: {\n initiallySelectedIds: this.portfolioGroupNavigationStore.getTagsIds(),\n },\n position: {\n top: `${top}px`,\n left: `${left}px`,\n },\n });\n\n this.dialogRef\n .afterClosed()\n .pipe(\n tap(() => this.updateTagsIds(this.dialogRef?.componentInstance.selectedIds ?? [])),\n finalize(() => {\n this.dialogRef = undefined;\n })\n )\n .subscribe();\n }\n\n updateTagsIds(ids: number[]): void {\n this.portfolioGroupNavigationStore.setSelectedTagsIds(ids);\n }\n\n updateSearchTerm(searchTerm: string): void {\n this.portfolioGroupNavigationStore.updateSearchTerm(searchTerm);\n }\n\n updateShowSearchInput(showSearchInput: boolean): void {\n this.portfolioGroupNavigationStore.updateShowSearchInput(showSearchInput);\n }\n\n updatePossibleEditingPortfolioNavigationFinishedState(isEditingModeEnabled: boolean): void {\n this.ngrxStore.dispatch(\n updatePossibleEditingPortfolioNavigationFinishedState({\n possibleState: isEditingModeEnabled ? 0 : 2,\n })\n );\n }\n\n updateIsEditingModeEnabled(isEditingModeEnabled: boolean): void {\n this.portfolioGroupNavigationStore.updateIsEditingModeEnabled(isEditingModeEnabled);\n }\n\n getIsEditingModeEnabled(): boolean {\n return this.portfolioGroupNavigationStore.getIsEditingModeEnabled();\n }\n\n toggleIsEditingModeEnabledAndUpdateNavigationFinishedState(): void {\n const currentValue = this.portfolioGroupNavigationStore.getIsEditingModeEnabled();\n this.updatePossibleEditingPortfolioNavigationFinishedState(!currentValue);\n this.updateIsEditingModeEnabled(!currentValue);\n }\n}\n","import { ComponentStore, OnStateInit } from '@ngrx/component-store';\nimport { PortfolioGroupNavigationState } from './interfaces';\nimport { isEqual } from 'lodash';\nimport { Observable, takeUntil } from 'rxjs';\nimport { GroupSearch } from 'core/groups/groups.interface';\nimport { Injectable } from '@angular/core';\nimport { selectTagsInSitesAreChanged } from 'app/features/portfolio/+state/portfolio.selectors';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\n\n@Injectable()\nexport class PortfolioGroupNavigationStore\n extends ComponentStore\n implements OnStateInit\n{\n readonly setSelectedTagsIds = this.updater((state, tagsSelectedIds: number[]) => ({\n ...state,\n tagsSelectedIds,\n }));\n\n readonly updateSearchTerm = this.updater((state, searchTerm: string) => ({\n ...state,\n searchTerm,\n }));\n\n readonly updateShouldTriggerSearch = this.updater((state, shouldTriggerSearch: boolean) => ({\n ...state,\n shouldTriggerSearch,\n }));\n readonly updateShowSearchInput = this.updater((state, showSearchInput: boolean) => ({\n ...state,\n showSearchInput,\n }));\n\n readonly updateIsEditingModeEnabled = this.updater((state, isEditingModeEnabled: boolean) => ({\n ...state,\n isEditingModeEnabled,\n }));\n\n selectSelectedTagsIds$ = this.select((state) => state.tagsSelectedIds, {\n equal: (prev, curr) => isEqual(prev, curr),\n });\n\n selectBadgeCount$: Observable = this.select(\n this.selectSelectedTagsIds$,\n (ids) => `${ids.length}`,\n {\n equal: (prev, curr) => isEqual(prev, curr),\n }\n );\n\n selectSearchTerm$ = this.select((state) => state.searchTerm);\n\n selectShouldTriggerSearch$ = this.select((state) => state.shouldTriggerSearch);\n\n selectShowSearchInput$ = this.select((state) => state.showSearchInput);\n selectIsEditingModeEnabled$ = this.select((state) => state.isEditingModeEnabled);\n\n selectSearchGroupParams$: Observable = this.select(\n this.selectSearchTerm$,\n this.selectSelectedTagsIds$,\n this.selectIsEditingModeEnabled$,\n this.selectShouldTriggerSearch$,\n (searchTerm, tagIds, editingMode) => ({\n tagIds,\n searchTerm,\n editMode: editingMode,\n })\n );\n\n constructor(private ngrxStore: Store) {\n super({\n tagsSelectedIds: [],\n searchTerm: '',\n showSearchInput: false,\n isEditingModeEnabled: false,\n shouldTriggerSearch: false,\n });\n }\n\n ngrxOnStateInit(): void {\n this.ngrxStore\n .select(selectTagsInSitesAreChanged)\n .pipe(takeUntil(this.destroy$))\n .subscribe((tagsAreChanged) => {\n this.updateShouldTriggerSearch(tagsAreChanged);\n });\n }\n\n getTagsIds(): number[] {\n return this.get().tagsSelectedIds;\n }\n\n getIsEditingModeEnabled(): boolean {\n return this.get().isEditingModeEnabled;\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { TagsComponent } from 'core/tags/tags.component';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'ista-daytona-tag-dialog',\n templateUrl: 'tag-dialog.component.html',\n styleUrls: ['tag-dialog.component.scss'],\n imports: [TagsComponent],\n standalone: true,\n})\nexport class TagDialogComponent {\n selectedIds: number[] = [];\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: { initiallySelectedIds: number[] }) {\n this.selectedIds = data?.initiallySelectedIds ?? [];\n }\n\n activeStateChanged(ids: number[]): void {\n this.selectedIds = ids;\n }\n}\n","
\n \n
\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RequestTrackingService {\n private requests: { [requestNameSpace: string]: number } = {};\n\n public registerRequest(requestNameSpace: string): number {\n if (this.requests[requestNameSpace] !== undefined) {\n this.requests[requestNameSpace]++;\n } else {\n this.requests[requestNameSpace] = 0;\n }\n return this.requests[requestNameSpace];\n }\n\n public isRequestStillValid(requestNameSpace: string, requestId: number): boolean {\n return this.requests[requestNameSpace] === requestId;\n }\n}\n","import { Component } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { AsyncPipe, NgIf } from '@angular/common';\nimport { TooltipModule } from 'shared/ui/basic/tooltip/tooltip.module';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { SelectedPeriodInfoService } from 'core/selected-period-info/selected-period-info.service';\n\n@Component({\n selector: 'ista-daytona-selected-period-info',\n templateUrl: 'selected-period-info.component.html',\n imports: [MatIcon, TranslateModule, AsyncPipe, NgIf, TooltipModule],\n providers: [SelectedPeriodInfoService],\n standalone: true,\n // changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SelectedPeriodInfoComponent {\n selectIsCustomYearSelected$ = this.selectedPeriodInfoService.selectIsCustomYearSelected$;\n selectCalendarYearStartDate$ = this.selectedPeriodInfoService.selectCalendarYearStartDate$;\n selectCalendarYearEndDate$ = this.selectedPeriodInfoService.selectCalendarYearEndDate$;\n selectCustomYearStartDate$ = this.selectedPeriodInfoService.selectCustomYearStartDate$;\n selectCustomYearEndDate$ = this.selectedPeriodInfoService.selectCustomYearEndDate$;\n position: ConnectedPosition = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: 70,\n };\n\n constructor(private readonly selectedPeriodInfoService: SelectedPeriodInfoService) {\n }\n}\n","
\n
\n info\n
\n @if (selectIsCustomYearSelected$ | async) {\n \n {{ 'selected-period-info.custom-year' | translate }}\n \n } @else {\n \n {{ 'selected-period-info.calendar-year' | translate }}\n \n }\n
\n\n\n\n
\n
{{ 'selected-period-info.custom-year' | translate }}:
\n
\n \n
\n\n\n
\n
{{ 'selected-period-info.calendar-year' | translate }}:
\n
\n \n
\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport {\n selectCustomYearStartDate,\n selectGlobalSelectedYear,\n selectIsCustomYearSelected,\n} from '../+state/core.selectors';\nimport { combineLatest, filter, map, Observable } from 'rxjs';\n\n@Injectable()\nexport class SelectedPeriodInfoService {\n selectIsCustomYearSelected$ = this.ngrxStore.select(selectIsCustomYearSelected);\n selectCustomYearStartDate$: Observable = combineLatest([\n this.ngrxStore.select(selectCustomYearStartDate),\n this.ngrxStore.select(selectGlobalSelectedYear),\n ]).pipe(\n filter(([startDate, globalSelectedYear]) => !!startDate && !!globalSelectedYear),\n map(([startDate, globalSelectedYear]) =>\n this.getFormattedDate(\n new Date(`${startDate as string}-${globalSelectedYear as number}`.replace(/-/g, '/'))\n )\n )\n );\n selectCustomYearEndDate$: Observable = combineLatest([\n this.ngrxStore.select(selectCustomYearStartDate),\n this.ngrxStore.select(selectGlobalSelectedYear),\n ]).pipe(\n filter(([startDate, globalSelectedYear]) => !!startDate && !!globalSelectedYear),\n map(([startDate, globalSelectedYear]) => {\n const endDate = new Date(\n `${startDate as string}-${(globalSelectedYear as number) + 1}`.replace(/-/g, '/')\n );\n endDate.setDate(endDate.getDate() - 1);\n return this.getFormattedDate(endDate);\n })\n );\n selectCalendarYearStartDate$: Observable = this.ngrxStore\n .select(selectGlobalSelectedYear)\n .pipe(\n filter(Boolean),\n map((selectedYear) => this.getFormattedDate(new Date(`01/01/${selectedYear}`)))\n );\n\n selectCalendarYearEndDate$: Observable = this.ngrxStore\n .select(selectGlobalSelectedYear)\n .pipe(\n filter(Boolean),\n map((selectedYear) => this.getFormattedDate(new Date(`12/31/${selectedYear}`)))\n );\n\n constructor(private readonly ngrxStore: Store) {}\n\n private getFormattedDate(date: Date): string {\n return new Intl.DateTimeFormat('en-GB', { month: '2-digit', day: '2-digit', year: '2-digit' })\n .format(date)\n .replace(/\\//g, '.');\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { StickyHeaderService } from 'core/sticky-header/sticky-header.service';\nimport {\n StickyHeaderElementType,\n StickyHeaderInterface,\n} from 'core/sticky-header/sticky-header.interface';\nimport { filter, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'ista-daytona-global-sticky-header',\n templateUrl: 'sticky-header.component.html',\n styleUrls: ['sticky-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class StickyHeaderComponent implements OnInit, OnDestroy {\n @Input() showSubNavigationLayout = false;\n items: StickyHeaderInterface[] = [];\n protected readonly StickyHeaderElementType = StickyHeaderElementType;\n private destroy$ = new Subject();\n\n constructor(\n private stickyHeaderService: StickyHeaderService,\n private readonly ref: ChangeDetectorRef\n ) {}\n\n itemById(index: number, item: StickyHeaderInterface): string {\n return item.id;\n }\n\n getInputProp(item: StickyHeaderInterface, prop: string): any | undefined {\n return item?.inputs && item?.inputs.hasOwnProperty(prop) ? item.inputs[prop] : undefined;\n }\n\n getOutputProp(item: StickyHeaderInterface, prop: string): EventEmitter {\n return item?.inputs && item?.inputs.hasOwnProperty(prop)\n ? (item.inputs[prop] as EventEmitter)\n : new EventEmitter();\n }\n\n outputWrapper(value: unknown, item: StickyHeaderInterface, prop: string): void {\n const output = this.getOutputProp(item, prop);\n output.emit(value);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isElementAlreadyExist(item: StickyHeaderInterface): boolean {\n return !!this.items.find((i) => i.id === item.id);\n }\n\n ngOnInit(): void {\n this.stickyHeaderService.addItemSource$\n .pipe(\n filter((item) => !this.isElementAlreadyExist(item)),\n takeUntil(this.destroy$)\n )\n .subscribe((item) => {\n this.items = [...this.items, item];\n this.ref.markForCheck();\n });\n\n this.stickyHeaderService.deleteItemSource$\n .pipe(\n filter((item) => this.isElementAlreadyExist(item)),\n takeUntil(this.destroy$)\n )\n .subscribe((item) => {\n this.items = this.items.filter((i) => i.id !== item.id);\n this.ref.markForCheck();\n });\n\n this.stickyHeaderService.resetHeaderSource$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.items = [];\n this.ref.markForCheck();\n });\n }\n}\n","\n \n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n

\n {{ item.innerHtml }}\n

\n
\n \n

\n {{ item.innerHtml }}\n

\n
\n \n
\n {{ item?.innerHtml }}\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n\n","import { Type } from '@angular/core';\n\nexport enum StickyHeaderElementType {\n H1 = 'H1',\n H2 = 'H2',\n FILTER_TAB = 'filterTab',\n BUTTON_DATA_ADD = 'buttonDataAdd',\n TAB = 'tab',\n BUTTON_DELETE_OBJECT = 'buttonDeleteObject',\n}\n\nexport interface StickyHeaderInterface {\n type?: StickyHeaderElementType;\n element?: HTMLElement;\n component?: Type;\n inputs?: Partial;\n innerHtml?: string;\n id: string;\n}\n\nexport interface VisibilityCallback {\n element: HTMLElement;\n isVisible: boolean;\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { StickyHeaderInterface } from 'core/sticky-header/sticky-header.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StickyHeaderService {\n /* eslint-disable @typescript-eslint/member-ordering */\n private addItem$ = new Subject>();\n addItemSource$ = this.addItem$.asObservable();\n private deleteItem$ = new Subject>();\n deleteItemSource$ = this.deleteItem$.asObservable();\n private resetHeader$ = new Subject();\n resetHeaderSource$ = this.resetHeader$.asObservable();\n\n addElement(item: StickyHeaderInterface): void {\n this.addItem$.next(item);\n }\n\n deleteElement(item: StickyHeaderInterface): void {\n this.deleteItem$.next(item);\n }\n\n resetHeader(): void {\n this.resetHeader$.next();\n }\n}\n","import { FormControlStatus } from '@angular/forms';\nimport { Observable } from 'rxjs';\n\nexport interface Tag {\n id: number;\n name: string;\n lastModified: string;\n}\n\nexport interface TagForm extends Tag {\n checked: boolean;\n}\n\nexport type sortFunction = 'Alphabetical' | 'Date';\n\nexport interface TagsStoreState {\n tags: Tag[];\n checkedTagIds: number[];\n showCreateInputField: boolean;\n isEditingMode: boolean;\n isDeleteInProgress: boolean;\n highlightSaveButton: boolean;\n filterString: string;\n formStatus: FormControlStatus;\n sortFunction: sortFunction;\n}\n\nexport interface UnsavedChanges {\n hasUnsavedData: () => Observable;\n highlightSaveButton: () => void;\n}\n\nexport const NAME_EXISTS_ERROR_KEY = 'nameExists';\n","import { Component, forwardRef, OnDestroy, OnInit } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { distinctUntilChanged, Observer, Subject, takeUntil } from 'rxjs';\nimport { TagForm } from '../interface';\nimport { MatCheckbox } from '@angular/material/checkbox';\n\n@Component({\n selector: 'ista-daytona-tag-active-state',\n templateUrl: 'tag-active-state.component.html',\n styleUrls: ['tag-active-state.component.scss'],\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line no-use-before-define\n useExisting: forwardRef(() => TagActiveStateComponent),\n multi: true,\n },\n ],\n imports: [MatCheckbox, ReactiveFormsModule],\n})\nexport class TagActiveStateComponent implements OnInit, ControlValueAccessor, OnDestroy {\n checkboxCtrl = new FormControl(false);\n tag?: TagForm;\n private onChange = new Subject();\n private onTouch = new Subject();\n private destroy$ = new Subject();\n\n get label(): string {\n return this.tag?.name ?? '';\n }\n\n ngOnInit(): void {\n this.checkboxCtrl.valueChanges\n .pipe(distinctUntilChanged(), takeUntil(this.destroy$))\n .subscribe(() => {\n const editedTag: TagForm = {\n ...(this.tag as TagForm),\n checked: this.checkboxCtrl.value as boolean,\n };\n this.onChange.next(editedTag);\n });\n }\n\n writeValue(tag: TagForm): void {\n if (tag) {\n this.tag = tag;\n this.checkboxCtrl.setValue(tag.checked, {\n emitEvent: false,\n onlySelf: true,\n });\n }\n }\n\n registerOnChange(fn: Partial> | undefined): void {\n this.onChange.subscribe(fn);\n }\n\n registerOnTouched(fn: Partial> | undefined): void {\n this.onTouch.subscribe(fn);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","\n {{\n label\n }}\n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n SkipSelf,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormBuilder,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n ValidationErrors,\n Validator,\n Validators,\n} from '@angular/forms';\nimport { MatError, MatFormField } from '@angular/material/form-field';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatInput } from '@angular/material/input';\nimport { debounceTime, distinctUntilChanged, Observer, Subject, takeUntil } from 'rxjs';\nimport { NAME_EXISTS_ERROR_KEY, Tag, TagForm } from 'core/tags/interface';\nimport { TagInputErrorMatcher } from 'core/tags/tag-edit-options/tag-input-error-matcher';\nimport { CustomValidators } from 'core/tags/utils/custom-validators';\nimport { TagsStore } from 'core/tags/tags.store';\n\n@Component({\n selector: 'ista-daytona-tag-edit-options',\n templateUrl: 'tag-edit-options.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatFormField, ReactiveFormsModule, MatIcon, TranslateModule, MatInput, MatError],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line no-use-before-define\n useExisting: forwardRef(() => TagEditOptionsComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n // eslint-disable-next-line no-use-before-define\n useExisting: forwardRef(() => TagEditOptionsComponent),\n multi: true,\n },\n ],\n})\nexport class TagEditOptionsComponent implements OnInit, ControlValueAccessor, OnDestroy, Validator {\n @Output() editTag = new EventEmitter();\n @Output() deleteTag = new EventEmitter<{\n top: number;\n left: number;\n }>();\n @ViewChild('tagEditWrapper') editWrapper!: ElementRef;\n form: FormGroup = this.fb.group(\n {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n name: ['', [Validators.required, Validators.maxLength(255)]],\n id: '',\n checked: false,\n lastModified: '',\n },\n {\n asyncValidators: [CustomValidators.tagWithSameNameAlreadyExists(this.tagsStore)],\n }\n );\n tagInputErrorMatcher = new TagInputErrorMatcher();\n private onChange = new Subject();\n private onTouch = new Subject();\n private destroy$ = new Subject();\n\n constructor(\n @SkipSelf() private tagsStore: TagsStore,\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef\n ) {}\n\n get isNameAlreadyExistError(): boolean {\n return this.form.hasError(NAME_EXISTS_ERROR_KEY);\n }\n\n get isRequiredError(): boolean {\n return !!this.form.get('name')?.hasError('required');\n }\n\n get isMaxLengthError(): boolean {\n return !!this.form.get('name')?.hasError('maxlength');\n }\n\n @Input() set disabled(isDisabled: boolean) {\n if (isDisabled) {\n this.form.disable({ emitEvent: false });\n } else {\n this.form.enable({ emitEvent: false });\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n validate(control: AbstractControl): ValidationErrors | null {\n return {\n ...this.form.get('name')?.errors,\n ...this.form.errors,\n };\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n writeValue(tag: TagForm): void {\n if (this.form && tag) {\n this.form.reset(null, {\n emitEvent: false,\n });\n this.form.setValue(tag, {\n emitEvent: false,\n onlySelf: true,\n });\n }\n }\n\n registerOnChange(fn: Partial> | undefined): void {\n this.onChange.subscribe(fn);\n }\n\n registerOnTouched(fn: Partial> | undefined): void {\n this.onTouch.subscribe(fn);\n }\n\n ngOnInit(): void {\n this.form\n .get('name')\n ?.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))\n .subscribe(() => {\n this.onChange.next(this.form.value as TagForm);\n this.onTouch.next(this.form.value as TagForm);\n });\n\n this.form.statusChanges.pipe(distinctUntilChanged(), takeUntil(this.destroy$)).subscribe(() => {\n this.cdr.detectChanges();\n });\n }\n\n onDeleteClick(): void {\n const { top, left, right } = this.editWrapper.nativeElement.getBoundingClientRect();\n this.deleteTag.emit({\n top,\n left: left + (right - left) / 2,\n });\n }\n}\n","
\n \n \n \n delete\n \n @if (isRequiredError || isMaxLengthError) {\n \n {{ 'tags.create-tag-error-message' | translate }}\n \n }\n @if (isNameAlreadyExistError) {\n \n {{ 'tags.create-tag-name-exist-error-message' | translate }}\n \n }\n \n
\n","import { ErrorStateMatcher } from '@angular/material/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\n\nexport class TagInputErrorMatcher implements ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control?.touched && (form?.invalid || control?.invalid));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Tag } from './interface';\nimport { environment } from 'environments/environment';\n\n@Injectable()\nexport class TagsHttpService {\n constructor(private httpClient: HttpClient) {}\n\n getAllTags(envId: number): Observable {\n return this.httpClient.get(\n `${environment.apiUrl}/api/${envId}/environment-settings/tags`\n );\n }\n\n createTag(envId: number, name: string): Observable {\n return this.httpClient.post(\n `${environment.apiUrl}/api/${envId}/environment-settings/tags`,\n {\n name,\n }\n );\n }\n\n updateTag(envId: number, tagId: number, newName: string): Observable {\n return this.httpClient.post(\n `${environment.apiUrl}/api/${envId}/environment-settings/tags/${tagId}`,\n {\n newName,\n }\n );\n }\n\n deleteTag(envId: number, tagId: number): Observable {\n return this.httpClient.delete(\n `${environment.apiUrl}/api/${envId}/environment-settings/tags/${tagId}`\n );\n }\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { TagsHttpService } from 'core/tags/tags-http.service';\nimport { TagsService } from 'core/tags/tags.service';\nimport { TagsStore } from 'core/tags/tags.store';\nimport { debounceTime, first, forkJoin, map, Observable, of, Subject, takeUntil, tap } from 'rxjs';\nimport {\n NAME_EXISTS_ERROR_KEY,\n sortFunction,\n Tag,\n TagForm,\n UnsavedChanges,\n} from 'core/tags/interface';\nimport {\n FormArray,\n FormBuilder,\n FormControl,\n FormGroup,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { MatError, MatFormField } from '@angular/material/form-field';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatInput } from '@angular/material/input';\nimport { TagActiveStateComponent } from 'core/tags/tag-active-state/tag-active-state.component';\nimport { CustomValidators } from 'core/tags/utils/custom-validators';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { UiModule } from 'shared/ui/ui.module';\nimport { TagEditOptionsComponent } from 'core/tags/tag-edit-options/tag-edit-options.component';\nimport { provideComponentStore } from '@ngrx/component-store';\n\n@Component({\n selector: 'ista-daytona-tags',\n templateUrl: 'tags.component.html',\n standalone: true,\n providers: [TagsHttpService, provideComponentStore(TagsStore), TagsService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatIcon,\n TranslateModule,\n UiModule,\n MatFormField,\n ReactiveFormsModule,\n AsyncPipe,\n PipesModule,\n MatInput,\n TagEditOptionsComponent,\n MatError,\n TagActiveStateComponent,\n ],\n})\nexport class TagsComponent implements OnInit, OnDestroy, UnsavedChanges {\n @Input() enableTagActiveStateAndDisableEditMode = false;\n @Output() tagsActiveStateChange = new EventEmitter();\n tags$: Observable = this.tagsStore.sortedTagsWithFilteredString$;\n showCreateInputField$: Observable = this.tagsStore.showCreateInputField$;\n isDeleteInProgress$: Observable = this.tagsStore.isDeleteInProgress$;\n isEditingMode$: Observable = this.tagsStore.isEditingMode$;\n isFormInvalid$: Observable = this.tagsStore.isFormInvalid$;\n selectHighlightSaveButton$: Observable = this.tagsStore.selectHighlightSaveButton$;\n filterString$: Observable = this.tagsStore.filterString$;\n createTagNameCtrl: FormControl = new FormControl(\n '',\n // eslint-disable-next-line @typescript-eslint/unbound-method\n [Validators.required, Validators.maxLength(255)],\n [CustomValidators.createNameAlreadyExists(this.tagsStore)]\n );\n formGroup?: FormGroup;\n private destroy$ = new Subject();\n\n constructor(\n public tagsService: TagsService,\n public tagsStore: TagsStore,\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef\n ) {}\n\n get tagsFormArray(): FormArray {\n return this.formGroup?.get('tags') as FormArray;\n }\n\n get isRequiredError(): boolean {\n return this.createTagNameCtrl.hasError('required');\n }\n\n get isMaxLengthError(): boolean {\n return this.createTagNameCtrl.hasError('maxlength');\n }\n\n get isNameAlreadyExistError(): boolean {\n return this.createTagNameCtrl.hasError(NAME_EXISTS_ERROR_KEY);\n }\n\n @Input() set initialCheckedTags(initialChecked: number[]) {\n this.tagsService.updateCheckedTagIds(initialChecked);\n }\n\n @Input() set sortFunction(sortFunction: sortFunction) {\n this.tagsService.updateSortFunction(sortFunction);\n }\n\n hasUnsavedData(): Observable {\n return forkJoin([\n of(!!this.getValidTouchedTags().length),\n this.isFormInvalid$.pipe(first()),\n this.isEditingMode$.pipe(first()),\n ]).pipe(\n map(([hasUnsavedTags, isInvalid, isEditMode]) => (hasUnsavedTags || isInvalid) && isEditMode)\n );\n }\n\n highlightSaveButton(): void {\n if (this.getValidTouchedTags().length) {\n this.tagsService.updateHighlightSaveButton(true);\n }\n }\n\n ngOnInit(): void {\n this.tagsService\n .listenToEnvironmentChangeAndGetAllTags()\n .pipe(takeUntil(this.destroy$))\n .subscribe();\n\n this.buildFormAndSetTags();\n this.listenToEnableStateChangesAndStatusChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n resetCtrlAndHideCreateInputField(): void {\n this.createTagNameCtrl.reset();\n this.updateShowCreateInputField(false);\n }\n\n updateShowCreateInputField(showCreateInputField: boolean): void {\n this.tagsService.updateShowCreateInputField(showCreateInputField);\n }\n\n getValidTouchedTags(): Tag[] {\n return this.tagsFormArray.controls\n .filter((ctrl) => ctrl.touched && ctrl.valid)\n .map((ctrl) => ctrl.value as Tag);\n }\n\n updateTagsAndIsEditingMode(isEditingMode: boolean): void {\n const editedTags = this.getValidTouchedTags();\n this.tagsService.updateTags(editedTags).subscribe();\n this.updateIsEditingMode(isEditingMode);\n this.tagsService.updateHighlightSaveButton(false);\n }\n\n updateIsEditingMode(isEditingMode: boolean): void {\n this.tagsService.updateIsEditingMode(isEditingMode);\n }\n\n deleteTag({ top, left }: { top: number; left: number }, tag: Tag): void {\n this.tagsService.deleteTag(tag, top, left).subscribe();\n }\n\n onCreateKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.updateShowCreateInputField(false);\n this.createTagNameCtrl.reset('');\n } else if (event.key === 'Enter' && this.createTagNameCtrl.valid) {\n this.tagsService.createTag(this.createTagNameCtrl.value as string).subscribe(() => {\n this.createTagNameCtrl.reset('');\n this.tagsService.updateShowCreateInputField(false);\n });\n }\n }\n\n setFilterString(event: KeyboardEvent): void {\n const value = (event.target as HTMLInputElement).value;\n this.updateSearchString(value);\n }\n\n clearSearch(): void {\n this.createTagNameCtrl.reset('');\n this.updateSearchString('');\n }\n\n updateSearchString(value: string): void {\n this.tagsService.updateSearchString(value);\n }\n\n private listenToEnableStateChangesAndStatusChanges(): void {\n if (this.formGroup) {\n this.formGroup.valueChanges\n .pipe(\n takeUntil(this.destroy$),\n debounceTime(1000),\n map(({ tags }: { tags: TagForm[] }) =>\n tags.filter((tag: TagForm) => tag.checked).map((tag: TagForm) => tag.id)\n ),\n tap((tagsIds) => this.tagsActiveStateChange.emit(tagsIds))\n )\n .subscribe();\n\n this.formGroup.statusChanges\n .pipe(takeUntil(this.destroy$))\n .subscribe((status) => this.tagsService.updateFormStatus(status));\n }\n }\n\n private buildFormAndSetTags(): void {\n this.formGroup = this.fb.group({\n tags: this.fb.array([]),\n });\n this.tags$.pipe(debounceTime(200), takeUntil(this.destroy$)).subscribe((tags) => {\n this.tagsFormArray.clear({\n emitEvent: false,\n });\n tags.forEach((tag) =>\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.tagsFormArray.push(this.fb.control(tag, [Validators.required]), {\n emitEvent: false,\n })\n );\n this.cdr.detectChanges();\n });\n }\n}\n","
\n
\n search\n \n @if (filterString$ | async) {\n close\n }\n
\n
\n
\n @if (!enableTagActiveStateAndDisableEditMode) {\n \n @if (isEditingMode$ | async) {\n \n } @else {\n \n }\n }\n
\n @if (showCreateInputField$ | async) {\n
\n \n \n \n close\n \n @if (isRequiredError || isMaxLengthError) {\n \n {{ 'tags.create-tag-error-message' | translate }}\n \n }\n @if (isNameAlreadyExistError) {\n \n {{ 'tags.create-tag-name-exist-error-message' | translate }}\n \n }\n \n
\n }\n @for (ctrl of tagsFormArray.controls; track ctrl.value.id) {\n
\n @if (enableTagActiveStateAndDisableEditMode) {\n {{ ctrl.value.name }}\n \n } @else if (isEditingMode$ | async) {\n \n } @else {\n
\n \n {{ ctrl.value.name }}\n \n
\n }\n
\n }\n
\n
\n","import { Injectable } from '@angular/core';\nimport { TagsHttpService } from './tags-http.service';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport {\n concatMap,\n delay,\n distinctUntilChanged,\n filter,\n first,\n from,\n map,\n mergeMap,\n NEVER,\n Observable,\n of,\n tap,\n withLatestFrom,\n} from 'rxjs';\nimport { sortFunction, Tag } from './interface';\nimport { selectAllTags, selectSelectedEnvironmentId } from '../+state/core.selectors';\nimport { TagsStore } from 'core/tags/tags.store';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DeleteConfirmDialogComponent } from 'core/dialogs/delete-confirm-dialog/delete-confirm-dialog.component';\nimport { catchError } from 'rxjs/operators';\nimport { DeleteRevertDialogComponent } from 'core/dialogs/delete-revert-dialog/delete-revert-dialog.component';\nimport { ToastrService } from 'ngx-toastr';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormControlStatus } from '@angular/forms';\nimport { addTag, resetTags, updateTags, setTags } from '../+state/core.actions';\n\n@Injectable()\nexport class TagsService {\n constructor(\n private tagHttpService: TagsHttpService,\n private ngrxStore: Store,\n private tagsStore: TagsStore,\n private dialog: MatDialog,\n private toastService: ToastrService,\n private translateService: TranslateService\n ) {}\n\n showDeleteConfirmDialog(itemName: string, top: number, left: number): Observable {\n const dialog = this.dialog.open(DeleteConfirmDialogComponent, {\n data: {\n itemName,\n },\n hasBackdrop: false,\n position: {\n top: `${top}px`,\n left: `${left}px`,\n },\n panelClass: '-translate-x-2/4',\n });\n return dialog.afterClosed() as Observable;\n }\n\n showDeleteRevertDialog(itemName: string, top: number, left: number): Observable {\n const dialog = this.dialog.open(DeleteRevertDialogComponent, {\n data: {\n itemName,\n },\n hasBackdrop: false,\n position: {\n top: `${top}px`,\n left: `${left}px`,\n },\n panelClass: '-translate-x-2/4',\n });\n dialog\n .afterOpened()\n .pipe(delay(3000))\n .subscribe(() => dialog.close(false));\n return dialog.afterClosed() as Observable;\n }\n\n deleteTag(tag: Tag, top: number, left: number): Observable {\n this.tagsStore.updateIsDeleteInProgress(true);\n return this.showDeleteConfirmDialog(tag.name, top, left).pipe(\n tap((isConfirmed) => {\n if (!isConfirmed) {\n this.tagsStore.updateIsDeleteInProgress(false);\n }\n }),\n filter(Boolean),\n mergeMap(() =>\n this.showDeleteRevertDialog(tag.name, top, left).pipe(map((shouldRevert) => !shouldRevert))\n ),\n tap(() => this.tagsStore.updateIsDeleteInProgress(false)),\n filter(Boolean),\n tap(() => {\n this.tagsStore.removeTag(tag);\n }),\n mergeMap(() => this.ngrxStore.select(selectSelectedEnvironmentId).pipe(first())),\n filter(Boolean),\n mergeMap((envId) => this.tagHttpService.deleteTag(envId, tag.id)),\n tap(() => this.showSuccessfulMessage(\n this.translateService.instant('tags.tag-delete-successful-message', {\n tagName: tag.name,\n }) as string\n )),\n catchError((err) => {\n console.error('deleteTag', err);\n this.tagsStore.updateIsDeleteInProgress(false);\n this.showErrorOccurredMessage();\n return NEVER;\n })\n );\n }\n\n createTag(name: string): Observable {\n return this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n first(),\n filter(Boolean),\n mergeMap((envId) => this.tagHttpService.createTag(envId, name)),\n tap((tag) => {\n this.ngrxStore.dispatch(addTag({\n tag,\n }));\n this.showSuccessfulMessage(\n this.translateService.instant('tags.tag-create-successful-message', {\n tagName: tag.name,\n }) as string\n );\n }),\n catchError((err) => {\n console.error('createTag', err);\n this.showErrorOccurredMessage();\n return NEVER;\n })\n );\n }\n\n listenToEnvironmentChangeAndGetAllTags(): Observable {\n return this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n filter(Boolean),\n distinctUntilChanged(),\n concatMap((value, index) =>\n index !== 0 ? of(value).pipe(tap(() => { this.tagsStore.resetState(); this.ngrxStore.dispatch(resetTags()); })) : of(value)\n ),\n withLatestFrom(this.ngrxStore.select(selectAllTags)),\n filter(([, allTags]) => !allTags.length),\n map(([envId]) => envId),\n mergeMap((envId) => this.tagHttpService.getAllTags(envId)),\n tap((tags) => this.ngrxStore.dispatch(setTags({\n tags\n }))),\n\n catchError((err) => {\n console.error('listenToEnvironmentChangeAndGetAllTags', err);\n this.showErrorOccurredMessage();\n return NEVER;\n })\n\n );\n }\n\n updateShowCreateInputField(showCreateInputField: boolean): void {\n this.tagsStore.updateShowCreateInputField(showCreateInputField);\n }\n\n updateHighlightSaveButton(highlightSaveButton: boolean): void {\n this.tagsStore.updateHighlightSaveButton(highlightSaveButton);\n }\n\n updateIsEditingMode(isEditingMode: boolean): void {\n this.tagsStore.updateIsEditingMode(isEditingMode);\n }\n\n updateSearchString(searchString: string): void {\n this.tagsStore.updateFilteredString(searchString);\n }\n\n updateFormStatus(formStatus: FormControlStatus): void {\n this.tagsStore.updateFormStatus(formStatus);\n }\n\n updateTags(tags: Tag[]): Observable {\n return of(tags.filter((tag) => !this.tagsStore.isNameAlreadyExist(tag.name))).pipe(\n filter((filteredTags) => !!filteredTags.length),\n withLatestFrom(this.ngrxStore.select(selectSelectedEnvironmentId)),\n filter(([, envId]) => !!envId),\n tap(([filteredTags]) => this.updateTagsLocally(filteredTags)),\n mergeMap(([filteredTags, envId]) => this.updateTagsInBE(envId as number, filteredTags)),\n catchError((err) => {\n console.error('updateTags', err);\n this.showErrorOccurredMessage();\n return NEVER;\n })\n );\n }\n\n updateTagsLocally(tags: Tag[]): void {\n this.ngrxStore.dispatch(updateTags({\n tags\n }));\n }\n\n updateTagsInBE(envId: number, tags: Tag[]): Observable {\n return from(tags).pipe(mergeMap((tag) => this.updateTag(envId, tag)));\n }\n\n updateTag(envId: number, tag: Tag): Observable {\n return this.tagHttpService.updateTag(envId, tag.id, tag.name);\n }\n\n updateCheckedTagIds(checkedTagIds: number[]): void {\n this.tagsStore.updateCheckedTagIds(checkedTagIds);\n }\n\n updateSortFunction(sortFunction: sortFunction): void {\n this.tagsStore.updateSortFunction(sortFunction);\n }\n\n private showSuccessfulMessage(message: string): void {\n this.toastService.show(\n message,\n '',\n {\n timeOut: 5000,\n tapToDismiss: true,\n payload: {\n showIcon: true,\n customFontIcon: 'info',\n },\n },\n 'success'\n );\n }\n\n private showErrorOccurredMessage(): void {\n this.toastService.show(\n this.translateService.instant('tags.error-occurred') as string,\n '',\n {\n tapToDismiss: true,\n payload: {\n showIcon: true,\n customFontIcon: 'info',\n },\n },\n 'error'\n );\n }\n}\n","import { ComponentStore, OnStateInit } from '@ngrx/component-store';\nimport { sortFunction, Tag, TagsStoreState } from './interface';\nimport { map, Observable, takeUntil } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { isEqual } from 'lodash';\nimport { FormControlStatus } from '@angular/forms';\nimport { Store } from '@ngrx/store';\nimport { RootState } from '../../+state/app.reducer';\nimport { selectAllTags } from '../+state/core.selectors';\n\n@Injectable()\nexport class TagsStore extends ComponentStore implements OnStateInit {\n readonly addTag = this.updater((state, tag: Tag) => ({\n ...state,\n tags: [tag, ...state.tags],\n }));\n\n readonly removeTag = this.updater((state, tag: Tag) => ({\n ...state,\n tags: state.tags.filter((t) => t.id !== tag.id),\n }));\n\n readonly setTags = this.updater((state, tags: Tag[]) => ({\n ...state,\n tags,\n }));\n\n readonly updateShowCreateInputField = this.updater((state, value: boolean) => ({\n ...state,\n showCreateInputField: value,\n }));\n readonly updateIsDeleteInProgress = this.updater((state, value: boolean) => ({\n ...state,\n isDeleteInProgress: value,\n }));\n readonly updateIsEditingMode = this.updater((state, value: boolean) => ({\n ...state,\n isEditingMode: value,\n }));\n\n readonly updateFilteredString = this.updater((state, value: string) => ({\n ...state,\n filterString: value,\n }));\n\n readonly updateHighlightSaveButton = this.updater((state, highlightSaveButton: boolean) => ({\n ...state,\n highlightSaveButton,\n }));\n\n readonly updateTags = this.updater((state, tags: Tag[]) => {\n const tagsSet = new Set();\n const allTags = [...tags, ...state.tags];\n const filteredTags = allTags\n .filter((tag) => {\n const duplicate = tagsSet.has(tag.id);\n tagsSet.add(tag.id);\n return !duplicate;\n })\n .map((tag) => ({\n ...tag,\n lastModified: new Date().toISOString(),\n }));\n return {\n ...state,\n tags: filteredTags,\n };\n });\n\n readonly updateCheckedTagIds = this.updater((state, checkedTagIds: number[]) => ({\n ...state,\n checkedTagIds,\n }));\n\n readonly updateFormStatus = this.updater((state, formStatus: FormControlStatus) => ({\n ...state,\n formStatus,\n }));\n\n readonly updateSortFunction = this.updater((state, sortFunction: sortFunction) => ({\n ...state,\n sortFunction,\n }));\n\n readonly formStatus$: Observable = this.select((state) => state.formStatus, {\n equal: (prev, curr) => isEqual(prev, curr),\n });\n\n readonly isFormInvalid$: Observable = this.formStatus$.pipe(\n map((status) => status === 'INVALID')\n );\n readonly selectHighlightSaveButton$: Observable = this.select(\n (state) => state.highlightSaveButton\n );\n\n readonly tags$: Observable = this.select((state) => state.tags, {\n equal: (prev, curr) => isEqual(prev, curr),\n });\n readonly showCreateInputField$: Observable = this.select(\n (state) => state.showCreateInputField\n );\n readonly isEditingMode$: Observable = this.select((state) => state.isEditingMode);\n readonly isDeleteInProgress$: Observable = this.select(\n (state) => state.isDeleteInProgress\n );\n\n readonly filterString$: Observable = this.select((state) => state.filterString, {\n equal: (prev, curr) => prev === curr,\n });\n\n readonly checkedTagIds$: Observable = this.select((state) => state.checkedTagIds, {\n equal: (prev, curr) => isEqual(prev, curr),\n });\n\n readonly sortFunction$: Observable = this.select((state) => state.sortFunction, {\n equal: (prev, curr) => isEqual(prev, curr),\n });\n\n readonly sortedTagsWithFilteredString$ = this.select(\n this.tags$,\n this.filterString$,\n this.checkedTagIds$,\n this.sortFunction$,\n (tags, filterString, checkedTagIds, sortFunction) =>\n tags\n .filter(\n (tag) =>\n !filterString.length ||\n tag.name.toLowerCase().includes(this.get().filterString.toLowerCase())\n )\n .map((tag) => ({\n ...tag,\n checked: checkedTagIds.includes(tag.id),\n }))\n // eslint-disable-next-line @typescript-eslint/unbound-method\n .sort(sortFunction === 'Date' ? this.sortByDate : this.sortAlphabetically),\n { debounce: true }\n );\n\n constructor(private ngrxStore: Store) {\n super({\n tags: [],\n showCreateInputField: false,\n isEditingMode: false,\n isDeleteInProgress: false,\n highlightSaveButton: false,\n filterString: '',\n checkedTagIds: [],\n formStatus: 'VALID',\n sortFunction: 'Alphabetical',\n });\n }\n\n ngrxOnStateInit(): void {\n this.ngrxStore.select(selectAllTags).pipe(\n takeUntil(this.destroy$)\n ).subscribe((tags) => {\n this.setTags(tags);\n });\n }\n\n isNameAlreadyExist(name: string): boolean {\n return !!this.get().tags.find((tag) => tag.name === name);\n }\n\n resetState(): void {\n this.setState((state) => ({\n tags: [],\n showCreateInputField: false,\n isEditingMode: false,\n isDeleteInProgress: false,\n highlightSaveButton: false,\n filterString: '',\n checkedTagIds: [],\n formStatus: 'VALID',\n sortFunction: state.sortFunction,\n }));\n }\n\n private sortAlphabetically(a: Tag, b: Tag): number {\n return a.name.localeCompare(b.name);\n }\n\n private sortByDate(a: Tag, b: Tag): number {\n return new Date(b.lastModified).getTime() - new Date(a.lastModified).getTime();\n }\n\n}\n","import { TagsStore } from '../tags.store';\nimport { AbstractControl, AsyncValidatorFn, ValidationErrors } from '@angular/forms';\nimport { first, map, Observable } from 'rxjs';\nimport { NAME_EXISTS_ERROR_KEY, Tag } from '../interface';\n\nexport class CustomValidators {\n static createNameAlreadyExists(tagsStore: TagsStore): AsyncValidatorFn {\n return (control: AbstractControl): Observable =>\n tagsStore.tags$.pipe(\n first(),\n map((tags) => {\n const isExist = tags\n .map((tag) => tag.name.toLowerCase())\n .includes(control.value.toLowerCase());\n return isExist\n ? {\n [NAME_EXISTS_ERROR_KEY]: true,\n }\n : null;\n })\n );\n }\n\n static tagWithSameNameAlreadyExists(tagsStore: TagsStore): AsyncValidatorFn {\n return (control: AbstractControl): Observable =>\n tagsStore.tags$.pipe(\n first(),\n map((tags) => {\n const isExist = tags.some(\n (tag) => tag.name === control.value.name && tag.id !== control.value.id\n );\n return isExist\n ? {\n [NAME_EXISTS_ERROR_KEY]: true,\n }\n : null;\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { RouterStateSnapshot, TitleStrategy } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\n\n// updateTitle will not update the page title if the url contains an element of this\nconst DISABLED_URLS = ['/portfolio/group', '/portfolio/site'];\n\nexport const BASE_PAGE_TITLE = 'ESG-Manager';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TitleStrategyService extends TitleStrategy {\n constructor(private readonly _titleService: Title, private translateService: TranslateService) {\n super();\n }\n\n public override updateTitle(routerState: RouterStateSnapshot): void {\n const title = this.buildTitle(routerState) || '';\n if (title && !DISABLED_URLS.some((url) => routerState.url.includes(url))) {\n this.translateService.stream(title).subscribe((translatedTitle: string) => {\n this._titleService.setTitle(`${BASE_PAGE_TITLE} - ${translatedTitle}`);\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GoogleTagManagerService } from 'angular-google-tag-manager';\n\nimport { environment } from 'environments/environment';\nimport { GtmEventInfo, GtmLayer } from './gtm-layer.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TrackingWrapperService {\n constructor(\n private readonly _gtmService: GoogleTagManagerService,\n private readonly _translateService: TranslateService\n ) {\n this._gtmService.addGtmToDom();\n }\n\n public addGTM(eventInfo: GtmEventInfo, breadcrumbs: string[]): void {\n const gtmTag: GtmLayer = {\n event: eventInfo.eventCategory,\n eventInfo,\n page: {\n pageInfo: {\n pageName: document.title,\n hostname: document.location.hostname,\n documentURL: window.location.href || document.URL,\n sysEnv: environment.trackingEnv,\n breadcrumbs: breadcrumbs.join('|'),\n language: this._translateService.getBrowserLang() || navigator.language,\n referrer: document.referrer,\n },\n },\n };\n\n this._gtmService\n .pushTag(gtmTag)\n // then((status) => LoggerService.log('gtmService status', status))\n .catch();\n // LoggerService.log('data layer', this._gtmService.getDataLayer());\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { UserSettings } from './interfaces';\nimport { environment } from 'environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserSettingsHttpService {\n constructor(private readonly httpClient: HttpClient) {}\n\n getUserSettings(): Observable {\n return this.httpClient.get(`${environment.apiUrl}/api/user-settings`);\n }\n\n updateUserSettings(settings: UserSettings): Observable {\n return this.httpClient.post(`${environment.apiUrl}/api/user-settings`, settings);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UserSettingsHttpService } from './user-settings-http.service';\nimport { Observable, tap } from 'rxjs';\nimport { UserSettings } from './interfaces';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { updateUserSettings } from '../+state/core.actions';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserSettingsService {\n constructor(\n private userSettingsHttpService: UserSettingsHttpService,\n private readonly ngrxStore: Store\n ) {}\n\n getUserSettingsAndUpdateStore(): Observable {\n return this.userSettingsHttpService.getUserSettings().pipe(\n tap((settings) =>\n this.ngrxStore.dispatch(\n updateUserSettings({\n settings,\n })\n )\n )\n );\n }\n\n updateUserSettingsAndUpdateStore(settings: UserSettings): Observable {\n return this.userSettingsHttpService.updateUserSettings(settings).pipe(\n tap((settings) =>\n this.ngrxStore.dispatch(\n updateUserSettings({\n settings,\n })\n )\n )\n );\n }\n}\n","import { createAction, props } from '@ngrx/store';\n\nimport {\n BenchmarkingDataRequestParam,\n BenchmarkingLoadingResponse,\n} from '../benchmarking.interface';\nimport { CardTabSubItem } from 'shared/ui/card-tab/interfaces';\nimport { BenchmarkingFilter } from '../interfaces';\nimport { SelectItem } from '../../../shared/ui/basic/select/select.interface';\n\nexport const storeBenchmarkingData = createAction(\n '[Benchmarking] Store Benchmarking Data',\n props<{ benchmarkingData: BenchmarkingLoadingResponse }>()\n);\n\nexport const clearBenchmarkingData = createAction('[Benchmarking] Clear Benchmarking Data');\n\nexport const updateSelectedEmissionMediaChartFilter = createAction(\n '' + '[Benchmarking] update selected Emission Media Chart Filter',\n props<{ selectedEmissionMediaChartFilter: CardTabSubItem }>()\n);\n\nexport const storeBenchmarkingYearsWithData = createAction(\n '[Benchmarking] Store Benchmarking Years With Data',\n props<{ yearsWithData: number[] }>()\n);\n\nexport const updateBenchmarkingData = createAction('[Benchmarking] Update Data');\n\nexport const loadFailure = createAction('[Benchmarking] Load Failure', props<{ error: Error }>());\n\nexport const loadSuccess = createAction('[Benchmarking] Load Success');\n\nexport const storeBenchmarkingFilterData = createAction(\n '[Benchmarking] Store Filter Data',\n props<{\n benchmarkingFilterData: BenchmarkingFilter;\n }>()\n);\n\nexport const storeSelectedGroup = createAction(\n '[Benchmarking] Store Selected Group',\n props<{\n selectedGroup: SelectItem;\n }>()\n);\n\nexport const storeCustomSelectedGroup = createAction(\n '[Benchmarking] Store Custom Selected Group',\n props<{\n selectedCustomGroup: SelectItem;\n }>()\n);\nexport const resetBenchmarking = createAction('[Benchmarking] Reset Benchmarking');\nexport const resetBenchmarkingDataAndReloadData = createAction(\n '[Benchmarking] Reset Benchmarking Data'\n);\n\nexport const storeSelectedTags = createAction(\n '[Benchmarking] Set Tags',\n props<{\n selectedTags: number[];\n }>()\n);\n\nexport const storeBenchmarkingDataRequestParams = createAction(\n '[Benchmarking] Benchmarking Data Request Params',\n props<{\n requestParams: BenchmarkingDataRequestParam;\n }>()\n);\n\nexport const storeBenchmarkingDataCurrentParams = createAction(\n '[Benchmarking] Benchmarking Data Current Params',\n props<{\n currentParams: BenchmarkingDataRequestParam;\n }>()\n);\n\nexport const resetCurrentSelectedRequestParam = createAction(\n '[Benchmarking] Current Selected Request Param'\n);\n\nexport const storeLoaderSpannerStatus = createAction(\n '[Benchmarking] Set Loader Spanner status',\n props<{\n loaderOpened: boolean;\n }>()\n);\n\nexport const storeDrawerStatus = createAction(\n '[Benchmarking] Store Drawer Status',\n props<{\n drawerOpened: boolean;\n }>()\n);\n","import { CardTabSubItem } from 'shared/ui/card-tab/interfaces';\n\nexport const DEFAULT_BENCHMARKING_MEDIA_CHART_FILTER: CardTabSubItem = {\n label: 'types.all',\n value: 'all',\n};\n","import { inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from '../../../+state/app.reducer';\nimport { resetCurrentSelectedRequestParam } from '../+state/benchmarking.actions';\n\n\nexport const ResetCurrentSelectedRequestParam = (): boolean => {\n const store = inject(Store);\n store.dispatch(resetCurrentSelectedRequestParam());\n return true;\n};\n","import { inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { updateSelectedEmissionMediaChartFilter } from '../+state/benchmarking.actions';\nimport { DEFAULT_BENCHMARKING_MEDIA_CHART_FILTER } from 'app/features/benchmarking/constants';\n\n\nexport const ResetEmissionMediaChartFilterGuard = (): boolean => {\n const store = inject(Store);\n store.dispatch(updateSelectedEmissionMediaChartFilter({\n selectedEmissionMediaChartFilter: DEFAULT_BENCHMARKING_MEDIA_CHART_FILTER,\n }));\n return true;\n};\n","import { createAction, props } from '@ngrx/store';\n\nimport { DashboardInfo } from '../dashboard.interface';\n\n/*\nexport const loadDashboard = createAction(\n '[Dashboard] load Dashboard single year'\n);\n*/\n\nexport const storeDashboardRequestStatus = createAction(\n '[Dashboard] Store Dashboard Request Status',\n props<{ loading: boolean }>()\n);\n\nexport const storeDashboardData = createAction(\n '[Dashboard] Store Dashboard Data',\n props<{ dashboard: DashboardInfo; dashboardEnvironmentId: number }>()\n);\n\nexport const updateDashboardData = createAction('[Dashboard] Update Data');\n\nexport const dashboardLoadSuccess = createAction('[Dashboard] Load Success');\n\nexport const dashboardLoadFailure = createAction(\n '[Dashboard] Load Failure',\n props<{ error: any }>()\n);\nexport const resetDashboardState = createAction('[Dashboard] Reset State');\n","import { DashboardInfo } from '../dashboard.interface';\nimport { ConsumptionInfo } from 'app/features/portfolio/portfolio-consumption/consumption.interface';\nimport { IconValueLabel } from 'shared/ui/icon-value-label/icon-value-label.interface';\nimport { ChartItem } from 'shared/ui/chart/chart.interface';\nimport { MedianBackgroundCustomIconsClass, MedianCustomIcons } from 'shared/helper/icon-helper';\nimport { Unit } from 'shared/models/unit.enum';\nimport { ValueBarDiagnoseCard } from 'shared/ui/value-bar-diagnose-card/value-bar-diagnose-card.interface';\nimport { Utils } from 'shared/helper/utils';\n\nexport class DashboardHelper {\n public static checkWhichYearsToLoad(\n alreadyPresentDashboardData: DashboardInfo | ConsumptionInfo | undefined,\n requestedYears: number[]\n ): number[] {\n if (!alreadyPresentDashboardData) return requestedYears;\n return requestedYears.filter((year) => !alreadyPresentDashboardData[year]);\n }\n\n static getBarsDisplayedYearsKeys(dashboard: DashboardInfo, globalSelectedYear: number): string[] {\n return Utils.getBarsDisplayedYearsKeys(dashboard, globalSelectedYear);\n }\n\n static chartItemToIconValueLabel(\n item: ChartItem,\n valueItem: { value?: number | null; unit: string }\n ): IconValueLabel {\n return {\n value: valueItem.value as number,\n unit: valueItem.unit as Unit,\n label: `types.${item.label}`,\n icon: MedianCustomIcons[item.label],\n iconBackgroundColor: MedianBackgroundCustomIconsClass[item.label] ?? '',\n };\n }\n\n static getTargetTabNameByLabel(card: ValueBarDiagnoseCard): string {\n return card.label?.startsWith('types.') ? card.label.split('types.')[1] : '';\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SharedModule } from 'shared/shared.module';\n\n@NgModule({\n imports: [CommonModule, SharedModule],\n declarations: [],\n exports: [],\n})\nexport class FeaturesModule {}\n","import { createAction, props } from '@ngrx/store';\nimport { reloadConsumptionAfterEditingNavigationIsFinishedStateType } from 'app/features/portfolio/+state/portfolio.reducer';\nimport { GeoApiResponse } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/geo-api-response.interface';\nimport { SiteDetails } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/site-details.interface';\nimport { Tag } from 'core/tags/interface';\nimport { FilterDateRange, FilterTab } from 'shared/ui/filter/filter-tab.interface';\n\nimport {\n ConsumptionBoardId,\n ConsumptionInfo,\n} from '../portfolio-consumption/consumption.interface';\nimport { GroupDetail, GroupSite } from '../portfolio-group/group-detail.interface';\n\nexport const storeConsumptionBoardRequestStatus = createAction(\n '[Portfolio Screen] Store Consumption Board Request Status',\n props<{ loading: boolean }>()\n);\n\nexport const storeConsumptionBoardData = createAction(\n '[Portfolio Screen] Store Consumption Board Data',\n props<{\n consumptionBoard: ConsumptionInfo;\n consumptionBoardId: ConsumptionBoardId;\n }>()\n);\n\nexport const storeSelectedHeaderTab = createAction(\n '[Portfolio Screen] Store selected Header Tab',\n props<{ selectedHeaderTab: FilterTab }>()\n);\n\nexport const storeSelectedMainFilter = createAction(\n '[Portfolio Screen] Store selected Main Filter',\n props<{ selectedMainFilter: FilterTab }>()\n);\n\nexport const storeSelectedChartSubFilter = createAction(\n '[Portfolio Screen] Store selected Chart Sub Filter',\n props<{ selectedChartSubFilter: string }>()\n);\n\nexport const storeSelectedSiteTableYear = createAction(\n '[Portfolio Screen] Store selected Site Table Year',\n props<{ selectedSiteTableYear: FilterDateRange }>()\n);\n\nexport const updateMasterdataIsLoading = createAction(\n '[Portfolio Screen] Masterdata is Loading',\n props<{ masterDataIsLoading: boolean }>()\n);\nexport const loadSiteDetails = createAction(\n '[Portfolio] load Site Details',\n props<{\n envId: number;\n siteId: number | string;\n year: number;\n }>()\n);\nexport const loadGroupDetails = createAction(\n '[Portfolio] load Group Details',\n props<{\n envId: number;\n groupId: number | string;\n }>()\n);\nexport const storeSiteDetails = createAction(\n '[Portfolio] store Site Details',\n props<{\n siteDetails?: SiteDetails;\n }>()\n);\n\nexport const storeGroupDetails = createAction(\n '[Portfolio] store Group Details',\n props<{\n groupDetails?: GroupDetail;\n }>()\n);\n\nexport const storeGroupSites = createAction(\n '[Portfolio] store Group Sites',\n props<{\n groupSites: GroupSite[];\n }>()\n);\n\nexport const resetSiteDetails = createAction('[Portfolio Screen] Reset Site Details');\n\nexport const resetGroupDetails = createAction('[Portfolio Screen] Reset Group Details');\n\nexport const updateSiteGeoLocation = createAction(\n '[Portfolio] update Site Location',\n props<{\n siteGeoData: GeoApiResponse;\n }>()\n);\n\nexport const updateSiteDetailsLoading = createAction(\n '[Portfolio] update Site Details Loading',\n props<{\n masterDataIsLoading: boolean;\n }>()\n);\n\nexport const updatePortfolioData = createAction('[Portfolio] Update Data');\n\nexport const updatePossibleEditingPortfolioNavigationFinishedState = createAction(\n '[Portfolio] Update Possible Editing Portfolio Navigation Finished State',\n props<{\n possibleState: reloadConsumptionAfterEditingNavigationIsFinishedStateType;\n }>()\n);\n\nexport const updateEditingPortfolioNavigationFinishedState = createAction(\n '[Portfolio] Update Editing Portfolio Navigation Finished',\n props<{\n reloadState: reloadConsumptionAfterEditingNavigationIsFinishedStateType;\n }>()\n);\nexport const updateGroupDetailsLoading = createAction(\n '[Portfolio] update Group Details Loading',\n props<{\n masterDataIsLoading: boolean;\n }>()\n);\n\nexport const loadSiteTags = createAction(\n '[Portfolio] load Site Tags',\n props<{\n envId: number;\n siteId: number;\n }>()\n);\n\nexport const storeSiteTags = createAction(\n '[Portfolio] store Site Tags',\n props<{\n tags: Tag[];\n }>()\n);\n\nexport const updateSiteTags = createAction(\n '[Portfolio] update Site Tags',\n props<{\n envId: number;\n siteId: number;\n tags: number[];\n }>()\n);\n\nexport const resetPortfolioState = createAction('[Portfolio] Reset State');\n\nexport const loadFailure = createAction('[Portfolio] Load Failure', props<{ error: Error }>());\n\nexport const loadSuccess = createAction('[Portfolio] Load Success');\n\nexport const updateTagsInSitesAreChanged = createAction('[Portfolio] Get Status of Changes in Tags', props<{ tagsInSitesAreChanged: boolean}>());\n","import { createReducer, on } from '@ngrx/store';\nimport { PortfolioChartDefaultMainFilter } from 'core/constants';\nimport * as _ from 'lodash';\nimport { FilterDateRange, FilterTab } from 'shared/ui/filter/filter-tab.interface';\n\nimport { Tag } from 'core/tags/interface';\nimport {\n ConsumptionBoardId,\n ConsumptionInfo,\n} from '../portfolio-consumption/consumption.interface';\nimport { GroupDetail, GroupSite } from '../portfolio-group/group-detail.interface';\nimport { SiteDetails } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/site-details.interface';\nimport {\n resetGroupDetails,\n resetPortfolioState,\n resetSiteDetails,\n storeConsumptionBoardData,\n storeConsumptionBoardRequestStatus,\n storeGroupDetails,\n storeGroupSites,\n storeSelectedChartSubFilter,\n storeSelectedHeaderTab,\n storeSelectedMainFilter,\n storeSelectedSiteTableYear,\n storeSiteDetails,\n storeSiteTags,\n updateEditingPortfolioNavigationFinishedState,\n updateSiteDetailsLoading,\n updateSiteGeoLocation,\n updateTagsInSitesAreChanged\n} from './portfolio.actions';\n\nexport const portfolioFeatureKey = 'portfolio';\nexport type reloadConsumptionAfterEditingNavigationIsFinishedStateType =\n | 0 // 0 means no\n | 1 // 1 treeChangeRequireReload But user doesn't finish Editing\n | 2; // 2 means treeChangeRequireReload and User finished Editing\n\nexport interface PortfolioState {\n groupSites: GroupSite[] | undefined;\n groupData: GroupDetail | undefined;\n consumptionBoardId: ConsumptionBoardId | undefined;\n consumptionBoard: ConsumptionInfo | undefined;\n loading: boolean;\n selectedHeaderTab?: FilterTab;\n selectedMainFilter?: FilterTab;\n selectedChartSubFilter?: string;\n selectedSiteTableYear: FilterDateRange | undefined;\n tagsInSitesAreChanged: boolean;\n masterdataSite: SiteDetails | undefined;\n masterDataIsLoading: boolean;\n siteTags?: Tag[];\n\n reloadConsumptionAfterEditingNavigationIsFinishedState: reloadConsumptionAfterEditingNavigationIsFinishedStateType;\n}\n\nexport const portfolioState: PortfolioState = {\n consumptionBoardId: undefined,\n consumptionBoard: undefined,\n loading: false,\n selectedSiteTableYear: undefined,\n selectedChartSubFilter: 'heatingAndHotWater',\n selectedMainFilter: PortfolioChartDefaultMainFilter,\n masterdataSite: undefined,\n groupSites: undefined,\n masterDataIsLoading: false,\n siteTags: undefined,\n reloadConsumptionAfterEditingNavigationIsFinishedState: 0,\n groupData: undefined,\n tagsInSitesAreChanged: false,\n};\n\nexport const mergeConsumptionInfo = (\n target: ConsumptionInfo | undefined,\n source: ConsumptionInfo\n): ConsumptionInfo => {\n const merged: ConsumptionInfo = { ...target };\n\n // eslint-disable-next-line guard-for-in\n for (const key in source) {\n merged[key] = source[key];\n }\n\n return merged;\n};\n\nexport const portfolioReducer = createReducer(\n portfolioState,\n on(storeConsumptionBoardRequestStatus, (state, action) => ({\n ...state,\n loading: action.loading,\n })),\n on(storeConsumptionBoardData, (state, action) => ({\n ...state,\n consumptionBoardId: action.consumptionBoardId,\n consumptionBoard: _.isEqual(state.consumptionBoardId, action.consumptionBoardId)\n ? mergeConsumptionInfo(state.consumptionBoard, action.consumptionBoard)\n : action.consumptionBoard,\n })),\n on(storeSelectedHeaderTab, (state, action) => ({\n ...state,\n selectedHeaderTab: action.selectedHeaderTab,\n })),\n on(storeSelectedMainFilter, (state, action) => ({\n ...state,\n selectedMainFilter: action.selectedMainFilter,\n })),\n on(storeSelectedChartSubFilter, (state, action) => ({\n ...state,\n selectedChartSubFilter: action.selectedChartSubFilter,\n })),\n on(storeSelectedSiteTableYear, (state, action) => ({\n ...state,\n selectedSiteTableYear: action.selectedSiteTableYear,\n })),\n on(storeSiteDetails, (state, action) => ({\n ...state,\n masterdataSite: action.siteDetails,\n })),\n on(resetSiteDetails, (state) => ({\n ...state,\n masterdataSite: undefined,\n })),\n on(storeGroupDetails, (state, action) => ({\n ...state,\n groupData: action.groupDetails,\n })),\n on(resetGroupDetails, (state) => ({\n ...state,\n groupData: undefined,\n })),\n on(storeGroupSites, (state, action) => ({\n ...state,\n groupSites: action.groupSites,\n })),\n on(updateSiteGeoLocation, (state, action) => ({\n ...state,\n masterdataSite: state.masterdataSite\n ? {\n ...state.masterdataSite,\n geoData: action.siteGeoData,\n }\n : undefined,\n })),\n on(updateSiteDetailsLoading, (state, action) => ({\n ...state,\n masterDataIsLoading: action.masterDataIsLoading,\n })),\n on(updateEditingPortfolioNavigationFinishedState, (state, action) => ({\n ...state,\n reloadConsumptionAfterEditingNavigationIsFinishedState: action.reloadState,\n })),\n on(storeSiteTags, (state, action) => ({\n ...state,\n siteTags: action.tags,\n })),\n on(resetPortfolioState, (state) => ({\n ...state,\n consumptionBoardId: undefined,\n consumptionBoard: undefined,\n loading: false,\n })),\n on(updateTagsInSitesAreChanged, (state, action) => ({\n ...state,\n tagsInSitesAreChanged: action.tagsInSitesAreChanged\n }))\n);\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { headerDataConfig } from 'app/features/portfolio/portfolio-consumption/consumption-table.config';\nimport { ConsumptionMapper } from 'app/features/portfolio/portfolio-consumption/consumption.mapper';\nimport { PortfolioChartMapper } from 'app/features/portfolio/utils/portfolio-chart.mapper';\nimport { PortfolioMasterdataMapper } from 'app/features/portfolio/utils/portfolio-masterdata.mapper';\nimport { PortfolioMonitoringMapper } from 'app/features/portfolio/utils/portfolio-monitoring.mapper';\nimport {\n ADDRESS_NOT_FOUND,\n LANDMARK_NOT_FOUND,\n} from 'app/features/portfolio/utils/portfolio.constants';\nimport { AnalyticalCategories } from 'app/shared/interfaces/consumption-type-button.interface';\nimport { ChartItem } from 'app/shared/ui/chart/chart.interface';\nimport {\n selectAdjacentYearsDependsOnGlobalSelectedYear,\n selectGlobalSelectedYear,\n selectGlobalSelectedYearAsFilterRange,\n selectYearsWithData,\n} from 'core/+state/core.selectors';\nimport { UtilHelper } from 'shared/helper/util-helper';\nimport { OsmHelper } from 'shared/helper/osm-helper';\nimport { LabelConfig } from 'shared/ui/basic/label/label.interface';\nimport { FilterDateRange, FilterTab } from 'shared/ui/filter/filter-tab.interface';\nimport {\n MonitoringCardsSkeletonType,\n MonitoringCardType,\n} from 'shared/ui/monitoring-card/monitoring-card.skeleton';\n\nimport { MonitoringCardData } from 'shared/ui/monitoring-card/monitoring-card-data.interface';\nimport { ConsumptionInfo } from '../portfolio-consumption/consumption.interface';\nimport { headerMasterdataConfig } from '../portfolio-group-masterdata/group-masterdata-tabel.config';\nimport { LandmarkInterface } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/landmark.interface';\nimport { SiteDetails } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/site-details.interface';\nimport { portfolioFeatureKey, PortfolioState } from './portfolio.reducer';\nimport { AllValueBarDiagnoseCardSkeleton } from 'shared/constants/value-bar-diagnse-card-skeleton';\nimport { Utils } from 'shared/helper/utils';\nimport { FilterCORSType } from '../../../shared/interfaces/filters.config';\n\nexport const selectPortfolioState = createFeatureSelector(portfolioFeatureKey);\n\nexport const selectConsumptionBoardId = createSelector(\n selectPortfolioState,\n (state) => state?.consumptionBoardId\n);\n\nexport const selectIsConsumptionBoardLoading = createSelector(\n selectPortfolioState,\n (state) => state.loading\n);\n\nexport const selectSelectedFilter = createSelector(\n selectPortfolioState,\n (state) => state?.selectedMainFilter\n);\n\nexport const selectConsumptionInfo = createSelector(\n selectPortfolioState,\n (state) => state?.consumptionBoard\n);\n\nexport const selectAlreadyLoadedPortfolioYears = createSelector(selectConsumptionInfo, (state) =>\n state ? Object.keys(state).map((element) => parseInt(element, 10)) : []\n);\n\nexport const getRequiredAdditionalDataKeyDependsOnPortfolioType = (\n portfolioType: AnalyticalCategories,\n childPropKey: string\n): string =>\n portfolioType === 'consumption' && childPropKey === UtilHelper.heatingLabel\n ? UtilHelper.hotWaterEnergy\n : '';\n\nexport const selectConsumptionAsBarChart = createSelector(\n selectPortfolioState,\n selectSelectedFilter,\n (state, selectedFilter) =>\n state?.consumptionBoard\n ? PortfolioChartMapper.getPortfolioConsumptionTransformedBarChart(\n state?.consumptionBoard,\n (selectedFilter?.left[0]?.value as AnalyticalCategories) || 'consumption',\n getRequiredAdditionalDataKeyDependsOnPortfolioType\n )\n : []\n);\n\nexport const checkAndFilterUnknownItem = (data: ChartItem[]): ChartItem[] =>\n data.map((item) => {\n if (item.value === 'unknown') {\n item.data = item.data.filter((itemData) => (itemData.values?.value || 0) >= 1);\n }\n\n return item;\n });\n\nexport const selectConsumptionAsMediaDistributionChart = createSelector(\n selectPortfolioState,\n selectSelectedFilter,\n (state, selectedFilter) =>\n state?.consumptionBoard\n ? checkAndFilterUnknownItem(\n PortfolioChartMapper.getPortfolioMediaDistributionTransformedChart(\n state.consumptionBoard,\n (selectedFilter?.left[0]?.value as AnalyticalCategories) || 'consumption'\n )\n )\n : []\n);\n\nconst transformToMonitoringCardArray = (data: MonitoringCardType): MonitoringCardData[] => {\n const result: MonitoringCardData[] = [];\n Object.keys(data).forEach((key) => {\n result.push(data[key as MonitoringCardsSkeletonType]);\n });\n return result;\n};\nexport const selectConsumptionAsMonitoringCards = createSelector(selectPortfolioState, (state) =>\n state?.consumptionBoard\n ? transformToMonitoringCardArray(\n PortfolioMonitoringMapper.getTransformedConsumptionData(state.consumptionBoard)\n )\n : []\n);\n\nexport const selectConsumptionDiagnoseCardsObject = createSelector(\n selectPortfolioState,\n selectGlobalSelectedYear,\n (state, globalSelectedYear) =>\n state?.consumptionBoard && globalSelectedYear\n ? PortfolioMonitoringMapper.consumptionInfoToValueDiagnoseCardValues(\n AllValueBarDiagnoseCardSkeleton,\n state.consumptionBoard,\n globalSelectedYear,\n Utils.getBarsDisplayedYearsKeys(state.consumptionBoard, globalSelectedYear)\n )\n : undefined\n);\n\nexport const selectConsumptionDiagnoseCards = createSelector(\n selectConsumptionDiagnoseCardsObject,\n (data) => (data ? Object.entries(data).map(([, value]) => value) : [])\n);\n\nexport const selectSelectedSiteTableYear = createSelector(\n selectPortfolioState,\n selectYearsWithData,\n (state, yearsWithData) =>\n state.selectedSiteTableYear\n ? state.selectedSiteTableYear\n : {\n from: yearsWithData.length > 0 ? `${yearsWithData[yearsWithData.length - 1]}` : '',\n until: '',\n }\n);\n\nexport const selectSiteTableYearFilterTab = createSelector(\n selectGlobalSelectedYearAsFilterRange,\n (year) =>\n ({\n left: [\n {\n label: 'filter.portfolio-objects',\n icon: './assets/icons/navigation/monitoring.svg',\n active: false,\n },\n ],\n selectedYear: year,\n } as FilterTab)\n);\n\nexport const selectChartYearFilterRange = createSelector(\n selectAdjacentYearsDependsOnGlobalSelectedYear,\n (years) =>\n ({\n from: `${years[0]}`,\n until: `${years[years.length - 1]}`,\n } as FilterDateRange)\n);\n\nexport const selectPortfolioSelectedChartSubFilter = createSelector(\n selectPortfolioState,\n (state) => state?.selectedChartSubFilter\n);\n\nexport const selectPortfolioConsumptionChartSelectedFilter = createSelector(\n selectYearsWithData,\n selectPortfolioSelectedChartSubFilter,\n (timeSeries, subFilter) => [\n {\n left: [\n {\n label: subFilter ?? UtilHelper.heatingLabel,\n value: subFilter ?? UtilHelper.heatingLabel,\n },\n ],\n selectedYear: {\n from: timeSeries[timeSeries.length - 1]?.toString() || '',\n until: '',\n },\n },\n ]\n);\n\nexport const selectPortfolioConsumptionChartLabelConfig = createSelector(\n selectSelectedFilter,\n selectPortfolioConsumptionChartSelectedFilter,\n selectPortfolioSelectedChartSubFilter,\n (selectedFilter, mainFilterTab, subFilter) => {\n const consumptionTypes = subFilter\n ? subFilter\n : mainFilterTab.length\n ? mainFilterTab[0].left[0].value\n : undefined;\n return {\n prefixText:\n selectedFilter && selectedFilter.left[0].value === FilterCORSType.COSTS\n ? 'common.cost-unit-prefix-text'\n : 'common.unit-prefix-text',\n analyticalCategory: selectedFilter ? selectedFilter.left[0].value : 'consumption',\n consumptionTypes,\n } as LabelConfig;\n }\n);\n\nexport const selectTransformedSiteData = createSelector(\n selectConsumptionInfo,\n selectGlobalSelectedYear,\n (data, selectedYear) =>\n selectedYear && data && data[selectedYear]\n ? ConsumptionMapper.transformSiteDataToTableDataGeneric(\n data[selectedYear].sites,\n headerDataConfig\n )\n : {}\n);\n\nexport const selectGroupDetails = createSelector(selectPortfolioState, (state) => state.groupData);\n\nexport const selectGroupSites = createSelector(selectPortfolioState, (state) => state.groupSites);\n\nexport const selectTransformedGroupData = createSelector(selectGroupSites, (data) =>\n data ? ConsumptionMapper.transformGroupDataToTableDataGeneric(data, headerMasterdataConfig) : {}\n);\n\nexport const selectSiteDetails = createSelector(\n selectPortfolioState,\n (state) => state.masterdataSite\n);\n\nexport const selectCardContent = createSelector(selectSiteDetails, (siteDetails) =>\n siteDetails\n ? PortfolioMasterdataMapper.getMasterdataCardData(\n PortfolioMasterdataMapper.mapStaticMasterdataSite(siteDetails)\n )\n : undefined\n);\n\nexport const selectMeteringData = createSelector(selectSiteDetails, (siteDetails) =>\n siteDetails ? PortfolioMasterdataMapper.mapMeteringData(siteDetails) : undefined\n);\n\nexport const selectMasterdataPortfolioCardsBySite = createSelector(\n selectSiteDetails,\n selectGlobalSelectedYear,\n (siteDetails, globalYear) =>\n siteDetails\n ? PortfolioMasterdataMapper.mapToPortfolioCardContent(\n PortfolioMasterdataMapper.mapSiteDetailToPortfolioCard(siteDetails, globalYear as number),\n globalYear as number\n )\n : undefined\n);\n\nexport const selectMasterdataPortfolioInfoCardsBySite = createSelector(\n selectSiteDetails,\n (siteDetails) =>\n siteDetails\n ? PortfolioMasterdataMapper.mapSiteDetailToPortfolioInfoCard(siteDetails)\n : undefined\n);\n\nexport const selectMasterdataPortfolioCardsByGroup = createSelector(\n selectGroupDetails,\n selectGlobalSelectedYear,\n (groupDetails, globalYear) =>\n groupDetails\n ? PortfolioMasterdataMapper.mapToPortfolioCardContent(\n PortfolioMasterdataMapper.mapGroupDetailToPortfolioCard(\n groupDetails,\n globalYear as number\n ),\n globalYear as number\n )\n : undefined\n);\n\nexport const selectMasterdataPortfolioInfoCardsByGroup = createSelector(\n selectGroupDetails,\n selectGlobalSelectedYear,\n (groupDetails, globalYear) =>\n groupDetails && globalYear\n ? PortfolioMasterdataMapper.mapGroupDetailToPortfolioInfoCard(groupDetails)\n : undefined\n);\n\nexport const selectSiteLandmarks = createSelector(\n selectSiteDetails,\n (siteDetails: SiteDetails | undefined) => {\n if (!siteDetails?.geoData?.place_id) {\n return [LANDMARK_NOT_FOUND];\n }\n const address = OsmHelper.getAddressStringForGeoApi(\n OsmHelper.transformSiteDetailsToAddress(siteDetails)\n );\n return [\n {\n name: address,\n lat: siteDetails.geoData.lat,\n lng: siteDetails.geoData.lon,\n label: address,\n },\n ];\n }\n);\n\nexport const selectGroupLandmarks = createSelector(\n selectConsumptionInfo,\n selectGlobalSelectedYear,\n (consumptionInfo: ConsumptionInfo | undefined, year: number | undefined) => {\n if (!year) {\n return [];\n }\n if (!consumptionInfo || !consumptionInfo[year].sites.length) {\n return [LANDMARK_NOT_FOUND];\n }\n\n const result: LandmarkInterface[] = [];\n const addresses = consumptionInfo[year].sites.map((site) => site.addresses[0]);\n for (const address of addresses) {\n const name = OsmHelper.getAddressStringForGeoApi(address);\n result.push({\n name,\n // lat: address?.geoLocation?.length\n // \t? address?.geoLocation[0].lat\n // \t: '0.0',\n // lng: address?.geoLocation?.length\n // \t? address.geoLocation[0].lon\n // \t: '0.0',\n label: name ?? '',\n lat: '0.0',\n lng: '0.0',\n });\n }\n\n return result;\n }\n);\n\nexport const selectShouldShowMap = createSelector(\n selectSiteLandmarks,\n (landmarks) => landmarks?.length && landmarks[0].name !== ADDRESS_NOT_FOUND\n);\n\nexport const selectShouldShowLoadingSpinnerMasterdata = createSelector(\n selectPortfolioState,\n (state) => state.masterDataIsLoading\n);\n\nexport const selectHeaderTab = createSelector(\n selectPortfolioState,\n (state) => state.selectedHeaderTab?.left[0].value\n);\n\nexport const selectReloadSelectedGroupConsumption = createSelector(\n selectPortfolioState,\n (state) => state?.reloadConsumptionAfterEditingNavigationIsFinishedState\n);\n\nexport const selectShouldReloadSelectedGroupConsumption = createSelector(\n selectPortfolioState,\n (state) => state?.reloadConsumptionAfterEditingNavigationIsFinishedState === 2\n);\n\nexport const selectSiteTags = createSelector(selectPortfolioState, (state) => state.siteTags);\nexport const selectSiteTagsIds = createSelector(\n selectSiteTags,\n (tags) => tags?.map((tag) => tag.id) ?? []\n);\n\nexport const selectTagsInSitesAreChanged = createSelector(\n selectPortfolioState,\n (state) => state.tagsInSitesAreChanged\n);\n","import { Component, Input } from '@angular/core';\nimport { ColorStyle } from 'shared/models/color-style.enum';\nimport { OverlayService } from 'shared/ui/overlay/overlay.service';\nimport { PortfolioSiteMasterdataService } from 'app/features/portfolio/portfolio-site-masterdata/portfolio-site-masterdata.service';\n\n@Component({\n selector: 'ista-daytona-delete-object',\n templateUrl: './delete-object.component.html',\n providers: [PortfolioSiteMasterdataService],\n})\nexport class DeleteObjectComponent {\n @Input() showDeleteObjectCard = false;\n\n selectedObject = '';\n protected readonly colorStyle = ColorStyle;\n\n constructor(\n private overlayService: OverlayService,\n public readonly portfolioMasterdataService: PortfolioSiteMasterdataService\n ) {}\n\n closeWindow(): void {\n this.overlayService.close();\n }\n\n deleteObject(): void {\n this.portfolioMasterdataService.deleteObject().subscribe();\n }\n}\n","
\n

{{ 'portfolio.deleteObjectTitle' | translate }}

\n
\n \n \n
\n \"Warning\"\n

\n {{ 'portfolio.deleteObjectConfirmMessagePart1' | translate }} {{ selectedObject }}\n {{ 'portfolio.deleteObjectConfirmMessagePart2' | translate }}\n

\n\n
\n \n \n
\n
\n \n
\n
\n

\n {{ 'portfolio.deleteObjectHelpMessage' | translate }}\n {{ 'navigation.contact' | translate }}\n

\n
\n","import { NgModule } from '@angular/core';\nimport { DeleteObjectComponent } from './delete-object.component';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { NgxFileDropModule } from 'ngx-file-drop';\nimport { BasicModule } from '../../../shared/ui/basic/basic.module';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ButtonModule } from '../../../shared/ui/basic/button/button.module';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [\n CommonModule,\n NgxFileDropModule,\n BasicModule,\n HttpClientModule,\n RouterModule,\n ButtonModule,\n TranslateModule,\n ],\n declarations: [DeleteObjectComponent],\n exports: [DeleteObjectComponent],\n providers: [],\n})\nexport class DeleteObjectModule {}\n","import { MedianCustomIcons } from 'shared/helper/icon-helper';\nimport { LanguageKeyHelper } from 'shared/helper/language-key-helper';\nimport { TableHeader } from 'shared/ui/basic/table/table.interface';\nimport { DeepLinkingIds } from 'core/deep-linking/deep-linking.interface';\n\nexport const headerDataConfig: TableHeader[] = [\n {\n label: LanguageKeyHelper.get('object-id') ?? 'Objekt-Id',\n id: 'externalReference',\n linking: {\n url: '/portfolio/site/',\n customParamsValues: [],\n targetId: DeepLinkingIds.PORTFOLIO_OVERVIEW,\n },\n },\n {\n label: LanguageKeyHelper.get('street') ?? 'Straße',\n id: 'street',\n linking: {\n url: '/portfolio/site/',\n customParamsValues: [],\n targetId: DeepLinkingIds.PORTFOLIO_OVERVIEW,\n },\n },\n {\n label: LanguageKeyHelper.get('costs') || 'Kosten',\n icon: MedianCustomIcons['cost'],\n id: 'totalCosts',\n },\n {\n label: LanguageKeyHelper.get('co2') || 'CO2e',\n icon: MedianCustomIcons['co2'],\n id: 'totalEmissions',\n },\n {\n label: LanguageKeyHelper.get('heatingAndHotWater') || 'Wärme',\n icon: MedianCustomIcons['heatingAndHotWater'],\n id: 'heatingAndHotWaterConsumption',\n linking: {\n url: '/portfolio/site/',\n customParamsValues: [],\n targetId: DeepLinkingIds.PORTFOLIO_CONSUMPTION_CHART,\n },\n },\n {\n label: LanguageKeyHelper.get('electricity') || 'Strom',\n icon: MedianCustomIcons['electricity'],\n id: 'electricityConsumption',\n linking: {\n url: '/portfolio/site/',\n customParamsValues: ['electricity'],\n targetId: DeepLinkingIds.PORTFOLIO_CONSUMPTION_CHART,\n },\n },\n {\n label: LanguageKeyHelper.get('water') || 'Wasser',\n icon: MedianCustomIcons['water'],\n id: 'waterConsumption',\n linking: {\n url: '/portfolio/site/',\n customParamsValues: ['water'],\n targetId: DeepLinkingIds.PORTFOLIO_CONSUMPTION_CHART,\n },\n },\n {\n label: LanguageKeyHelper.get('waste') || 'Abfall',\n icon: MedianCustomIcons['waste'],\n linking: {\n url: '/portfolio/site/',\n customParamsValues: ['waste'],\n targetId: DeepLinkingIds.PORTFOLIO_CONSUMPTION_CHART,\n },\n id: 'wasteConsumption',\n },\n];\n","import {\n TabelDataGenericType,\n TableCellDeepLinking,\n TableDataGeneric,\n TableHeader,\n} from 'shared/ui/basic/table/table.interface';\nimport { GroupSite } from '../portfolio-group/group-detail.interface';\nimport { ConsumptionSites } from './consumption.interface';\n\nexport class ConsumptionMapper {\n public static transformSiteDataToTableDataGeneric(\n sites: ConsumptionSites[],\n tableHeader: TableHeader[]\n ): TableDataGeneric[] {\n try {\n if (sites && sites.length > 0) {\n const tableData: TableDataGeneric[] = [];\n const tableHeaderIds: string[] = tableHeader.map((item) => item.id || item.label || '');\n\n sites.forEach((item) => {\n const address = `${item.addresses[0].street || ''} ${\n item.addresses[0].houseNumber || ''\n } - ${item.addresses[0].postalCode || ''} ${item.addresses[0].city || ''}`.trim();\n const street =\n item.addresses[0]?.street +\n ' ' +\n (item.addresses[0]?.houseNumber ? ' ' + item.addresses[0].houseNumber : '');\n const tableDataRow: TableDataGeneric = {};\n tableHeaderIds.forEach((id, index) => {\n if (id === 'street') {\n tableDataRow[id] = {\n value: street,\n toolTip: {\n label: '',\n value: address,\n },\n };\n } else {\n tableDataRow[id] = {\n value: item[id] as TabelDataGenericType,\n };\n }\n\n tableDataRow[id] = {\n ...tableDataRow[id],\n linking:\n tableHeader[index]?.linking && tableDataRow[id]?.value\n ? {\n ...(tableHeader[index].linking as TableCellDeepLinking),\n url: `${tableHeader[index]?.linking?.url as string}${item.id}`,\n }\n : undefined,\n };\n });\n\n tableData.push(tableDataRow);\n });\n\n return tableData;\n }\n return [];\n } catch (e) {\n console.error('transformSiteDataToTableDataGeneric', e);\n return [];\n }\n }\n\n public static transformGroupDataToTableDataGeneric(\n sites: GroupSite[],\n tableHeader: TableHeader[]\n ): TableDataGeneric[] {\n try {\n if (sites && sites.length > 0) {\n const tableData: TableDataGeneric[] = [];\n const tableHeaderIds: string[] = tableHeader.map((item) => item.id || item.label || '');\n\n sites.forEach((item) => {\n const tableDataRow: TableDataGeneric = {};\n tableHeaderIds.forEach((id, index) => {\n if (id === 'street') {\n tableDataRow[id] = {\n value: item.addresses[0].street + ' ' + item.addresses[0].houseNumber,\n toolTip: {\n label: '',\n value: item.addresses[0].street + ' ' + item.addresses[0].houseNumber,\n },\n };\n } else if (id === 'city') {\n tableDataRow[id] = {\n value: item.addresses[0].postalCode + ' ' + item.addresses[0].city,\n toolTip: {\n label: '',\n value: item.addresses[0].postalCode + ' ' + item.addresses[0].city,\n },\n };\n } else {\n tableDataRow[id] = {\n value: item[id] as TabelDataGenericType,\n };\n }\n\n tableDataRow[id] = {\n ...tableDataRow[id],\n linking:\n tableHeader[index]?.linking && tableDataRow[id]?.value\n ? {\n ...(tableHeader[index].linking as TableCellDeepLinking),\n url: `${tableHeader[index]?.linking?.url as string}${item.id}`,\n }\n : undefined,\n };\n });\n tableData.push(tableDataRow);\n });\n\n return tableData;\n }\n\n return [];\n } catch (e) {\n console.error('transformGroupDataToTableDataGeneric', e);\n return [];\n }\n }\n}\n","import { LanguageKeyHelper } from 'shared/helper/language-key-helper';\nimport { TableHeader } from 'shared/ui/basic/table/table.interface';\nimport { DeepLinkingIds } from 'core/deep-linking/deep-linking.interface';\n\nexport const headerMasterdataConfig: TableHeader[] = [\n {\n label: LanguageKeyHelper.get('object-id') ?? 'Objekt-Id',\n id: 'externalReference',\n linking: {\n url: '/portfolio/site/',\n customParamsValues: ['1'],\n targetId: DeepLinkingIds.PORTFOLIO_SITE_TABS,\n },\n },\n {\n label: LanguageKeyHelper.get('istaPropertyNumber') ?? 'istaPropertyNumber',\n id: 'istaPropertyNumber',\n },\n {\n label: LanguageKeyHelper.get('street') ?? 'Straße',\n id: 'street',\n },\n {\n label: LanguageKeyHelper.get('city') ?? 'Stadt',\n id: 'city',\n },\n {\n label: LanguageKeyHelper.get('numberOfUnits') ?? 'numberOfUnits',\n id: 'numberOfUnits',\n },\n {\n label: LanguageKeyHelper.get('space') ?? 'space',\n id: 'space',\n },\n];\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'environments/environment';\nimport { Observable } from 'rxjs';\nimport { Group } from 'core/groups/groups.interface';\nimport {\n ConsumptionBoardRequest,\n ConsumptionBoardResponse,\n} from './portfolio-consumption/consumption.interface';\nimport { GroupDetail, GroupSite } from './portfolio-group/group-detail.interface';\nimport {\n SiteDetail,\n SiteDetails,\n} from 'app/features/portfolio/portfolio-site-masterdata/interfaces/site-details.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PortfolioHttpService {\n constructor(private readonly httpClient: HttpClient) {}\n\n getSiteConsumption(\n requestBody: ConsumptionBoardRequest,\n envId: number,\n siteId: number\n ): Observable {\n return this.httpClient.post(\n `${environment.apiUrl}/api/${envId}/portfolio/consumption/site/${siteId}`,\n requestBody\n );\n }\n\n getSiteHierarchy(envId: number, siteId: number): Observable {\n return this.httpClient.get(\n `${environment.apiUrl}/api/${envId}/sites/${siteId}/hierarchy`\n );\n }\n\n getConsumption(\n requestBody: ConsumptionBoardRequest,\n envId: number\n ): Observable {\n return this.httpClient.post(\n `${environment.apiUrl}/api/${envId}/portfolio/consumption`,\n requestBody\n );\n }\n\n getPortfolioMasterdataSite(envId: number, id: number, year: number): Observable {\n return this.httpClient.get(\n `${environment.apiUrl}/api/${envId}/portfolio/master-data/site/${id}?year=${year}`\n );\n }\n\n getPortfolioMasterdataGroup(envId: number, id: number, year: number): Observable {\n return this.httpClient.get(\n `${environment.apiUrl}/api/${envId}/portfolio/master-data/group/${id}?year=${year}`\n );\n }\n\n getPortfolioMasterdataGroupSite(\n envId: number,\n id: number,\n year: number\n ): Observable {\n return this.httpClient.get(\n `${environment.apiUrl}/api/${envId}/portfolio/master-data/group/${id}/sites?year=${year}`\n );\n }\n\n deletePortfolioMasterdataSite(envId: number, id: number): Observable {\n return this.httpClient.delete(`${environment.apiUrl}/api/${envId}/portfolio/site/${id}`);\n }\n\n updateSiteTags(envId: number, siteId: number, tagIds: number[]): Observable {\n return this.httpClient.put(\n `${environment.apiUrl}/api/${envId}/sites/${siteId}/tags`,\n {\n tagIds,\n }\n );\n }\n\n getSiteTags(envId: number, siteId: number): Observable {\n return this.httpClient.get(`${environment.apiUrl}/api/${envId}/sites/${siteId}`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport {\n loadSiteDetails,\n loadSiteTags,\n updateSiteTags,\n} from 'app/features/portfolio/+state/portfolio.actions';\nimport { PortfolioHttpService } from 'app/features/portfolio/portfolio-http.service';\nimport {\n selectGlobalSelectedYear,\n selectSelectedEnvironmentId,\n selectSelectedGroupOrSite,\n} from 'core/+state/core.selectors';\nimport { combineLatest, debounceTime, filter, first, mergeMap, NEVER, Observable, tap } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { OverlayService } from 'shared/ui/overlay/overlay.service';\nimport { selectIsIdParamIdSite } from 'app/+state/router/reduced-route.selectors';\n\n@Injectable()\nexport class PortfolioSiteMasterdataService {\n constructor(\n private ngrxStore: Store,\n public portfolioHttpService: PortfolioHttpService,\n private overlayService: OverlayService\n ) {}\n\n loadSiteDetails(): Observable {\n return combineLatest([\n this.ngrxStore.select(selectIsIdParamIdSite),\n this.ngrxStore.select(selectSelectedEnvironmentId),\n this.ngrxStore.select(selectSelectedGroupOrSite),\n this.ngrxStore.select(selectGlobalSelectedYear),\n ]).pipe(\n debounceTime(200),\n filter(\n ([isSiteSelected, , selectedSite, selectGlobalSelectedYear]) =>\n isSiteSelected &&\n !!selectGlobalSelectedYear &&\n !!selectedSite?.id &&\n !Number.isNaN(selectedSite?.id)\n ),\n tap(([, envId, selectedSite, selectedYear]) =>\n this.ngrxStore.dispatch(\n loadSiteDetails({\n envId: envId as number,\n siteId: selectedSite?.id as number,\n year: selectedYear as number,\n })\n )\n )\n );\n }\n\n deleteObject(): Observable {\n return combineLatest([\n this.ngrxStore.select(selectSelectedEnvironmentId),\n this.ngrxStore.select(selectSelectedGroupOrSite),\n ]).pipe(\n filter(([envId, selectedSite]) => !!envId && !!selectedSite),\n mergeMap(([envId, selectedSite]) =>\n this.portfolioHttpService.deletePortfolioMasterdataSite(\n envId as number,\n selectedSite?.id as number\n )\n ),\n tap(() => this.overlayService.close()),\n catchError(() => {\n this.overlayService.close();\n return NEVER;\n })\n );\n }\n\n loadSiteTags(): Observable {\n return combineLatest([\n this.ngrxStore.select(selectSelectedEnvironmentId),\n this.ngrxStore.select(selectSelectedGroupOrSite),\n ]).pipe(\n filter(([envId, selectedSite]) => !!envId && !!selectedSite),\n tap(([envId, selectedSite]) => {\n this.ngrxStore.dispatch(\n loadSiteTags({\n envId: envId as number,\n siteId: selectedSite?.id as number,\n })\n );\n }),\n catchError((err) => {\n console.error('getSiteTags', err);\n return NEVER;\n })\n );\n }\n\n updateSiteTags(tagIds: number[]): Observable {\n return combineLatest([\n this.ngrxStore.select(selectSelectedEnvironmentId),\n this.ngrxStore.select(selectSelectedGroupOrSite),\n ]).pipe(\n filter(([envId, selectedSite]) => !!envId && !!selectedSite),\n first(),\n tap(([envId, selectedSite]) => {\n this.ngrxStore.dispatch(\n updateSiteTags({\n envId: envId as number,\n siteId: selectedSite?.id as number,\n tags: tagIds,\n })\n );\n }),\n catchError((err) => {\n console.error('updateSiteTags', err);\n return NEVER;\n })\n );\n }\n}\n","import { ConsumptionInfo } from 'app/features/portfolio/portfolio-consumption/consumption.interface';\nimport { AnalyticalCategories } from 'shared/interfaces/consumption-type-button.interface';\nimport { ConsumptionTypes } from 'shared/models/consumption-types.interface';\nimport { ChartItem, ChartItemData } from 'shared/ui/chart/chart.interface';\nimport { ChartHelper } from '../../../shared/helper/chart-helper';\n\nexport class PortfolioChartMapper {\n static getPortfolioConsumptionTransformedBarChart(\n consumption: ConsumptionInfo,\n portfolioType: AnalyticalCategories,\n getRequiredAdditionalDataKeyDependsOnPortfolioType: (\n portfolioType: AnalyticalCategories,\n childPropKey: string\n ) => string\n ): ChartItem[] {\n try {\n let isActive = true;\n const result: ChartItem[] = [];\n\n for (const year in consumption) {\n if (year) {\n Object.keys(consumption[year][portfolioType]?.valuesByCategory ?? {}).forEach((key) => {\n const findIndex = result.findIndex((item) => item.value === key);\n const requiredAdditionalDataKey = getRequiredAdditionalDataKeyDependsOnPortfolioType(\n portfolioType,\n key\n );\n\n const data: ChartItemData = {\n year,\n values: consumption[year][portfolioType]?.valuesByCategory[key as ConsumptionTypes],\n additionalValues:\n consumption[year][portfolioType]?.valuesByCategory[key as ConsumptionTypes]\n ?.numberOfAffectedObjects,\n requiredAdditionalData: requiredAdditionalDataKey\n ? consumption[year][portfolioType]?.valuesByCategory[\n requiredAdditionalDataKey as ConsumptionTypes\n ]\n : undefined,\n };\n\n if (findIndex >= 0) {\n result[findIndex].data.push(data);\n } else {\n result.push(ChartHelper.getChartItemConsumption(data, key, isActive));\n }\n\n if (isActive) {\n isActive = false;\n }\n });\n }\n }\n\n return result;\n } catch (e) {\n console.error('getPortfolioConsumptionTransformedBarChart', e);\n return [];\n }\n }\n\n static getPortfolioMediaDistributionTransformedChart(\n consumption: ConsumptionInfo,\n portfolioType: AnalyticalCategories\n ): ChartItem[] {\n try {\n let isActive = true;\n const result: ChartItem[] = [];\n\n for (const year in consumption) {\n if (year) {\n Object.keys(consumption[year][portfolioType]?.sharesOfHeating?.shares ?? {}).forEach(\n (resultType) => {\n const findIndex = result.findIndex((item) => item.value === resultType);\n\n const data: ChartItemData = {\n year,\n values: consumption[year][portfolioType]?.sharesOfHeating?.shares[resultType],\n };\n\n if (findIndex >= 0) {\n result[findIndex].data.push(data);\n } else {\n result.push(ChartHelper.getChartItemMediaDistribution(data, resultType, isActive));\n }\n\n if (isActive) {\n isActive = false;\n }\n }\n );\n }\n }\n\n return result;\n } catch (e) {\n console.error('getPortfolioMediaDistributionTransformedChart', e);\n return [];\n }\n }\n}\n","import { MasterdataCardContentInterface } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/masterdata-card-content.interface';\nimport { ObjectMasterdataInterface } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/object-masterdata.interface';\nimport { PortfolioCardContentInterface } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/portfolio-card-content.interface';\nimport { PortfolioCardInputInterface } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/portfolio-card-input.interface';\nimport { PortfolioCardHelperService } from 'shared/helper/portfolio-card-helper.service';\nimport { PortfolioCard } from 'shared/ui/portfolio-card/portfolio-card.interface';\nimport { Unit } from 'shared/models/unit.enum';\n\nimport { GroupDetail } from '../portfolio-group/group-detail.interface';\nimport { SiteDetails } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/site-details.interface';\nimport { InfoIconCard } from 'shared/ui/info-icon-card/info-icon-card.interface';\nimport { cloneDeep } from 'lodash';\nimport { groupPortfolioDataInfoCard, sitePortfolioDataInfoCard } from 'shared/constants';\n\nexport class PortfolioMasterdataMapper {\n static getMasterdataCardData(data: ObjectMasterdataInterface): MasterdataCardContentInterface[] {\n const cardContent: MasterdataCardContentInterface[] = [];\n cardContent.push({\n header: 'portfolio.masterdataHeader.objectName',\n value: data.objectName,\n });\n cardContent.push({\n header: 'portfolio.masterdataHeader.istaPropertyNumber',\n value: data.istaObjectNo,\n });\n cardContent.push({\n header: 'portfolio.masterdataHeader.postalCode',\n value: data.postalCode,\n });\n cardContent.push({\n header: 'portfolio.masterdataHeader.city',\n value: data.city,\n });\n cardContent.push({\n header: 'portfolio.masterdataHeader.street',\n value: data.street,\n });\n return cardContent;\n }\n\n static mapStaticMasterdataSite(data: SiteDetails): ObjectMasterdataInterface {\n const object: ObjectMasterdataInterface = {\n objectName: '',\n istaObjectNo: '',\n postalCode: '',\n street: '',\n city: '',\n };\n object.objectName = data.externalReference !== null ? data.externalReference : '-';\n object.istaObjectNo = data.istaPropertyNumber !== null ? data.istaPropertyNumber : '-';\n object.postalCode = data.postalCode ? data.postalCode : '';\n object.city = data.city ? data.city : '';\n object.street = data?.houseNumber\n ? `${data.street || ''} ${data.houseNumber || ''}`\n : data.street || '';\n return object;\n }\n\n static clearStaticMasterdataSite(): ObjectMasterdataInterface {\n const object: ObjectMasterdataInterface = {\n objectName: '',\n istaObjectNo: '',\n postalCode: '',\n street: '',\n city: '',\n };\n object.objectName = '';\n object.istaObjectNo = '';\n object.postalCode = '';\n object.city = '';\n object.street = '';\n return object;\n }\n\n static mapToPortfolioCardContent(\n data: PortfolioCardInputInterface,\n globalSelectedYear: number\n ): PortfolioCardContentInterface[] {\n const dynamicObjectMasterData: PortfolioCard[] = [];\n if (data.numberOfSites) {\n dynamicObjectMasterData.push({\n header: {\n icon: {\n url: 'assets/icons/cards/Building.svg',\n text: 'portfolio.masterdataHeader.numberOfSites',\n },\n label: 'portfolio.masterdataHeader.numberOfSites',\n },\n data: data.numberOfSites.map((numberOfSites) => ({\n year: numberOfSites.timeStamp,\n value: {\n value: numberOfSites.value,\n },\n })),\n });\n }\n dynamicObjectMasterData.push({\n header: {\n icon: {\n url: 'assets/icons/cards/Room.svg',\n text: 'portfolio.masterdataHeader.numberOfUnits',\n },\n label: 'portfolio.masterdataHeader.numberOfUnits',\n },\n data: data.numberOfUnits.map((numberOfUnits) => ({\n year: numberOfUnits.timeStamp,\n value: {\n value: numberOfUnits.value,\n },\n })),\n });\n dynamicObjectMasterData.push({\n header: {\n icon: {\n url: 'assets/icons/cards/Nutzeinheit.svg',\n text: 'portfolio.masterdataHeader.space',\n },\n label: 'portfolio.masterdataHeader.space',\n },\n data: data.space.map((space) => ({\n year: space.timeStamp,\n value: {\n value: space.value,\n unit: Unit.SQM,\n },\n })),\n });\n return dynamicObjectMasterData.map((item) => ({\n header: item.header,\n value: PortfolioCardHelperService.getPortfolioCardData(item, globalSelectedYear),\n }));\n }\n\n static mapMeteringData(data: SiteDetails): MasterdataCardContentInterface[][] {\n return data.meteringPoints.map((meteringPoint) => [\n {\n header: 'portfolio.meteringPointHeader.meteringPointNumber',\n value: meteringPoint.reference,\n },\n {\n header: 'portfolio.meteringPointHeader.meteringPointDescription',\n value: meteringPoint.description,\n },\n ]);\n }\n\n static mapSiteDetailToPortfolioCard(\n response: SiteDetails,\n globalSelectedYear: number\n ): PortfolioCardInputInterface {\n const timeStamp = `${globalSelectedYear}-01-01`;\n return {\n numberOfUnits:\n response.numberOfUnits.length > 0 ? response.numberOfUnits : [{ timeStamp, value: 0 }],\n space: response.space.length > 0 ? response.space : [{ timeStamp, value: 0 }],\n };\n }\n\n static mapGroupDetailToPortfolioInfoCard(selectedData: GroupDetail): InfoIconCard[] {\n const sitePortfolio = cloneDeep(groupPortfolioDataInfoCard);\n\n sitePortfolio[0].value = selectedData?.numberOfSites;\n sitePortfolio[1].value = selectedData?.numberOfUnits;\n sitePortfolio[2].value = selectedData?.space;\n sitePortfolio[2].unit = Unit.SQM;\n\n return sitePortfolio;\n }\n\n static mapSiteDetailToPortfolioInfoCard(selectedData: SiteDetails): InfoIconCard[] {\n const sitePortfolio = cloneDeep(sitePortfolioDataInfoCard);\n\n sitePortfolio[0].value = selectedData?.numberOfUnits.length\n ? selectedData.numberOfUnits[0].value\n : 0;\n sitePortfolio[1].value = selectedData?.space.length ? selectedData.space[0].value : 0;\n sitePortfolio[1].unit = Unit.SQM;\n\n return sitePortfolio;\n }\n\n static mapGroupDetailToPortfolioCard(\n response: GroupDetail,\n globalSelectedYear: number\n ): PortfolioCardInputInterface {\n const timeStamp = `${globalSelectedYear}-01-01`;\n return {\n numberOfUnits: [{ timeStamp, value: response.numberOfUnits }],\n numberOfSites: [{ timeStamp, value: response.numberOfSites }],\n space: [{ timeStamp, value: response.space }],\n };\n }\n\n static mapResponseToPortfolioInputForSite(\n response: SiteDetails,\n globalSelectedYear: number\n ): PortfolioCardInputInterface {\n const timeStamp = `${globalSelectedYear}-01-01`;\n return {\n numberOfUnits:\n response.numberOfUnits.length > 0 ? response.numberOfUnits : [{ timeStamp, value: 0 }],\n space: response.space.length > 0 ? response.space : [{ timeStamp, value: 0 }],\n };\n }\n\n static getInputForGeoApi(response: SiteDetails): string {\n const country = 'Deutschland';\n const streetname = response.street?.toLowerCase() || '';\n const houseNumber: string = response.houseNumber?.toLowerCase() || '';\n const street = houseNumber.length ? streetname + ' ' + houseNumber : streetname;\n const plz = response.postalCode;\n const city = response.city;\n const address = `${street} ${plz} ${city} ${country}`;\n return address;\n }\n}\n","import {\n ConsumptionInfo,\n YearlyConsumptionBoard,\n} from 'app/features/portfolio/portfolio-consumption/consumption.interface';\nimport {\n monitoringCardsSkeleton,\n MonitoringCardsSkeletonType,\n MonitoringCardType,\n} from 'shared/ui/monitoring-card/monitoring-card.skeleton';\nimport { MonitoringCardPortfolioType } from 'shared/ui/monitoring-card/monitoring-card-data.interface';\nimport { Unit } from 'shared/models/unit.enum';\nimport { ValueItem } from 'shared/models/value-item.interface';\nimport { cloneDeep } from 'lodash';\nimport { ValueBarDiagnoseCard } from 'shared/ui/value-bar-diagnose-card/value-bar-diagnose-card.interface';\n\nexport class PortfolioMonitoringMapper {\n static consumptionInfoToValueDiagnoseCardValues(\n skeleton: Record,\n data: ConsumptionInfo,\n selectedYear: number,\n yearsRange: string[]\n ): Record {\n const result = cloneDeep(skeleton);\n Object.keys(data)\n .filter((year) => !!year && yearsRange.includes(year))\n .sort((a, b) => b.localeCompare(a))\n .forEach((year) => {\n Object.keys(result).forEach((key) => {\n const valueItem =\n this._getConsumptionValue(data[year], key as MonitoringCardPortfolioType) ?? undefined;\n\n if (year === `${selectedYear}`) {\n result[key].value = valueItem?.value as number;\n result[key].unit = this._getConsumptionUnit(\n data[year],\n key as MonitoringCardPortfolioType\n );\n result[key as MonitoringCardsSkeletonType].siteCount =\n valueItem?.numberOfAffectedObjects;\n }\n\n result[key].bars.push({\n label: year,\n value: valueItem?.value as number,\n });\n });\n });\n\n return result;\n }\n\n static getTransformedConsumptionData(data: ConsumptionInfo): MonitoringCardType {\n const result = cloneDeep(monitoringCardsSkeleton);\n for (const year in data) {\n if (year) {\n Object.keys(result).forEach((key) => {\n result[key as MonitoringCardsSkeletonType].unit = this._getConsumptionUnit(\n data[year],\n key as MonitoringCardPortfolioType\n );\n\n result[key as MonitoringCardsSkeletonType].bars.push({\n label: year,\n value: this._getConsumptionValue(data[year], key as MonitoringCardPortfolioType) || {\n value: null,\n unit: Unit.DEFAULT,\n },\n });\n });\n }\n }\n\n return result;\n }\n\n private static _getConsumptionUnit(\n data: YearlyConsumptionBoard,\n resultType: MonitoringCardPortfolioType\n ): Unit | undefined {\n switch (resultType) {\n case MonitoringCardPortfolioType.costs:\n return data?.costs?.valuesByCategory?.total?.unit;\n case MonitoringCardPortfolioType.emissions:\n return data?.emissions?.valuesByCategory?.total?.unit;\n default:\n return data?.consumption?.valuesByCategory[resultType]?.unit as Unit;\n }\n }\n\n private static _getConsumptionValue(\n data: YearlyConsumptionBoard,\n resultType: MonitoringCardPortfolioType\n ): ValueItem | undefined {\n switch (resultType) {\n case MonitoringCardPortfolioType.costs:\n return data?.costs?.valuesByCategory?.total;\n case MonitoringCardPortfolioType.emissions:\n return data?.emissions?.valuesByCategory?.total;\n default:\n return data?.consumption?.valuesByCategory[resultType];\n }\n }\n}\n","import { LandmarkInterface } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/landmark.interface';\nimport { TabInterface } from 'shared/ui/basic/tab/tab.interface';\n\nexport const PORTFOLIO_GROUP_ROUTE = '/portfolio/group';\nexport const PORTFOLIO_SITE_ROUTE = '/portfolio/site';\n\nexport const ADDRESS_NOT_FOUND = 'AddressNotFound';\n\nexport const LANDMARK_NOT_FOUND: LandmarkInterface = {\n name: ADDRESS_NOT_FOUND,\n lat: '0.0',\n lng: '0.0',\n label: '',\n};\n\nexport const portfolioTabs: TabInterface[] = [\n {\n label: 'tabs.consumption',\n icon: {\n name: 'money_graph',\n isSvgIcon: true,\n isStrokeRelated: true,\n },\n },\n {\n label: 'tabs.masterdata',\n icon: {\n name: 'masterdata',\n isSvgIcon: true,\n isFillRelated: true,\n },\n },\n];\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatButtonToggle, MatButtonToggleGroup } from '@angular/material/button-toggle';\nimport { DisplayedPeriodType } from 'core/environment-settings/interfaces';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'ista-daytona-period-toggle',\n standalone: true,\n imports: [MatButtonToggle, MatButtonToggleGroup, TranslateModule],\n templateUrl: './period-toggle.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PeriodToggleComponent {\n @Input() environmentSettingsType!: DisplayedPeriodType;\n @Input() selectedPeriodType!: DisplayedPeriodType;\n\n @Output() updateSelectedPeriodType = new EventEmitter();\n\n // TODO: make it more generic and move to shared directory\n}\n","\n {{ 'common.selectablePeriods.customReportYear' | translate }}\n \n {{ 'common.selectablePeriods.calendarYear' | translate }}\n \n\n","import { CanDeactivateFn } from '@angular/router';\nimport { CanSettingsComponentDeactivate } from './interfaces';\nimport { mergeMap, of, tap } from 'rxjs';\n\nexport const UnsavedChangesGuard: CanDeactivateFn = (\n component: CanSettingsComponentDeactivate\n) => {\n if (!component) {\n return of(true);\n }\n return component.hasUnsavedData().pipe(\n mergeMap((hasUnsavedChanges) =>\n hasUnsavedChanges\n ? component\n .showUnsavedDialog()\n .afterClosed()\n .pipe(\n tap((leaveScreen) => {\n if (!leaveScreen) {\n component.highlightSaveButton();\n }\n })\n )\n : of(true)\n )\n );\n};\n","type TailwindColors = {\n [colorName: string]: {\n [shade: string]: string;\n };\n};\n\nexport const CustomColors: TailwindColors = {\n 'heating-district': {\n 800: 'var(--heating-district-800)',\n DEFAULT: 'var(--heating-district-800)',\n },\n 'heating-electricity': {\n 800: 'var(--heating-electricity-800)',\n DEFAULT: 'var(--heating-electricity-800)',\n },\n electricity: {\n 800: 'var(--electricity-800)',\n 500: 'var(--electricity-500)',\n '500/50': 'var(--electricity-500-50)',\n '500/20': 'var(--electricity-500-20)',\n DEFAULT: 'var(--electricity-800)',\n },\n gas: {\n 800: 'var(--gas-800)',\n 500: 'var(--gas-500)',\n '500/50': 'var(--gas-500-50)',\n '500/20': 'var(--gas-500-20)',\n DEFAULT: 'var(--gas-800)',\n },\n water: {\n 800: 'var(--water-800)',\n 500: 'var(--water-500)',\n '500/50': 'var(--water-500-50)',\n '500/20': 'var(--water-500-20)',\n DEFAULT: 'var(--water-800)',\n },\n waste: {\n 800: 'var(--waste-800)',\n 500: 'var(--waste-500)',\n '500/50': 'var(--waste-500-50)',\n '500/20': 'var(--waste-500-20)',\n DEFAULT: 'var(--waste-800)',\n },\n cold: {\n 800: 'var(--cold-800)',\n 500: 'var(--cold-500)',\n '500/50': 'var(--cold-500-50)',\n '500/20': 'var(--cold-500-20)',\n DEFAULT: 'var(--cold-800)',\n },\n heating: {\n 800: 'var(--heating-800)',\n 500: 'var(--heating-500)',\n '500/50': 'var(--heating-500-50)',\n '500/20': 'var(--heating-500-20)',\n DEFAULT: 'var(--heating-800)',\n },\n cost: {\n 800: 'var(--cost-800)',\n 500: 'var(--cost-500)',\n '500/50': 'var(--cost-500-50)',\n '500/20': 'var(--cost-500-20)',\n DEFAULT: 'var(--cost-800)',\n },\n co2: {\n 800: 'var(--co2-800)',\n 500: 'var(--co2-500)',\n '500/50': 'var(--co2-500-50)',\n '500/20': 'var(--co2-500-20)',\n DEFAULT: 'var(--co2-800)',\n },\n biomass: {\n 800: 'var(--biomass-800)',\n 500: 'var(--biomass-500)',\n '500/50': 'var(--biomass-500-50)',\n '500/20': 'var(--biomass-500-20)',\n DEFAULT: 'var(--biomass-800)',\n },\n other: {\n 800: 'var(--other-800)',\n 500: 'var(--other-500)',\n '500/50': 'var(--other-500-50)',\n '500/20': 'var(--other-500-20)',\n DEFAULT: 'var(--other-800)',\n },\n neutral: {\n 800: 'var(--neutral-800)',\n 500: 'var(--neutral-500)',\n '500/50': 'var(--neutral-500-50)',\n '500/20': 'var(--neutral-500-20)',\n DEFAULT: 'var(--neutral-800)',\n },\n oil: {\n 800: 'var(--oil-800)',\n 500: 'var(--oil-500)',\n '500/50': 'var(--oil-500-50)',\n '500/20': 'var(--oil-500-20)',\n DEFAULT: 'var(--oil-800)',\n },\n crrem: {\n DEFAULT: 'var(--crrem-line)',\n },\n 'crrem-portfolio': {\n DEFAULT: 'var(--crrem-line-portfolio)',\n },\n 'crrem-stranding-circle': {\n DEFAULT: 'var(--crrem-stranding-circle)',\n },\n};\n","import { PortfolioCard } from 'shared/ui/portfolio-card/portfolio-card.interface';\nimport { IconHelper } from 'shared/helper/icon-helper';\nimport { InfoIconCard } from 'shared/ui/info-icon-card/info-icon-card.interface';\nimport { CustomIcon } from 'shared/interfaces/custom-icon.interface';\n\nexport const disableableNavigationItems = ['dashboard', 'portfolio', 'benchmarking', 'reporting'];\n\nexport const sitePortfolioData: PortfolioCard[] = [\n {\n header: {\n label: 'dashboard.object',\n icon: {\n text: 'Objekte',\n url: IconHelper.get('building') || '',\n },\n },\n data: [],\n },\n {\n header: {\n label: 'dashboard.units',\n icon: {\n text: 'Nutzeinheiten',\n url: IconHelper.get('room') || '',\n },\n },\n data: [],\n },\n {\n header: {\n label: 'dashboard.area',\n icon: {\n text: 'Fläche',\n url: IconHelper.get('utilityUnit') || '',\n },\n },\n data: [],\n },\n];\n\nexport const BuildingCustomIcon: CustomIcon = {\n name: 'building',\n isSvgIcon: true,\n colorClass: 'fill-base-700',\n};\nexport const UnitsCustomIcon: CustomIcon = {\n name: 'door',\n isSvgIcon: true,\n colorClass: 'fill-base-700',\n};\nexport const AreaCustomIcon: CustomIcon = {\n name: 'area',\n isSvgIcon: true,\n colorClass: 'fill-base-700',\n};\n\nexport const heatingValueLabel = 'heatingAndHotWater';\n\nexport const groupPortfolioDataInfoCard: InfoIconCard[] = [\n {\n label: 'dashboard.object',\n icon: BuildingCustomIcon,\n value: 0,\n },\n {\n label: 'dashboard.units',\n icon: UnitsCustomIcon,\n value: 0,\n },\n {\n label: 'dashboard.area',\n icon: AreaCustomIcon,\n value: 0,\n },\n];\nexport const sitePortfolioDataInfoCard: InfoIconCard[] = [\n {\n label: 'dashboard.units',\n icon: UnitsCustomIcon,\n value: 0,\n },\n {\n label: 'dashboard.area',\n icon: AreaCustomIcon,\n value: 0,\n },\n];\n\nexport const GROUP_NAME_EXISTS_ERROR_KEY = 'groupNameExists';\n\nexport const ReportingConsumptionTabParamLabel = 'consumption';\n\nexport const ALL_LABEL = 'all';\n","import { ValueBarDiagnoseCard } from '../ui/value-bar-diagnose-card/value-bar-diagnose-card.interface';\nimport { Unit } from '../models/unit.enum';\nimport { LanguageKeyHelper } from '../helper/language-key-helper';\nimport { MedianCustomIcons } from 'shared/helper/icon-helper';\n\nexport const heatingAndHotWater: ValueBarDiagnoseCard = {\n label: LanguageKeyHelper.get('heatingAndHotWater') || 'Wärme',\n value: 0,\n unit: Unit.KWH,\n icon: MedianCustomIcons['heatingAndHotWater'],\n bars: [],\n colors: ['bg-heating-500/50', 'bg-heating-500/20'],\n};\n\nexport const electricity: ValueBarDiagnoseCard = {\n label: LanguageKeyHelper.get('electricity') || 'Strom',\n value: 0,\n unit: Unit.KWH,\n icon: MedianCustomIcons['electricity'],\n bars: [],\n colors: ['bg-electricity-500/50', 'bg-electricity-500/20'],\n};\n\nexport const water: ValueBarDiagnoseCard = {\n label: LanguageKeyHelper.get('water') || 'Wasser',\n value: 0,\n unit: Unit.KG,\n icon: MedianCustomIcons['water'],\n bars: [],\n colors: ['bg-water-500/50', 'bg-water-500/20'],\n};\n\nexport const waste: ValueBarDiagnoseCard = {\n label: LanguageKeyHelper.get('waste') || 'Abfall',\n value: 0,\n unit: Unit.KG,\n icon: MedianCustomIcons['waste'],\n bars: [],\n colors: ['bg-waste-500/50', 'bg-waste-500/20'],\n};\n\nexport const emissions: ValueBarDiagnoseCard = {\n label: LanguageKeyHelper.get('co2Emissions') || 'CO₂e Kosten',\n value: 0,\n unit: Unit.EUR,\n icon: MedianCustomIcons['co2'],\n bars: [],\n colors: ['bg-co2-500/50', 'bg-co2-500/20'],\n};\n\nexport const costs: ValueBarDiagnoseCard = {\n label: LanguageKeyHelper.get('costs') || 'Kosten',\n value: 0,\n unit: Unit.EUR,\n icon: MedianCustomIcons['cost'],\n bars: [],\n colors: ['bg-cost-500/50', 'bg-cost-500/20'],\n};\nexport const AllValueBarDiagnoseCardSkeleton: Record = {\n heatingAndHotWater,\n electricity,\n water,\n waste,\n emissions,\n costs,\n};\n\nexport const consumptionDashboardValueBarDiagnoseCardSkeleton: Record<\n string,\n ValueBarDiagnoseCard\n> = {\n heatingAndHotWater,\n electricity,\n water,\n waste,\n};\n\nexport const emissionDashboardValueBarDiagnoseCardSkeleton: Record = {\n heatingAndHotWater,\n electricity,\n waste,\n};\n","import { Directive, ElementRef, HostBinding, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[addBoxShadow]',\n})\nexport class BoxShadowDirective {\n @HostBinding('class') classes = 'box-shadow';\n\n constructor(private readonly el: ElementRef, private readonly renderer: Renderer2) {\n this.renderer.addClass(this.el.nativeElement, 'box-shadow');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { VisibilityObserveDirective } from 'shared/directives/visibility-observe.directive';\n\nimport { BoxShadowDirective } from './box-shadow.directive';\nimport { ScrollToDirective } from './scroll-to.directive';\nimport { VarDirective } from './var.directive';\n\nconst DIRECTIVES = [\n BoxShadowDirective,\n ScrollToDirective,\n VisibilityObserveDirective,\n VarDirective,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [...DIRECTIVES],\n exports: [...DIRECTIVES],\n})\nexport class DirectivesModule {}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { filter, first, forkJoin } from 'rxjs';\nimport { selectGlobalSelectedYear, selectSelectedEnvironmentId } from 'core/+state/core.selectors';\nimport { Router } from '@angular/router';\n\n@Directive({ selector: '[linkQueryParams]', standalone: true })\nexport class LinkWithGlobalQueryParamsDirective {\n @Input() link!: string;\n @Input() customParams: Record = {};\n @Input() overrideTarget?: '_self' | '_blank';\n\n constructor(private ngrxStore: Store, private router: Router) {}\n\n @HostListener('mousedown', ['$event'])\n openInNewTab(event: MouseEvent): void {\n forkJoin([\n this.ngrxStore.select(selectSelectedEnvironmentId).pipe(first()),\n this.ngrxStore.select(selectGlobalSelectedYear).pipe(first()),\n ])\n .pipe(filter(([environmentId]) => !!environmentId && !!this.link && event.button !== 2))\n .subscribe(([environmentId, year]) => {\n if (environmentId !== undefined) {\n if (\n (event.button === 1 && this.overrideTarget !== '_blank') ||\n this.overrideTarget === '_blank'\n ) {\n const customParamsAsString = this.getCustomParamsAsString();\n // Allow year to be empty string because an empty environment does not contain a year with data\n window.open(\n `${this.link}?environmentId=${environmentId}&year=${year || ''}${\n customParamsAsString ? `&${customParamsAsString}` : ''\n }`,\n '_blank'\n );\n } else {\n this.router.navigate([this.link], {\n queryParams: {\n ...this.customParams,\n },\n });\n }\n }\n });\n }\n\n private getCustomParamsAsString(): string {\n return Object.entries(this.customParams)\n .map(([key, value]) => `${key}=${value as string}`)\n .join('&');\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[scrollTo]',\n})\nexport class ScrollToDirective {\n @Input() scrollTo!: string;\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n const targetElement = this.getElementById();\n if (targetElement) {\n targetElement.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n private getElementById(): HTMLElement | null {\n return document.getElementById(this.scrollTo);\n }\n}\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[var]',\n exportAs: 'var',\n})\nexport class VarDirective {\n [key: string]: any;\n\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n @Input('var') set assign(value: any) {\n if (value) {\n Object.assign(this, value);\n }\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { delay, filter, Subject } from 'rxjs';\nimport { VisibilityCallback } from 'core/sticky-header/sticky-header.interface';\nimport { Utils } from 'shared/helper/utils';\n\n/*\n * this Directive observes the Intersection between the Element and the Root Element (for now is Viewport)\n * in Future if it's needed we can inject a custom RootElement\n * depends on the Initial Config, the Directive invoke a Callback when the Intersection between the Element and the Root under the Config happens\n * for Further Info please check: https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver\n * */\n@Directive({\n selector: '[visibilityObserve]',\n})\nexport class VisibilityObserveDirective implements OnInit, OnDestroy, AfterViewInit {\n @Input() threshold = 0.01;\n @Input() debounceTime = 10;\n @Input() rootMargin = '0px'; // A string, formatted similarly to the CSS margin property's value\n\n @Output() visibilityIntersectionChange = new EventEmitter();\n\n private observer: IntersectionObserver | undefined;\n private subject$ = new Subject<{\n entry: IntersectionObserverEntry;\n observer: IntersectionObserver;\n }>();\n\n constructor(private element: ElementRef) {}\n\n ngOnInit(): void {\n this.createObserver();\n }\n\n ngAfterViewInit(): void {\n this.generateIdAndSetIdAsDataset();\n this.startObservingElements();\n }\n\n ngOnDestroy(): void {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = undefined;\n }\n\n this.subject$.complete();\n }\n\n private createObserver() {\n const options = {\n rootMargin: this.rootMargin,\n threshold: this.threshold,\n };\n this.observer = new IntersectionObserver((entries, observer) => {\n entries.forEach((entry) => {\n this.subject$.next({ entry, observer });\n });\n }, options);\n }\n\n private startObservingElements() {\n if (!this.observer) {\n return;\n }\n\n this.observer.observe(this.element.nativeElement as Element);\n\n this.subject$.pipe(delay(this.debounceTime), filter(Boolean)).subscribe(({ entry }) => {\n const target = entry.target as HTMLElement;\n const isHidden = entry.intersectionRatio === 0; // element is hidden\n this.visibilityIntersectionChange.emit({\n element: target,\n isVisible: !isHidden,\n });\n });\n }\n\n /*\n * generate Random ID\n * the ID will be used to add/delete Elements into/from the Sticky Header, for Further Info: please check the sticky Header component\n * if the data-id is already exist, the exist ID will be used. ->\n * this could be Helpful for Implementation Purposes like Component Store. please Check for FilterTab Component\n * */\n private generateIdAndSetIdAsDataset(): void {\n /* eslint-disable @typescript-eslint/no-unsafe-assignment */\n if (!this.element.nativeElement.dataset.id) {\n this.element.nativeElement.dataset.id =\n this.element.nativeElement?.firstChild?.dataset?.id || Utils.generateRandomId();\n }\n }\n}\n","import { inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { updateSubNavigationSelectedHeadline } from 'core/+state/core.actions';\n\nexport const ResetHeadlineGuard = (): boolean => {\n const ngrxStore = inject(Store);\n ngrxStore.dispatch(updateSubNavigationSelectedHeadline({\n subNavigationSelectedHeadline: '',\n }));\n\n return true;\n};\n","import { inject } from '@angular/core';\nimport { StickyHeaderService } from 'core/sticky-header/sticky-header.service';\n\nexport const ResetStickyHeaderGuard = (): boolean => {\n const stickyHeaderService = inject(StickyHeaderService);\n stickyHeaderService.resetHeader();\n return true;\n};\n","import { HeatingChilds, HeatingTempExcludeChilds } from '../models/heating.type';\nimport { ChartItem, ChartItemData } from '../ui/chart/chart.interface';\nimport { FilterDateRange } from '../ui/filter/filter-tab.interface';\nimport { ColorHelper } from './color-helper';\nimport { LanguageKeyHelper } from './language-key-helper';\nimport { ALL_LABEL } from 'shared/constants';\nimport { IconHelper } from './icon-helper';\n\nexport class ChartHelper {\n static getHeatColor(key: string, index = 0): string | undefined {\n return [...HeatingChilds, ...HeatingTempExcludeChilds].includes(key)\n ? ColorHelper.get(`spaceHeatingEnergy-${index}`)\n : this.getColor(key);\n }\n\n static getSelectAllFilter(): ChartItem {\n return {\n label: LanguageKeyHelper.get(ALL_LABEL as string) || ALL_LABEL,\n value: ALL_LABEL,\n color: '',\n active: true,\n data: [],\n childs: [],\n };\n }\n\n static areAllDataValuesUndefined(data: ChartItemData[]): boolean {\n return !data.length || data.every((item) => item?.values?.value === undefined);\n }\n\n static getColor(key: string): string {\n return ColorHelper.get(key) || ColorHelper.get(key + '-full') || '';\n }\n\n static getValuesByFilterDateRange(\n data: ChartItemData[],\n selectedYear: FilterDateRange\n ): (number | null)[] {\n return data\n .filter((item) => item.year >= selectedYear.from && item.year <= selectedYear.until)\n ?.map((itemData) => itemData.values?.value);\n }\n\n static getValueByFilterDates(data: ChartItemData[], selectedYear: string[]): (number | null)[] {\n return data\n .filter((item) => selectedYear.includes(item.year))\n ?.map((itemData) => itemData.values?.value);\n }\n\n static getChartItemConsumption(data: ChartItemData, key: string, isActive: boolean): ChartItem {\n const color = ColorHelper.get(key) || ColorHelper.get(key + '-full') || '';\n return {\n label: LanguageKeyHelper.get(key) || key,\n value: key,\n active: isActive,\n color,\n icon: IconHelper.get(key) || '',\n data: [data],\n };\n }\n\n static getChartItemMediaDistribution(\n data: ChartItemData,\n resultType: string,\n isActive: boolean\n ): ChartItem {\n const color = ChartHelper.getColor(resultType) || '';\n return {\n label: LanguageKeyHelper.get(resultType) || resultType,\n value: resultType,\n active: isActive,\n color,\n icon: IconHelper.get(resultType) || '',\n data: [data],\n };\n }\n}\n","export interface ChartScale {\n numberOfSteps: number | null;\n maxValue: number;\n}\n\nexport class ChartScaleHelper {\n public static calculateScaling(\n maxNumOfSeps: number,\n minNumOfSteps: number,\n values: number[]\n ): ChartScale {\n const biggestValue = Math.ceil(Math.max(...values));\n let maxValue = biggestValue - 1;\n let numberOfSteps: number | null = null;\n\n if (biggestValue > 0) {\n const steps = this.getSteps(biggestValue);\n\n while (numberOfSteps === null) {\n maxValue++;\n let found = false;\n let index = 0;\n while (index < steps.length && !found) {\n const possibleStepSize = steps[index];\n if (\n maxValue % possibleStepSize === 0 &&\n maxValue / possibleStepSize <= maxNumOfSeps &&\n maxValue / possibleStepSize >= minNumOfSteps\n ) {\n numberOfSteps = maxValue / possibleStepSize;\n found = true;\n }\n index++;\n }\n }\n }\n return { numberOfSteps, maxValue };\n }\n\n private static getSteps(biggestValue: number): number[] {\n let startingStepSize = 1;\n const steps: number[] = [];\n steps.push(startingStepSize);\n let factor = 5;\n\n // create mathematical series: 1, 5, 10, 50, 100, 500, 1000 ...\n while (startingStepSize < biggestValue) {\n startingStepSize = startingStepSize * factor;\n if (factor === 2) {\n factor = 5;\n } else {\n factor = 2;\n }\n steps.push(startingStepSize);\n }\n\n // now create mathematical series: 25, 250, 2500, 25000 ...\n startingStepSize = 25;\n steps.push(startingStepSize);\n factor = 10;\n while (startingStepSize < biggestValue) {\n startingStepSize = startingStepSize * factor;\n steps.push(startingStepSize);\n }\n return steps.sort();\n }\n}\n","import { CustomColorsHelper } from 'shared/helper/custom-colors-helper';\n\nexport const ColorHelper = new Map([\n ['gas-dark', CustomColorsHelper.getColorHex('gas')],\n ['gas-full', CustomColorsHelper.getColorHex('gas', '500')],\n ['gas-light', CustomColorsHelper.getColorHex('gas', '500/50')],\n ['gas', CustomColorsHelper.getColorHex('gas', '500')],\n ['districtHeating', CustomColorsHelper.getColorHex('heating-district')],\n ['heating-full', CustomColorsHelper.getColorHex('heating', '500')],\n ['oil', CustomColorsHelper.getColorHex('oil', '500')],\n ['hotWaterEnergy', '#883f3f'],\n ['districtCooling-dark', '#709DCF'],\n ['heatingElectricity', CustomColorsHelper.getColorHex('heating-electricity')],\n ['bioMass', CustomColorsHelper.getColorHex('biomass', '500')],\n ['districtCooling-full', CustomColorsHelper.getColorHex('cold', '500')],\n ['districtCooling-light', CustomColorsHelper.getColorHex('cold', '500/50')],\n ['heatingAndHotWater-dark', CustomColorsHelper.getColorHex('heating', '800')],\n ['heatingAndHotWater-full', CustomColorsHelper.getColorHex('heating', '500')],\n ['heatingAndHotWater-light', CustomColorsHelper.getColorHex('heating', '500/50')],\n ['spaceHeatingEnergy', '#F09FA0'],\n ['waste-dark', CustomColorsHelper.getColorHex('waste', '800')],\n ['waste-full', CustomColorsHelper.getColorHex('waste', '500')],\n ['waste-light', CustomColorsHelper.getColorHex('waste', '500/50')],\n ['water-dark', CustomColorsHelper.getColorHex('water', '800')],\n ['water-full', CustomColorsHelper.getColorHex('water', '500')],\n ['water-light', CustomColorsHelper.getColorHex('water', '500/50')],\n ['electricity-dark', CustomColorsHelper.getColorHex('electricity', '800')],\n ['electricity-full', CustomColorsHelper.getColorHex('electricity', '500')],\n ['electricity-light', CustomColorsHelper.getColorHex('electricity', '500/50')],\n ['co2', CustomColorsHelper.getColorHex('co2')],\n ['co2-dark', CustomColorsHelper.getColorHex('co2', '800')],\n ['co2-full', CustomColorsHelper.getColorHex('co2', '500')],\n ['co2-light', CustomColorsHelper.getColorHex('co2', '500/50')],\n ['label', '#64748B'],\n ['grid', '#E2E8F0'],\n ['doughnutInnerText', '#181C42'],\n ['spaceHeatingEnergy-1', '#4D1818'],\n ['spaceHeatingEnergy-2', '#BF3C3C'],\n ['spaceHeatingEnergy-3', '#FF5050'],\n ['spaceHeatingEnergy-4', '#FFA3A6'],\n ['spaceHeatingEnergy-5', '#E69535'],\n ['spaceHeatingEnergy-6', '#989A2B'],\n ['spaceHeatingEnergy-contrast-1', '#F09FA0'],\n ['spaceHeatingEnergy-contrast-2', '#FF5050'],\n ['spaceHeatingEnergy-contrast-3', '#802828'],\n ['background-medium', '#E1E6EC'],\n ['cost', CustomColorsHelper.getColorHex('cost', '500')],\n ['cost-dark', CustomColorsHelper.getColorHex('cost', '800')],\n ['cost-light', CustomColorsHelper.getColorHex('cost', '500/50')],\n ['total', '#BF3B3B'],\n ['barChart-column-1', CustomColorsHelper.getColorHex('co2', '500')],\n ['barChart-column-2', CustomColorsHelper.getColorHex('co2', '800')],\n ['doughnut-chart-percent-blue-light', '#E1E6EC'],\n ['doughnut-chart-percent-blue-dark', '#181c42'],\n ['light-blue', '#80B8F8'],\n ['light-red', '#DA1313'],\n ['default', '#181c42'],\n ['other', CustomColorsHelper.getColorHex('other', '500')],\n ['otherFuels', CustomColorsHelper.getColorHex('other', '500')],\n]);\n","import { CustomColors } from 'shared/constants/colors';\n\nexport class CustomColorsHelper {\n static getColorVariable(key: string, shade: string = 'DEFAULT'): string {\n try {\n if (CustomColors.hasOwnProperty(key)) {\n const colorVar = CustomColors[key][shade];\n return colorVar ? colorVar.split('(')[1].split(')')[0] : '';\n }\n return '';\n } catch (e) {\n console.error('getColorVariable', e);\n return '';\n }\n }\n\n static getColorHex(key: string, shade: string = 'DEFAULT'): string {\n try {\n const rootStyles = getComputedStyle(document.documentElement);\n if (CustomColors.hasOwnProperty(key)) {\n const colorVariableName = CustomColorsHelper.getColorVariable(key, shade);\n return rootStyles.getPropertyValue(colorVariableName).trim();\n }\n return '';\n } catch (e) {\n console.error('getColorHex', e);\n return '';\n }\n }\n}\n","import { AbstractControl, AsyncValidatorFn, ValidationErrors } from '@angular/forms';\nimport { filter, first, map, Observable } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { selectTreeNavigationSortedGroups } from 'core/+state/core.selectors';\nimport { GroupHelper } from 'core/groups-tree-navigation/utils/group-helper';\nimport { GROUP_NAME_EXISTS_ERROR_KEY } from '../constants';\n\nexport class CustomValidators {\n static isGroupNameAlreadyExists(store: Store): AsyncValidatorFn {\n return (control: AbstractControl): Observable =>\n store.select(selectTreeNavigationSortedGroups).pipe(\n filter(Boolean),\n first(),\n map((groups) => GroupHelper.flattenGroups(groups)),\n map((groups) => groups.map((g) => g.name.toLowerCase())),\n map((names) => {\n const isExist = names.includes(control.value.toLowerCase());\n return isExist ? { [GROUP_NAME_EXISTS_ERROR_KEY]: true } : null;\n })\n );\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/**\n * This special type of Subject is used to destroy Observables on the end of the angular component\n * lifecycle. The next() method is called in the OnDestroy() method of the component. After it emits\n * the subject completes itself without further do.\n */\nexport class DestroySubject extends Subject {\n public override next(value: void): void {\n super.next(value);\n super.complete();\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DestroyAbstractService implements OnDestroy {\n protected _onDestroy$ = new DestroySubject();\n\n ngOnDestroy(): void {\n this._onDestroy$.next();\n }\n}\n","import { CustomIcon } from 'shared/interfaces/custom-icon.interface';\n\nexport const IconHelper = new Map([\n ['heatingAndHotWater', 'assets/icons/charts/card-waerme.svg'],\n ['heating', 'assets/icons/charts/card-waerme.svg'],\n ['electricity', 'assets/icons/charts/card-lightning.svg'],\n ['water', 'assets/icons/charts/water.svg'],\n ['hotWaterEnergy', 'assets/icons/charts/Drop.svg'],\n ['waste', 'assets/icons/charts/Trash.svg'],\n ['districtCooling', 'assets/icons/charts/Snowflake.svg'],\n ['building', 'assets/icons/cards/Building.svg'],\n ['site-count-building', 'assets/icons/cards/Building-grey.svg'],\n ['room', 'assets/icons/cards/Room.svg'],\n ['utilityUnit', 'assets/icons/cards/Nutzeinheit.svg'],\n ['co2-green', 'assets/icons/charts/co2-green.svg'],\n ['co2', 'assets/icons/charts/card-co2.svg'],\n ['euro', 'assets/icons/charts/CurrencyEur.svg'],\n ['tab-overview', 'assets/icons/navigation/monitoring.svg'],\n ['', ''],\n]);\n\nexport const TypesIcon: Record = {\n heatingAndHotWater: 'local_fire_department',\n heating: '',\n electricity: 'bolt',\n water: 'water_drop',\n hotWaterEnergy: '',\n waste: 'delete',\n};\n\nexport const MedianCustomIcons: Record = {\n heatingAndHotWater: {\n name: 'heating',\n isSvgIcon: true,\n isStrokeRelated: true,\n colorClass: 'stroke-heating-800',\n },\n heating: {\n name: 'heating',\n isSvgIcon: true,\n isStrokeRelated: true,\n colorClass: 'stroke-heating-800',\n },\n electricity: {\n name: 'electricity',\n isSvgIcon: true,\n isFillRelated: true,\n colorClass: 'fill-electricity-800',\n },\n co2: {\n name: 'emissions',\n isSvgIcon: true,\n isStrokeRelated: true,\n colorClass: 'stroke-co2-800',\n },\n waste: {\n name: 'waste',\n isSvgIcon: true,\n isFillRelated: true,\n colorClass: 'fill-waste-800',\n },\n water: {\n name: 'water',\n isSvgIcon: true,\n isFillRelated: true,\n colorClass: 'fill-water-800',\n },\n hotWaterEnergy: {\n name: 'water',\n isSvgIcon: true,\n isFillRelated: true,\n colorClass: 'fill-heating-500',\n },\n cost: {\n name: 'circle_cost',\n isSvgIcon: true,\n isStrokeRelated: true,\n colorClass: 'stroke-cost-800',\n },\n};\n\nexport const MedianBackgroundCustomIconsClass: Record = {\n heatingAndHotWater: 'bg-heating-500',\n heating: 'bg-heating-500',\n electricity: 'bg-electricity-500',\n co2: 'bg-co2-500',\n waste: 'bg-waste-500',\n water: 'bg-water-500',\n};\n","export const LanguageKeyHelper = new Map([\n ['heatingAndHotWater', 'types.heatingAndHotWater'],\n ['heating', 'types.heatingAndHotWater'],\n ['electricity', 'types.electricity'],\n ['water', 'types.water'],\n ['waste', 'types.waste'],\n ['oil', 'types.oil'],\n ['gas', 'types.gas'],\n ['districtHeating', 'types.districtHeating'],\n ['districtCooling', 'types.districtCooling'],\n ['spaceHeatingEnergy', 'types.spaceHeatingEnergy'],\n ['hotWaterEnergy', 'types.hotWaterEnergy'],\n ['co2', 'types.co2'],\n ['costs', 'types.costs'],\n ['co2Emissions', 'types.co2Emissions'],\n ['consumptions', 'filter.consumptions'],\n ['emissions', 'filter.emissions'],\n ['costs', 'filter.costs'],\n ['all', 'types.all'],\n ['unknown', 'types.unknown'],\n ['heatingElectricity', 'types.heatingElectricity'],\n ['bioMass', 'types.bioMass'],\n ['otherFuels', 'types.otherFuels'],\n ['object', 'types.object'],\n ['street', 'filter.street'],\n ['object-id', 'filter.object-id'],\n ['istaPropertyNumber', 'portfolio.masterdataHeader.istaPropertyNumber'],\n ['numberOfUnits', 'portfolio.masterdataHeader.numberOfUnits'],\n ['space', 'portfolio.masterdataHeader.space'],\n]);\n","/* eslint-disable no-console */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { Injectable } from '@angular/core';\n\nimport { environment } from 'environments/environment';\n\nenum LogLevel {\n LOG,\n WARN,\n ERROR,\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoggerService {\n public static log(msg: string, data?: any): void {\n this.output(LogLevel.LOG, msg, data);\n }\n\n public static warn(msg: string, data?: any): void {\n this.output(LogLevel.WARN, msg, data);\n }\n\n public static error(msg: string, data?: any): void {\n this.output(LogLevel.ERROR, msg, data);\n }\n\n private static output(level: LogLevel, msg: string, data?: any): void {\n switch (level) {\n case LogLevel.ERROR:\n console.error(msg, data);\n break;\n case LogLevel.WARN:\n if (!environment.production) {\n console.warn(msg, data);\n }\n break;\n default:\n if (!environment.production) {\n // console.log(msg, data);\n }\n }\n }\n}\n","import { SiteDetails } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/site-details.interface';\nimport { Address } from '../interfaces/site.interface';\n\nexport class OsmHelper {\n\tstatic transformSiteDetailsToAddress(siteDetails: SiteDetails): Address {\n\t\treturn {\n\t\t\tid: 0,\n\t\t\tstreet: siteDetails.street,\n\t\t\thouseNumber: siteDetails.houseNumber,\n\t\t\tpostalCode: siteDetails.postalCode,\n\t\t\tcity: siteDetails.city,\n\t\t\tcountry: 'Deutschland',\n\t\t};\n\t}\n\n\tstatic getAddressStringForGeoApi(address: Address): string {\n\t\tconst country = 'Deutschland';\n\t\tconst streetname = address.street?.toLowerCase() || '';\n\t\tconst houseNumber: string = address.houseNumber?.toLowerCase() || '';\n\t\tconst street = houseNumber.length\n\t\t\t? streetname + ' ' + houseNumber\n\t\t\t: streetname;\n\t\tconst plz = address.postalCode;\n\t\tconst city = address.city;\n\t\treturn `${street} ${plz} ${city} ${country}`;\n\t}\n}\n","import { Injectable } from '@angular/core';\n\nimport { FilterDateRange } from '../ui/filter/filter-tab.interface';\nimport {\n PortfolioCard,\n PortfolioCardValueItem,\n} from '../ui/portfolio-card/portfolio-card.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PortfolioCardHelperService {\n public static getPortfolioCardDataBySelectedYear(\n portfolioData: PortfolioCard | undefined,\n globalSelectedYear: FilterDateRange | undefined\n ): PortfolioCardValueItem | undefined {\n if (!portfolioData) {\n return undefined;\n }\n\n if (!globalSelectedYear) {\n return undefined;\n }\n\n return portfolioData.data.find((item) => item.year === globalSelectedYear?.from);\n }\n\n public static getPortfolioCardData(\n portfolioData: PortfolioCard | undefined,\n globalSelectedYear: number\n ): PortfolioCardValueItem | undefined {\n if (!portfolioData) {\n return undefined;\n }\n\n const data = portfolioData.data;\n\n let maxDateIndex = -1;\n let maxDate = new Date();\n\n for (let i = 0; i < data.length; i++) {\n const currentDate = new Date(data[i].year);\n if (currentDate <= maxDate && currentDate.getFullYear() <= globalSelectedYear) {\n maxDate = currentDate;\n maxDateIndex = i;\n }\n }\n\n if (maxDateIndex !== -1) {\n return portfolioData.data[maxDateIndex];\n } else {\n return {\n value: {\n value: 0,\n },\n year: `${globalSelectedYear}-01-01'`,\n };\n }\n }\n\n public static getPortfolioCardDataByTimestamp(\n portfolioData: PortfolioCard | undefined,\n timestamp: string | undefined\n ): PortfolioCardValueItem | undefined {\n if (!portfolioData) {\n return undefined;\n }\n\n if (!timestamp) {\n return undefined;\n }\n\n // const transformedTimestamp = new Date(timestamp).getFullYear();\n return portfolioData.data.find((item) => item.year === timestamp);\n }\n}\n","import { UtilHelper } from './util-helper';\nimport { Unit, UnitFactor, UnitMappingConfig, UnitWithPrefix } from '../models/unit.enum';\n\nexport const factorSequence = [\n UnitFactor.ONE,\n UnitFactor.K,\n UnitFactor.M,\n UnitFactor.G,\n UnitFactor.T,\n];\n\nexport const getNextFactor = (factor: UnitFactor): UnitFactor => {\n let findIndex = factorSequence.findIndex((item) => item === factor);\n if (findIndex >= factorSequence.length) {\n return factor;\n }\n\n return factorSequence[findIndex++];\n};\n\nexport const unitMapping: UnitMappingConfig[] = [\n {\n unit: Unit.CBM,\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.G),\n mapping: [\n { factor: UnitFactor.ONE, unitWithPrefix: UnitWithPrefix.CBM },\n { factor: UnitFactor.K, unitWithPrefix: UnitWithPrefix.CBM },\n { factor: UnitFactor.M, unitWithPrefix: UnitWithPrefix.CBM },\n { factor: UnitFactor.G, unitWithPrefix: UnitWithPrefix.CBM_K },\n { factor: UnitFactor.T, unitWithPrefix: UnitWithPrefix.CBM_K },\n ],\n unitWithPrefixSequence: [UnitWithPrefix.CBM, UnitWithPrefix.CBM_K],\n rootUnitWithPrefix: UnitWithPrefix.CBM,\n },\n {\n unit: Unit.CBM_PER_SQM,\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.G),\n mapping: [\n {\n factor: UnitFactor.ONE,\n unitWithPrefix: UnitWithPrefix.CBM_PER_SQM,\n },\n {\n factor: UnitFactor.K,\n unitWithPrefix: UnitWithPrefix.CBM_PER_SQM,\n },\n {\n factor: UnitFactor.M,\n unitWithPrefix: UnitWithPrefix.CBM_PER_SQM,\n },\n {\n factor: UnitFactor.G,\n unitWithPrefix: UnitWithPrefix.CBM_K_PER_SQM,\n },\n {\n factor: UnitFactor.T,\n unitWithPrefix: UnitWithPrefix.CBM_K_PER_SQM,\n },\n ],\n unitWithPrefixSequence: [UnitWithPrefix.CBM_PER_SQM, UnitWithPrefix.CBM_K_PER_SQM],\n rootUnitWithPrefix: UnitWithPrefix.CBM_PER_SQM,\n },\n {\n unit: Unit.SQM,\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.K),\n mapping: [\n { factor: UnitFactor.ONE, unitWithPrefix: UnitWithPrefix.SQM },\n { factor: UnitFactor.K, unitWithPrefix: UnitWithPrefix.SQM_K },\n { factor: UnitFactor.M, unitWithPrefix: UnitWithPrefix.SQM_M },\n ],\n unitWithPrefixSequence: [UnitWithPrefix.SQM, UnitWithPrefix.SQM_K],\n rootUnitWithPrefix: UnitWithPrefix.SQM,\n },\n {\n unit: Unit.EUR,\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.K),\n mapping: [\n { factor: UnitFactor.ONE, unitWithPrefix: UnitWithPrefix.EUR },\n { factor: UnitFactor.K, unitWithPrefix: UnitWithPrefix.EURO_K },\n { factor: UnitFactor.M, unitWithPrefix: UnitWithPrefix.EURO_M },\n { factor: UnitFactor.G, unitWithPrefix: UnitWithPrefix.EURO_G },\n { factor: UnitFactor.T, unitWithPrefix: UnitWithPrefix.EURO_T },\n ],\n unitWithPrefixSequence: [\n UnitWithPrefix.EUR,\n UnitWithPrefix.EURO_K,\n UnitWithPrefix.EURO_M,\n UnitWithPrefix.EURO_G,\n UnitWithPrefix.EURO_T,\n ],\n rootUnitWithPrefix: UnitWithPrefix.EUR,\n },\n {\n unit: Unit.DKK,\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.K),\n mapping: [\n { factor: UnitFactor.ONE, unitWithPrefix: UnitWithPrefix.DKK },\n { factor: UnitFactor.K, unitWithPrefix: UnitWithPrefix.DKK_K },\n { factor: UnitFactor.M, unitWithPrefix: UnitWithPrefix.DKK_M },\n { factor: UnitFactor.G, unitWithPrefix: UnitWithPrefix.DKK_G },\n { factor: UnitFactor.T, unitWithPrefix: UnitWithPrefix.DKK_T },\n ],\n unitWithPrefixSequence: [\n UnitWithPrefix.DKK,\n UnitWithPrefix.DKK_K,\n UnitWithPrefix.DKK_M,\n UnitWithPrefix.DKK_G,\n UnitWithPrefix.DKK_T,\n ],\n rootUnitWithPrefix: UnitWithPrefix.DKK,\n },\n {\n unit: Unit.SFR,\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.K),\n mapping: [\n { factor: UnitFactor.ONE, unitWithPrefix: UnitWithPrefix.SFR },\n { factor: UnitFactor.K, unitWithPrefix: UnitWithPrefix.SFR_K },\n { factor: UnitFactor.M, unitWithPrefix: UnitWithPrefix.SFR_M },\n { factor: UnitFactor.G, unitWithPrefix: UnitWithPrefix.SFR_G },\n { factor: UnitFactor.T, unitWithPrefix: UnitWithPrefix.SFR_T },\n ],\n unitWithPrefixSequence: [\n UnitWithPrefix.SFR,\n UnitWithPrefix.SFR_K,\n UnitWithPrefix.SFR_M,\n UnitWithPrefix.SFR_G,\n UnitWithPrefix.SFR_T,\n ],\n rootUnitWithPrefix: UnitWithPrefix.SFR,\n },\n {\n unit: Unit.KWH,\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.K),\n mapping: [\n { factor: UnitFactor.ONE, unitWithPrefix: UnitWithPrefix.KWH },\n { factor: UnitFactor.K, unitWithPrefix: UnitWithPrefix.KWH_K },\n { factor: UnitFactor.M, unitWithPrefix: UnitWithPrefix.KWH_M },\n ],\n unitWithPrefixSequence: [UnitWithPrefix.KWH, UnitWithPrefix.KWH_K, UnitWithPrefix.KWH_M],\n rootUnitWithPrefix: UnitWithPrefix.KWH,\n },\n {\n unit: Unit.KWH_PER_SQM, // NEU\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.K),\n mapping: [\n {\n factor: UnitFactor.ONE,\n unitWithPrefix: UnitWithPrefix.KWH_PER_SQM,\n },\n {\n factor: UnitFactor.K,\n unitWithPrefix: UnitWithPrefix.KWH_K_PER_SQM,\n },\n {\n factor: UnitFactor.M,\n unitWithPrefix: UnitWithPrefix.KWH_M_PER_SQM,\n },\n ],\n unitWithPrefixSequence: [\n UnitWithPrefix.KWH_PER_SQM,\n UnitWithPrefix.KWH_K_PER_SQM,\n UnitWithPrefix.KWH_M_PER_SQM,\n ],\n rootUnitWithPrefix: UnitWithPrefix.KWH_PER_SQM,\n },\n {\n unit: Unit.KG,\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.K),\n mapping: [\n { factor: UnitFactor.ONE, unitWithPrefix: UnitWithPrefix.KG },\n { factor: UnitFactor.K, unitWithPrefix: UnitWithPrefix.KG_K },\n ],\n unitWithPrefixSequence: [UnitWithPrefix.KG, UnitWithPrefix.KG_K],\n rootUnitWithPrefix: UnitWithPrefix.KG,\n },\n {\n unit: Unit.KG_PER_SQM,\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.K),\n mapping: [\n {\n factor: UnitFactor.ONE,\n unitWithPrefix: UnitWithPrefix.KG_PER_SQM,\n },\n {\n factor: UnitFactor.K,\n unitWithPrefix: UnitWithPrefix.KG_K_PER_SQM,\n },\n {\n factor: UnitFactor.M,\n unitWithPrefix: UnitWithPrefix.KG_M_PER_SQM,\n },\n ],\n unitWithPrefixSequence: [\n UnitWithPrefix.KG_PER_SQM,\n UnitWithPrefix.KG_K_PER_SQM,\n UnitWithPrefix.KG_M_PER_SQM,\n ],\n rootUnitWithPrefix: UnitWithPrefix.KG_PER_SQM,\n },\n {\n unit: Unit.EMISSION, // NEU 16.03.23\n maxDisplayedDigits: UtilHelper.getNumberCount(UnitFactor.K),\n mapping: [\n { factor: UnitFactor.ONE, unitWithPrefix: UnitWithPrefix.EMISSION },\n { factor: UnitFactor.K, unitWithPrefix: UnitWithPrefix.EMISSION_K },\n { factor: UnitFactor.M, unitWithPrefix: UnitWithPrefix.EMISSION_M },\n ],\n unitWithPrefixSequence: [\n UnitWithPrefix.EMISSION,\n UnitWithPrefix.EMISSION_K,\n UnitWithPrefix.EMISSION_M,\n ],\n rootUnitWithPrefix: UnitWithPrefix.EMISSION,\n },\n];\n","import { RGBA } from '../models/rgba.interface';\nimport { FilterDateRange, FilterTab, FilterTabItem } from '../ui/filter/filter-tab.interface';\nimport { UnitWithPrefix } from '../models/unit.enum';\n\nexport class UtilHelper {\n public static readonly heatingLabel = 'heatingAndHotWater';\n public static readonly heatingDistribution = [\n 'districtHeating',\n 'oil',\n 'gas',\n 'bioMass',\n 'heatingElectricity',\n 'otherFuels',\n ];\n static readonly hotWaterEnergy = 'hotWaterEnergy';\n\n public static getUnitEnumValue(value: string): string {\n return Object.entries(UnitWithPrefix).find(([key]) => key === value)?.[1] || '';\n }\n\n public static getActualYear(): string {\n return new Date().getFullYear().toString();\n }\n\n public static getActualYearDate(): FilterDateRange {\n return {\n from: this.getActualYear(),\n until: '',\n };\n }\n\n public static getSelectedYearDummy(): FilterDateRange {\n return {\n from: '',\n until: '',\n };\n }\n\n public static setFilterConfig(\n filterCount: number,\n fromYear: string,\n until?: string,\n leftValue?: string\n ): FilterTab[] {\n const result: FilterTab[] = [];\n for (let i = 0; i < filterCount; i++) {\n result.push({\n left: leftValue ? this.getInitLeftFilter(leftValue) : [],\n selectedYear: { from: fromYear, until: until || '' },\n });\n }\n\n return [...result];\n }\n\n public static getInitLeftFilter(leftValue: string): FilterTabItem[] {\n return [\n {\n label: leftValue,\n value: leftValue,\n },\n ];\n }\n\n public static convertHEXtoRGBA(hexValue: string, alpha: number = 100): RGBA {\n const hex = hexValue?.toUpperCase().replace('#', '');\n const hexLength = hex.length;\n if (hexLength > 0 && hexLength <= 6) {\n const h = '0123456789ABCDEF';\n const r = (h.indexOf(hex[0]) * 16 + h.indexOf(hex[1])).toString();\n const g = (h.indexOf(hex[2]) * 16 + h.indexOf(hex[3])).toString();\n const b = (h.indexOf(hex[4]) * 16 + h.indexOf(hex[5])).toString();\n return { r, g, b, a: alpha };\n }\n\n return {\n r: '',\n g: '',\n b: '',\n a: 0,\n };\n }\n\n public static getRoundedValue(value: number | null): number | null {\n if (value !== undefined && value !== null) {\n return Math.round((value + Number.EPSILON) * 100) / 100;\n }\n return null;\n }\n\n public static getNumberCount(value: number | null): number {\n if (value !== undefined && value !== null) {\n return Math.floor(Math.abs(value)).toString().length;\n }\n\n return 0;\n }\n\n public static scrollToTop(): void {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n\n public static scrollToElement(element: HTMLElement): void {\n element.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'start',\n });\n }\n\n public static createExcelWindowBlob(dataBlob: Blob | never[], fileName: string): void {\n const blob = new Blob([dataBlob as unknown as Blob], {\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n });\n\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n document.body.appendChild(a);\n a.setAttribute('style', 'display: none');\n a.href = url;\n a.download = `${fileName}.xlsx`;\n a.click();\n window.URL.revokeObjectURL(url);\n a.remove();\n }\n\n public static createCSVWindowBlob(csv: string, fileName: string): void {\n const blob = new Blob([csv], {\n type: 'text/csv',\n });\n\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n document.body.appendChild(a);\n a.setAttribute('style', 'display: none');\n a.href = url;\n a.download = `${fileName}`;\n a.click();\n window.URL.revokeObjectURL(url);\n a.remove();\n }\n}\n","import { InfoIconCard } from 'shared/ui/info-icon-card/info-icon-card.interface';\n\nexport class Utils {\n static generateRandomId(): string {\n return `${Date.now()}`;\n }\n\n static getFormatNumberDigits(value?: string | number | null): string {\n if (value && typeof value === 'number' && value > -9 && value < 9) {\n if (Math.abs(value).toString().length === 1) {\n return '1.0-0';\n }\n return '1.1-1';\n }\n\n return '1.0-0';\n }\n\n static getBarsDisplayedYearsKeys(\n value: Record,\n globalSelectedYear: number\n ): string[] {\n const years = Object.keys(value).sort((a, b) => b.localeCompare(a));\n const globalSelectedYearIndex = years.indexOf(`${globalSelectedYear}`);\n const end = Math.min(years.length - 1, globalSelectedYearIndex + 2);\n return years.filter((value, index) => index >= globalSelectedYearIndex && index <= end);\n }\n\n static getPortfolioInformationGlossarId(infoCard: InfoIconCard): string {\n switch (infoCard.label) {\n case 'dashboard.object':\n return '19';\n case 'dashboard.units':\n return '13';\n case 'dashboard.area':\n return '12';\n default:\n return '19';\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { factorSequence, unitMapping } from './unit-mapping';\nimport {\n TransformedValueItem,\n Unit,\n UnitFactor,\n UnitMapping,\n UnitMappingConfig,\n UnitWithPrefix,\n} from '../models/unit.enum';\nimport { ValueItem } from './../models/value-item.interface';\nimport { UtilHelper } from './util-helper';\nimport { LoggerService } from './logger.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ValueUnitService {\n public static readonly maxDigits = 3;\n\n public static getTransformedValueItem(value: string | number | null, unit?: Unit): ValueItem {\n return {\n value: typeof value === 'string' ? parseFloat(value) : value,\n unit: unit || Unit.DEFAULT,\n };\n }\n\n public static getNextUnitPrefix(unit: Unit, factor: UnitFactor): UnitWithPrefix {\n const mappingItem: UnitMappingConfig | undefined = unitMapping.find(\n (item) => item.unit === unit\n );\n\n if (!mappingItem) {\n return UnitWithPrefix.UNKNOWN;\n }\n\n const factorIndex = factorSequence.findIndex((item) => item === factor);\n\n if (factorIndex < 0) {\n LoggerService.error('cannot find factor in value unit service', factor);\n return UnitWithPrefix.UNKNOWN;\n }\n\n if (factorIndex > mappingItem.unitWithPrefixSequence.length) {\n LoggerService.error('cannot use factor in this unit', unit);\n return UnitWithPrefix.UNKNOWN;\n }\n\n const unitWithPrefix = mappingItem.unitWithPrefixSequence[factorIndex];\n\n return unitWithPrefix || UnitWithPrefix.UNKNOWN;\n }\n\n public static getMappedValueByFactor(value: ValueItem, factor: UnitFactor): TransformedValueItem {\n const result: TransformedValueItem = {\n value: value?.value,\n unitWithPrefix: value?.unit as unknown as UnitWithPrefix,\n };\n\n if (value && factor) {\n let transformedValue = value?.value;\n let transformedUnitWithPrefix = value?.unit as unknown as UnitWithPrefix;\n const mappingItem: UnitMappingConfig | undefined = unitMapping.find(\n (item) => item.unit === value.unit\n );\n\n if (mappingItem) {\n const factorItem: UnitMapping | undefined = mappingItem.mapping.find(\n (item) => item.factor === factor\n );\n if (factorItem && value?.value !== undefined && value?.value !== null) {\n transformedValue = UtilHelper.getRoundedValue(value?.value / factorItem.factor);\n transformedUnitWithPrefix = factorItem.unitWithPrefix;\n }\n }\n\n result.value = transformedValue;\n result.unitWithPrefix = transformedUnitWithPrefix;\n }\n\n return result;\n }\n\n public static getMappedValueAuto(value: ValueItem): TransformedValueItem {\n const result: TransformedValueItem = {\n value: value.value,\n unitWithPrefix: value.unit as unknown as UnitWithPrefix,\n };\n let transformedValue = value.value;\n let transformedUnitWithPrefix = value.unit as unknown as UnitWithPrefix;\n const mappingItem: UnitMappingConfig | undefined = unitMapping.find(\n (item) => item.unit === value.unit\n );\n\n if (mappingItem) {\n let isLowerThanMaxDigits =\n UtilHelper.getNumberCount(transformedValue) < mappingItem.maxDisplayedDigits;\n\n let index = 0;\n while (!isLowerThanMaxDigits && index < mappingItem.mapping.length && value.value !== null) {\n const tempValue = UtilHelper.getRoundedValue(\n value.value / mappingItem.mapping[index].factor\n );\n isLowerThanMaxDigits =\n UtilHelper.getNumberCount(tempValue) < mappingItem.maxDisplayedDigits;\n\n transformedValue = tempValue;\n\n index++;\n }\n\n const newIndex = index - 1 < 0 ? 0 : index - 1;\n transformedUnitWithPrefix = mappingItem?.mapping[newIndex].unitWithPrefix;\n }\n\n result.value = transformedValue;\n result.unitWithPrefix = transformedUnitWithPrefix || UnitWithPrefix.DEFAULT;\n\n return result;\n }\n}\n","import { ConsumptionTypes } from '../models/consumption-types.interface';\n\nexport type AnalyticalCategories = 'consumption' | 'costs' | 'emissions';\n\nexport interface ConsumptionTypeButton {\n consumptionType: ConsumptionTypes[];\n analyticalCategories: AnalyticalCategories;\n heatingChilds?: ConsumptionTypes[];\n}\n\nexport const ConsumptionTypeButtonMapping: ConsumptionTypeButton[] = [\n {\n analyticalCategories: 'consumption',\n consumptionType: ['heatingAndHotWater', 'electricity', 'water', 'waste', 'districtCooling'],\n },\n {\n analyticalCategories: 'emissions',\n consumptionType: ['heatingAndHotWater', 'electricity', 'water', 'waste'],\n },\n {\n analyticalCategories: 'costs',\n consumptionType: ['heatingAndHotWater', 'electricity', 'water', 'waste'],\n },\n];\n","import { LanguageKeyHelper } from '../helper/language-key-helper';\nimport { FilterSubTab, FilterTab } from '../ui/filter/filter-tab.interface';\nimport { IconHelper } from '../helper/icon-helper';\n\nexport const filterOverview: FilterTab = {\n left: [\n {\n label: 'tabs.overview',\n icon: IconHelper.get('tab-overview'),\n active: false,\n },\n ],\n selectedYear: { from: '2020', until: '' },\n};\n\nexport const filterDataGap: FilterTab = {\n left: [\n {\n label: 'tabs.data-gap',\n icon: IconHelper.get('tab-overview'),\n active: false,\n },\n ],\n selectedYear: { from: '2020', until: '' },\n};\n\nexport enum FilterCORSType {\n CONSUMPTIONS = 'consumption',\n EMISSIONS = 'emissions',\n COSTS = 'costs',\n}\n\nexport const filterCORS: FilterTab = {\n left: [\n {\n label: 'tabs.consumption',\n icon: IconHelper.get('tab-overview'),\n value: FilterCORSType.CONSUMPTIONS,\n active: true,\n },\n {\n label: 'tabs.emission',\n icon: IconHelper.get('co2'),\n value: FilterCORSType.EMISSIONS,\n },\n {\n label: 'tabs.cost',\n icon: IconHelper.get('euro'),\n value: FilterCORSType.COSTS,\n },\n ],\n selectedYear: { from: '', until: '' },\n};\n\nexport const filterCORSSub: FilterSubTab = [\n {\n label: LanguageKeyHelper.get('heatingAndHotWater') || 'Wärme',\n icon: IconHelper.get('tab-overview'),\n },\n {\n label: LanguageKeyHelper.get('electricity') || 'Strom',\n icon: IconHelper.get('co2'),\n },\n {\n label: LanguageKeyHelper.get('water') || 'Wasser',\n icon: IconHelper.get('water'),\n },\n {\n label: LanguageKeyHelper.get('waste') || 'Abfall',\n icon: IconHelper.get('waste'),\n active: true,\n childs: [\n { label: 'Alle Abfälle' },\n { label: 'Restabfall' },\n { label: 'Gewerbeabfall' },\n { label: 'Papier + Pappe' },\n { label: 'Duales System' },\n { label: 'Speisereste' },\n ],\n },\n];\n\nexport const filterRegion: FilterTab = {\n left: [\n {\n label: 'filter.portfolio-objects',\n icon: './assets/icons/navigation/monitoring.svg',\n active: false,\n },\n ],\n selectedYear: { from: '2021', until: '' },\n};\n","export enum ColorStyle {\n WHITE = 'white',\n BLUE = 'blue',\n BLUE_LIGHT = 'blue-light',\n BLUE_DARK = 'blue-dark',\n BLUE_CTA = 'blue-cta',\n GREEN_LIGHT = 'green-light',\n GREEN = 'green',\n ORANGE = 'orange',\n RED = 'red',\n}\n","export const HeatingChilds = [\n 'heatingAndHotWater',\n 'districtHeating',\n 'oil',\n 'gas',\n 'bioMass',\n 'heatingElectricity',\n 'otherFuels',\n];\n\nexport const HeatingTempExcludeChilds = ['hotWaterEnergy', 'spaceHeatingEnergy'];\n\nexport const HeatingDisplayAllExcludeChilds = [\n 'districtHeating',\n 'oil',\n 'gas',\n 'bioMass',\n 'heatingElectricity',\n 'otherFuels',\n];\n","export enum Unit {\n DEFAULT = '',\n /** KW/h - Kilowatt per hour */\n KWH = 'KWH',\n /** Cubic meter */\n CBM = 'CBM',\n LITER = 'LITER',\n EUR = 'EUR',\n SFR = 'SFR',\n DKK = 'DKK',\n TON = 'TON',\n /** Kilogram */\n KG = 'KG',\n /** Square meter */\n SQM = 'SQM',\n KWH_PER_SQM = 'KWH_PER_SQM',\n CBM_PER_SQM = 'CBM_PER_SQM',\n LITER_PER_SQM = 'LITER_PER_SQM',\n EUR_PER_SQM = 'EUR_PER_SQM',\n DKK_PER_SQM = 'DKK_PER_SQM',\n SFR_PER_SQM = 'SFR_PER_SQM',\n TON_PER_SQM = 'TON_PER_SQM',\n KG_PER_SQM = 'KG_PER_SQM',\n PERCENT = 'PERCENT',\n EMISSION = 'EMISSION',\n}\n\nexport enum UnitWithPrefix {\n EURO_K = 'Tsd. €',\n EURO_M = 'M€',\n EURO_G = 'G€',\n EURO_T = 'T€',\n EUR = '€',\n DKK_K = 'Tsd. kr',\n DKK_M = 'M kr',\n DKK_G = 'G kr',\n DKK_T = 'T kr',\n DKK = 'kr',\n SFR_K = 'Tsd. ₣',\n SFR_M = 'M₣',\n SFR_G = 'G₣',\n SFR_T = 'T₣',\n SFR = '₣',\n EMISSION = 'CO₂e',\n EMISSION_K = 't CO₂e',\n EMISSION_M = 'kt CO₂e',\n SQM = 'm²',\n SQM_K = 'Tsd. m²',\n SQM_M = 'Mio. m²',\n CBM_K = 'Tsd. m³',\n CBM = 'm³',\n KWH = 'kWh',\n KWH_K = 'MWh',\n KWH_M = 'GWh',\n KG = 'kg',\n KG_K = 't',\n KG_M = 'kt',\n LITER = 'l',\n TON = 't',\n KWH_PER_SQM = 'kWh/m²',\n KWH_K_PER_SQM = 'MWh/m²',\n KWH_M_PER_SQM = 'GWh/m²',\n CBM_PER_SQM = 'm³/m²',\n CBM_K_PER_SQM = 'km³/m²',\n LITER_PER_SQM = 'l/m²',\n EUR_K_PER_SQM = 'Tsd. €/m²',\n EUR_M_PER_SQM = 'M€/m²',\n EUR_G_PER_SQM = 'G€/m²',\n EUR_T_PER_SQM = 'T€/m²',\n EUR_PER_SQM = '€/m²',\n DKK_K_PER_SQM = 'Tsd. kr/m²',\n DKK_M_PER_SQM = 'Mkr/m²',\n DKK_G_PER_SQM = 'Gkr/m²',\n DKK_T_PER_SQM = 'Tkr/m²',\n DKK_PER_SQM = 'kr/m²',\n SFR_K_PER_SQM = 'Tsd. ₣/m²',\n SFR_M_PER_SQM = 'M₣/m²',\n SFR_G_PER_SQM = 'G₣/m²',\n SFR_T_PER_SQM = 'T₣/m²',\n SFR_PER_SQM = '₣/m²',\n TON_PER_SQM = 't/m²',\n KG_PER_SQM = 'kg/m²',\n EMISSION_KG_PER_SQM = 'kg CO₂e/m²',\n KG_K_PER_SQM = 't/m²',\n KG_M_PER_SQM = 'kt/m²',\n PERCENT = '%',\n UNKNOWN = '?',\n DEFAULT = '',\n}\n\nexport enum UnitPrefix {\n T = 'T', // tera\n G = 'G', // giga\n M = 'M', // mega\n k = 'k', // kilo\n START = '',\n}\n\nexport interface ExtendedUnit {\n prefix: UnitPrefix;\n unit: Unit;\n}\n\nexport interface UnitPrefixConfig {\n factor: number;\n unitPrefix: UnitPrefix;\n nextUnitPrefix: UnitPrefix | null;\n}\n\nexport enum UnitFactor {\n ONE = 1,\n K = 1000,\n M = 1000000,\n G = 1000000000,\n T = 1e12,\n}\n\nexport enum MathRound {\n ORIGINAL = 'original',\n ROUND_UP = 'ceil',\n ROUND_DOWN = 'floor',\n}\n\nexport interface UnitMapping {\n factor: UnitFactor;\n unitWithPrefix: UnitWithPrefix;\n}\n\nexport interface UnitMappingConfig {\n unit: Unit;\n maxDisplayedDigits: number;\n mapping: UnitMapping[];\n unitWithPrefixSequence: UnitWithPrefix[];\n rootUnitWithPrefix: UnitWithPrefix;\n}\n\nexport interface TransformedValueItem {\n value: number | null;\n unitWithPrefix: UnitWithPrefix;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Environment } from 'core/environment/environment.interface';\nimport { SelectItem } from 'shared/ui/basic/select/select.interface';\n\n@Pipe({\n name: 'environmentDropdown',\n standalone: true,\n})\nexport class EnvironmentDropdownPipe implements PipeTransform {\n transform(envs: Environment[] | null): SelectItem[] {\n if (envs === null) {\n return [];\n } else {\n return envs.map((env) => ({\n id: env.id,\n name: `${env.name}${env.customerNumbers.length ? ` (${env.customerNumbers[0]})` : ''}`,\n title: env.customerNumbers.length ? env.customerNumbers.join(', ') : undefined,\n }));\n }\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\nimport { ValueUnitService } from '../helper/value-unit.service';\nimport { TransformedValueItem, Unit } from '../models/unit.enum';\n\n@Pipe({\n name: 'formatNumber',\n})\nexport class FormatNumberPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) public locale: string) {}\n\n transform(value: string | number | null, unit?: Unit): TransformedValueItem {\n const valueItem = ValueUnitService.getTransformedValueItem(value, unit);\n // valueItem.value =\n // (getLocaleCurrencyCode(valueItem.value) as number) || valueItem.value;\n return ValueUnitService.getMappedValueAuto(valueItem);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'nullToUndefined',\n})\n// todo: should be removed but all child components of the dashboard component must be adapted to handle null beforehand\nexport class NullToUndefinedPipe implements PipeTransform {\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n transform(value: any): any {\n return value === null ? undefined : value;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SafePipe } from 'shared/pipes/safe.pipe';\n\nimport { FormatNumberPipe } from './format-number.pipe';\nimport { NullToUndefinedPipe } from './null-to-undefined.pipe';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [FormatNumberPipe, NullToUndefinedPipe, SafePipe],\n exports: [FormatNumberPipe, NullToUndefinedPipe, SafePipe],\n providers: [FormatNumberPipe, NullToUndefinedPipe],\n})\nexport class PipesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safe',\n})\nexport class SafePipe implements PipeTransform {\n constructor(protected sanitizer: DomSanitizer) {}\n transform(value: string, type = 'html'): any {\n switch (type) {\n case 'html':\n return this.sanitizer.bypassSecurityTrustHtml(value);\n case 'style':\n return this.sanitizer.bypassSecurityTrustStyle(value);\n case 'script':\n return this.sanitizer.bypassSecurityTrustScript(value);\n case 'url':\n return this.sanitizer.bypassSecurityTrustUrl(value);\n case 'resourceUrl':\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\n default:\n throw new Error(`Invalid safe type specified: ${type}`);\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DirectivesModule } from './directives/directives.module';\nimport { PipesModule } from './pipes/pipes.module';\nimport { TableSiteModule } from './ui/table-site/table-site.module';\nimport { UiModule } from './ui/ui.module';\n\n@NgModule({\n imports: [CommonModule, DirectivesModule, UiModule, PipesModule],\n declarations: [],\n exports: [\n DirectivesModule,\n UiModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n PipesModule,\n TableSiteModule,\n ],\n providers: [],\n})\nexport class SharedModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { ChartData, ChartType } from 'chart.js';\nimport DataLabelsPlugin from 'chartjs-plugin-datalabels';\nimport { DeepLinkingIds } from 'core/deep-linking/deep-linking.interface';\nimport { BehaviorSubject, combineLatest, ReplaySubject, takeUntil } from 'rxjs';\nimport { DestroyAbstractService } from 'shared/helper/destroy-abstract.service';\nimport { ChartScaleHelper } from '../../helper/chart-scale-helper';\nimport { ColorHelper } from '../../helper/color-helper';\nimport { FilterDateRange } from '../filter/filter-tab.interface';\nimport { BarCardData, BarItem } from './bar-card.interface';\nimport { DeepLinkingSenderDirective } from 'core/deep-linking/deep-linking-sender.directive';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CardHeadlineComponent } from 'shared/ui/card-headline/card-headline.component';\nimport { TransformedValueItem } from 'shared/models/unit.enum';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { TooltipModule } from 'shared/ui/basic/tooltip/tooltip.module';\nimport { NgForOf, NgIf } from '@angular/common';\nimport { MatTooltip } from '@angular/material/tooltip';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-bar-card',\n standalone: true,\n templateUrl: './bar-card.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DeepLinkingSenderDirective,\n TranslateModule,\n CardHeadlineComponent,\n PipesModule,\n TooltipModule,\n NgIf,\n NgForOf,\n MatTooltip,\n ],\n})\nexport class BarCardComponent extends DestroyAbstractService {\n @ViewChild('barScreen') barScreen!: ElementRef;\n @Input() color = ColorHelper.get('cost-light');\n @Input() deepLinkingCustomParams: string[] = [];\n @Input() deepLinkingRedirectBaseUrl = '';\n @Input() deepLinkingTargetId?: DeepLinkingIds;\n public actualYear$ = new BehaviorSubject({\n from: '',\n until: '',\n });\n public data$ = new ReplaySubject();\n public scaleData: number[] = [];\n public scaleStep = 0;\n public barChartType: ChartType = 'bar';\n public barChartPlugins = [DataLabelsPlugin];\n public barChartData: ChartData<'bar'> = {\n labels: [],\n datasets: [],\n };\n public maxBarValue = 0;\n public filteredBarItems: BarItem[] = [];\n public offsetWidth = '100%';\n protected readonly DeepLinkingIds = DeepLinkingIds;\n private scaleStepCount = 10;\n private readonly margin = 16;\n private readonly height = 24;\n\n constructor(private readonly _ref: ChangeDetectorRef) {\n super();\n combineLatest([this.actualYear$, this.data$])\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(([year, data]) => {\n this.filteredBarItems = data?.bars?.filter((item) => item.year === year.from);\n\n if (this.filteredBarItems.length > 0) {\n this.calculate();\n this.onResize();\n }\n });\n }\n\n private _data!: BarCardData;\n\n get data(): BarCardData {\n return this._data;\n }\n\n @Input() set data(value: BarCardData) {\n this._data = value;\n this.data$.next(value);\n this.onResize();\n }\n\n private _selectedYear: FilterDateRange | undefined;\n\n get selectedYear(): FilterDateRange | undefined {\n return this._selectedYear;\n }\n\n @Input() set selectedYear(year: FilterDateRange | undefined) {\n if (year) {\n this._selectedYear = year;\n this.actualYear$.next(year);\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n this.offsetWidth = `${this.barScreen?.nativeElement?.offsetWidth - 15 || '50'}px`;\n this._ref.detectChanges();\n }\n\n public getBarWidth(bar: BarItem): string {\n const index = this._data?.bars.findIndex(\n (item) => item.label === bar.label && item.value.value === bar.value.value\n );\n\n let value =\n (Math.abs(this._data?.bars[index]?.value?.value || 0) / this.maxBarValue) *\n (this.scaleStepCount * 10);\n\n if (this.scaleStepCount !== 10) {\n value = (Math.abs(this._data?.bars[index]?.value?.value || 0) / this.maxBarValue) * 100;\n }\n\n return value.toString() + '%';\n }\n\n public getValueOfSelectedYear(): number {\n return Math.abs(\n this.data.bars.find((item) => item.year === this.actualYear$.value.from)?.value?.value || 0\n );\n }\n\n public getPosition(index: number): string {\n let value = (100 / this.scaleStepCount) * index;\n if (value === 100) {\n value -= 2;\n }\n return `${value}%`;\n }\n\n public getToolTipValue(label: string, item: TransformedValueItem): string {\n if (item.value && item.unitWithPrefix) {\n return `${label}\\n${item.value}`;\n }\n return '';\n }\n\n public getScaleLabelPosition(index: number): string {\n return `calc(${this.getPosition(index)} - 2px)`;\n }\n\n public getBarTop(index: number): number {\n return index * this.height + (index + 1) * this.margin;\n }\n\n public getTotalHeight(): number {\n const len = this.filteredBarItems.length;\n\n return (this.margin + this.height) * len + this.margin;\n }\n\n public getShadowTop(): number {\n const len = this.filteredBarItems.length;\n return this.getBarTop(len);\n }\n\n public calculate(): void {\n const values = this.filteredBarItems.map((item) => item.value?.value || 0);\n const result = ChartScaleHelper.calculateScaling(9, 5, values);\n if (result.maxValue && result.numberOfSteps) {\n this.scaleStepCount = result.numberOfSteps;\n this.scaleStep = result.maxValue / result.numberOfSteps;\n this.scaleData = [];\n for (let i = 0; i <= result.numberOfSteps; i++) {\n this.scaleData.push(i * this.scaleStep);\n }\n this.maxBarValue = result.maxValue;\n }\n }\n}\n","@if (data) {\n
\n
\n
\n \n
\n @if (data.infoText) {\n
\n

\n
\n }\n
\n @if (filteredBarItems.length) {\n
\n @for (scale of scaleData.slice(0, -1); let index = $index; track scale) {\n
\n }\n @for (bar of filteredBarItems; let first = $first; let last = $last; let index = $index; track bar) {\n @if (bar.value) {\n @if (bar.value.value | formatNumber : bar.value.unit; as transformedValueItem) {\n \n \n
\n }\n }\n }\n
\n
\n @for (scale of scaleData; let index = $index; track scale) {\n
\n }\n
\n }\n \n\n \n @if (data.unitText) {\n \n {{ data.unitText | translate: { param: data.unitTextParam } }}\n \n }\n \n}\n","export const EXCLUDE_KEYS = [\n 'total',\n 'empty',\n 'districtCooling',\n 'hotWaterEnergy',\n 'spaceHeatingEnergy',\n];\n","import { Injectable } from '@angular/core';\nimport { PortfolioAnalysisService } from '../portfolio-analysis.service';\nimport { ChartItem } from '../../chart/chart.interface';\nimport { CardTabItem } from 'shared/ui/card-tab/interfaces';\nimport { EXCLUDE_KEYS } from 'shared/ui/bar-chart-portfolio-analysis/constants';\n\n@Injectable()\nexport class PortfolioAnalysisChartService {\n constructor(private portfolioAnalysisService: PortfolioAnalysisService) {}\n\n getConsumptionCardTabsItems(data: ChartItem[], preSelectedTabValue = ''): CardTabItem[] {\n return this.portfolioAnalysisService.getConsumptionCardTabsItems(\n data,\n EXCLUDE_KEYS,\n preSelectedTabValue\n );\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { Injectable } from '@angular/core';\nimport { ALL_LABEL, heatingValueLabel } from 'shared/constants';\nimport { ChartHelper } from 'shared/helper/chart-helper';\nimport { MedianCustomIcons } from 'shared/helper/icon-helper';\nimport { LanguageKeyHelper } from 'shared/helper/language-key-helper';\nimport { HeatingDisplayAllExcludeChilds } from 'shared/models/heating.type';\nimport { ChartItem } from 'shared/ui/chart/chart.interface';\nimport { CardTabItem, CardTabSubItem } from 'shared/ui/card-tab/interfaces';\n\n@Injectable()\nexport class PortfolioAnalysisService {\n getConsumptionCardTabsItems(\n data: ChartItem[],\n excludeButtons: string[] = [],\n preSelectedTabValue = ''\n ): CardTabItem[] {\n if (!data.length) {\n return [];\n }\n const heating = this.getHeatingTabItem(data, preSelectedTabValue);\n return [\n heating,\n ...data\n .filter(\n (item) =>\n !excludeButtons.includes(item.value || item.label) &&\n item.value !== heatingValueLabel &&\n !HeatingDisplayAllExcludeChilds.includes(item.value || item.label) &&\n !ChartHelper.areAllDataValuesUndefined(item.data)\n )\n .map((item) => ({\n label: LanguageKeyHelper.get(item.label) || item.label,\n icon: MedianCustomIcons[item.value ?? item.label] ?? undefined,\n value: item.value ?? '',\n active: item.value === preSelectedTabValue,\n subTabs: [],\n })),\n ];\n }\n\n private getHeatingTabItem(data: ChartItem[], preSelectedTabValue = ''): CardTabItem {\n const subTabs: CardTabSubItem[] = data\n .filter((item) => this.isHeatingChild(item))\n .filter(\n (value, index, array) =>\n array.length > 2 || (array.length <= 2 && value.value !== heatingValueLabel)\n )\n .map((item, index) => ({\n label: (item.value === heatingValueLabel\n ? LanguageKeyHelper.get(ALL_LABEL)\n : item.label) as string,\n value: item.value ?? item.label,\n active:\n item.value === preSelectedTabValue ||\n (heatingValueLabel === preSelectedTabValue && index === 0),\n }));\n return {\n label: LanguageKeyHelper.get(heatingValueLabel) || heatingValueLabel,\n value: heatingValueLabel,\n subTabs,\n icon: MedianCustomIcons[heatingValueLabel] ?? undefined,\n active: heatingValueLabel === preSelectedTabValue || !preSelectedTabValue,\n };\n }\n\n private isHeatingChild(item: ChartItem): boolean {\n return (\n (HeatingDisplayAllExcludeChilds.includes(item.value || item.label) ||\n item.value === heatingValueLabel) &&\n !ChartHelper.areAllDataValuesUndefined(item.data)\n );\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/member-ordering */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable no-bitwise */\nimport { Component, Input } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Component({ template: '' })\nexport abstract class BaseInputComponent implements ControlValueAccessor {\n @Input() label = '';\n @Input() isDisabled = false;\n @Input() dataQa = 'input-' + this._getUuidv4();\n @Input() maxLength = 1400;\n get value(): T {\n return this._value;\n }\n set value(val: T) {\n this._value = val;\n this.onChange(val);\n this.onTouch(val);\n }\n\n public onChange: any = () => {};\n public onTouch: any = () => {};\n public uuid = this._getUuidv4();\n private _value!: T;\n\n public writeValue(value: T): void {\n if (value instanceof String) {\n this.value = value?.substring(1, this.maxLength) as unknown as T;\n } else {\n this.value = value;\n }\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n private _getUuidv4(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n\n return v.toString(16);\n });\n }\n}\n","import { ButtonColor } from '../basic/button/button-color.enum';\nimport { ButtonType } from '../basic/button/button-type.enum';\nimport { ColorStyle } from '../../models/color-style.enum';\nimport { IconType } from '../basic/icon/icon-type.enum';\nimport { InputHeight, InputTypes } from '../basic/input/input-types.enum';\nimport { LoaderType } from '../basic/loader/loader.interface';\nimport { FileUploadType } from '../file-upload/types/file-upload.model';\nimport { FilterType } from '../filter/filter-tab.interface';\n\nexport abstract class BaseUi {\n public readonly _inputType = InputTypes;\n public readonly _buttonColor = ButtonColor;\n public readonly _buttonType = ButtonType;\n public readonly _iconType = IconType;\n public readonly _colorStyle = ColorStyle;\n public readonly _filterType = FilterType;\n public readonly _inputHeight = InputHeight;\n public readonly _loaderType = LoaderType;\n public readonly _fileUploadType = FileUploadType;\n}\n","import { Component, Input } from '@angular/core';\n\nimport { ValueItem } from 'shared/models/value-item.interface';\nimport { UnitWithPrefix } from '../../../models/unit.enum';\n\n@Component({\n selector: 'ista-daytona-average-display',\n templateUrl: './average-display.component.html',\n styleUrls: ['./average-display.component.scss'],\n})\nexport class AverageDisplayComponent {\n @Input() header = '';\n @Input() label = 'common.average';\n @Input() valueUnit!: ValueItem | undefined;\n @Input() classValue = '';\n public unit: UnitWithPrefix = UnitWithPrefix.EMISSION_KG_PER_SQM;\n}\n","
\n

\n
\n
\n \n
\n
\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { MatIconButton } from '@angular/material/button';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatBadge, MatBadgePosition, MatBadgeSize } from '@angular/material/badge';\nimport { MatIcon } from '@angular/material/icon';\nimport { CustomIcon } from 'shared/interfaces/custom-icon.interface';\n\n// for more Info, please Check the API https://material.angular.io/components/badge/api\n// more Examples, check please https://ista-ui.gitlab.ista.net/ui-angular-lib/main/#/badges\n@Component({\n selector: 'ista-daytona-badge-button',\n templateUrl: 'badge-button.component.html',\n standalone: true,\n imports: [MatIconButton, MatBadge, MatIcon],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeButtonComponent {\n @Input({ required: true }) icon!: CustomIcon;\n @Input() color?: ThemePalette = undefined;\n @Input() badgeColor: ThemePalette = 'warn';\n @Input({ transform: booleanAttribute }) badgeHidden = false;\n @Input() badgeContent = '';\n @Input() badgePosition: MatBadgePosition = 'above after';\n @Input() badgeSize: MatBadgeSize = 'medium';\n @Input() disabled = false;\n @Output() buttonClick = new EventEmitter();\n}\n","\n @if (icon.isSvgIcon) {\n \n \n } @else {\n {{ icon.name }}\n \n }\n\n","import { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DirectivesModule } from 'shared/directives/directives.module';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { ButtonDataAddComponent } from 'shared/ui/basic/button-data-add/button-data-add.component';\nimport { KeyValueCardComponent } from 'shared/ui/basic/key-value-card/key-value-card.component';\nimport { AverageDisplayComponent } from './average-display/average-display.component';\nimport { ButtonDeleteObjectComponent } from './button-delete-object/button-delete-object.component';\nimport { ButtonEditComponent } from './button-edit/button-edit.component';\nimport { ButtonModule } from './button/button.module';\nimport { CardComponent } from './card/card.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { ContentCardOpenComponent } from './content-card-open/content-card-open.component';\nimport { ContentCardComponent } from './content-card/content-card.component';\nimport { ContentOffsetComponent } from './content-offset/content-offset.component';\nimport { DropdownModule } from './dropdown/dropdown.module';\nimport { FullWidthSelectComponent } from './full-width-select/full-width-select.component';\nimport { IconModule } from './icon/icon.module';\nimport { InputSearchModule } from './input-search/input-search.module';\nimport { InputModule } from './input/input.module';\nimport { LabelModule } from './label/label.module';\nimport { LoaderModule } from './loader/loader.module';\nimport { PaginationAlphabetComponent } from './pagination-alphabet/pagination-alphabet.component';\nimport { RadiobuttonComponent } from './radiobutton/radiobutton.component';\nimport { SelectComponent } from './select/select.component';\nimport { SelectionComponent } from './selection/selection.component';\nimport { TableModule } from './table/table.module';\nimport { TextareaComponent } from './textarea/textarea.component';\nimport { TooltipModule } from './tooltip/tooltip.module';\nimport { ValueUnitModule } from './value-unit/value-unit.module';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatButton } from '@angular/material/button';\nimport { MatButtonToggle, MatButtonToggleGroup } from '@angular/material/button-toggle';\n\nconst imExport = [\n ContentCardComponent,\n CardComponent,\n ContentOffsetComponent,\n TextareaComponent,\n AverageDisplayComponent,\n ButtonDataAddComponent,\n SelectionComponent,\n SelectComponent,\n ButtonDeleteObjectComponent,\n ButtonEditComponent,\n KeyValueCardComponent,\n FullWidthSelectComponent,\n];\n\n@NgModule({\n exports: [...imExport, ButtonModule],\n declarations: [...imExport],\n imports: [\n PaginationAlphabetComponent,\n ContentCardOpenComponent,\n RadiobuttonComponent,\n CommonModule,\n FormsModule,\n RouterModule,\n TranslateModule,\n MatRadioModule,\n TableModule,\n TooltipModule,\n DropdownModule,\n InputModule,\n IconModule,\n ButtonModule,\n LoaderModule,\n DirectivesModule,\n HttpClientModule,\n PipesModule,\n ValueUnitModule,\n LabelModule,\n InputSearchModule,\n CheckboxComponent,\n MatSelectModule,\n MatIconModule,\n NgOptimizedImage,\n MatCheckbox,\n MatButton,\n MatButtonToggleGroup,\n MatButtonToggle,\n ],\n})\nexport class BasicModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { OverlayService } from 'shared/ui/overlay/overlay.service';\n\n@Component({\n selector: 'ista-daytona-button-data-add',\n templateUrl: 'button-data-add.component.html',\n styleUrls: ['button-data-add.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonDataAddComponent {\n @Input() stickyStyle = false;\n constructor(private readonly overlayService: OverlayService) {}\n showExcelImportOverlay(): void {\n this.overlayService.open(840, 840, {\n showExcelDataImportCard: true,\n });\n }\n\n showFilesImportOverlay(): void {\n this.overlayService.open(840, 840, {\n showFilesDataImportCard: true,\n });\n }\n}\n","\n add_circle\n {{ 'data-add-dropdown.label' | translate }}\n\n\n
\n
\n {{ 'data-add-dropdown.excel-import' | translate }}\n
\n
\n {{ 'data-add-dropdown.data-file' | translate }}\n
\n \n
\n
\n","import { Component, Input } from '@angular/core';\nimport { OverlayService } from 'shared/ui/overlay/overlay.service';\n\n@Component({\n selector: 'ista-daytona-button-delete-object',\n templateUrl: './button-delete-object.component.html',\n styleUrls: ['./button-delete-object.component.scss'],\n})\nexport class ButtonDeleteObjectComponent {\n @Input() icon = '';\n @Input() stickyStyle = false;\n constructor(private overlayService: OverlayService) {}\n\n openDeleteOverlay(): void {\n this.overlayService.open(840, 840, {\n showDeleteObjectCard: true,\n });\n }\n}\n","\n \"Delete\n {{ 'delete-object.label' | translate }}\n\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ista-daytona-button-edit',\n templateUrl: './button-edit.component.html',\n styleUrls: ['./button-edit.component.scss'],\n})\nexport class ButtonEditComponent {\n @Input() icon = '';\n @Input() stickyStyle = false;\n}\n","\n \"Edit\"\n {{ 'edit-data.label' | translate }}\n\n","export enum ButtonColor {\n BLUE = 'blue',\n GREEN = 'green',\n WHITE = 'white',\n}\n","export enum ButtonType {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n LINK = 'link',\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { TrackingWrapperService } from 'core/tracking/tracking-wrapper.service';\n\nimport { BaseUi } from '../../base-ui/base-ui';\n\n@Component({\n selector: 'ista-daytona-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent extends BaseUi {\n @Input() type: 'primary' | 'secondary' | 'tertiary' | 'icon' | 'icon_small' = 'primary';\n @Input() color: ThemePalette = 'primary';\n @Input() label = '';\n @Input() disabled = false;\n @Input() small = false;\n @Input() icon?: string;\n\n @Output() buttonClicked = new EventEmitter();\n\n constructor(private readonly _trackingService: TrackingWrapperService) {\n super();\n }\n\n public click(): void {\n if (!this.disabled) {\n this._trackingService.addGTM(\n {\n eventCategory: 'elementClick',\n eventLabel: this.label,\n eventAction: 'buttonClick',\n },\n ['']\n );\n this.buttonClicked.emit(true);\n }\n }\n}\n","\n \n \n {{ icon }}\n {{ label }}\n \n \n \n {{ icon }}\n {{ label }}\n \n \n {{ icon }}\n \n \n\n \n \n {{ icon }}\n {{ label }}\n \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from './../icon/icon.module';\nimport { ButtonComponent } from './button.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatBadge } from '@angular/material/badge';\nimport { UiBadgeVerticallyCenteredDirective } from '@ista-ui/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule,\n MatIconModule,\n MatButtonModule,\n MatBadge,\n UiBadgeVerticallyCenteredDirective,\n ],\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n})\nexport class ButtonModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { ColorStyle } from 'shared/models/color-style.enum';\n\n@Component({\n selector: 'ista-daytona-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CardComponent {\n @Input() shouldAddOffsetTop = true;\n @Input() displayBoxShadow = false;\n @Input() minWidth = '0';\n @Input() colorStyle = ColorStyle.WHITE;\n}\n","\n
\n \n
\n\n","import { booleanAttribute, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { ThemePalette } from '@angular/material/core';\nimport { PipesModule } from 'shared/pipes/pipes.module';\n\n@Component({\n selector: 'ista-daytona-checkbox',\n templateUrl: './checkbox.component.html',\n imports: [NgClass, MatCheckbox, PipesModule],\n standalone: true,\n})\nexport class CheckboxComponent {\n @Input() dataQa = '';\n @Input() label = '';\n @Input() color: ThemePalette = 'primary';\n @Input({ transform: booleanAttribute }) indeterminate = false;\n @Input({ transform: booleanAttribute }) isChecked = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Output() update = new EventEmitter();\n\n public change(value: boolean): void {\n this.update.emit(value);\n }\n}\n","\n \n\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { booleanAttribute, Component, Input } from '@angular/core';\nimport {\n MatAccordion,\n MatExpansionPanel,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n} from '@angular/material/expansion';\nimport { NgClass, NgForOf } from '@angular/common';\nimport { PipesModule } from 'shared/pipes/pipes.module';\n\n@Component({\n selector: 'ista-daytona-content-card-open',\n templateUrl: './content-card-open.component.html',\n imports: [\n MatExpansionPanel,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatAccordion,\n NgForOf,\n NgClass,\n PipesModule,\n ],\n standalone: true,\n})\nexport class ContentCardOpenComponent {\n @Input() labels: string[] = [];\n @Input() content: string[] = [];\n @Input({ transform: booleanAttribute }) addBorder = true;\n public isOpened = false;\n\n public _setOpen = false;\n\n get setOpen(): boolean {\n return this._setOpen;\n }\n\n @Input() set setOpen(status: boolean) {\n this.isOpened = status;\n this._setOpen = status;\n }\n}\n","\n \n \n \n \n @if (content[labels.indexOf(label)]) {\n
\n

\n

\n
\n } @else {\n

\n \n

\n }\n
\n","import { Component, Input } from '@angular/core';\n\nimport { ColorStyle } from 'shared/models/color-style.enum';\nimport { IconType } from '../icon/icon-type.enum';\n\n@Component({\n selector: 'ista-daytona-content-card',\n templateUrl: './content-card.component.html',\n styleUrls: ['./content-card.component.scss'],\n})\nexport class ContentCardComponent {\n @Input() headline = '';\n @Input() text = '';\n @Input() showLinkText = true;\n @Input() linkTo = '';\n @Input() openNewWindow = false;\n @Input() colorStyle = ColorStyle.WHITE;\n public iconType = IconType;\n}\n","\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ista-daytona-content-offset',\n templateUrl: './content-offset.component.html',\n styleUrls: ['./content-offset.component.scss'],\n})\nexport class ContentOffsetComponent {}\n","
\n \n
\n","import { Component, EventEmitter, Output, TemplateRef, ViewChild } from '@angular/core';\n\nimport { DropdownPanel } from './dropdown-panel.interface';\n\n@Component({\n selector: 'ista-daytona-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n})\nexport class DropdownComponent implements DropdownPanel {\n @ViewChild(TemplateRef) templateRef!: TemplateRef;\n @Output() closed = new EventEmitter();\n\n onContainerClick(): void {\n this.closed.emit();\n }\n}\n","\n
\n
\n \n
\n
\n
\n","/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/member-ordering */\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport { fromEvent, merge, Observable, Subject, Subscription } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { DropdownPanel } from './dropdown-panel.interface';\n\n@Directive({\n selector: '[dropdownTriggerFor]',\n})\nexport class DropdownDirective implements OnDestroy {\n @Input() dropdownTriggerFor!: DropdownPanel;\n @Input() onDestroyCallback?: () => void;\n @Input() avoidClosing = false;\n\n @Input() set forceClosing(status: boolean) {\n if (status) {\n this.destroyDropdown();\n }\n }\n\n @HostListener('click', ['$event'])\n toggleDropdown(event: MouseEvent): void {\n event.stopPropagation(); // Verhindert das Auslösen von document:click Event\n if (!this.isDropdownOpen) {\n this.openDropdown();\n } else if (this.isDropdownOpen && this.avoidClosing) {\n this.destroyDropdown();\n }\n }\n\n private isDropdownOpen = false;\n private overlayRef!: OverlayRef;\n private dropdownClosingActionsSub = Subscription.EMPTY;\n private escapeKeySubscription: Subscription = Subscription.EMPTY;\n private boundDocumentClickListener = this.onDocumentClick.bind(this);\n private onDestroy = new Subject();\n\n constructor(\n private overlay: Overlay,\n private elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngOnDestroy(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n this.onDestroy.next();\n this.onDestroy.complete();\n document.removeEventListener('click', this.boundDocumentClickListener);\n }\n\n openDropdown(): void {\n this.isDropdownOpen = true;\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.close(),\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions([\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 8,\n },\n ]),\n });\n\n const templatePortal = new TemplatePortal(\n this.dropdownTriggerFor.templateRef,\n this.viewContainerRef\n );\n this.overlayRef.attach(templatePortal);\n\n this.dropdownClosingActionsSub = this.dropdownClosingActions().subscribe(() => {\n if (!this.avoidClosing) {\n this.destroyDropdown();\n }\n });\n\n this.escapeKeySubscription = fromEvent(document, 'keydown')\n .pipe(\n filter((event) => event.key === 'Escape'),\n takeUntil(this.onDestroy)\n )\n .subscribe(() => this.destroyDropdown());\n\n // Click event listener for document to close the dropdown when clicking outside\n document.addEventListener('click', this.boundDocumentClickListener);\n }\n\n private dropdownClosingActions(): Observable {\n const backdropClick$ = this.overlayRef.backdropClick();\n const detachment$ = this.overlayRef.detachments();\n const dropdownClosed = this.dropdownTriggerFor.closed;\n\n return merge(backdropClick$, detachment$, dropdownClosed);\n }\n\n private onDocumentClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n const clickedInside =\n this.elementRef.nativeElement.contains(target) ||\n this.overlayRef.overlayElement.contains(target);\n if (!clickedInside) {\n this.destroyDropdown();\n }\n }\n\n private destroyDropdown(): void {\n if (this.onDestroyCallback) {\n this.onDestroyCallback();\n }\n\n if (!this.overlayRef || !this.isDropdownOpen) {\n return;\n }\n\n this.dropdownClosingActionsSub.unsubscribe();\n this.escapeKeySubscription.unsubscribe();\n this.isDropdownOpen = false;\n this.overlayRef.detach();\n\n // Remove the document click listener when the dropdown is destroyed\n document.removeEventListener('click', this.boundDocumentClickListener);\n }\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DropdownComponent } from './dropdown.component';\nimport { DropdownDirective } from './dropdown.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [DropdownComponent, DropdownDirective],\n exports: [DropdownComponent, DropdownDirective],\n providers: [Overlay],\n})\nexport class DropdownModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { SelectItem } from '../select/select.interface';\n\n@Component({\n selector: 'ista-daytona-full-width-select',\n templateUrl: './full-width-select.component.html',\n styleUrls: ['./full-width-select.component.scss'],\n})\nexport class FullWidthSelectComponent {\n @Input() items: SelectItem[] = [];\n @Input() selectedItem = 0;\n @Output() selectedItemChange = new EventEmitter();\n\n public onSelectChange(itemId: number): void {\n const value = this.items?.find((item) => item.id === itemId) || this.items[0];\n this.selectedItemChange.emit(value);\n }\n}\n","
\n \n \n {{ item.name }} \n \n \n
\n","export enum IconType {\n EYE_OPEN = 'visibility',\n EYE_CLOSE = 'visibility_off',\n CLOSE = 'close',\n SEARCH = 'search',\n ARROW_RIGHT = 'chevron_right',\n ARROW_DOWN = 'keyboard_arrow_down',\n ARROW_RIGHT_LONG = 'ease',\n DONE = 'done',\n CHECK = 'check',\n WARNING = 'warning',\n}\n","import { Component, Input } from '@angular/core';\n\nimport { IconType } from './icon-type.enum';\n\n@Component({\n selector: 'ista-daytona-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n})\nexport class IconComponent {\n @Input() iconType!: IconType | string;\n public _iconType = IconType;\n}\n","\n \n {{ iconType }}\n \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [IconComponent],\n exports: [IconComponent],\n})\nexport class IconModule {}\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { debounceTime, ReplaySubject, skip, takeUntil } from 'rxjs';\n\nimport { DestroyAbstractService } from 'shared/helper/destroy-abstract.service';\nimport { InputHeight, InputTypes } from '../input/input-types.enum';\nimport { InputComponent } from '../input/input.component';\n\n@Component({\n selector: 'ista-daytona-input-search',\n templateUrl: './input-search.component.html',\n})\nexport class InputSearchComponent extends DestroyAbstractService implements OnInit {\n @ViewChild('inputField') inputField!: InputComponent;\n @Input() debounce: number | undefined;\n @Input() placeholder = '';\n @Output() searchInput = new EventEmitter();\n @Output() deleteButtonClicked = new EventEmitter(false);\n public inputHeight = InputHeight;\n public inputType = InputTypes;\n public searchStr = '';\n public filterSearchStr$ = new ReplaySubject();\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.filterSearchStr$\n .pipe(skip(1), debounceTime(this.debounce ? this.debounce : 250), takeUntil(this._onDestroy$))\n .subscribe((searchStr) => this.searchInput.emit(searchStr));\n }\n\n public onInputChange(searchStr: string): void {\n this.filterSearchStr$.next(searchStr);\n }\n}\n","\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { InputModule } from '../input/input.module';\nimport { InputSearchComponent } from './input-search.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, InputModule],\n declarations: [InputSearchComponent],\n exports: [InputSearchComponent],\n})\nexport class InputSearchModule {}\n","export enum InputTypes {\n PWD = 'password',\n TEXT = 'text',\n VALUE = 'value',\n SEARCH = 'search',\n NUMBER = 'number',\n}\n\nexport enum InputHeight {\n NORMAL = 'normal',\n SMALL = 'small',\n}\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { UtilHelper } from '../../../helper/util-helper';\nimport { BaseInputComponent } from '../../base-input/base-input.component';\nimport { Unit } from '../../../models/unit.enum';\nimport { IconType } from '../icon/icon-type.enum';\nimport { InputHeight, InputTypes } from './input-types.enum';\n\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n@Component({\n selector: 'ista-daytona-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line no-use-before-define\n useExisting: forwardRef(() => InputComponent),\n multi: true,\n },\n ],\n})\nexport class InputComponent extends BaseInputComponent implements AfterViewInit {\n @Input() autocomplete = true;\n @Input() placeholder = '';\n @Input() type: InputTypes = InputTypes.TEXT;\n @Input() isInvalid = false;\n @Input() invalidText = '';\n @Input() name!: string;\n @Input() autofocus = false;\n @Input() classes = '';\n @Input() inputHeight = InputHeight.NORMAL;\n @Output() setFocus = new EventEmitter(false);\n @Output() setBlur = new EventEmitter(false);\n @Output() setEnter = new EventEmitter(false);\n @Output() deleteButtonClicked = new EventEmitter(false);\n @ViewChild('input') myInputField!: ElementRef;\n public inputTypes = InputTypes;\n public isFocused = false;\n public pwdType: InputTypes = InputTypes.PWD;\n public readonly iconType = IconType;\n public readonly _inputHeight = InputHeight;\n public transformedUnit!: string;\n\n get setInputFocus(): boolean {\n return this.isFocused;\n }\n\n @Input() set setInputFocus(value: boolean) {\n if (this.myInputField && !!value) {\n this.myInputField.nativeElement.focus();\n }\n this.isFocused = value;\n }\n\n @Input() set initialValue(value: string) {\n // Since this is an initial value, do not update if\n // there is a value in the input element already\n if (value && !this.value) {\n this.value = value;\n }\n }\n\n private _unit!: Unit;\n\n get unit(): Unit {\n return this._unit;\n }\n\n @Input() set unit(value: Unit) {\n this._unit = value;\n this.transformedUnit = UtilHelper.getUnitEnumValue(value);\n }\n\n public get pattern(): string {\n if (this.type === InputTypes.NUMBER) {\n return '^d+(,d{1,2})?$';\n }\n\n return '';\n }\n\n public get inputValue(): string {\n switch (this.type) {\n case this.inputTypes.PWD:\n return this.pwdType;\n default:\n return 'text';\n }\n }\n\n @HostListener('keydown.enter')\n onKeydownHandler(): void {\n this.setEnter.emit(true);\n }\n\n ngAfterViewInit(): void {\n if (this.autofocus) {\n this.myInputField?.nativeElement?.focus();\n }\n }\n\n public deleteValue(event: Event): void {\n this.deleteButtonClicked.emit(true);\n event.preventDefault();\n this.value = '';\n this.isFocused = true;\n this.myInputField?.nativeElement?.focus();\n }\n\n public showPwd(): void {\n this.pwdType = InputTypes.TEXT;\n }\n\n public hidePwd(): void {\n this.pwdType = InputTypes.PWD;\n }\n\n public onBlur(): void {\n this.isFocused = false;\n this.setFocus.emit(false);\n this.setBlur.emit(true);\n }\n\n public onFocus(): void {\n this.isFocused = true;\n this.setFocus.emit(true);\n this.setBlur.emit(false);\n }\n\n public hasActionButton(): boolean {\n return (\n (this.type === this.inputTypes.PWD ||\n this.type === this.inputTypes.SEARCH ||\n (this.type === this.inputTypes.TEXT && !!this.value && !!this.isFocused)) &&\n !this.unit\n );\n }\n\n public hasDeleteButton(): boolean {\n return (\n !!this.value &&\n !!this.isFocused &&\n (this.type === this.inputTypes.TEXT || this.type === this.inputTypes.SEARCH) &&\n !this.unit\n );\n }\n}\n","
\n
\n \n
\n
\n \n \n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n
\n \n {{ invalidText }}\n \n
\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconModule } from './../icon/icon.module';\nimport { InputComponent } from './input.component';\n\n@NgModule({\n imports: [CommonModule, IconModule],\n declarations: [InputComponent],\n exports: [InputComponent],\n})\nexport class InputModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { MasterdataCardContentInterface } from 'app/features/portfolio/portfolio-site-masterdata/interfaces/masterdata-card-content.interface';\n\n@Component({\n selector: 'ista-daytona-masterdata-card',\n templateUrl: './key-value-card.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class KeyValueCardComponent {\n @Input() content: MasterdataCardContentInterface[] = [];\n}\n","
\n
\n {{ data.header | translate }}\n {{ data.value }}\n
\n
\n","import { ConsumptionTypes } from 'shared/models/consumption-types.interface';\nimport { Unit } from '../../../models/unit.enum';\nimport { AnalyticalCategories } from 'shared/interfaces/consumption-type-button.interface';\n\nexport type ConsumptionTypesExtended = ConsumptionTypes | 'all';\n\nexport type Page = 'dashboard' | 'portfolio' | 'all';\n\nexport interface ChartLabel {\n analyticalCategories: AnalyticalCategories;\n consumptionInfo: ConsumptionTypesExtended[];\n unit: Unit;\n}\n\nexport const LabelMapping: ChartLabel[] = [\n {\n analyticalCategories: 'emissions',\n consumptionInfo: [\n 'districtCooling',\n 'districtHeating',\n 'gas',\n 'heatingAndHotWater',\n 'electricity',\n 'hotWaterEnergy',\n 'oil',\n 'spaceHeatingEnergy',\n 'waste',\n 'water',\n 'all',\n 'heatingElectricity',\n 'bioMass',\n 'otherFuels',\n ],\n unit: Unit.EMISSION,\n },\n {\n analyticalCategories: 'costs',\n consumptionInfo: [\n 'districtCooling',\n 'districtHeating',\n 'gas',\n 'heatingAndHotWater',\n 'electricity',\n 'hotWaterEnergy',\n 'oil',\n 'spaceHeatingEnergy',\n 'waste',\n 'water',\n 'all',\n 'heatingElectricity',\n 'bioMass',\n 'otherFuels',\n ],\n unit: Unit.EUR,\n },\n {\n analyticalCategories: 'consumption',\n consumptionInfo: ['water'],\n unit: Unit.CBM,\n },\n {\n analyticalCategories: 'consumption',\n consumptionInfo: ['waste'],\n unit: Unit.KG,\n },\n {\n analyticalCategories: 'consumption',\n consumptionInfo: [\n 'districtCooling',\n 'districtHeating',\n 'gas',\n 'heatingAndHotWater',\n 'electricity',\n 'hotWaterEnergy',\n 'oil',\n 'spaceHeatingEnergy',\n 'heatingElectricity',\n 'bioMass',\n 'otherFuels',\n ],\n unit: Unit.KWH,\n },\n];\n","import { Component, Input, OnChanges } from '@angular/core';\n\nimport { UtilHelper } from 'shared/helper/util-helper';\nimport { ValueUnitService } from 'shared/helper/value-unit.service';\nimport { ValueItem } from 'shared/models/value-item.interface';\nimport { Unit, UnitFactor, UnitWithPrefix } from '../../../models/unit.enum';\nimport { LabelMapping } from './label-mapping';\nimport { LabelConfig } from './label.interface';\n\n@Component({\n selector: 'ista-daytona-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n})\nexport class LabelComponent implements OnChanges {\n @Input() config: LabelConfig = {\n consumptionTypes: 'all',\n };\n @Input() overwriteUnit!: Unit | UnitWithPrefix;\n @Input() selectedCurrency = Unit.EUR;\n public unitStr = '';\n private labelMapping = LabelMapping;\n\n ngOnChanges(): void {\n if (this.config) {\n let transformToString = true;\n const chartLabel = this.labelMapping.find(\n (item) =>\n item.analyticalCategories === this.config?.analyticalCategory &&\n item.consumptionInfo.includes(this.config?.consumptionTypes || 'all')\n );\n\n const value: ValueItem = {\n value: null,\n unit: chartLabel?.unit === Unit.EUR ? (this.selectedCurrency ) : chartLabel?.unit,\n };\n const transformedValueItem = ValueUnitService.getMappedValueByFactor(value, UnitFactor.K);\n\n if (value?.unit && this.config?.unitFactor) {\n const nextUnitPrefix = ValueUnitService.getNextUnitPrefix(\n value.unit,\n this.config.unitFactor\n );\n\n transformedValueItem.unitWithPrefix = nextUnitPrefix;\n transformToString = false;\n }\n\n if (!!transformToString) {\n this.unitStr = UtilHelper.getUnitEnumValue(transformedValueItem.unitWithPrefix || '');\n } else {\n this.unitStr = transformedValueItem.unitWithPrefix;\n }\n\n if (this.overwriteUnit) {\n this.unitStr = this.overwriteUnit;\n }\n }\n }\n}\n","

\n \n \n

\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { LabelComponent } from './label.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n declarations: [LabelComponent],\n exports: [LabelComponent],\n})\nexport class LabelModule {}\n","import { Component, Input } from '@angular/core';\nimport { MatProgressBar, ProgressBarMode } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'ista-daytona-bar',\n templateUrl: './bar.component.html',\n imports: [\n MatProgressBar,\n ],\n standalone: true,\n})\nexport class BarComponent {\n\n @Input() color = 'primary';\n @Input() barMode: ProgressBarMode = 'indeterminate';\n @Input() barSize = '';\n @Input() value = '0';\n}\n","\n","import { Component, Input } from '@angular/core';\nimport { MatProgressSpinner, ProgressSpinnerMode } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'ista-daytona-circle',\n templateUrl: './circle.component.html',\n imports: [\n MatProgressSpinner,\n ],\n standalone: true,\n})\nexport class CircleComponent {\n @Input() label = '';\n @Input() color = 'primary';\n @Input() diameter = '';\n @Input() value = '0';\n @Input() circleMode: ProgressSpinnerMode = 'indeterminate';\n}\n","
\n \n @if(label) {\n

\n }\n
\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { LoaderType } from './loader.interface';\nimport { BarComponent } from 'shared/ui/basic/loader/bar/bar.component';\nimport { CircleComponent } from 'shared/ui/basic/loader/circle/circle.component';\nimport { NgSwitch, NgSwitchCase } from '@angular/common';\nimport { ProgressBarMode } from '@angular/material/progress-bar';\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'ista-daytona-loader',\n templateUrl: './loader.component.html',\n imports: [BarComponent, CircleComponent, NgSwitch, NgSwitchCase],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoaderComponent {\n @Input() type = LoaderType.CIRCLE;\n @Input() label = '';\n @Input() color = 'primary';\n @Input() value = '0';\n @Input() diameter = '128';\n @Input() spinnerMode: ProgressSpinnerMode = 'indeterminate';\n @Input() SpinnerSize = '128';\n @Input() barMode: ProgressBarMode = 'indeterminate';\n @Input() barSize = '';\n public loaderType = LoaderType;\n}\n","@switch (type) {\n @case (loaderType.CIRCLE) {\n \n }\n @case (loaderType.BAR) {\n \n }\n}\n","export enum LoaderType {\n CIRCLE = 'circle',\n BAR = 'bar',\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { BarComponent } from './bar/bar.component';\nimport { CircleComponent } from './circle/circle.component';\nimport { LoaderComponent } from './loader.component';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { MatProgressBar } from '@angular/material/progress-bar';\n\n@NgModule({\n imports: [CommonModule, MatProgressSpinner, MatProgressBar, BarComponent, CircleComponent, LoaderComponent],\n declarations: [],\n exports: [LoaderComponent],\n})\nexport class LoaderModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { NgClass, NgForOf } from '@angular/common';\nimport { DirectivesModule } from 'shared/directives/directives.module';\nimport { SmallButtonDirective } from '@ista-ui/angular';\n\n@Component({\n selector: 'ista-daytona-pagination-alphabet',\n templateUrl: './pagination-alphabet.component.html',\n styleUrls: ['./pagination-alphabet.component.scss'],\n imports: [MatButton, NgClass, DirectivesModule, NgForOf, SmallButtonDirective],\n standalone: true,\n})\nexport class PaginationAlphabetComponent {\n @Input() activeLetters: string[] = [];\n @Output() clicked = new EventEmitter();\n public alphabet!: string[];\n\n constructor() {\n const alpha = Array.from(Array(26)).map((e, i) => i + 65);\n this.alphabet = alpha.map((x) => String.fromCharCode(x));\n }\n\n public clickedItem(value: string): void {\n this.clicked.emit(value.toLowerCase());\n }\n\n isLetterActive(value: string): boolean {\n return this.activeLetters.includes(value.toLowerCase());\n }\n}\n","
\n
\n @for (item of alphabet; track item) {\n \n {{ item }}\n \n }\n
\n
\n","/* eslint-disable @typescript-eslint/no-unsafe-argument */\n// import { FocusMonitor } from '@angular/cdk/a11y';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Component, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LoggerService } from 'shared/helper/logger.service';\nimport { BaseInputComponent } from '../../base-input/base-input.component';\nimport { MatRadioButton } from '@angular/material/radio';\nimport { ThemePalette } from '@angular/material/core';\nimport { NgClass } from '@angular/common';\n\n// import { MatRadioButton } from '@angular/material/radio';\n// import { NgOption } from '@ng-select/ng-select';\n\n@Component({\n selector: 'ista-daytona-radiobutton',\n templateUrl: './radiobutton.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line no-use-before-define\n useExisting: forwardRef(() => RadiobuttonComponent),\n multi: true,\n },\n ],\n imports: [\n MatRadioButton,\n NgClass,\n ],\n standalone: true,\n})\nexport class RadiobuttonComponent extends BaseInputComponent {\n @Output() statusChanged: EventEmitter = new EventEmitter();\n @Input() isSelected = false;\n @Input() infoText = '';\n @Input() labelId = '';\n @Input() hasError = false;\n @Input() isFocused = false;\n @Input() color: ThemePalette = 'primary';\n\n @ViewChild('matRadioButton') matRadioButton!: MatRadioButton;\n @ViewChild('matRadioButton', { read: ElementRef })\n matRadioButtonRef!: ElementRef;\n\n triggerEvents(): void {\n this.statusChanged.emit(true);\n }\n\n handleChange(): void {\n this.emitChangeEvent();\n this.blur();\n }\n\n private emitChangeEvent(): void {\n this.statusChanged.emit(true);\n }\n\n /**\n * Since our MatRadioButton instance is handling focus managment using a FocusMonitor, we have to\n * call the stopMonitoring method on the monitor instance.\n */\n private blur(): void {\n try {\n // eslint-disable-next-line @typescript-eslint/dot-notation\n (this.matRadioButton['_focusMonitor'] as FocusMonitor).stopMonitoring(\n this.matRadioButtonRef.nativeElement\n );\n } catch (error) {\n LoggerService.warn('Internal Angular Material API for FocusMonitor has changed!');\n }\n }\n}\n","
\n \n
\n @if(label) {\n \n }\n
\n \n
\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { BaseInputComponent } from '../../base-input/base-input.component';\nimport { SelectItem } from './select.interface';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'ista-daytona-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line no-use-before-define\n useExisting: forwardRef(() => SelectComponent),\n multi: true,\n },\n ],\n})\nexport class SelectComponent extends BaseInputComponent implements OnInit, OnDestroy {\n @Input() items: SelectItem[] = [];\n @Input() title = '';\n @Input() selected: number | undefined;\n @Input() icon = '';\n @Input() disabled = false;\n @Output() selectedItemChange = new EventEmitter();\n private destroy$ = new Subject();\n\n constructor(private translateService: TranslateService, private readonly cdr: ChangeDetectorRef) {\n super();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n ngOnInit(): void {\n // currently there is a bug, MatSelect doesn't work as expected with NgxTranslate Pipe\n // therefore I implemented a Workaround for the Labels\n this.translateService.onLangChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.items = this.items.map((item) => ({\n ...item,\n translatedName: this.translateService.instant(item.name) as string,\n }));\n });\n }\n\n public trackbyEnvId(index: number, item: SelectItem): number {\n return item.id;\n }\n\n public setValue(itemId: number): void {\n this.value = this.items?.find((item) => item.id === itemId) || this.items[0];\n this.selectedItemChange.emit(this.value);\n }\n}\n","
\n \n {{ title }}\n\n \n \n {{ icon }}\n
\n \n \n {{ (item.translatedName ?? item.name) | translate }}\n \n \n \n \n {{ 'common.select-placeholder' | translate }}\n \n\n","import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FilterTabItem } from '../../filter/filter-tab.interface';\n\n@Component({\n selector: 'ista-daytona-selection',\n templateUrl: './selection.component.html',\n})\nexport class SelectionComponent implements AfterViewInit {\n @Input() selections: FilterTabItem[] = [];\n @Output() selectTab = new EventEmitter();\n public selectedTab!: FilterTabItem;\n\n ngAfterViewInit(): void {\n this.selectedTab = this.selections[0];\n }\n\n public setSelectedTab(tab: FilterTabItem): void {\n this.selectedTab = tab;\n this.selectTab.emit(this.selectedTab);\n }\n}\n","\n @for(selection of selections; track selection) {\n \n {{ selection.label | translate }}\n \n }\n\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { TabInterface } from 'shared/ui/basic/tab/tab.interface';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\n\n@Component({\n selector: 'ista-daytona-tab',\n templateUrl: 'tab.component.html',\n styleUrls: ['tab.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabComponent {\n @Input() tabs: TabInterface[] = [];\n @Input() stretch = false;\n @Input() defaultSelectedTabIndex = 0;\n @Input() stickyStyle = false;\n @Output() selectedTabIndexChange = new EventEmitter();\n\n onTabChange({ index }: MatTabChangeEvent): void {\n this.selectedTabIndexChange.emit(index);\n }\n}\n","\n \n @for (tab of tabs; track tab.label) {\n \n \n @if (tab.icon) {\n @if (tab.icon.isSvgIcon) {\n \n \n } @else {\n {{ tab.icon.name }}\n \n }\n }\n @if (tab.label; as label) {\n {{ label | translate }}\n }\n \n \n }\n \n @if (!stretch) {\n
\n \n
\n }\n\n","import { NgModule } from '@angular/core';\nimport { TabComponent } from './tab.component';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgClass, NgForOf, NgIf } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [TabComponent],\n imports: [MatTabsModule, MatIconModule, NgForOf, NgIf, TranslateModule, NgClass],\n exports: [TabComponent],\n})\nexport class TabModule {}\n","import { Injectable } from '@angular/core';\nimport { MatPaginatorIntl } from '@angular/material/paginator';\nimport { TranslateService } from '@ngx-translate/core';\nimport { distinctUntilChanged, first, Subject, takeUntil } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { selectSelectedLanguage } from 'core/+state/core.selectors';\n\n@Injectable()\nexport class MyCustomPaginatorIntl implements MatPaginatorIntl {\n changes = new Subject();\n destroy$ = new Subject();\n\n public publicitemsPerPageLabel = this.translationService.instant(\n 'paginator.itemsPerPageLabel'\n ) as string;\n public nextPageLabel = this.translationService.instant('paginator.nextPageLabel') as string;\n public previousPageLabel = this.translationService.instant(\n 'paginator.previousPageLabel'\n ) as string;\n public firstPageLabel = this.translationService.instant('paginator.firstPageLabel') as string;\n public lastPageLabel = this.translationService.instant('paginator.lastPageLabel') as string;\n public itemsPerPageLabel = this.translationService.instant(\n 'paginator.itemsPerPageLabel'\n ) as string;\n\n constructor(\n private readonly translationService: TranslateService,\n private readonly ngrxStore: Store\n ) {\n this.ngrxStore\n .select(selectSelectedLanguage)\n .pipe(distinctUntilChanged(), takeUntil(this.destroy$))\n .subscribe(() => {\n this.setPaginatorTranslatedLabel();\n });\n }\n\n setPaginatorTranslatedLabel(): void {\n this.translationService\n .get([\n 'paginator.itemsPerPageLabel',\n 'paginator.nextPageLabel',\n 'paginator.previousPageLabel',\n 'paginator.firstPageLabel',\n 'paginator.lastPageLabel',\n ])\n .pipe(first())\n .subscribe((translations) => {\n this.itemsPerPageLabel = translations['paginator.itemsPerPageLabel'] as string;\n this.nextPageLabel = translations['paginator.nextPageLabel'] as string;\n this.previousPageLabel = translations['paginator.previousPageLabel'] as string;\n this.firstPageLabel = translations['paginator.firstPageLabel'] as string;\n this.lastPageLabel = translations['paginator.lastPageLabel'] as string;\n this.changes.next();\n });\n }\n\n public getRangeLabel(page: number, pageSize: number, length: number): string {\n const amountPages = length > 0 ? Math.ceil(length / pageSize) : 1;\n return this.translationService.instant('paginator.page', {\n current: page + 1,\n amount: amountPages,\n }) as string;\n }\n}\n","import { inject } from '@angular/core';\nimport { UtilHelper } from 'shared/helper/util-helper';\nimport { ValueItem } from 'shared/models/value-item.interface';\nimport { FormatNumberPipe } from 'shared/pipes/format-number.pipe';\n\nimport { TransformedValueItem, Unit } from '../../../models/unit.enum';\nimport { TableValueType } from './table-type.interface';\nimport { TableRow } from './table.interface';\nimport { nullValueDisplay } from 'core/constants';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\nexport class TableBaseComponent {\n private readonly formatNumberPipe!: FormatNumberPipe;\n\n constructor() {\n this.formatNumberPipe = inject(FormatNumberPipe);\n }\n\n public getCreatedValueItem(value: null | string | number | ValueItem | undefined): ValueItem {\n const result: ValueItem = {\n value: null,\n unit: Unit.DEFAULT,\n };\n if (value === null || value === undefined) {\n return result;\n }\n\n if (typeof value === 'string') {\n result.value = parseFloat(value);\n } else if (typeof value === 'number') {\n result.value = value;\n } else if (value !== null) {\n result.value = value?.value;\n result.unit = value?.unit;\n }\n\n return result;\n }\n\n public getFormattedValue(\n value: string | number | ValueItem | TransformedValueItem | null | undefined\n ): string | null {\n if (value === null || value === undefined) {\n return '';\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n if (typeof value === 'number') {\n return (this.formatNumberPipe.transform(value)?.value || '')?.toString();\n }\n\n if (!value?.value || value.value === null) {\n return nullValueDisplay;\n }\n\n if (this.isValueItem(value)) {\n return `${\n this.formatNumberPipe.transform(value?.value)?.value?.toString() || ''\n } ${UtilHelper.getUnitEnumValue(value.unit || '')}`;\n }\n\n return `${\n this.formatNumberPipe.transform(value?.value)?.value?.toString() || ''\n } ${value?.unitWithPrefix || ''}`;\n }\n\n public trackById(index: number, item: TableRow): string {\n return item.columns[0].value as string;\n }\n\n public getTableValueType(value: unknown): TableValueType {\n if (value === null || value === undefined || value === 'na') {\n return 'na';\n }\n\n if (this.isValueItem(value as ValueItem)) {\n return 'valueItem';\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n return 'single';\n }\n\n return 'na';\n }\n\n private isValueItem(value: ValueItem | TransformedValueItem): value is ValueItem {\n return (value as ValueItem).unit !== undefined;\n }\n}\n","import { AfterViewInit, Component, Input, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\n\nimport { TableBaseComponent } from './table-base.class';\nimport {\n TabelDataGenericType,\n TableDataGeneric,\n TableDataGenericItem,\n TableHeader,\n} from './table.interface';\nimport { DeepLinkingIds } from 'core/deep-linking/deep-linking.interface';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n})\nexport class TableComponent extends TableBaseComponent implements AfterViewInit {\n @Input() header!: TableHeader[];\n @ViewChild(MatPaginator) paginator!: MatPaginator;\n public dataSource!: MatTableDataSource | undefined;\n protected readonly DeepLinkingIds = DeepLinkingIds;\n\n constructor() {\n super();\n }\n\n private _data: TableDataGeneric[] = [];\n\n get data(): TableDataGeneric[] {\n return this._data;\n }\n\n @Input() set data(tableData: TableDataGeneric[]) {\n this._data = tableData;\n this.configTableElements();\n }\n\n private _filter = '';\n\n get filter(): string {\n return this._filter;\n }\n\n @Input() set filter(value: string) {\n this._filter = value;\n if (this.dataSource) {\n this.dataSource.filter = value.trim().toLowerCase();\n this.dataSource.paginator?.firstPage();\n }\n }\n\n public get headerLabels(): string[] {\n return this.header?.filter((item) => item.id).map((item) => item.id || '') || [];\n }\n\n ngAfterViewInit(): void {\n if (this.dataSource) {\n this.dataSource.paginator = this.paginator;\n }\n }\n\n public getRow(index: string, data: TableDataGeneric): TableDataGenericItem {\n return data[index];\n }\n\n public configTableElements(): void {\n try {\n this.dataSource = new MatTableDataSource();\n if (this.data?.length > 0) {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.paginator = this.paginator;\n this.dataSource.filterPredicate = (data: TableDataGeneric, filter: string): boolean => {\n let found = false;\n Object.keys(data).forEach((key) => {\n const value: TabelDataGenericType = data[key].value;\n if (value !== null && !found) {\n if (typeof value === 'string') {\n found = value.toLowerCase().includes(filter);\n } else if (typeof value === 'number') {\n found = value.toString().includes(filter);\n }\n }\n });\n return found;\n };\n }\n } catch (error) {\n console.error('Error in configTableElements', error);\n }\n }\n\n public getHeaderItem(index: string): TableHeader {\n return this.header.find((item) => item.id === index) || { label: '' };\n }\n}\n","@if (dataSource) {\n
\n \n \n \n \n \n \n \n @if (item[column]?.value?.value) {\n \n } @else {\n \n }\n \n \n\n \n
\n \n
\n
\n \n \n\n
\n \n
\n \n @if (headerItem.icon; as icon) {\n @if (icon.isSvgIcon) {\n \n } @else {\n {{ icon.name }}\n }\n }\n \n \n
\n
\n} @else {\n \n}\n\n\n","import { CommonModule, DecimalPipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';\nimport { MatTableModule } from '@angular/material/table';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { DirectivesModule } from '../../../directives/directives.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { TooltipModule } from '../tooltip/tooltip.module';\nimport { ValueUnitModule } from '../value-unit/value-unit.module';\nimport { MyCustomPaginatorIntl } from './mat-paginator-intl';\nimport { TableComponent } from './table.component';\nimport { IstaTableDirective } from '@ista-ui/angular';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { MatIcon } from '@angular/material/icon';\nimport { DeepLinkingSenderDirective } from 'core/deep-linking/deep-linking-sender.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n LoaderModule,\n TranslateModule,\n ValueUnitModule,\n MatTableModule,\n MatPaginatorModule,\n DirectivesModule,\n IstaTableDirective,\n PipesModule,\n MatIcon,\n DeepLinkingSenderDirective,\n ],\n declarations: [TableComponent],\n providers: [DecimalPipe, { provide: MatPaginatorIntl, useClass: MyCustomPaginatorIntl }],\n exports: [TableComponent],\n})\nexport class TableModule {}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { BaseInputComponent } from '../../base-input/base-input.component';\n\n@Component({\n selector: 'ista-daytona-textarea',\n templateUrl: './textarea.component.html',\n styleUrls: ['./textarea.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line no-use-before-define\n useExisting: forwardRef(() => TextareaComponent),\n multi: true,\n },\n ],\n})\nexport class TextareaComponent extends BaseInputComponent {\n @Input() classes = '';\n\n constructor() {\n super();\n }\n}\n","
\n
\n \n
\n \n
\n","import { Component, Input, TemplateRef } from '@angular/core';\nimport { TooltipPosition, TooltipTheme } from 'shared/ui/basic/tooltip/interface';\n\n@Component({\n selector: 'ista-daytona-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n})\nexport class TooltipComponent {\n /**\n * This provides finer control on the content to be visible on the tooltip This template will be\n * injected in ToolTipRenderer directive in the consumer template \n * content..... \n */\n @Input() contentTemplate!: TemplateRef;\n @Input() context: any;\n @Input() theme: TooltipTheme = 'dark';\n @Input() position: TooltipPosition = 'top';\n}\n","\n \n\n","import {\n ConnectedPosition,\n Overlay,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n inject,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef,\n} from '@angular/core';\n\nimport { TooltipComponent } from './tooltip.component';\nimport { debounceTime, filter, fromEvent, Subject, takeUntil, tap } from 'rxjs';\nimport { TooltipPosition } from 'shared/ui/basic/tooltip/interface';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Directive({\n selector: '[customToolTip]',\n})\nexport class ToolTipRendererDirective implements OnInit, OnDestroy {\n /** This will be used to show tooltip or not This can be used to show the tooltip conditionally */\n @Input() showToolTip = true;\n @Input() theme: 'dark' | 'light' = 'dark';\n\n // If this is specified then specified template will be rendered in the tooltip\n @Input() contentTemplate!: TemplateRef;\n @Input() context: any;\n\n // for now, it has no effect, we should clean it up\n // @TODO cleanup\n @Input() position: ConnectedPosition | undefined;\n\n // for now, top and bottom, left and right should be implemented\n @Input() tooltipPosition: TooltipPosition = 'top';\n\n private overlayRef!: OverlayRef;\n private overlay = inject(Overlay);\n private overlayPositionBuilder = inject(OverlayPositionBuilder);\n private elementRef = inject(ElementRef);\n private destroy$ = new Subject();\n\n private shouldShowTooltip = true;\n\n /** Init life cycle event handler */\n ngOnInit(): void {\n if (!this.showToolTip) {\n return;\n }\n\n // you can take the position as an input to adjust the position\n // , for now, it will show at the bottom always; but you can adjust your code as per your need\n const positionStrategy = this.overlayPositionBuilder\n .flexibleConnectedTo(this.elementRef)\n .withPositions([this.getPositionDependsOnDirection()]);\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n //\n\n /**\n * This method will be called whenever the Mouse enters the Host element i.e. where this directive\n * is applied This method will show the tooltip by instantiating the CustomToolTipComponent and\n * attaching to the overlay\n */\n @HostListener('mouseenter')\n show(): void {\n // attach the component if it has not already attached to the overlay\n if (this.overlayRef && !this.overlayRef.hasAttached()) {\n const tooltipRef: ComponentRef = this.overlayRef.attach(\n new ComponentPortal(TooltipComponent)\n );\n tooltipRef.instance.contentTemplate = this.contentTemplate;\n tooltipRef.instance.theme = this.theme;\n /* eslint-disable @typescript-eslint/no-unsafe-assignment */\n tooltipRef.instance.context = this.context;\n tooltipRef.instance.position = this.tooltipPosition;\n const tooltipHostElement = this.overlayRef.overlayElement;\n this.shouldShowTooltip = true;\n this.registerMouseEnterOnOverlay(tooltipHostElement);\n this.registerMouseleave(tooltipHostElement);\n this.registerMouseleave(this.elementRef.nativeElement as HTMLElement);\n }\n }\n\n /** Destroy lifecycle event handler This method will make sure to close the tooltip */\n ngOnDestroy(): void {\n this.closeToolTip();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getPositionDependsOnDirection(): ConnectedPosition {\n switch (this.tooltipPosition) {\n case 'bottom':\n return {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 8,\n };\n default: {\n return {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -8,\n };\n }\n }\n }\n\n private registerMouseleave(htmlElement: HTMLElement): void {\n fromEvent(htmlElement, 'mouseleave')\n .pipe(\n tap(() => (this.shouldShowTooltip = false)),\n debounceTime(100), // give Time for mouseEnter on the Overlay\n filter(() => !this.shouldShowTooltip),\n tap(() => this.closeToolTip()),\n takeUntil(this.destroy$)\n )\n .subscribe();\n }\n\n private registerMouseEnterOnOverlay(overlay: HTMLElement): void {\n fromEvent(overlay, 'mouseenter')\n .pipe(\n tap(() => (this.shouldShowTooltip = true)),\n takeUntil(this.destroy$)\n )\n .subscribe();\n }\n\n /** This method will close the tooltip by detaching the component from the overlay */\n private closeToolTip(): void {\n if (this.overlayRef) {\n this.overlayRef.detach();\n }\n }\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TooltipComponent } from './tooltip.component';\nimport { ToolTipRendererDirective } from './tooltip.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TooltipComponent, ToolTipRendererDirective],\n exports: [TooltipComponent, ToolTipRendererDirective],\n providers: [Overlay],\n})\nexport class TooltipModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { UtilHelper } from 'shared/helper/util-helper';\nimport { ValueItem } from 'shared/models/value-item.interface';\nimport { FormatNumberPipe } from 'shared/pipes/format-number.pipe';\nimport { TransformedValueItem, Unit, UnitWithPrefix } from '../../../models/unit.enum';\nimport { naValueDisplay, nullValueDisplay } from 'core/constants';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-value-unit',\n templateUrl: './value-unit.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ValueUnitComponent {\n @Input() classContainer!: string;\n @Input() classValue!: string;\n @Input() classUnit!: string;\n @Input() overwriteUnit!: UnitWithPrefix;\n public nullValueDisplay = nullValueDisplay;\n private transformedValue!: TransformedValueItem;\n\n constructor(\n private readonly formatNumberPipe: FormatNumberPipe,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n private _value!: ValueItem | undefined | null;\n\n get value(): ValueItem | undefined | null {\n return this._value;\n }\n\n @Input() set value(val: ValueItem | undefined | null) {\n this._value = val;\n this.cdr.detectChanges();\n }\n\n private _displayValue = true;\n\n get displayValue(): boolean {\n return this._displayValue;\n }\n\n @Input() set displayValue(value: boolean) {\n this._displayValue = value;\n if (!value) {\n this.nullValueDisplay = naValueDisplay;\n this.cdr.markForCheck();\n }\n }\n\n public getTransformedValue(): TransformedValueItem {\n // @todo: caching transformedValue\n if (this.value) {\n this.transformedValue = this.formatNumberPipe.transform(this.value.value, this.value.unit);\n }\n\n if (this.overwriteUnit) {\n this.transformedValue.unitWithPrefix = this.overwriteUnit;\n }\n\n return this.transformedValue;\n }\n\n public getFormatNumberDigits(): string {\n if (\n this.transformedValue !== undefined &&\n this.transformedValue !== null &&\n this.transformedValue.value !== undefined &&\n this.transformedValue.value !== null &&\n this.transformedValue.value > -9 &&\n this.transformedValue.value < 9\n ) {\n if (Math.abs(this.transformedValue?.value).toString().length === 1) {\n return '1.0-0';\n }\n return '1.1-1';\n }\n\n return '1.0-0';\n }\n\n public getEnumValue(unit: Unit): string {\n const key = unit as string;\n return UtilHelper.getUnitEnumValue(key);\n }\n}\n","
\n \n  \n \n
\n\n\n
\n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ValueUnitComponent } from './value-unit.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ValueUnitComponent],\n exports: [ValueUnitComponent],\n})\nexport class ValueUnitModule {}\n","import {\n afterRender,\n AfterRenderPhase,\n AfterRenderRef,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport { BreadcrumbComponent, BreadcrumbItem, DividerStyle } from '@ista-ui/angular';\nimport { DirectivesModule } from 'shared/directives/directives.module';\nimport { AsyncPipe } from '@angular/common';\nimport { BreadcrumbStore } from 'shared/ui/breadcrumb-navigation/breadcrumb.store';\nimport { delay } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'ista-daytona-breadcrumb-navigation',\n standalone: true,\n imports: [BreadcrumbComponent, DirectivesModule, AsyncPipe],\n templateUrl: './breadcrumb-navigation.component.html',\n styleUrls: ['./breadcrumb-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BreadcrumbNavigationComponent implements AfterViewInit, OnDestroy {\n @Input({ transform: booleanAttribute }) isSticky = false;\n selectBreadcrumbItems$ = this.breadcrumbsStore.selectBreadcrumbItems$;\n selectIsScrollVisible$ = this.breadcrumbsStore.selectIsScrollVisible$;\n afterRenderRef?: AfterRenderRef;\n protected readonly DividerStyle = DividerStyle;\n private destroyRef = inject(DestroyRef);\n\n constructor(private breadcrumbsStore: BreadcrumbStore, private el: ElementRef) {\n this.afterRenderRef = afterRender(\n () => {\n const items = this.breadcrumbsStore.getBreadcrumbItems();\n this.addDataCyAttributes(items);\n },\n { phase: AfterRenderPhase.Write }\n );\n }\n\n ngOnDestroy(): void {\n if (this.afterRenderRef) {\n this.afterRenderRef.destroy();\n }\n }\n\n ngAfterViewInit(): void {\n this.selectBreadcrumbItems$\n .pipe(delay(100), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.setScrollToEnd());\n }\n\n private addDataCyAttributes(items: BreadcrumbItem[]): void {\n if (this.el) {\n const elements: HTMLDivElement[] = Array.from(\n this.el.nativeElement.querySelectorAll('.breadcrumb-comp .overflow > div.items-center')\n );\n items.forEach((item, index) => {\n if (elements[index]) {\n elements[index].dataset['cy'] = item.title;\n }\n });\n }\n }\n\n private setScrollToEnd(): void {\n if (this.el) {\n const overflowWrapper = this.el.nativeElement.querySelector(\n '.breadcrumb-comp .overflow'\n ) as HTMLDivElement;\n if (overflowWrapper) {\n this.breadcrumbsStore.updateScrollWidth(overflowWrapper.scrollWidth);\n overflowWrapper.scrollLeft = overflowWrapper.scrollWidth;\n }\n }\n }\n}\n","@if (selectBreadcrumbItems$ | async; as items) {\n
\n
\n \n \n
\n
\n}\n\n","import { Injectable } from '@angular/core';\nimport { BreadcrumbItem } from '@ista-ui/angular';\nimport { BreadcrumbStore } from 'shared/ui/breadcrumb-navigation/breadcrumb.store';\n\n@Injectable()\nexport class BreadcrumbNavigationService {\n constructor(private breadcrumbsStore: BreadcrumbStore) {}\n\n addItems(items: BreadcrumbItem[]): void {\n this.breadcrumbsStore.addBreadcrumbItems(items);\n }\n\n resetToRootAndAddItems(items: BreadcrumbItem[]): void {\n this.breadcrumbsStore.resetToRootAndAddItems(items);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ComponentStore, OnStoreInit } from '@ngrx/component-store';\nimport { BreadcrumbItem } from '@ista-ui/angular';\nimport {\n selectRouteBreadcrumbTitle,\n selectRouteUrlWithoutQueryParams,\n} from 'app/+state/router/reduced-route.selectors';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { combineLatest, distinctUntilChanged, filter, mergeMap, Observable, takeUntil } from 'rxjs';\nimport { BREADCRUMB_MAX_WIDTH } from 'shared/ui/breadcrumb-navigation/constants';\nimport { TranslateService } from '@ngx-translate/core';\n\nexport interface BreadCrumbsState {\n items: BreadcrumbItem[];\n scrollWidth: number;\n}\n\n@Injectable()\nexport class BreadcrumbStore extends ComponentStore implements OnStoreInit {\n readonly addBreadcrumbItems = this.updater(\n (state: BreadCrumbsState, items: BreadcrumbItem[]) => ({\n ...state,\n items: [...state.items, ...items.filter((item) => item.title !== undefined)],\n })\n );\n\n readonly resetToRootAndAddItems = this.updater(\n (state: BreadCrumbsState, items: BreadcrumbItem[]) => {\n const rootItem = state.items.length ? state.items[0] : undefined;\n const filteredItems = items.filter((item) => item.title !== undefined);\n return {\n ...state,\n items: rootItem ? [rootItem, ...filteredItems] : [...filteredItems],\n };\n }\n );\n\n readonly updateScrollWidth = this.updater((state, scrollWidth: number) => ({\n ...state,\n scrollWidth,\n }));\n\n readonly setBreadcrumbItems = this.updater(\n (state: BreadCrumbsState, items: BreadcrumbItem[]) => ({\n ...state,\n items: (state.items = items),\n })\n );\n\n readonly selectBreadcrumbItems$ = this.select((state) => state.items);\n\n readonly selectIsScrollVisible$ = this.select(\n (state) => state.scrollWidth > BREADCRUMB_MAX_WIDTH,\n {\n equal: (a, b) => a === b,\n debounce: true,\n }\n );\n\n constructor(\n private readonly ngrxStore: Store,\n private translateService: TranslateService\n ) {\n super({ items: [], scrollWidth: 0 });\n }\n\n getBreadcrumbItems(): BreadcrumbItem[] {\n return this.get().items;\n }\n\n ngrxOnStoreInit(): void {\n combineLatest([\n this.ngrxStore.select(selectRouteBreadcrumbTitle).pipe(\n filter(Boolean),\n mergeMap((title) => this.translateService.stream(title) as Observable)\n ),\n this.ngrxStore.select(selectRouteUrlWithoutQueryParams),\n ])\n .pipe(\n distinctUntilChanged(\n ([oldTitle, oldUrl], [newTitle, newUrl]) => newTitle === oldTitle && oldUrl === newUrl\n ),\n takeUntil(this.destroy$)\n )\n .subscribe(([title, url]) => {\n const route = url.split('/')[1];\n this.setBreadcrumbItems([{ title, route: `${route}` }]);\n });\n }\n}\n","export const BREADCRUMB_MAX_WIDTH = 320;\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'ista-daytona-card-headline',\n templateUrl: 'card-headline.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule],\n})\nexport class CardHeadlineComponent {\n @Input({ required: true }) label!: string;\n @Input() customClass?: string;\n}\n","

\n {{ label | translate }}\n

\n","import { Component, Input } from '@angular/core';\nimport * as _ from 'lodash';\n\nimport { ValueUnitService } from '../../helper/value-unit.service';\nimport { LabelConfig } from '../basic/label/label.interface';\nimport { FilterDateRange } from '../filter/filter-tab.interface';\nimport { TransformedValueItem, UnitFactor, UnitWithPrefix } from '../../models/unit.enum';\nimport { ChartItem } from './chart.interface';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({ template: '' })\nexport class AbstractChartComponent {\n public transformedValue!: TransformedValueItem;\n public transformedData: ChartItem[] = [];\n public transformedUnit!: UnitWithPrefix;\n public unitFactor = UnitFactor.K;\n\n private _data: ChartItem[] = [];\n\n get data(): ChartItem[] {\n return this._data;\n }\n\n @Input() set data(value: ChartItem[]) {\n if (!_.isEqual(value, this.data)) {\n this._data = value;\n this._refreshData();\n }\n }\n\n private _selectedYear: FilterDateRange = { from: '', until: '' };\n\n get selectedYear(): FilterDateRange {\n return this._selectedYear;\n }\n\n @Input() set selectedYear(year: FilterDateRange | undefined) {\n if (\n year &&\n (this._selectedYear.from !== year?.from || this._selectedYear.until !== year?.until)\n ) {\n this._selectedYear = year;\n this._refreshData();\n }\n }\n\n private _labelConfig: LabelConfig = {\n consumptionTypes: 'unknown',\n analyticalCategory: 'consumption',\n unitFactor: this.unitFactor,\n };\n\n get labelConfig(): LabelConfig {\n return this._labelConfig;\n }\n\n @Input() set labelConfig(config: LabelConfig) {\n this._labelConfig = { ..._.cloneDeep(config), unitFactor: this.unitFactor };\n }\n\n public _refreshData(): void {\n const tempData = _.cloneDeep(this.data);\n\n if (tempData && tempData.length > 0) {\n this.transformedData = tempData?.map((item) => {\n if (item) {\n item.data = item.data?.map((itemData) => {\n const temp = ValueUnitService.getMappedValueByFactor(itemData.values, this.unitFactor);\n\n this.transformedUnit = temp.unitWithPrefix || this.transformedUnit;\n return {\n ...itemData,\n values: { value: temp.value, unit: itemData.values?.unit },\n };\n });\n }\n return item;\n });\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport * as _ from 'lodash';\n\nimport { ValueUnitService } from '../../helper/value-unit.service';\nimport { LabelConfig } from '../basic/label/label.interface';\nimport { FilterDateRange } from '../filter/filter-tab.interface';\nimport { TransformedValueItem, UnitFactor, UnitWithPrefix } from '../../models/unit.enum';\nimport { MultipleChartItem } from './chart.interface';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({ template: '' })\nexport class AbstractMultiChartComponent {\n @Input() overwriteColor: string[] = [];\n @Input() overwriteLabels: string[] = [];\n public transformedValue!: TransformedValueItem;\n public transformedData: MultipleChartItem = {};\n public transformedUnit!: UnitWithPrefix;\n public unitFactor = UnitFactor.ONE;\n\n private _data!: MultipleChartItem;\n\n get data(): MultipleChartItem {\n return this._data;\n }\n\n @Input() set data(value: MultipleChartItem) {\n if (!_.isEqual(value, this.data)) {\n this._data = value;\n this._refreshData();\n }\n }\n\n private _selectedYear: FilterDateRange = { from: '', until: '' };\n\n get selectedYear(): FilterDateRange {\n return this._selectedYear;\n }\n\n @Input() set selectedYear(year: FilterDateRange | undefined) {\n if (\n year &&\n (this._selectedYear.from !== year?.from || this._selectedYear.until !== year?.until)\n ) {\n this._selectedYear = year;\n this._refreshData();\n }\n }\n\n private _labelConfig: LabelConfig = {\n consumptionTypes: 'unknown',\n analyticalCategory: 'consumption',\n unitFactor: this.unitFactor,\n };\n\n get labelConfig(): LabelConfig {\n return this._labelConfig;\n }\n\n @Input() set labelConfig(config: LabelConfig) {\n this._labelConfig = { ..._.cloneDeep(config), unitFactor: this.unitFactor };\n }\n\n public _refreshData(): void {\n if (this.data !== undefined && this.data !== null) {\n Object.keys(this.data).forEach((key) => {\n const tempData = _.cloneDeep(this.data[key]);\n\n if (tempData && tempData.length > 0) {\n this.transformedData[key] = tempData?.map((item) => {\n if (item) {\n item.data = item.data?.map((itemData) => {\n const temp = ValueUnitService.getMappedValueByFactor(\n itemData.values,\n this.unitFactor\n );\n\n this.transformedUnit = temp.unitWithPrefix || this.transformedUnit;\n return {\n ...itemData,\n values: { value: temp.value, unit: itemData.values?.unit },\n };\n });\n }\n return item;\n });\n }\n });\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { UtilHelper } from 'shared/helper/util-helper';\nimport { AnalyticalCategories } from 'shared/interfaces/consumption-type-button.interface';\nimport { ValueItem } from 'shared/models/value-item.interface';\nimport { CardHeaderConfig } from 'shared/models/card-header-config.interface';\nimport { FilterDateRange } from '../../filter/filter-tab.interface';\nimport { Unit } from 'shared/models/unit.enum';\nimport { ChartItem, ChartItemData } from '../chart.interface';\nimport { BalanceChartConfig } from './balance-chart-config.interface';\nimport { IconValueLabel } from 'shared/ui/icon-value-label/icon-value-label.interface';\nimport { DashboardHelper } from 'app/features/dashboard/utils/dashboard-helper';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-balance-chart',\n templateUrl: './balance-chart.component.html',\n styleUrls: ['./balance-chart.component.scss'],\n})\nexport class BalanceChartComponent {\n @Input() barChartData!: ChartItem[];\n @Input() analyticalCategories!: AnalyticalCategories | undefined;\n public filteredChartData: ChartItem[] = [];\n public totalSumChartData!: ChartItem;\n public doughnutConfig!: CardHeaderConfig;\n private _filteredResultTypes: string[] = ['heatingAndHotWater', 'electricity', 'water', 'waste'];\n private _balanceChartData!: ChartItem[];\n\n get doughnutChartData(): ChartItem[] {\n return this._balanceChartData;\n }\n\n @Input() set doughnutChartData(value: ChartItem[]) {\n this._balanceChartData = value;\n this.filteredChartData = this._balanceChartData?.filter((item) =>\n this._filteredResultTypes.includes(item.label)\n );\n this._transformTotalSumChartItems();\n this._setConfig();\n }\n\n private _selectedYear!: FilterDateRange;\n\n get selectedYear(): FilterDateRange {\n return this._selectedYear;\n }\n\n @Input() set selectedYear(value: FilterDateRange | undefined) {\n if (value) {\n this._selectedYear = value;\n this._transformTotalSumChartItems();\n this._setConfig();\n }\n }\n\n private _config!: BalanceChartConfig;\n\n get config(): BalanceChartConfig | undefined {\n return this._config;\n }\n\n @Input() set config(value: BalanceChartConfig | undefined) {\n if (value) {\n this._config = value;\n this._setConfig();\n }\n }\n\n // @TODO this can be calculated in Selectors\n public getValueItem(data: ChartItemData[]): { value?: number | null; unit: string } {\n const foundItem = data?.find((item) => item.year === this.selectedYear?.from)?.values;\n\n return {\n value: foundItem?.value,\n unit: UtilHelper.getUnitEnumValue(foundItem?.unit || Unit.DEFAULT),\n };\n }\n\n // @TODO Move Later to Dashboard Selectors and Extend The Component to get it as Input\n toIconValueLabel(items: ChartItem[]): IconValueLabel[] {\n return items.map((item) => {\n const val = this.getValueItem(item.data);\n\n return DashboardHelper.chartItemToIconValueLabel(item, val);\n });\n }\n\n private _transformTotalSumChartItems(): void {\n const totalSum = this._balanceChartData?.find((item) => item.label === 'totalSum');\n\n if (totalSum) {\n this.totalSumChartData = {\n ...totalSum,\n data: this.getDisplayedBars(totalSum.data),\n };\n }\n }\n\n private getDisplayedBars(data: ChartItemData[]): ChartItemData[] {\n const index = data?.findIndex((item) => item.year === this.selectedYear?.from);\n\n const start = index - 2 >= 0 ? index - 2 : 0;\n let end = index < 0 ? 0 : index + 1;\n if (start === 0) {\n end = 3;\n }\n\n return data.slice(start, end);\n }\n\n private _setConfig(): void {\n const foundConfig = this.doughnutChartData?.find((item) => item.label === 'totalSum');\n if (foundConfig) {\n const value: ValueItem | undefined = foundConfig?.data?.find(\n (dataItem) => dataItem.year === this.selectedYear?.from\n )?.values;\n this.doughnutConfig = {\n label: Math.floor(value?.value || 0).toString(),\n unit: value?.unit || Unit.DEFAULT,\n };\n }\n }\n}\n","
\n
\n
\n
\n \n
\n
\n

\n {{ 'charts.balance-distribution-media' | translate }}\n

\n
\n @if (filteredChartData.length) {\n @for (filteredChartDataItem of toIconValueLabel(filteredChartData); track filteredChartDataItem.label) {\n \n }\n }\n
\n
\n
\n
\n
\n

\n {{ 'charts.balance-compare-prev-years' | translate }}\n

\n \n
\n
\n","import { ColorHelper } from 'shared/helper/color-helper';\nimport { externalTooltipHandler } from 'shared/ui/chart/tooltip/custom-external-tooltip';\nimport { ChartOptions } from 'chart.js';\n\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable object-shorthand */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nexport const BarChartOptions: ChartOptions = {\n plugins: {\n legend: {\n display: false,\n labels: {\n boxHeight: 16,\n boxWidth: 16,\n color: ColorHelper.get('label'),\n padding: 24,\n font: {\n size: 14,\n family: 'TheSansE5-Plain',\n },\n },\n },\n tooltip: {\n callbacks: {\n // label: function (context: any) {\n // let label = context.dataset.label || '';\n // if (label) {\n // label += ': ';\n // }\n // if (context.parsed.y !== null) {\n // label += new Intl.NumberFormat('en-US', {\n // style: 'currency',\n // currency: 'USD',\n // }).format(context.parsed.y as number);\n // }\n // return label;\n // },\n // labelColor: function () {\n // return {\n // borderColor: '#181c42',\n // backgroundColor: '#181c42',\n // borderWidth: 1,\n // borderRadius: 6,\n // color: '#fff',\n // boxShadow: '0px 2px 10px rgba(24, 28, 66, 0.4)',\n // };\n // },\n // labelTextColor: function () {\n // return '#fff';\n // },\n },\n enabled: false,\n external: externalTooltipHandler,\n position: 'nearest',\n }\n },\n responsive: true,\n aspectRatio: 1,\n maintainAspectRatio: false,\n layout: {},\n // categoryPercentage: 1,\n // barPercentage: 0.5,\n /* dataset: {\n categoryPercentage: 1,\n barPercentage: 0.5,\n },*/\n scales: {\n x: {\n grid: {\n color: ColorHelper.get('grid'),\n drawTicks: false,\n },\n ticks: {\n color: ColorHelper.get('label'),\n padding: 16,\n font: {\n family: 'TheSansE5-SemiBold',\n size: 14,\n },\n },\n // offset = 0 Abstände zwischen den scales, aber dafür kein Abstand am Rand\n // offset: 20,\n },\n y: {\n grid: { color: ColorHelper.get('grid'), drawTicks: false },\n ticks: {\n color: ColorHelper.get('label'),\n padding: 16,\n font: {\n family: 'TheSansE5-SemiBold',\n size: 14,\n },\n },\n },\n },\n};\n","import { Component, Input } from '@angular/core';\nimport { ChartConfiguration, ChartType } from 'chart.js';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { BarChartOptions } from './bar-chart-options';\nimport { BarChartMapper } from 'shared/ui/chart/bar-chart/bar-chart.mapper';\n\n@Component({\n selector: 'ista-daytona-bar-chart',\n templateUrl: './bar-chart.component.html',\n styleUrls: ['./bar-chart.component.scss'],\n})\nexport class BarChartComponent extends AbstractChartComponent {\n @Input() unitLabel!: string | undefined;\n @Input() label?: string;\n public barChartData!: ChartConfiguration['data'];\n public barChartOptions = BarChartOptions;\n public barType: ChartType = 'bar';\n\n constructor() {\n super();\n }\n\n public override _refreshData(): void {\n super._refreshData();\n this.barChartData = BarChartMapper.chartItemToDoughnutChart(this.transformedData[0]);\n }\n}\n","
\n \n
\n

\n \n

\n","import { ChartItem } from '../chart.interface';\nimport { DoughnutChart, DoughnutChartDataset } from '../doughnut-chart/doughnut-chart.interface';\nimport { ColorHelper } from 'shared/helper/color-helper';\n\nexport class BarChartMapper {\n static chartItemToDoughnutChart(data: ChartItem): DoughnutChart {\n try {\n let datasetValue: DoughnutChartDataset = {\n data: [],\n backgroundColor: [],\n hoverBackgroundColor: [],\n borderWidth: 0,\n barThickness: 24,\n };\n let labels: string[] = [];\n if (Array.isArray(data?.data)) {\n datasetValue = data.data.reduce(\n (previousValue, currentValue) => ({\n ...previousValue,\n data: [...previousValue.data, currentValue.values?.value || 0],\n backgroundColor: [...previousValue.backgroundColor, ColorHelper.get('co2-full') || ''],\n hoverBackgroundColor: [\n ...(previousValue.hoverBackgroundColor ?? []),\n ColorHelper.get('co2-full') || '',\n ],\n }),\n datasetValue\n );\n labels = data.data.map((item) => item.year);\n }\n\n return {\n datasets: [datasetValue],\n labels,\n };\n } catch (e) {\n console.error('chartItemToDoughnutChart', e);\n return {\n datasets: [],\n labels: [],\n };\n }\n }\n}\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ista-daytona-bar-horizontal-chart-mini',\n templateUrl: './bar-horizontal-chart-mini.component.html',\n styleUrls: ['./bar-horizontal-chart-mini.component.scss'],\n})\nexport class BarHorizontalChartMiniComponent {\n @Input() color = '#000';\n @Input() minLabel = '<12';\n @Input() maxLabel = '<=52';\n @Input() label = 'kg CO₂/m²/a';\n @Input() title = '';\n public dividers = new Array(9);\n public maxValue = 0;\n public displayData: number[] = [];\n\n private _data: number[] = [];\n\n get data(): number[] {\n return this._data;\n }\n\n @Input() set data(value: number[]) {\n this._data = value;\n this.setDisplayData();\n }\n\n public setDisplayData(): void {\n this.maxValue = Math.max(...this._data) + 5;\n this.displayData = this._data.map((value) => (value / this.maxValue) * 100);\n }\n\n public getLeftPadding(index: number): number {\n const max = 100;\n const paddingLeft = 4;\n const frame = max / this.data.length;\n return index * frame + paddingLeft;\n }\n\n getRoundedValue(valueIndex: number): number {\n const value = this._data[valueIndex] ?? 0;\n return Math.floor(value);\n }\n}\n","
\n
\n\n
\n
\n
{{ label }}
\n
\n
\n","import { ColorHelper } from 'shared/helper/color-helper';\nimport { ChartOptions } from 'chart.js';\nimport { externalTooltipHandler } from 'shared/ui/chart/tooltip/custom-external-tooltip';\n\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable object-shorthand */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n\ntype IndexAxis = 'y' | 'x';\nconst iAxis: IndexAxis = 'y';\n\nexport const BarHorizontalChartOptions: ChartOptions = {\n plugins: {\n legend: {\n display: false,\n labels: {\n boxHeight: 16,\n boxWidth: 16,\n color: ColorHelper.get('label'),\n padding: 24,\n font: {\n size: 14,\n family: 'TheSansE5-Plain',\n },\n },\n },\n datalabels: {\n display: false,\n },\n tooltip: {\n enabled: false,\n external: externalTooltipHandler,\n position: 'nearest',\n }\n },\n aspectRatio: 1,\n maintainAspectRatio: false,\n indexAxis: iAxis,\n responsive: true,\n scales: {\n x: {\n grid: {\n color: ColorHelper.get('grid'),\n drawTicks: false,\n },\n ticks: {\n color: ColorHelper.get('label'),\n padding: 16,\n font: {\n family: 'TheSansE5-SemiBold',\n size: 14,\n },\n },\n },\n y: {\n grid: { color: ColorHelper.get('grid'), drawTicks: false },\n ticks: {\n padding: 16,\n font: {\n family: 'TheSansE5-SemiBold',\n size: 14,\n },\n color: ColorHelper.get('label'),\n },\n },\n },\n};\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { ChartConfiguration, ChartType } from 'chart.js';\nimport * as _ from 'lodash';\n\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartItem } from '../chart.interface';\nimport { BarHorizontalChartOptions } from './bar-horizontal-chart-options';\nimport { BarHorizontalChartService } from 'shared/ui/chart/bar-horizontal-chart/bar-horizontal-chart.service';\nimport { ChartHelperService } from 'shared/ui/chart/chart-helper.service';\nimport { Store } from '@ngrx/store';\nimport { RootState } from '../../../../+state/app.reducer';\nimport { selectEnvironmentSettingsCurrency } from '../../../../core/+state/core.selectors';\nimport { tap } from 'rxjs';\n\n// this Component needs to be refactored, then write unittest\n@Component({\n selector: 'ista-daytona-bar-horizontal-chart',\n templateUrl: './bar-horizontal-chart.component.html',\n styleUrls: ['./bar-horizontal-chart.component.scss'],\n providers: [ChartHelperService, BarHorizontalChartService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BarHorizontalChartComponent extends AbstractChartComponent {\n @Input() label = '';\n @Input() displayFilterButtons = true;\n selectSelectedCurrency$ = this.ngrxStore\n .select(selectEnvironmentSettingsCurrency)\n .pipe(tap(console.log));\n public barChartData!: ChartConfiguration['data'];\n public barChartOptions = BarHorizontalChartOptions;\n public barType: ChartType = 'bar';\n\n constructor(\n private readonly ref: ChangeDetectorRef,\n private barHorizontalChartService: BarHorizontalChartService,\n private readonly ngrxStore: Store\n ) {\n super();\n }\n\n private _selectedFilter!: ChartItem;\n\n // @Input() labelConfig!: LabelConfig;\n get selectedFilter(): ChartItem {\n return this._selectedFilter;\n }\n\n @Input() set selectedFilter(data: ChartItem | undefined) {\n if (data && !_.isEqual(data, this._selectedFilter)) {\n this._selectedFilter = data;\n this._refreshData();\n }\n }\n\n public override _refreshData(): void {\n super._refreshData();\n const chartData = this.barHorizontalChartService.getBarChartData(\n this.transformedData,\n this.selectedFilter?.value || this.selectedFilter?.label,\n this.selectedYear\n );\n\n if (!_.isEqual(chartData, this.barChartData)) {\n this.barChartData = _.cloneDeep(chartData);\n // this.ref.detectChanges();\n this.ref.markForCheck();\n }\n }\n}\n","
\n \n
\n\n","import { Injectable } from '@angular/core';\nimport { ChartItem } from '../chart.interface';\nimport { FilterDateRange } from '../../filter/filter-tab.interface';\nimport { ChartConfiguration } from 'chart.js';\nimport { HeatingDisplayAllExcludeChilds } from 'shared/models/heating.type';\nimport { ChartHelperService } from '../chart-helper.service';\nimport { ALL_LABEL, heatingValueLabel } from 'shared/constants';\nimport { ChartHelper } from 'shared/helper/chart-helper';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable()\nexport class BarHorizontalChartService {\n constructor(\n private chartHelperService: ChartHelperService,\n private translateService: TranslateService\n ) {}\n getBarChartData(\n data: ChartItem[],\n filterBy: string,\n selectedYear: FilterDateRange\n ): ChartConfiguration['data'] {\n try {\n const datasets: any[] = [];\n let selectedYearlabels: string[] = [];\n\n if (data && selectedYear) {\n selectedYearlabels = data[0]?.data\n .filter((item) => item.year >= selectedYear.from && item.year <= selectedYear.until)\n .map((item) => item.year);\n\n let displayData = data?.filter((item) => item.value === filterBy || filterBy === ALL_LABEL);\n if (filterBy === ALL_LABEL) {\n displayData = data?.filter(\n (item) =>\n HeatingDisplayAllExcludeChilds.includes(item.value || item.label) &&\n !ChartHelper.areAllDataValuesUndefined(item.data) &&\n item.value !== heatingValueLabel\n );\n }\n\n displayData?.forEach((item) => {\n datasets.push(\n this.chartHelperService.getDataSetSkeleton(\n ChartHelper.getValueByFilterDates(item.data, selectedYearlabels),\n this.translateService.instant(item.label || item.value || '') as string,\n item.color\n )\n );\n });\n }\n\n return {\n datasets,\n labels: selectedYearlabels,\n };\n } catch (e) {\n console.error('getBarChartData', e);\n return {\n datasets: [],\n labels: [],\n };\n }\n }\n}\n","import { ColorHelper } from 'shared/helper/color-helper';\nimport { ChartOptions } from 'chart.js';\nimport { externalTooltipHandler } from 'shared/ui/chart/tooltip/custom-external-tooltip';\n\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable object-shorthand */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n\ntype IndexAxis = 'y' | 'x';\nconst iAxis: IndexAxis = 'y';\n\nexport const BarHorizontalMultiChartOptions: ChartOptions = {\n plugins: {\n legend: {\n display: false,\n labels: {\n boxHeight: 16,\n boxWidth: 16,\n color: ColorHelper.get('label'),\n padding: 24,\n font: {\n size: 14,\n family: 'TheSansE5-Plain',\n },\n },\n },\n tooltip: {\n enabled: false,\n external: externalTooltipHandler,\n position: 'nearest',\n }\n // labels: {\n // display: false,\n // },\n },\n aspectRatio: 1,\n maintainAspectRatio: false,\n indexAxis: iAxis,\n responsive: true,\n // categoryPercentage: 1.0,\n // barPercentage: 0.8,\n scales: {\n x: {\n grid: {\n drawTicks: false,\n color: ColorHelper.get('grid'),\n },\n ticks: {\n color: ColorHelper.get('label'),\n padding: 16,\n font: {\n family: 'TheSansE5-SemiBold',\n size: 14,\n },\n },\n grace: '5%',\n },\n y: {\n grid: { drawTicks: false, color: ColorHelper.get('grid') },\n ticks: {\n color: ColorHelper.get('label'),\n padding: 16,\n font: {\n family: 'TheSansE5-SemiBold',\n size: 14,\n },\n },\n },\n },\n};\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { ChartConfiguration, ChartType } from 'chart.js';\nimport * as _ from 'lodash';\n\nimport { UnitWithPrefix } from '../../../models/unit.enum';\nimport { AbstractMultiChartComponent } from '../abstract-multi-chart.component';\nimport { ChartItem } from '../chart.interface';\nimport { BarHorizontalMultiChartOptions } from './bar-horizontal-multi-chart-options';\nimport {\n BarHorizontalMultiChartService,\n} from 'shared/ui/chart/bar-horizontal-multi-chart/bar-horizontal-multi-chart.service';\nimport { ChartHelperService } from 'shared/ui/chart/chart-helper.service';\n\n@Component({\n selector: 'ista-daytona-bar-horizontal-multi-chart',\n templateUrl: './bar-horizontal-multi-chart.component.html',\n styleUrls: ['./bar-horizontal-multi-chart.component.scss'],\n providers: [ChartHelperService, BarHorizontalMultiChartService],\n})\nexport class BarHorizontalMultiChartComponent extends AbstractMultiChartComponent {\n @Input() label = '';\n @Input() displayFilterButtons = true;\n public barChartData!: ChartConfiguration['data'];\n public barChartOptions = BarHorizontalMultiChartOptions;\n public barType: ChartType = 'bar';\n public overwriteUnit!: UnitWithPrefix;\n\n constructor(\n private readonly ref: ChangeDetectorRef,\n private barHorizontalMultiChartService: BarHorizontalMultiChartService\n ) {\n super();\n }\n\n private _selectedFilter!: ChartItem;\n\n // @Input() labelConfig!: LabelConfig;\n get selectedFilter(): ChartItem {\n return this._selectedFilter;\n }\n\n @Input() set selectedFilter(data: ChartItem | undefined) {\n if (data && !_.isEqual(data, this._selectedFilter)) {\n this._selectedFilter = data;\n this.overwriteUnit = UnitWithPrefix.EMISSION_KG_PER_SQM;\n this._refreshData();\n }\n }\n\n public override _refreshData(): void {\n super._refreshData();\n const chartData = {\n ...this.barHorizontalMultiChartService.getMultiBarChartData(\n this.transformedData,\n this.selectedFilter?.value || this.selectedFilter?.label,\n this.selectedYear,\n this.overwriteColor,\n this.overwriteLabels\n ),\n };\n if (!_.isEqual(chartData, this.barChartData)) {\n this.barChartData = _.cloneDeep(chartData);\n this.ref.detectChanges();\n }\n }\n}\n","
\n
\n \n
\n \n \n
\n","import { Injectable } from '@angular/core';\nimport { MultipleChartItem } from '../chart.interface';\nimport { FilterDateRange } from '../../filter/filter-tab.interface';\nimport { ChartConfiguration } from 'chart.js';\nimport { ChartHelperService } from '../chart-helper.service';\nimport { ChartHelper } from 'shared/helper/chart-helper';\n\n@Injectable()\nexport class BarHorizontalMultiChartService {\n constructor(private chartHelperService: ChartHelperService) {}\n\n getMultiBarChartData(\n multipleData: MultipleChartItem,\n filterBy: string,\n selectedYear: FilterDateRange,\n overwriteColor: string[],\n overwriteLabels: string[]\n ): ChartConfiguration['data'] {\n try {\n const datasets: any[] = [];\n let selectedYearlabels: string[] = [];\n\n let index = 0;\n Object.keys(multipleData).forEach((key) => {\n const data = multipleData[key];\n if (data && selectedYear) {\n selectedYearlabels = data[0]?.data\n .filter((item) => item.year >= selectedYear.from && item.year <= selectedYear.until)\n .map((item) => item.year);\n\n const displayData = data?.filter((item) => item.value === filterBy);\n displayData?.forEach((item) => {\n datasets.push(\n this.chartHelperService.getDataSetSkeleton(\n ChartHelper.getValueByFilterDates(item.data, selectedYearlabels),\n overwriteLabels[index] || item.label || item.value || '',\n overwriteColor[index] || item.color,\n 0.5,\n 0.8\n )\n );\n });\n }\n index++;\n });\n\n return {\n datasets,\n labels: selectedYearlabels,\n };\n } catch (e) {\n console.error('getMultiBarChartData', e);\n return {\n datasets: [],\n labels: [],\n };\n }\n }\n}\n","import { ColorHelper } from 'shared/helper/color-helper';\nimport { externalTooltipHandler } from 'shared/ui/chart/tooltip/custom-external-tooltip';\nimport { ChartOptions } from 'chart.js';\n\n/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable prefer-arrow/prefer-arrow-functions */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable object-shorthand */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n\ntype IndexAxis = 'y' | 'x';\nconst iAxis: IndexAxis = 'y';\n\nexport const BarHorizontalStackedChartOptions: ChartOptions = {\n plugins: {\n legend: {\n display: false,\n labels: {\n boxHeight: 16,\n boxWidth: 16,\n color: ColorHelper.get('label'),\n padding: 24,\n font: {\n size: 14,\n family: 'TheSansE5-SemiBold',\n },\n },\n },\n datalabels: {\n display: false,\n },\n tooltip: {\n enabled: false,\n external: externalTooltipHandler,\n position: 'nearest',\n }\n },\n aspectRatio: 1,\n maintainAspectRatio: false,\n indexAxis: iAxis,\n responsive: true,\n scales: {\n x: {\n stacked: true,\n grid: {\n color: ColorHelper.get('grid'),\n drawTicks: false,\n },\n ticks: {\n padding: 16,\n font: {\n family: 'TheSansE5-SemiBold',\n size: 14,\n },\n color: ColorHelper.get('label'),\n },\n },\n y: {\n stacked: true,\n grid: { color: ColorHelper.get('grid'), drawTicks: false },\n ticks: {\n padding: 16,\n font: {\n family: 'TheSansE5-SemiBold',\n size: 14,\n },\n color: ColorHelper.get('label'),\n },\n },\n },\n};\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { ChartConfiguration, ChartType } from 'chart.js';\nimport * as _ from 'lodash';\n\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartItem } from '../chart.interface';\nimport { BarHorizontalStackedChartOptions } from './bar-horizontal-stacked-chart-options';\nimport {\n BarHorizontalStackedChartService,\n} from 'shared/ui/chart/bar-horizontal-stacked-chart/bar-horizontal-stacked-chart.service';\nimport { ChartHelperService } from 'shared/ui/chart/chart-helper.service';\nimport { Store } from '@ngrx/store';\nimport { RootState } from '../../../../+state/app.reducer';\nimport { selectEnvironmentSettingsCurrency } from '../../../../core/+state/core.selectors';\n\n// this Component needs to be refactored, then write unittest\n\n@Component({\n selector: 'ista-daytona-bar-horizontal-stacked-chart',\n templateUrl: './bar-horizontal-stacked-chart.component.html',\n styleUrls: ['./bar-horizontal-stacked-chart.component.scss'],\n providers: [ChartHelperService, BarHorizontalStackedChartService],\n})\nexport class BarHorizontalStackedChartComponent extends AbstractChartComponent {\n @Input() label = '';\n @Input() displayFilterButtons = true;\n public barChartData!: ChartConfiguration['data'];\n public barChartOptions = BarHorizontalStackedChartOptions;\n public barType: ChartType = 'bar';\n selectSelectedCurrency$ = this.ngrxStore.select(selectEnvironmentSettingsCurrency);\n\n constructor(\n private readonly ref: ChangeDetectorRef,\n private barHorizontalStackedChartService: BarHorizontalStackedChartService,\n private readonly ngrxStore: Store\n ) {\n super();\n }\n\n private _selectedFilter!: ChartItem;\n\n // @Input() labelConfig!: LabelConfig;\n get selectedFilter(): ChartItem {\n return this._selectedFilter;\n }\n\n @Input() set selectedFilter(data: ChartItem | undefined) {\n if (data && !_.isEqual(data, this._selectedFilter)) {\n this._selectedFilter = data;\n this._refreshData();\n }\n }\n\n private _selectedStackedFilter!: ChartItem[];\n\n get selectedStackedFilter(): ChartItem[] {\n return this._selectedStackedFilter;\n }\n\n @Input() set selectedStackedFilter(value: ChartItem[]) {\n if (!_.isEqual(value, this._selectedStackedFilter)) {\n this._selectedStackedFilter = value;\n this._refreshData();\n }\n }\n\n public override _refreshData(): void {\n super._refreshData();\n if (this.selectedStackedFilter) {\n const chartData = this.barHorizontalStackedChartService.getBarStackedChartData(\n this.transformedData,\n this.selectedStackedFilter.map((item) => item.value ?? item.label),\n this.selectedYear\n );\n\n if (!_.isEqual(chartData, this.barChartData)) {\n this.barChartData = _.cloneDeep(chartData);\n this.ref.markForCheck();\n }\n }\n }\n}\n","
\n \n
\n\n\n","import { Injectable } from '@angular/core';\nimport { ChartConfiguration } from 'chart.js';\nimport { ChartHelper } from 'shared/helper/chart-helper';\nimport { ColorHelper } from 'shared/helper/color-helper';\n\nimport { FilterDateRange } from '../../filter/filter-tab.interface';\nimport { ChartHelperService } from '../chart-helper.service';\nimport { ChartItem } from '../chart.interface';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable()\nexport class BarHorizontalStackedChartService {\n constructor(\n private chartHelperService: ChartHelperService,\n private translateService: TranslateService\n ) {}\n getBarStackedChartData(\n data: ChartItem[],\n filterBy: string[],\n selectedYear: FilterDateRange\n ): ChartConfiguration['data'] {\n try {\n const datasets: any[] = [];\n let selectedYearlabels: string[] = [];\n\n if (data && selectedYear) {\n selectedYearlabels = data[0]?.data\n .filter((item) => item.year >= selectedYear.from && item.year <= selectedYear.until)\n .map((item) => item.year);\n\n const displayData = data?.filter((item) => filterBy.includes(item.value || item.label));\n\n displayData\n ?.filter(\n (item) => item.data.length && item.data.some((dataItem) => dataItem.values.value)\n )\n .forEach((item) => {\n datasets.push(\n this.chartHelperService.getDataSetSkeleton(\n ChartHelper.getValueByFilterDates(item.data, selectedYearlabels),\n this.translateService.instant(item.label || item.value || '') as string,\n ColorHelper.get(item.value || item.label.replace('types.', '')) || item.color\n )\n );\n });\n }\n\n return {\n datasets,\n labels: selectedYearlabels,\n };\n } catch (e) {\n console.error('getBarStackedChartData', e);\n return {\n datasets: [],\n labels: [],\n };\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { BenchmarkingEmissionBalance } from 'app/features/benchmarking/benchmarking.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BenchmarkingChartHelperService {\n public static getXLabels(\n benchmarkingEmissionData: BenchmarkingEmissionBalance,\n emissionIndex: string\n ): string[] {\n return benchmarkingEmissionData[emissionIndex]?.pots?.map((item) => {\n if (item.lowerLimit === null) {\n return `< ${item.upperLimit || '?'}`;\n }\n\n if (item.upperLimit === null) {\n return `> ${item.lowerLimit || '?'}`;\n }\n\n return `${item.lowerLimit}-${item.upperLimit}`;\n });\n }\n\n public static getPotIndex(\n benchmarkingEmissionData: BenchmarkingEmissionBalance,\n emissionIndex: string\n ): number {\n const averageValue = benchmarkingEmissionData[emissionIndex]?.average?.value;\n\n return benchmarkingEmissionData[emissionIndex]?.pots.findIndex((item) => {\n if (averageValue !== null) {\n if (item.lowerLimit === null && item.upperLimit !== null) {\n return averageValue <= item.upperLimit;\n }\n\n if (item.lowerLimit !== null && item.upperLimit === null) {\n return averageValue >= item.lowerLimit;\n }\n\n if (item.lowerLimit !== null && item.upperLimit !== null) {\n return averageValue >= item.lowerLimit && averageValue <= item.upperLimit;\n }\n }\n return false;\n });\n }\n\n // public static getDataMarkerSkeleton(\n // item: number[]\n // ): ChartDataset<\n // keyof ChartTypeRegistry,\n // (number | ScatterDataPoint | BubbleDataPoint | null)[]\n // >[] {\n // return {\n // label: 'top',\n // data: item,\n // pointRadius: 10,\n // showLine: false,\n // pointStyle: 'triangle',\n // type: 'line',\n // backgroundColor: 'rgba(0, 119, 290, 0.2)',\n // borderColor: 'rgba(0, 119, 290, 0.6)',\n // fill: false,\n // };\n // }\n}\n","import { Component, Input } from '@angular/core';\nimport {\n BubbleDataPoint,\n ChartConfiguration,\n ChartDataset,\n ChartType,\n ChartTypeRegistry,\n ScatterDataPoint,\n} from 'chart.js';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\n\nimport { BenchmarkingEmissionBalance } from 'app/features/benchmarking/benchmarking.interface';\nimport { ColorHelper } from 'shared/helper/color-helper';\nimport { UnitWithPrefix } from 'shared/models/unit.enum';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { BarChartOptions } from '../bar-chart/bar-chart-options';\nimport { BenchmarkingChartHelperService } from './benchmarking-chart-helper.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-benchmarking-chart',\n templateUrl: './benchmarking-chart.component.html',\n styleUrls: ['./benchmarking-chart.component.scss'],\n})\nexport class BenchmarkingChartComponent extends AbstractChartComponent {\n @Input() labels: string[] = [];\n @Input() userPortfolioSelectedGroupName = '';\n @Input() marketPortfolioSelectedGroupName = '';\n public barChartData!: ChartConfiguration['data'];\n public barChartOptions = BarChartOptions;\n public barType: ChartType = 'bar';\n public chartPlugins = [ChartDataLabels];\n public overwriteUnit = UnitWithPrefix.EMISSION_KG_PER_SQM;\n private averageLabels: string[] = [\n 'benchmarking.legend-portfolio',\n 'benchmarking.legend-marktportfolio',\n ];\n\n constructor(private translateService: TranslateService) {\n super();\n }\n\n private _benchmarkingEmissionData!: BenchmarkingEmissionBalance;\n\n get benchmarkingEmissionData(): BenchmarkingEmissionBalance {\n return this._benchmarkingEmissionData;\n }\n\n @Input() set benchmarkingEmissionData(benchmarkingEmissionData: BenchmarkingEmissionBalance) {\n this._benchmarkingEmissionData = benchmarkingEmissionData;\n if (benchmarkingEmissionData) {\n this.transformPotsToDatasets(benchmarkingEmissionData);\n }\n }\n\n public override _refreshData(): void {\n super._refreshData();\n // this.barChartData = ChartHelperService.getChartData(\n // this.transformedData[0]\n // );\n }\n\n public getTransformedBarChartData(): ChartConfiguration['data'] {\n return {\n labels: this?.barChartData?.labels,\n datasets: Array.isArray(this?.barChartData?.datasets)\n ? [...this?.barChartData?.datasets].slice(2)\n : [],\n };\n }\n\n getTranslatedGroupName(groupName: string): string {\n return groupName ? (this.translateService.instant(groupName) as string) : groupName;\n }\n\n private transformPotsToDatasets(benchmarkingEmissionData: BenchmarkingEmissionBalance): void {\n let labels: string[] = [];\n const potsLen = benchmarkingEmissionData.benchmark.pots.length;\n const dataMarker: any[] = [];\n\n const datasets: ChartDataset<\n keyof ChartTypeRegistry,\n (number | ScatterDataPoint | BubbleDataPoint | null)[]\n >[] = [];\n // Reverse they order of keys, since the comparison pool should be shown first\n const objectKeys = Object.keys(benchmarkingEmissionData).reverse();\n objectKeys.forEach((emissionIndex, index) => {\n if (labels.length <= 0) {\n labels = BenchmarkingChartHelperService.getXLabels(benchmarkingEmissionData, emissionIndex);\n }\n\n datasets.push({\n label: this.labels[index] || '',\n categoryPercentage: 0.5,\n barPercentage: 0.8,\n maxBarThickness: 16,\n backgroundColor: ColorHelper.get('barChart-column-' + (index + 1).toString()) || 'blue',\n data: benchmarkingEmissionData[emissionIndex]?.pots?.map((item) => item.share),\n });\n\n const potIndex = BenchmarkingChartHelperService.getPotIndex(\n benchmarkingEmissionData,\n emissionIndex\n );\n const averageValue = benchmarkingEmissionData[emissionIndex]?.average?.value;\n\n if (potIndex >= 0) {\n const dataMarkerItem = Array(potsLen).fill(averageValue);\n dataMarker.push({\n value: dataMarkerItem,\n legend: benchmarkingEmissionData[emissionIndex]?.groupName ?? '',\n });\n }\n });\n\n dataMarker.forEach((item, index) => {\n datasets.push({\n label: this.translateService.instant(this.averageLabels[index], {\n name: this.getTranslatedGroupName(item.legend as string),\n }) as string,\n data: item.value as number[],\n fill: false,\n borderWidth: 0, // todo: temporarily set to 0. Replace this by some X-Axis marker.\n pointRadius: 0,\n type: 'line',\n backgroundColor: ColorHelper.get('barChart-column-' + (index + 1).toString()) || 'blue',\n borderColor: ColorHelper.get('barChart-column-' + (index + 1).toString()) || 'blue',\n });\n });\n\n this.barChartData = {\n labels,\n datasets,\n };\n }\n}\n","
\n
\n \n
\n \n
\n
\n \n \n
\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable()\nexport class ChartHelperService {\n constructor(private translateService: TranslateService) {}\n\n getDataSetSkeleton(\n data: (number | null)[],\n label: string,\n color: string,\n categoryPercentage = 1.0,\n barPercentage = 0.8\n ): any {\n return {\n data,\n label: this.translateService.instant(label) as string,\n backgroundColor: color,\n borderColor: color,\n pointBackgroundColor: color,\n pointBorderColor: color,\n hoverBackgroundColor: color,\n fill: false,\n pointStyle: 'line',\n axis: 'y',\n maxBarThickness: 24,\n categoryPercentage,\n barPercentage,\n };\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { ChartConfiguration } from 'chart.js';\n\n@Component({\n selector: 'ista-daytona-chart-legend',\n templateUrl: './chart-legend.component.html',\n styleUrls: ['./chart-legend.component.scss'],\n})\nexport class ChartLegendComponent {\n @Input() public chartData!: ChartConfiguration['data'];\n}\n","
\n \n
\n \n
\n\n","import { ValueItem } from '../../models/value-item.interface';\n\nexport interface ChartItemData {\n year: string;\n values: ValueItem;\n additionalValues?: any;\n requiredAdditionalData?: ValueItem;\n}\n\nexport interface ChartItem {\n label: string;\n value?: string;\n data: ChartItemData[];\n color: string;\n active: boolean;\n icon?: string;\n childs?: ChartItem[];\n resultType?: string;\n}\n\nexport interface MultipleChartItem {\n [key: string]: ChartItem[];\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgChartsModule } from 'ng2-charts';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { LabelModule } from 'shared/ui/basic/label/label.module';\nimport { LoaderModule } from 'shared/ui/basic/loader/loader.module';\nimport { ValueUnitModule } from 'shared/ui/basic/value-unit/value-unit.module';\n\nimport { BasicModule } from '../basic/basic.module';\nimport { BalanceChartComponent } from './balance-chart/balance-chart.component';\nimport { BarChartComponent } from './bar-chart/bar-chart.component';\nimport { BarHorizontalChartMiniComponent } from './bar-horizontal-chart-mini/bar-horizontal-chart-mini.component';\nimport { BarHorizontalChartComponent } from './bar-horizontal-chart/bar-horizontal-chart.component';\nimport { BarHorizontalMultiChartComponent } from './bar-horizontal-multi-chart/bar-horizontal-multi-chart.component';\nimport { BarHorizontalStackedChartComponent } from './bar-horizontal-stacked-chart/bar-horizontal-stacked-chart.component';\nimport { BenchmarkingChartComponent } from './benchmarking-chart/benchmarking-chart.component';\nimport { ChartLegendComponent } from './chart-legend/chart-legend.component';\nimport { DistributionChartComponent } from './distribution-chart/distribution-chart.component';\nimport { DoughnutChartPercentComponent } from './doughnut-chart-percent/doughnut-chart-percent.component';\nimport { DoughnutChartSimpleComponent } from './doughnut-chart-simple/doughnut-chart-simple.component';\nimport { DoughnutChartComponent } from './doughnut-chart/doughnut-chart.component';\nimport { LineChartComponent } from './line-chart/line-chart.component';\nimport { MatIcon } from '@angular/material/icon';\nimport { IconValueLabelComponent } from 'shared/ui/icon-value-label/icon-value-label.component';\nimport { IconModule } from 'shared/ui/basic/icon/icon.module';\n\nconst imExport = [\n LineChartComponent,\n DoughnutChartComponent,\n BarChartComponent,\n BalanceChartComponent,\n BarHorizontalChartComponent,\n DistributionChartComponent,\n BenchmarkingChartComponent,\n BarHorizontalMultiChartComponent,\n ChartLegendComponent,\n DoughnutChartPercentComponent,\n BarHorizontalStackedChartComponent,\n DoughnutChartSimpleComponent,\n BarHorizontalChartMiniComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n BasicModule,\n TranslateModule,\n PipesModule,\n NgChartsModule,\n LoaderModule,\n LabelModule,\n ValueUnitModule,\n MatIcon,\n IconValueLabelComponent,\n IconModule,\n ],\n declarations: [...imExport],\n exports: [...imExport],\n})\nexport class ChartModule {}\n","import { Component, Input } from '@angular/core';\n\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartItem, ChartItemData } from './../chart.interface';\n\ninterface ChartItemExtended extends ChartItem {\n additionalValues?: number;\n}\n\n@Component({\n selector: 'ista-daytona-distribution-chart',\n templateUrl: './distribution-chart.component.html',\n styleUrls: ['./distribution-chart.component.scss'],\n})\nexport class DistributionChartComponent extends AbstractChartComponent {\n @Input() label = '';\n public transformedChartItem!: ChartItemExtended[];\n private totalValue = 0;\n\n constructor() {\n super();\n }\n\n public override _refreshData(): void {\n // this.transformedChartItem = _.cloneDeep(this.data);\n // this.transformedChartItem?.forEach((item) => {\n // let result = 0;\n // this.getFilteredDataByYear(item.data)?.forEach(\n // (itemData) => (result += itemData.values?.value || 0)\n // );\n // item.additionalValues = result;\n // });\n // this.totalValue =\n // this.transformedChartItem?.find(\n // (item) => item.value === HelperService.heatingLabel\n // )?.additionalValues || 0;\n // this.transformedChartItem = this.transformedChartItem?.filter(\n // (item) => item.value !== HelperService.heatingLabel\n // );\n }\n\n // public getItemWidth(value: number | undefined): number {\n // if (!value) {\n // return 1;\n // }\n\n // return (value / this.totalValue) * 100;\n // }\n\n public getItemWidth(data: ChartItemData[] | undefined): number {\n const item = data?.filter((dataItem) => dataItem.year === this.selectedYear?.from);\n\n return item ? item[0]?.values?.value || 0 : 0;\n }\n\n public isLeftRadius(index: number): boolean {\n if (index === 0) {\n return this.getItemWidth(this.data[index]?.data) > 0;\n }\n\n return (\n this.getItemWidth(this.data[index - 1]?.data) <= 0 &&\n this.getItemWidth(this.data[index]?.data) > 0\n );\n }\n\n public isRightRadius(index: number): boolean {\n if (index === this.data.length - 1) {\n return this.getItemWidth(this.data[index]?.data) > 0;\n }\n\n return (\n this.getItemWidth(this.data[index + 1]?.data) <= 0 &&\n this.getItemWidth(this.data[index]?.data) > 0\n );\n }\n}\n","
\n \n
\n
\n
\n
\n \n
0\">\n \n \n
\n
\n
\n \n\n","import { Component, Input } from '@angular/core';\n\nimport { ColorHelper } from 'shared/helper/color-helper';\nimport { MedianCustomIcons } from 'shared/helper/icon-helper';\nimport { LanguageKeyHelper } from 'shared/helper/language-key-helper';\nimport { ColorStyle } from 'shared/models/color-style.enum';\nimport { ConsumptionTypesExtended } from './../../basic/label/label-mapping';\nimport { CustomIcon } from 'shared/interfaces/custom-icon.interface';\n\n@Component({\n selector: 'ista-daytona-doughnut-chart-percent',\n templateUrl: './doughnut-chart-percent.component.html',\n styleUrls: ['./doughnut-chart-percent.component.scss'],\n})\nexport class DoughnutChartPercentComponent {\n @Input() type: ConsumptionTypesExtended = 'all';\n @Input() value = 0;\n @Input() colorStyle: ColorStyle = ColorStyle.BLUE;\n public colorStyleEnum = ColorStyle;\n\n public get color(): string {\n const color = ColorHelper.get(this.type + '-full');\n return (color || ColorHelper.get('default')) ?? '';\n }\n\n public get imageSrc(): CustomIcon {\n return MedianCustomIcons[this.type] || '';\n }\n\n public get label(): string {\n return LanguageKeyHelper.get(this.type) || '';\n }\n\n public get style(): any {\n return { '--p': this.value, '--c': this.color };\n }\n\n public get innerStyle(): any {\n return {\n '--c':\n this.colorStyle === ColorStyle.WHITE\n ? ColorHelper.get('doughnut-chart-percent-blue-light')\n : ColorHelper.get('doughnut-chart-percent-blue-dark'),\n };\n }\n}\n","
\n
\n
\n
\n {{ value }}\n %\n
\n
\n\n
\n @if(imageSrc; as icon) {\n @if(icon.isSvgIcon){\n \n }\n @else {\n {{icon.name}}\n }\n }\n {{ label | translate }}\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { ColorHelper } from 'shared/helper/color-helper';\n\nimport { ConsumptionTypesExtended } from './../../basic/label/label-mapping';\n\n@Component({\n selector: 'ista-daytona-doughnut-chart-simple',\n templateUrl: './doughnut-chart-simple.component.html',\n styleUrls: ['./doughnut-chart-simple.component.scss'],\n})\nexport class DoughnutChartSimpleComponent {\n @Input() type: ConsumptionTypesExtended = 'all';\n @Input() value = 0;\n\n public get style(): any {\n return { '--p': this.value, '--c': ColorHelper.get('cost-dark') };\n }\n\n public get innerStyle(): any {\n return {\n '--c': '#85A1B1',\n };\n }\n}\n","
\n
\n
\n @if (value) {\n
\n }\n
\n
\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nexport const DoughnutOptions = {\n /*\n use the following config to disable the doughnut chart animations if needed.\n animation: {\n animateRotate: false,\n animateScale: false,\n duration: 0\n },*/\n transitions: {\n active: { animation: { duration: 0 } },\n },\n plugins: {\n legend: {\n display: false,\n },\n },\n aspectRatio: 1,\n layout: {\n padding: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n },\n cutout: 135,\n maintainAspectRatio: false,\n events: [],\n};\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { ChartConfiguration, ChartType } from 'chart.js';\n\nimport { CardHeaderConfig } from 'shared/models/card-header-config.interface';\nimport { ValueItem } from 'shared/models/value-item.interface';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { DoughnutOptions } from './doughnut-chart-options';\nimport * as _ from 'lodash';\nimport { DoughnutChartMapper } from 'shared/ui/chart/doughnut-chart/doughnut-chart.mapper';\nimport { CustomIcon } from 'shared/interfaces/custom-icon.interface';\nimport { Utils } from 'shared/helper/utils';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n@Component({\n selector: 'ista-daytona-doughnut-chart',\n templateUrl: './doughnut-chart.component.html',\n styleUrls: ['./doughnut-chart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DoughnutChartComponent extends AbstractChartComponent implements AfterViewInit {\n @ViewChild('chart') chart!: ElementRef;\n @ViewChild('infoText') infoText!: ElementRef;\n @Input() icon?: CustomIcon;\n public doughnutOptions = DoughnutOptions;\n public doughnutType: ChartType = 'doughnut';\n public infoTextLeft = 0;\n public doughnutChartData!: ChartConfiguration['data'];\n public value!: ValueItem;\n\n constructor(private readonly _ref: ChangeDetectorRef) {\n super();\n }\n\n private _config!: CardHeaderConfig;\n\n get config(): CardHeaderConfig {\n return this._config;\n }\n\n @Input() set config(val: CardHeaderConfig) {\n this._config = val;\n this.value = {\n value: parseFloat(this._config.label),\n unit: this._config.unit,\n };\n }\n\n getFormatNumberDigits(value?: string | number | null): string {\n return Utils.getFormatNumberDigits(value);\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n this.setLabelPosition();\n }\n\n ngAfterViewInit(): void {\n this.setLabelPosition();\n }\n\n public override _refreshData(): void {\n const newChartData = DoughnutChartMapper.getDoughnutChartData(this.data, this.selectedYear);\n if (!_.isEqual(this.doughnutChartData, newChartData)) this.doughnutChartData = newChartData;\n this._ref.detectChanges();\n }\n\n public setLabelPosition(): void {\n const infoWidth = this.infoText?.nativeElement?.clientWidth;\n const chartWidth = this.chart?.nativeElement?.clientWidth;\n this.infoTextLeft = (chartWidth - infoWidth) / 2;\n this._ref.detectChanges();\n }\n}\n","
\n \n \n @if (icon) {\n @if (icon.isSvgIcon) {\n \n } @else {\n {{ icon.name }}\n }\n }\n\n @if (value) {\n @if (value.value | formatNumber: value.unit; as formattedValue) {\n @if (formattedValue.value) {\n \n \n }\n @if (formattedValue.unitWithPrefix) {\n \n }\n }\n }\n
\n\n","import { ChartItem } from '../chart.interface';\nimport { FilterDateRange } from '../../filter/filter-tab.interface';\nimport { DoughnutChart, DoughnutChartDataset } from './doughnut-chart.interface';\nimport { ColorHelper } from 'shared/helper/color-helper';\n\nexport class DoughnutChartMapper {\n static getDoughnutChartData(data: ChartItem[], selectedYear: FilterDateRange): DoughnutChart {\n try {\n const datasets: DoughnutChartDataset = {\n data: [],\n backgroundColor: [],\n hoverBackgroundColor: [],\n borderWidth: 0,\n };\n const labels: string[] = [];\n if (data && selectedYear) {\n data?.forEach((item) => {\n const data = item.data.find((dataItem) => dataItem.year === selectedYear.from);\n const cleanLabel = item.label?.replace('Share', '');\n const color = ColorHelper.get(cleanLabel + '-full') || ColorHelper.get(cleanLabel) || '';\n datasets.data.push(data?.values?.value || 0);\n datasets.backgroundColor.push(color);\n datasets.hoverBackgroundColor?.push(color);\n labels?.push(cleanLabel);\n });\n }\n\n return {\n datasets: [datasets],\n labels,\n };\n } catch (e) {\n console.error('getDoughnutChartData', e);\n return {\n datasets: [],\n labels: [],\n };\n }\n }\n}\n","import { ChartOptions } from 'chart.js';\n\nimport { ColorHelper } from 'shared/helper/color-helper';\nimport { externalTooltipHandler } from 'shared/ui/chart/tooltip/custom-external-tooltip';\n\nexport const LineChartOptions: ChartOptions = {\n plugins: {\n legend: {\n display: false,\n position: 'bottom',\n align: 'end',\n labels: {\n boxHeight: 16,\n boxWidth: 16,\n color: ColorHelper.get('label'),\n padding: 24,\n font: {\n size: 16,\n family: 'TheSansE5-Plain',\n },\n },\n },\n tooltip: {\n enabled: false,\n external: externalTooltipHandler,\n position: 'nearest',\n },\n },\n scales: {\n y: {\n title: {\n color: ColorHelper.get('label'),\n },\n },\n x: {\n title: {\n color: ColorHelper.get('label'),\n },\n },\n },\n maintainAspectRatio: false,\n};\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { ChartConfiguration, ChartType } from 'chart.js';\nimport * as _ from 'lodash';\n\nimport { ConsumptionTypes } from 'shared/models/consumption-types.interface';\nimport { AbstractChartComponent } from '../abstract-chart.component';\nimport { ChartItem } from '../chart.interface';\nimport { LineChartOptions } from './line-chart-options';\nimport { LineChartService } from 'shared/ui/chart/line-chart/line-chart.service';\nimport { ChartHelperService } from 'shared/ui/chart/chart-helper.service';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-line-chart',\n templateUrl: './line-chart.component.html',\n styleUrls: ['./line-chart.component.scss'],\n providers: [ChartHelperService, LineChartService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LineChartComponent extends AbstractChartComponent {\n @Input() displayFilterButtons = true;\n\n get displayAllButton(): boolean {\n return this._displayAllButton;\n }\n\n @Input() set displayAllButton(value: boolean) {\n this._displayAllButton = value;\n this._refreshData();\n }\n\n public lineChartOptions = LineChartOptions;\n public lineChartType: ChartType = 'line';\n public lineChartData!: ChartConfiguration['data'];\n public filterButtons: ChartItem[] = [];\n public selectedFilter!: ChartItem;\n private _displayAllButton = false;\n\n constructor(private readonly ref: ChangeDetectorRef, private lineChartService: LineChartService) {\n super();\n }\n\n public setFilter(item: ChartItem): void {\n this.selectedFilter = item;\n const newLineChartData = this.lineChartService.getLineChartData(\n this.transformedData,\n this.selectedFilter?.value || this.selectedFilter?.label || '',\n this.selectedYear,\n this.labelConfig.analyticalCategory || 'consumption'\n );\n if (!_.isEqual(this.lineChartData, newLineChartData)) this.lineChartData = newLineChartData;\n this.labelConfig.consumptionTypes = (item?.value as ConsumptionTypes) || 'unknown';\n this.labelConfig = _.cloneDeep(this.labelConfig);\n this.ref.detectChanges();\n }\n\n public override _refreshData(): void {\n super._refreshData();\n this.filterButtons = this.lineChartService.getDashboardFilterButtons(\n this.data,\n this.displayAllButton,\n this.labelConfig?.analyticalCategory\n );\n\n if (this.filterButtons && this.filterButtons.length > 0) {\n this.setFilter(this.getPreviousSelectedChartItem(this.filterButtons));\n } else {\n const newLineChartData = this.lineChartService.getLineChartData(\n this.transformedData,\n this.selectedFilter?.value || this.selectedFilter?.label || '',\n this.selectedYear,\n this.labelConfig.analyticalCategory || 'consumption'\n );\n if (!_.isEqual(this.lineChartData, newLineChartData)) {\n this.lineChartData = newLineChartData;\n }\n this.ref.detectChanges();\n }\n }\n\n private getPreviousSelectedChartItem(chartItems: ChartItem[]): ChartItem {\n let result;\n if (this.selectedFilter) {\n result = chartItems.find((item) => item.value === this.selectedFilter.value);\n }\n return result ? result : chartItems[0];\n }\n}\n","\n
\n
\n \n \"icon\"\n \n
\n
\n
\n \n
\n \n
\n
\n \n
\n\n\n \n\n","import { Injectable } from '@angular/core';\nimport { ChartConfiguration } from 'chart.js';\nimport { ALL_LABEL, heatingValueLabel } from 'shared/constants';\nimport { ChartHelper } from 'shared/helper/chart-helper';\nimport { ColorHelper } from 'shared/helper/color-helper';\nimport { IconHelper } from 'shared/helper/icon-helper';\nimport { LanguageKeyHelper } from 'shared/helper/language-key-helper';\nimport {\n AnalyticalCategories,\n ConsumptionTypeButtonMapping,\n} from 'shared/interfaces/consumption-type-button.interface';\nimport { ConsumptionTypes } from 'shared/models/consumption-types.interface';\nimport {\n HeatingChilds,\n HeatingDisplayAllExcludeChilds,\n HeatingTempExcludeChilds,\n} from 'shared/models/heating.type';\nimport { ChartHelperService } from 'shared/ui/chart/chart-helper.service';\nimport { ChartItem } from 'shared/ui/chart/chart.interface';\nimport { FilterDateRange } from 'shared/ui/filter/filter-tab.interface';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable()\nexport class LineChartService {\n constructor(\n private chartHelperService: ChartHelperService,\n private translateService: TranslateService\n ) {}\n\n getLineChartData(\n data: ChartItem[],\n filterBy: string,\n selectedYear: FilterDateRange,\n analyticalCategories: AnalyticalCategories\n ): ChartConfiguration['data'] {\n try {\n const datasets: any[] = [];\n let labels: string[] = [];\n if (data && selectedYear) {\n labels = data[0]?.data\n .filter((item) => item.year >= selectedYear.from && item.year <= selectedYear.until)\n .map((item) => item.year);\n\n const allowedConsumptionTypes = ConsumptionTypeButtonMapping.find(\n (item) => item.analyticalCategories === analyticalCategories\n ) || { consumptionType: [] as ConsumptionTypes[] };\n\n let displayData = data?.filter(\n (item) =>\n (item.value === filterBy || filterBy === ALL_LABEL) &&\n !HeatingDisplayAllExcludeChilds.includes(item.value || item.label) &&\n allowedConsumptionTypes.consumptionType.includes(\n (item.value as ConsumptionTypes) || item.label\n ) &&\n !ChartHelper.areAllDataValuesUndefined(item.data)\n );\n\n if (filterBy === heatingValueLabel) {\n displayData = data?.filter(\n (item) =>\n HeatingChilds.includes(item.value || item.label) &&\n !ChartHelper.areAllDataValuesUndefined(item.data) &&\n item.value !== heatingValueLabel\n );\n }\n\n displayData?.forEach((item) => {\n datasets.push(\n this.chartHelperService.getDataSetSkeleton(\n ChartHelper.getValuesByFilterDateRange(item.data, selectedYear),\n this.translateService.instant(\n LanguageKeyHelper.get(item.label) ?? item.label\n ) as string,\n filterBy === heatingValueLabel ? ChartHelper.getColor(item.label) || '' : item.color\n )\n );\n });\n }\n\n return {\n datasets,\n labels,\n };\n } catch (e) {\n console.error('getLineChartData', e);\n return {\n datasets: [],\n labels: [],\n };\n }\n }\n\n getDashboardFilterButtons(\n data: ChartItem[],\n displayAllButton: boolean = false,\n analyticalCategories: AnalyticalCategories | undefined\n ): ChartItem[] {\n try {\n if (!data) {\n return [];\n }\n\n const heating: ChartItem = {\n label: LanguageKeyHelper.get(heatingValueLabel) || heatingValueLabel,\n value: heatingValueLabel,\n color: ColorHelper.get('heatingAndHotWater') || '',\n icon: IconHelper.get('heatingAndHotWater') || '',\n active: false,\n data: [],\n childs: data?.filter(\n (item) => HeatingChilds.includes(item.value || item.label) && item.data.length > 0\n ),\n };\n\n const allowedConsumptionTypes = ConsumptionTypeButtonMapping.find(\n (item) => item.analyticalCategories === analyticalCategories\n ) || { consumptionType: [] as ConsumptionTypes[] };\n\n const result: ChartItem[] = [\n ...data\n .filter(\n (item) =>\n allowedConsumptionTypes?.consumptionType.includes(\n (item.value as ConsumptionTypes) || (item.label as ConsumptionTypes)\n ) &&\n !HeatingChilds.includes(item.value || item.label) &&\n !HeatingTempExcludeChilds.includes(item.value || item.label) &&\n !ChartHelper.areAllDataValuesUndefined(item.data)\n )\n .map((item) => ({\n ...item,\n label: LanguageKeyHelper.get(item.label) || item.label,\n value: item.value,\n })),\n ];\n\n const allButton: ChartItem = ChartHelper.getSelectAllFilter();\n\n result.unshift(heating);\n if (displayAllButton) {\n result.unshift(allButton);\n }\n\n return result;\n } catch (e) {\n console.error('getDashboardFilterButtons', e);\n return [];\n }\n }\n}\n","import { Chart } from 'chart.js';\nimport { CustomChartTooltip } from './custom-chart-tooltip.interface';\n\nconst toolTipClassList: string[] = [\n 'bg-base-900/90',\n 'border-base-1000',\n 'text-white',\n 'text-sm',\n 'tooltip-container--dark',\n 'max-w-90',\n 'rounded-lg',\n 'border',\n 'p-4',\n 'absolute',\n];\n\nconst getOrCreateTooltip = (chart: Chart): HTMLDivElement => {\n let toolTip = chart.canvas.parentNode?.querySelector('div');\n if (!toolTip) {\n toolTip = document.createElement('div');\n toolTip.classList.add(...toolTipClassList);\n const table = document.createElement('table');\n chart.canvas.parentNode?.appendChild(toolTip);\n toolTip.appendChild(table);\n }\n return toolTip;\n};\n\nconst fillTable = (\n titleLines: string[],\n bodyLines: string[],\n toolTip: HTMLElement,\n toolTipColor: string,\n unit?: string\n): void => {\n const table = toolTip.querySelector('table') as HTMLTableElement;\n const tableHead = document.createElement('thead');\n titleLines.forEach((title) => {\n const tr = document.createElement('tr');\n tr.style.borderWidth = '0';\n\n const th = document.createElement('th');\n th.style.borderWidth = '0';\n th.style.display = 'flex';\n th.style.justifyContent = 'start';\n\n const text = document.createTextNode(title);\n th.appendChild(text);\n tr.appendChild(th);\n tableHead.appendChild(tr);\n });\n\n const tableBody = document.createElement('tbody');\n bodyLines.forEach((body) => {\n const tr = document.createElement('tr');\n tr.style.backgroundColor = 'inherit';\n tr.style.borderWidth = '0';\n\n const td = document.createElement('td');\n td.style.display = 'flex';\n td.style.alignItems = 'center';\n td.style.width = 'fit-content';\n td.style.gap = '2px';\n td.style.borderWidth = '0';\n\n const text = document.createElement('div');\n text.style.whiteSpace = 'nowrap';\n if (unit?.length) {\n text.innerHTML = body + ` ${unit}`;\n } else {\n text.innerHTML = body;\n }\n const coloredCircle = document.createElement('div');\n coloredCircle.classList.add('rounded-full');\n coloredCircle.style.width = '1rem';\n coloredCircle.style.height = '1rem';\n coloredCircle.style.backgroundColor = toolTipColor;\n\n while (table?.firstChild) {\n table.firstChild.remove();\n }\n table?.appendChild(tableHead);\n table?.appendChild(tableBody);\n\n td.appendChild(coloredCircle);\n td.appendChild(text);\n tr.appendChild(td);\n tableBody.appendChild(tr);\n });\n};\n\nexport const externalTooltipHandler = (context: {\n chart: Chart;\n tooltip: CustomChartTooltip;\n}): void => {\n const { chart, tooltip } = context;\n const toolTip = getOrCreateTooltip(chart) as HTMLElement;\n\n if (tooltip.opacity === 0) {\n toolTip.style.opacity = '0';\n return;\n }\n\n if (tooltip.body) {\n if (!tooltip.dataPoints.length) {\n return;\n }\n const dataPoint = tooltip.dataPoints[0];\n\n const titleLines: string[] = tooltip.title || [];\n const bodyLines: string[] = tooltip.body.map((b: any) => b.lines as string);\n\n let toolTipLegendColor: string;\n if (Array.isArray(dataPoint.dataset.backgroundColor)) {\n toolTipLegendColor = dataPoint.dataset.backgroundColor[dataPoint.datasetIndex] as string;\n } else {\n toolTipLegendColor = dataPoint.dataset.backgroundColor as string;\n }\n\n fillTable(titleLines, bodyLines, toolTip, toolTipLegendColor);\n\n const { offsetLeft: positionX, offsetTop: positionY } = chart.canvas;\n toolTip.style.opacity = '1';\n toolTip.style.left = (positionX + tooltip.caretX).toString() + 'px';\n toolTip.style.top = (positionY + tooltip.caretY).toString() + 'px';\n toolTip.style.pointerEvents = 'none';\n\n if (chart.canvas.width + positionX + 32 < toolTip.clientWidth + tooltip.caretX) {\n toolTip.style.transform = 'translate(-100%, -50%)';\n } else {\n toolTip.style.transform = 'translate(0%, -50%)';\n }\n }\n};\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ista-daytona-co2-cost-card-distribution',\n templateUrl: './co2-cost-card-distribution.component.html',\n})\nexport class Co2CostCardDistributionComponent {\n @Input() modelStageColor = '';\n @Input() modelStageData: number[] = [];\n}\n","
\n
\n \n \n
\n
\n","import { Component, Input } from '@angular/core';\n\nimport { Share } from '../../models/co2-allocation.interface';\n\n@Component({\n selector: 'ista-daytona-co2-cost-card-stage',\n templateUrl: './co2-cost-card-stage.component.html',\n})\nexport class Co2CostCardStageComponent {\n @Input() landlordShare!: Share | undefined;\n @Input() tenantShare!: Share | undefined;\n @Input() year = '';\n\n get isTenantShare(): boolean {\n if (!this.tenantShare?.percentage?.value) {\n return false;\n }\n\n return this.tenantShare.percentage.value === 100;\n }\n\n get landLordShare(): number {\n return this.landlordShare?.percentage?.value\n ? Math.ceil(this.landlordShare?.percentage?.value)\n : 0;\n }\n\n get tenantShareValue(): number {\n return 100 - this.landLordShare;\n }\n}\n","
\n
\n \n
\n \n
\n
\n {{ landLordShare }}%\n {{ 'dashboard.costs.co2cost.stage-model.landlord' | translate }}\n =\n \n
\n
\n {{ tenantShareValue }}%\n {{ 'dashboard.costs.co2cost.stage-model.tenant' | translate }} =\n \n
\n

\n {{ 'dashboard.costs.co2cost.stage-model.all-tenant-cost' | translate : { year } }}\n

\n
\n
\n
\n
\n","import { Component, Input } from '@angular/core';\n\nimport { ValueItem } from '../../models/value-item.interface';\n\n@Component({\n selector: 'ista-daytona-co2-cost-card-total',\n templateUrl: './co2-cost-card-total.component.html',\n styleUrls: ['./co2-cost-card-total.component.scss'],\n})\nexport class Co2CostCardTotalComponent {\n @Input() totalCostValue!: ValueItem;\n @Input() totalEmission!: ValueItem;\n @Input() carbonPrice!: ValueItem;\n}\n","
\n
\n
\n @if (totalCostValue) {\n \n }\n
\n

\n {{ 'dashboard.costs.co2cost.total-label-1' | translate }}\n \n {{ 'dashboard.costs.co2cost.total-label-2' | translate }}\n \n {{ 'dashboard.costs.co2cost.total-label-3' | translate }}\n

\n
\n
\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ButtonModule } from 'shared/ui/basic/button/button.module';\nimport { MatIcon } from '@angular/material/icon';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { NotificationType } from 'shared/ui/notification/notification.interface';\nimport { NotificationService } from 'shared/ui/notification/notification.service';\nimport { EmptyEnvironmentNotificationService } from 'shared/ui/empty-environment-notification/empty-environment-notification.service';\n\n@Component({\n selector: 'ista-daytona-empty-environment-notification',\n standalone: true,\n imports: [ButtonModule, MatIcon, PipesModule, TranslateModule],\n templateUrl: './empty-environment-notification.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmptyEnvironmentNotificationComponent {\n constructor(\n private translateService: TranslateService,\n private notificationService: NotificationService,\n protected emptyEnvironmentService: EmptyEnvironmentNotificationService\n ) {}\n\n close(): void {\n this.emptyEnvironmentService.close();\n }\n\n copyEmailIntoClipBoard(): void {\n navigator.clipboard.writeText(\n this.translateService.instant('no-environment-overlay.esg-email') as string\n );\n\n this.notificationService.addNotification({\n headline: this.translateService.instant('no-environment-overlay.notification') as string,\n type: NotificationType.CONFIRMATION,\n });\n }\n}\n","
\n \n
\n
\n person_search\n
\n

{{'no-environment-overlay.headline' | translate}}

\n

\n

\n

\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { RootState } from 'app/+state/app.reducer';\nimport { Store } from '@ngrx/store';\nimport { selectEnvironmentHasNoData } from 'core/+state/core.selectors';\nimport { map, Observable } from 'rxjs';\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { EmptyEnvironmentNotificationComponent } from 'shared/ui/empty-environment-notification/empty-environment-notification.component';\nimport { Router } from '@angular/router';\nimport { disableableNavigationItems } from 'shared/constants';\n\n@Injectable({ providedIn: 'root' })\nexport class EmptyEnvironmentNotificationService {\n overlayRef!: OverlayRef;\n constructor(\n private overlay: Overlay,\n private readonly ngrxStore: Store,\n private router: Router\n ) {\n this.overlayRef = this.createOverlayRef();\n }\n\n createOverlayRef(): OverlayRef {\n return this.overlay.create(this.getOverlayConfig(840, 840));\n }\n\n open(): void {\n if (!this.router.url.includes('data-upload')) {\n this.router.navigate(['data-upload']);\n }\n this.overlayRef.attach(new ComponentPortal(EmptyEnvironmentNotificationComponent));\n this.overlayRef.backdropClick().subscribe(() => {\n this.overlayRef.detach();\n });\n }\n\n close(): void {\n this.overlayRef.detach();\n }\n\n isDisableableItem(itemLink: string): boolean {\n return disableableNavigationItems.includes(itemLink) ;\n }\n\n isDisabledFromMissingData(itemLink: string): Observable {\n return this.ngrxStore\n .select(selectEnvironmentHasNoData)\n .pipe(map((hasNoData: boolean) => hasNoData && this.isDisableableItem(itemLink)));\n }\n\n private getOverlayConfig(minHeight: number, minWidth: number): OverlayConfig {\n const positionStrategy = this.overlay\n .position()\n .global()\n .centerHorizontally()\n .centerVertically('10%');\n\n return new OverlayConfig({\n hasBackdrop: true,\n backdropClass: 'overlay-background',\n panelClass: '',\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy,\n minHeight,\n minWidth,\n });\n }\n}\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'ista-daytona-file-upload-contact-info',\n standalone: true,\n imports: [TranslateModule, RouterModule],\n templateUrl: './file-upload-contact-info.component.html',\n})\nexport class FileUploadContactInfoComponent {\n @Output()\n closeWindow = new EventEmitter();\n\n emitCloseWindow(): void {\n this.closeWindow.emit();\n }\n}\n","

\n {{ 'file-upload.help.subheadline1' | translate }}\n \n {{ 'file-upload.help.help' | translate }}\n \n {{ 'file-upload.help.subheadline2' | translate }}\n \n {{ 'file-upload.help.contact' | translate }}\n \n {{ 'file-upload.help.subheadline3' | translate }}\n

\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { FileUpload, FileUploadType } from '../../types/file-upload.model';\nimport { ColorStyle } from '../../../../models/color-style.enum';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { AsyncPipe } from '@angular/common';\nimport { ButtonModule } from '../../../basic/button/button.module';\nimport { BasicModule } from '../../../basic/basic.module';\nimport { FileUploadHelper } from '../../file-upload/file-upload.helper';\nimport { FileUploadExcelAcceptedFiles } from '../../file-upload/file-upload.component';\n\n@Component({\n selector: 'ista-daytona-file-upload-step-file-efile',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, AsyncPipe, ButtonModule, BasicModule],\n templateUrl: './file-upload-step-file-efile.component.html',\n})\nexport class FileUploadStepFileEfileComponent {\n @Output() selectedFileUpload = new EventEmitter();\n @ViewChild('input') input!: ElementRef;\n\n public readonly colorBlueLight = ColorStyle.BLUE_LIGHT;\n public readonly acceptedFiles = FileUploadExcelAcceptedFiles;\n private readonly fileUploadType = FileUploadType.EFILE;\n\n uploadFile(): void {\n this.input.nativeElement.click();\n }\n\n onFileSelected(event: Event): void {\n const fileUpload = FileUploadHelper.getFileUploadFromSelectedFile(this.fileUploadType, event);\n this.selectedFileUpload.emit(fileUpload);\n }\n}\n","\n
\n

{{ 'file-upload.file.headline' | translate }}

\n

\n {{ 'file-upload.file.subheadline' | translate }}\n

\n \n
\n\n\n\n\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Output,\n SkipSelf,\n ViewChild,\n} from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FileUploadStepFileService } from '../file-upload-step-file.service';\nimport { FileUpload, FileUploadType } from '../../types/file-upload.model';\nimport { ColorStyle } from '../../../../models/color-style.enum';\nimport { LoadingState } from '../../../../../core/load-status/load-status.interface';\nimport { ButtonModule } from '../../../basic/button/button.module';\nimport { LoaderComponent } from '../../../basic/loader/loader.component';\nimport { BasicModule } from '../../../basic/basic.module';\nimport { FileUploadStepFileExcelStore } from './file-upload-step-file-excel.store';\nimport { PipesModule } from '../../../../pipes/pipes.module';\nimport { FileUploadHelper } from '../../file-upload/file-upload.helper';\nimport { takeUntil } from 'rxjs';\nimport { DestroyAbstractService } from '../../../../helper/destroy-abstract.service';\nimport { FileUploadExcelAcceptedFiles } from '../../file-upload/file-upload.component';\n\n@Component({\n selector: 'ista-daytona-file-upload-step-file-excel',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, TranslateModule, ButtonModule, LoaderComponent, BasicModule, PipesModule],\n templateUrl: './file-upload-step-file-excel.component.html',\n})\nexport class FileUploadStepFileExcelComponent extends DestroyAbstractService {\n @Output() selectedFileUpload = new EventEmitter();\n @ViewChild('input') input!: ElementRef;\n\n public readonly loadingState = LoadingState;\n public readonly colorBlueLight = ColorStyle.BLUE_LIGHT;\n public readonly acceptedFiles = FileUploadExcelAcceptedFiles;\n readonly fileUploadType = FileUploadType.EXCEL;\n readonly downloadTemplateStatus$ = this.store.downloadTemplateStatus$;\n readonly downloadTemplateWithDataStatus$ = this.store.downloadTemplateWithDataStatus$;\n\n constructor(\n @SkipSelf() private readonly fileUploadStepFileService: FileUploadStepFileService,\n @SkipSelf() private readonly store: FileUploadStepFileExcelStore\n ) {\n super();\n }\n\n downloadTemplate(): void {\n this.fileUploadStepFileService\n .downloadTemplate(false)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe();\n }\n\n downloadTemplateWithData(): void {\n this.fileUploadStepFileService\n .downloadTemplate(true)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe();\n }\n\n uploadFile(): void {\n this.input.nativeElement.click();\n }\n\n onFileSelected(event: Event): void {\n const fileUpload = FileUploadHelper.getFileUploadFromSelectedFile(this.fileUploadType, event);\n this.selectedFileUpload.emit(fileUpload);\n }\n}\n","\n
\n

{{ 'file-upload.excel.headline' | translate }}

\n

\n
\n \n
\n \n \n {{ 'file-upload.excel.new-file' | translate }}\n \n @if ((downloadTemplateStatus$ | async) !== loadingState.PROGRESS) {\n \n }\n
\n @if ((downloadTemplateStatus$ | async) === loadingState.PROGRESS) {\n \n }\n \n \n
\n \n \n {{ 'file-upload.excel.current-file' | translate }}\n \n @if ((downloadTemplateWithDataStatus$ | async) !== loadingState.PROGRESS) {\n \n } @else {\n \n }\n
\n \n
\n \n
\n\n\n\n","import { FileUploadStepFileExcelState } from './file-upload-step-file-excel.state';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { Injectable } from '@angular/core';\nimport { LoadingState } from '../../../../../core/load-status/load-status.interface';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class FileUploadStepFileExcelStore extends ComponentStore {\n readonly downloadTemplateStatus$: Observable = this.select(\n (state) => state.downloadTemplateStatus$\n );\n readonly downloadTemplateWithDataStatus$: Observable = this.select(\n (state) => state.downloadTemplateWithDataStatus$\n );\n\n readonly setDownloadTemplateStatus = this.updater((state, value: LoadingState) => ({\n ...state,\n downloadTemplateStatus$: value,\n }));\n\n readonly setDownloadTemplateWithDataStatus = this.updater((state, value: LoadingState) => ({\n ...state,\n downloadTemplateWithDataStatus$: value,\n }));\n\n constructor() {\n super({\n downloadTemplateStatus$: LoadingState.DONE,\n downloadTemplateWithDataStatus$: LoadingState.DONE,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { combineLatest, EMPTY, filter, finalize, first, Observable, switchMap, tap } from 'rxjs';\nimport { FileUploadHttpService } from '../file-upload/file-upload-http.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UtilHelper } from '../../../helper/util-helper';\nimport { LoadingState } from '../../../../core/load-status/load-status.interface';\nimport { FileUploadStepFileExcelStore } from './file-upload-step-file-excel/file-upload-step-file-excel.store';\nimport {\n selectSelectedEnvironmentId,\n selectSelectedGroupId,\n selectSelectedLanguage,\n} from '../../../../core/+state/core.selectors';\nimport { Store } from '@ngrx/store';\nimport { RootState } from '../../../../+state/app.reducer';\nimport { ToastrService } from 'ngx-toastr';\nimport { catchError } from 'rxjs/operators';\nimport { Languages } from '../../../../core/language/language.interface';\n\n@Injectable()\nexport class FileUploadStepFileService {\n constructor(\n private readonly store: FileUploadStepFileExcelStore,\n private readonly ngrxStore: Store,\n private readonly fileUploadHttpService: FileUploadHttpService,\n private readonly translateService: TranslateService,\n private readonly toastService: ToastrService\n ) {}\n\n downloadTemplate(templateWithData: boolean): Observable {\n return combineLatest([\n this.ngrxStore.select(selectSelectedEnvironmentId),\n this.ngrxStore.select(selectSelectedLanguage),\n this.ngrxStore.select(selectSelectedGroupId),\n ]).pipe(\n filter(([selectedEnvId, lang]) => selectedEnvId !== undefined && !!lang),\n first(),\n tap(() => {\n if (templateWithData) {\n this.store.setDownloadTemplateWithDataStatus(LoadingState.PROGRESS);\n } else {\n this.store.setDownloadTemplateStatus(LoadingState.PROGRESS);\n }\n }),\n switchMap(([selectedEnvId, lang, selectedGroupId]) => {\n const langString = Languages[lang as Languages];\n if (templateWithData) {\n return this.fileUploadHttpService.triggerImportableExcelDownloadWithData(\n selectedEnvId as number,\n langString,\n selectedGroupId ? [selectedGroupId] : []\n );\n } else {\n return this.fileUploadHttpService.triggerImportableExcelDownloadWithNoData(\n selectedEnvId as number,\n langString\n );\n }\n }),\n tap((blob) => {\n if (!blob) {\n throw Error('Downloading template failed');\n }\n const fileNameKey = templateWithData\n ? 'file-upload.file-name.with-data'\n : 'file-upload.file-name.no-data';\n const fileName = this.translateService.instant(fileNameKey) as string;\n UtilHelper.createExcelWindowBlob(blob, fileName);\n }),\n catchError(() => {\n console.error('Downloading template failed');\n this.showErrorOccurredMessage();\n return EMPTY;\n }),\n finalize(() => {\n if (templateWithData) {\n this.store.setDownloadTemplateWithDataStatus(LoadingState.DONE);\n } else {\n this.store.setDownloadTemplateStatus(LoadingState.DONE);\n }\n })\n );\n }\n\n private showErrorOccurredMessage(): void {\n this.toastService.show(\n this.translateService.instant('common.error-occurred') as string,\n '',\n {\n tapToDismiss: true,\n payload: {\n showIcon: true,\n customFontIcon: 'info',\n },\n },\n 'error'\n );\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from '../../basic/button/button.module';\nimport { MatIcon } from '@angular/material/icon';\nimport { PipesModule } from '../../../pipes/pipes.module';\nimport { FileUploadStore } from '../file-upload/file-upload.store';\nimport { AsyncPipe } from '@angular/common';\n\n@Component({\n selector: 'ista-daytona-file-upload-step-finished',\n templateUrl: './file-upload-step-finished.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [TranslateModule, ButtonModule, MatIcon, PipesModule, AsyncPipe],\n})\nexport class FileUploadStepFinishedComponent {\n @Output() cancelUploading = new EventEmitter();\n @Output() loadErrorReport = new EventEmitter();\n\n readonly isDataInvalid$ = this.store.isDataInvalid$;\n\n constructor(private store: FileUploadStore) {}\n\n report(): void {\n this.loadErrorReport.emit();\n }\n\n cancel(): void {\n this.cancelUploading.emit();\n }\n}\n","
\n
\n
\n @if (isDataInvalid$ | async) {\n \n

{{ 'file-upload.step.invalid' | translate }}

\n } @else {\n \n

\n {{ 'file-upload.step.success' | translate }}\n

\n }\n
\n
\n \n @if (isDataInvalid$ | async) {\n \n }\n
\n
\n
\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { EFileBilling, ValidationHint } from '../../types/efile-response.interface';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { DatePipe } from '@angular/common';\nimport { PipesModule } from '../../../../pipes/pipes.module';\n\n@Component({\n selector: 'ista-daytona-file-upload-result-billing',\n templateUrl: './file-upload-result-billing.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [TranslateModule, MatIcon, DatePipe, PipesModule],\n})\nexport class FileUploadResultBillingComponent {\n @Input() detectedBilling!: EFileBilling;\n\n getValidationErrorHint(hint: ValidationHint): string {\n return `errorMsg.fileUpload.eFile.${hint.validationHintCode}`;\n }\n}\n","
\n 0\"\n class=\"grid grid-cols-[auto_1fr] gap-x-2 items-center\"\n >\n @if (detectedBilling.validationHints.length) {\n \n }\n 0\">\n {{ 'errorMsg.fileUpload.invoice' | translate }} {{ detectedBilling.propertyNumber }}, {{ detectedBilling.street }}\n ,\n \n {{ detectedBilling.periodBegin | date }}-{{ detectedBilling.periodEnd | date }}\n \n \n
\n\n
0\" class=\"gap-y-2\">\n @for (hint of detectedBilling.validationHints; track hint.validationHintCode; let last = $last) {\n \n @if (!last) {\n
\n }\n }\n
\n\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { EFileResult, ValidationHint } from '../../types/efile-response.interface';\nimport { FileUploadResultBillingComponent } from '../file-upload-result-billing/file-upload-result-billing.component';\nimport { MatIcon } from '@angular/material/icon';\nimport { NgClass } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PipesModule } from '../../../../pipes/pipes.module';\nimport { FileUploadHelper } from '../../file-upload/file-upload.helper';\nimport { IconModule } from '../../../basic/icon/icon.module';\nimport { IconType } from '../../../basic/icon/icon-type.enum';\n\n@Component({\n selector: 'ista-daytona-file-upload-result-efile',\n templateUrl: './file-upload-result-efile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n FileUploadResultBillingComponent,\n MatIcon,\n NgClass,\n TranslateModule,\n PipesModule,\n IconModule,\n ],\n})\nexport class FileUploadResultEfileComponent {\n _file!: EFileResult;\n isOpen = true;\n existsEFileBilling = false;\n\n protected readonly iconType = IconType;\n\n get file(): EFileResult {\n return this._file;\n }\n\n @Input() set file(value: EFileResult) {\n this._file = value;\n this.isOpen = FileUploadHelper.existsEFileBillingError(this.file);\n this.existsEFileBilling = FileUploadHelper.existsEFileBilling(this.file);\n }\n\n getValidationErrorHint(hint: ValidationHint): string {\n return `errorMsg.fileUpload.eFile.${hint.validationHintCode}`;\n }\n\n swapIsOpen(): void {\n this.isOpen = !this.isOpen;\n }\n}\n","
\n
\n
\n @if (file.generalValidationHints.length) {\n \n }\n 0}\"\n >\n {{ file.fileName }}\n \n
\n @if (existsEFileBilling) {\n \n }\n
\n
\n
\n @for (hint of file.generalValidationHints; track hint.validationHintCode) {\n

\n }\n @if (isOpen) {\n @for (billing of file.detectedBillings; track billing) {\n \n }\n }\n
\n
\n
\n","import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from '../../basic/button/button.module';\nimport { FileUploadResultEfileComponent } from './file-upload-result-efile/file-upload-result-efile.component';\nimport { AsyncPipe, DatePipe, NgClass } from '@angular/common';\nimport { PipesModule } from '../../../pipes/pipes.module';\nimport { FileUploadStore } from '../file-upload/file-upload.store';\n\n@Component({\n selector: 'ista-daytona-file-upload-step-result',\n templateUrl: './file-upload-step-result.component.html',\n styleUrls: ['./file-upload-step-result.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n TranslateModule,\n ButtonModule,\n FileUploadResultEfileComponent,\n NgClass,\n DatePipe,\n PipesModule,\n AsyncPipe,\n ],\n})\nexport class FileUploadStepResultComponent {\n @Output() uploadValidData = new EventEmitter();\n @Output() cancelUploading = new EventEmitter();\n @Output() closeWindow = new EventEmitter();\n\n readonly isFileUploadExcel$ = this.store.isFileUploadExcel$;\n readonly isExcelErrorFile$ = this.store.isExcelErrorFile$;\n readonly eFilesWithSizeDateAndError$ = this.store.eFilesWithSizeDateAndError$;\n readonly excelRowResults$ = this.store.excelRowResults$;\n readonly isDataInvalid$ = this.store.isDataInvalid$;\n\n constructor(private store: FileUploadStore) {}\n\n cancel(): void {\n this.cancelUploading.emit();\n }\n\n close(): void {\n this.closeWindow.emit();\n }\n\n uploadData(): void {\n this.uploadValidData.emit();\n }\n}\n","
\n
\n @if (isFileUploadExcel$ | async) {\n

\n
\n
\n
\n
{{ 'file-upload.result.excel.table-h1' | translate }}
\n
{{ 'file-upload.result.excel.table-h2' | translate }}
\n
{{ 'file-upload.result.excel.table-h3' | translate }}
\n
\n @for (rowResult of excelRowResults$ | async; track rowResult.rowNumber) {\n @for (rowHint of rowResult.validationHints; track rowHint) {\n
\n
\n {{ rowResult.rowNumber }}\n
\n
\n
\n {{ 'file-upload.result.excel.hints.' + rowHint | translate }}\n
\n
\n }\n @for (cellResult of rowResult.cellResults; track cellResult.columnString) {\n @for (cellHint of cellResult.validationHints; track cellHint) {\n
\n
\n {{ rowResult.rowNumber }}\n
\n
\n {{ cellResult.columnString }}\n
\n \n {{ 'file-upload.result.excel.hints.' + cellHint | translate }}\n
\n
\n }\n }\n }\n
\n
\n
\n \n
\n } @else {\n

\n
\n
\n
\n
{{ 'file-upload.result.esatz.table-h1' | translate }}
\n
{{ 'file-upload.result.esatz.table-h2' | translate }}
\n
{{ 'file-upload.result.esatz.table-h3' | translate }}
\n
\n
\n @for (file of eFilesWithSizeDateAndError$ | async; track file.fileName) {\n
\n
\n \n
\n \n {{ file.size }}\n
\n \n @if (file.date) {\n {{ file.date | date }}\n } @else {\n -\n }\n
\n
\n
\n }\n
\n \n
\n \n \n
\n }\n \n\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { BaseUi } from '../../base-ui/base-ui';\nimport { LoaderModule } from '../../basic/loader/loader.module';\n\n@Component({\n selector: 'ista-daytona-file-upload-step-upload',\n templateUrl: './file-upload-step-upload.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [LoaderModule],\n})\nexport class FileUploadStepUploadComponent extends BaseUi {\n @Input() label = '';\n}\n","
\n
\n

{{ label }}

\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { EFileResponse } from '../types/efile-response.interface';\nimport { ExcelFileResponse } from '../types/excelfile-response.interface';\nimport { FileUpload } from '../types/file-upload.model';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../../../environments/environment';\n\n@Injectable()\nexport class FileUploadHttpService {\n constructor(private readonly httpClient: HttpClient) {}\n\n uploadExcelFile(fileUpload: FileUpload, selectedEnvId: number): Observable {\n return this.httpClient.post(\n `${environment.apiUrl}/api/${selectedEnvId}/import/excel`,\n fileUpload.formData\n );\n }\n\n uploadEFile(\n fileUpload: FileUpload,\n dryRun: boolean,\n selectedEnvId: number\n ): Observable {\n fileUpload.formData.set('dryRun', dryRun ? 'true' : 'false');\n fileUpload.formData.set('allowPartialImport', 'true');\n return this.httpClient.post(\n `${environment.apiUrl}/api/${selectedEnvId}/import/e-satz`,\n fileUpload.formData\n );\n }\n\n triggerImportableExcelDownloadWithData(\n selectedEnvId: number,\n langString: string,\n selectedGroupIds: number[]\n ): Observable {\n const url = `${environment.apiUrl}/api/${selectedEnvId}/export/importable-excel-export`;\n return this.httpClient.post(\n url,\n {\n requestedYears: [],\n requestedGroups: selectedGroupIds,\n langString,\n },\n {\n responseType: 'blob' as 'json',\n }\n );\n }\n\n triggerImportableExcelDownloadWithNoData(\n selectedEnvId: number,\n langString: string\n ): Observable {\n const url = `${environment.apiUrl}/api/${selectedEnvId}/export/excel-import-template?language=${langString}`;\n return this.httpClient.get(url, {\n responseType: 'blob' as 'json',\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { DestroySubject } from '../../../helper/destroy-abstract.service';\nimport { OverlayService } from '../../overlay/overlay.service';\nimport { FileUpload } from '../types/file-upload.model';\nimport { FileUploadService } from './file-upload.service';\nimport { FileUploadStore } from './file-upload.store';\nimport { FileUploadHttpService } from './file-upload-http.service';\nimport { AsyncPipe } from '@angular/common';\nimport { PipesModule } from '../../../pipes/pipes.module';\nimport { FileUploadStepFinishedComponent } from '../file-upload-step-finished/file-upload-step-finished.component';\nimport { FileUploadStepUploadComponent } from '../file-upload-step-upload/file-upload-step-upload.component';\nimport { FileUploadStepFileEfileComponent } from '../file-upload-step-file/file-upload-step-file-efile/file-upload-step-file-efile.component';\nimport { FileUploadStepFileExcelComponent } from '../file-upload-step-file/file-upload-step-file-excel/file-upload-step-file-excel.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FileUploadStepResultComponent } from '../file-upload-step-result/file-upload-step-result.component';\nimport { FileUploadContactInfoComponent } from '../file-upload-contact-info/file-upload-contact-info.component';\nimport { FileUploadStep } from './file-upload.state';\nimport { FileUploadStepFileService } from '../file-upload-step-file/file-upload-step-file.service';\nimport { FileUploadStepFileExcelStore } from '../file-upload-step-file/file-upload-step-file-excel/file-upload-step-file-excel.store';\n\nexport const FileUploadExcelAcceptedFiles = {\n excel:\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel',\n efile: 'all',\n};\n\n@Component({\n selector: 'ista-daytona-file-upload',\n templateUrl: './file-upload.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n FileUploadStore,\n FileUploadService,\n FileUploadHttpService,\n FileUploadStepFileService,\n FileUploadStepFileExcelStore,\n ],\n imports: [\n AsyncPipe,\n PipesModule,\n FileUploadStepFinishedComponent,\n FileUploadStepUploadComponent,\n FileUploadStepFileEfileComponent,\n FileUploadStepFileExcelComponent,\n TranslateModule,\n FileUploadStepResultComponent,\n FileUploadContactInfoComponent,\n ],\n})\nexport class FileUploadComponent implements OnInit, OnDestroy {\n public readonly steps = FileUploadStep;\n readonly showExcelDataImportCard$ = this.store.showExcelDataImportCard$;\n readonly showFilesDataImportCard$ = this.store.showFilesDataImportCard$;\n readonly currentStep$ = this.store.currentStep$;\n private abortUploadingProcess$ = new Subject();\n private onDestroy$ = new DestroySubject();\n\n constructor(\n private readonly fileUploadService: FileUploadService,\n private readonly overlayService: OverlayService,\n private readonly store: FileUploadStore\n ) {}\n\n @Input()\n set showExcelDataImportCard(value: boolean) {\n this.fileUploadService.setShowExcelDataImportCard(value);\n }\n\n @Input()\n set showFilesDataImportCard(value: boolean) {\n this.fileUploadService.setShowFilesDataImportCard(value);\n }\n\n ngOnInit(): void {\n this.fileUploadService\n .setUpHandlingFileUploadResponse()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe();\n }\n\n ngOnDestroy(): void {\n this.abortUploadingProcess$.next();\n this.abortUploadingProcess$.complete();\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n uploadValidData(): void {\n this.fileUploadService\n .uploadValidData()\n .pipe(takeUntil(this.abortUploadingProcess$), takeUntil(this.onDestroy$))\n .subscribe();\n }\n\n startUploading(fileUpload: FileUpload, dryRun: boolean = true): void {\n this.fileUploadService\n .startUploading(fileUpload, dryRun)\n .pipe(takeUntil(this.abortUploadingProcess$), takeUntil(this.onDestroy$))\n .subscribe();\n }\n\n loadErrorReport(): void {\n this.fileUploadService.loadErrorReport().pipe(takeUntil(this.onDestroy$)).subscribe();\n }\n\n cancelUploading(): void {\n this.abortUploadingProcess$.next();\n this.fileUploadService.setNextStep(FileUploadStep.BEFORE_UPLOADING);\n }\n\n closeWindow(): void {\n this.cancelUploading();\n this.overlayService.close();\n }\n}\n","
\n

{{ 'file-upload.headline' | translate }}

\n
\n @switch (currentStep$ | async) {\n @case (steps.BEFORE_UPLOADING) {\n @if (showExcelDataImportCard$ | async) {\n \n }\n @if (showFilesDataImportCard$ | async) {\n \n }\n }\n @case (steps.CURRENTLY_UPLOADING) {\n \n }\n @case (steps.FEEDBACK) {\n \n }\n @case (steps.FINISHED_UPLOADING) {\n \n }\n }\n
\n \n
\n","import { EFileResponse, EFileResult } from '../types/efile-response.interface';\nimport { UtilHelper } from '../../../helper/util-helper';\nimport { FileUploadResponse } from '../types/fileupload-response.interface';\nimport { ExcelFileResponse } from '../types/excelfile-response.interface';\nimport { FileUpload, FileUploadType } from '../types/file-upload.model';\n\nexport class FileUploadHelper {\n static wasSomeDataImported(res: EFileResponse): boolean {\n return res.parsedAndValidatedFiles.some((file) => file.fileImported);\n }\n\n static loadErrorReport(eFileResponse: EFileResponse): void {\n const csv: string[] = [];\n eFileResponse.parsedAndValidatedFiles.forEach((item) => {\n let row = `${item.fileName}\\n`;\n let addRow = false;\n if (item.generalValidationHints.length) {\n addRow = true;\n item.generalValidationHints.forEach((hint) => {\n row += `${hint.validationHintCode}\\n`;\n });\n }\n\n if (item.detectedBillings.length) {\n item.detectedBillings.forEach((billing) => {\n if (billing.validationHints.length) {\n addRow = true;\n billing.validationHints.forEach((hint) => {\n row += `${hint.affectedLineNumber ?? ''}:${hint.affectedPosition ?? ''} ${\n hint.validationHintCode\n }\\n`;\n });\n }\n });\n }\n\n if (addRow) {\n csv.push(row);\n }\n });\n\n UtilHelper.createCSVWindowBlob(csv.join('\\n'), 'fehlerreport-esatz.txt');\n }\n\n static isExcelFileValid(\n fileUploadResponse: FileUploadResponse\n ): boolean {\n return (fileUploadResponse?.response as ExcelFileResponse)?.importWasSuccessful ?? false;\n }\n\n static getEFileSize(fileUpload: FileUpload, file: EFileResult): string {\n const files = fileUpload?.formData.getAll('eSatzFiles') as File[];\n const foundFile = files.find((item) => item.name === file.fileName);\n if (foundFile) {\n return `${UtilHelper.getRoundedValue(foundFile.size / 1024) || 0} KB`;\n }\n return '-';\n }\n\n static getEFileDate(file: EFileResult, fileUpload?: FileUpload): number {\n const files = fileUpload?.formData.getAll('eSatzFiles') as File[];\n const foundFile = files.find((item) => item.name === file.fileName);\n if (foundFile) {\n return foundFile.lastModified;\n }\n return 0;\n }\n\n static existsEFileErrors(file: EFileResult): boolean {\n return this.existsEFileBillingError(file) || this.existsEFileGeneralError(file);\n }\n\n static existsEFileBillingError(file: EFileResult): boolean {\n return Boolean(file.detectedBillings.find((item) => item.validationHints.length > 0));\n }\n\n static existsEFileGeneralError(file: EFileResult): boolean {\n return file.generalValidationHints.length > 0;\n }\n\n static existsEFileBilling(file: EFileResult): boolean {\n return file.detectedBillings.length > 0;\n }\n\n // TODO: test\n static getFileUploadFromSelectedFile(fileUploadType: FileUploadType, event: Event): FileUpload {\n const input = event.target as HTMLInputElement;\n const formData = new FormData();\n if (input.files) {\n const name = this.getFormDataName(fileUploadType);\n if (fileUploadType === FileUploadType.EXCEL) {\n const file = input.files[0];\n formData.append(name, file, file.name);\n } else {\n const files = Array.from(input.files);\n files.forEach((file) => formData.append(name, file, file.name));\n }\n }\n return {\n type: fileUploadType,\n formData,\n };\n }\n\n static getFormDataName(selectedFileUploadType: FileUploadType): string {\n return selectedFileUploadType === FileUploadType.EXCEL ? 'excelFile' : 'eSatzFiles';\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { EFileResponse } from '../types/efile-response.interface';\nimport { updateDashboardData } from '../../../../features/dashboard/+state/dashboard.actions';\nimport { updatePortfolioData } from '../../../../features/portfolio/+state/portfolio.actions';\nimport { updateBenchmarkingData } from '../../../../features/benchmarking/+state/benchmarking.actions';\nimport { resetTags } from '../../../../core/+state/core.actions';\nimport { Store } from '@ngrx/store';\nimport { DashboardState } from '../../../../features/dashboard/+state/dashboard.reducer';\nimport { PortfolioState } from '../../../../features/portfolio/+state/portfolio.reducer';\nimport { BenchmarkingState } from '../../../../features/benchmarking/+state/benchmarking.reducer';\nimport { EnvironmentService } from '../../../../core/environment/environment.service';\nimport { RootState } from '../../../../+state/app.reducer';\nimport { FileUpload, FileUploadType } from '../types/file-upload.model';\nimport { ExcelFileResponse } from '../types/excelfile-response.interface';\nimport { FileUploadStep } from './file-upload.state';\nimport { FileUploadStore } from './file-upload.store';\nimport { FileUploadHttpService } from './file-upload-http.service';\nimport {\n catchError,\n defer,\n EMPTY,\n filter,\n first,\n Observable,\n switchMap,\n take,\n tap,\n throwError,\n withLatestFrom,\n} from 'rxjs';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { FileUploadHelper } from './file-upload.helper';\nimport { selectSelectedEnvironmentId } from '../../../../core/+state/core.selectors';\n\n@Injectable()\nexport class FileUploadService {\n constructor(\n private readonly dashboardStore: Store,\n private readonly portfolioStore: Store,\n private readonly benchmarkingStore: Store,\n private readonly envService: EnvironmentService,\n private readonly ngrxStore: Store,\n private readonly store: FileUploadStore,\n private readonly fileUploadHttpService: FileUploadHttpService,\n private readonly translateService: TranslateService,\n private readonly toastService: ToastrService\n ) {}\n\n uploadValidData(): Observable {\n return this.store.fileUpload$.pipe(\n take(1),\n filter(Boolean),\n switchMap((fileUpload) => this.startUploading(fileUpload, false))\n );\n }\n\n startUploading(fileUpload: FileUpload, dryRun: boolean = true): Observable {\n return defer(() => {\n this.store.setCurrentStep(FileUploadStep.CURRENTLY_UPLOADING);\n this.store.setFileUpload(fileUpload);\n this.store.setIsDryRun(dryRun);\n return this.uploadFile(fileUpload, dryRun).pipe(\n catchError((error: HttpErrorResponse) => {\n this.store.setFileUploadResponse({\n error,\n response: undefined,\n });\n return EMPTY;\n }),\n filter(Boolean),\n tap((response) =>\n this.store.setFileUploadResponse({\n error: null,\n response,\n })\n )\n );\n });\n }\n\n /**\n * @param fileUpload\n * @param dryRun If 'true' it will only do a validation of the data without uploading. We only\n * want this for the first \"run\" of an efile upload.\n */\n uploadFile(\n fileUpload: FileUpload,\n dryRun: boolean\n ): Observable {\n return this.ngrxStore.select(selectSelectedEnvironmentId).pipe(\n filter(Boolean),\n first(),\n switchMap((selectedEnvId) =>\n fileUpload.type === FileUploadType.EXCEL\n ? this.fileUploadHttpService.uploadExcelFile(fileUpload, selectedEnvId)\n : this.fileUploadHttpService.uploadEFile(fileUpload, dryRun, selectedEnvId)\n ),\n catchError((error: HttpErrorResponse) => throwError(() => error))\n );\n }\n\n updateAfterSuccessfulUpload(): void {\n this.updateYearsAndGroups();\n this.resetStores();\n }\n\n setShowFilesDataImportCard(value: boolean): void {\n this.store.setShowFilesDataImportCard(value);\n }\n\n setShowExcelDataImportCard(value: boolean): void {\n this.store.setShowExcelDataImportCard(value);\n }\n\n setNextStep(value: FileUploadStep): void {\n this.store.setCurrentStep(value);\n }\n\n loadErrorReport(): Observable {\n return this.store.fileUploadResponse$.pipe(\n first(),\n filter(Boolean),\n tap((fileUploadResponse) =>\n // only available for efile in the UI, so the type assertion is okay\n FileUploadHelper.loadErrorReport(fileUploadResponse.response as EFileResponse)\n )\n );\n }\n\n handleUnknownError(): void {\n this.toastService.show(\n this.translateService.instant('errorMsg.UNKNOWN_ERROR') as string,\n '',\n {\n tapToDismiss: true,\n payload: {\n showIcon: true,\n customFontIcon: 'info',\n },\n },\n 'error'\n );\n this.store.setCurrentStep(FileUploadStep.BEFORE_UPLOADING);\n }\n\n setUpHandlingFileUploadResponse(): Observable {\n return this.store.fileUploadResponse$.pipe(\n filter((response) => !!response.response),\n withLatestFrom(this.store.fileUpload$, this.store.isDryRun$),\n tap(([fileUploadResponse, fileUpload, isDryRun]) => {\n if (fileUpload && fileUploadResponse) {\n if (fileUpload?.type === FileUploadType.EXCEL) {\n const res = fileUploadResponse.response as ExcelFileResponse;\n if (res?.importWasSuccessful) {\n this.updateAfterSuccessfulUpload();\n this.store.setCurrentStep(FileUploadStep.FINISHED_UPLOADING);\n } else {\n this.store.setCurrentStep(FileUploadStep.FEEDBACK);\n }\n } else {\n const res = fileUploadResponse.response as EFileResponse;\n const files = res.parsedAndValidatedFiles;\n if (files.length) {\n if (isDryRun) {\n this.store.setCurrentStep(FileUploadStep.FEEDBACK);\n } else {\n if (FileUploadHelper.wasSomeDataImported(res)) {\n this.updateAfterSuccessfulUpload();\n }\n this.store.setCurrentStep(FileUploadStep.FINISHED_UPLOADING);\n }\n } else {\n this.handleUnknownError();\n }\n }\n } else {\n this.handleUnknownError();\n }\n })\n );\n }\n\n private updateYearsAndGroups(): void {\n this.envService.updateYearsAndGroups();\n }\n\n private resetStores(): void {\n this.dashboardStore.dispatch(updateDashboardData());\n this.portfolioStore.dispatch(updatePortfolioData());\n this.benchmarkingStore.dispatch(updateBenchmarkingData());\n this.ngrxStore.dispatch(resetTags());\n }\n}\n","import { FileUploadResponse } from '../types/fileupload-response.interface';\nimport { ExcelFileResponse } from '../types/excelfile-response.interface';\nimport { EFileResponse } from '../types/efile-response.interface';\nimport { FileUpload } from '../types/file-upload.model';\n\n/**\n * Before uploading: the user sees a screen to pick what to upload.\n *\n * Currently uploading: waiting for server answer, user sees loading screen.\n *\n * Feedback -> Excel case: Something went wrong, upload failed. Shows the issues here.\n *\n * Feedback -> Efile case: Shows which data was detected and what can be imported. Use can continue\n * to upload the valid data or cancel here.\n *\n * Finished uploading: Shows either a success-screen or failure-screen.\n */\nexport enum FileUploadStep {\n BEFORE_UPLOADING,\n CURRENTLY_UPLOADING,\n FEEDBACK,\n FINISHED_UPLOADING,\n}\n\nexport interface FileUploadState {\n currentStep: FileUploadStep;\n fileUploadResponse: FileUploadResponse;\n fileUpload?: FileUpload;\n isDryRun: boolean;\n showExcelDataImportCard: boolean;\n showFilesDataImportCard: boolean;\n}\n","import { Injectable } from '@angular/core';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { FileUploadState, FileUploadStep } from './file-upload.state';\nimport { EFileResponse } from '../types/efile-response.interface';\nimport { ExcelFileResponse } from '../types/excelfile-response.interface';\nimport { FileUploadResponse } from '../types/fileupload-response.interface';\nimport { FileUpload, FileUploadType } from '../types/file-upload.model';\nimport { map } from 'rxjs';\nimport { FileUploadHelper } from './file-upload.helper';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Injectable()\nexport class FileUploadStore extends ComponentStore {\n constructor() {\n super({\n showFilesDataImportCard: false,\n showExcelDataImportCard: false,\n currentStep: FileUploadStep.BEFORE_UPLOADING,\n isDryRun: true,\n fileUploadResponse: { error: null, response: undefined },\n });\n }\n\n readonly currentStep$ = this.select((state) => state.currentStep);\n readonly fileUploadResponse$ = this.select((state) => state.fileUploadResponse);\n readonly fileUpload$ = this.select((state) => state.fileUpload);\n readonly isDryRun$ = this.select((state) => state.isDryRun);\n readonly showExcelDataImportCard$ = this.select((state) => state.showExcelDataImportCard);\n readonly showFilesDataImportCard$ = this.select((state) => state.showFilesDataImportCard);\n\n readonly isFileUploadExcel$ = this.select(\n (state) => state.fileUpload && state.fileUpload.type === FileUploadType.EXCEL\n );\n\n readonly eFiles$ = this.select(\n (state) => (state.fileUploadResponse?.response as EFileResponse).parsedAndValidatedFiles ?? []\n );\n\n readonly excelRowResults$ = this.select(\n (state) => (state.fileUploadResponse?.response as ExcelFileResponse).rowResults ?? []\n );\n\n readonly isExcelFileValid$ = this.select(\n (state) =>\n state.fileUploadResponse && FileUploadHelper.isExcelFileValid(state.fileUploadResponse)\n );\n\n readonly eFilesWithSizeDateAndError$ = this.select(\n this.eFiles$,\n this.fileUpload$,\n (files, fileUpload) =>\n files.map((file) => ({\n ...file,\n size: fileUpload ? FileUploadHelper.getEFileSize(fileUpload, file) : '-',\n date: FileUploadHelper.getEFileDate(file, fileUpload),\n existsEFileError: FileUploadHelper.existsEFileErrors(file),\n }))\n );\n\n readonly isExcelErrorFile$ = this.isExcelFileValid$.pipe(map((isValid) => !isValid));\n\n readonly isDataInvalid$ = this.select(\n this.fileUpload$,\n this.fileUploadResponse$,\n this.eFiles$,\n (fileUpload, fileUploadResponse, eFiles) => {\n if (!fileUpload || !fileUploadResponse) {\n return true;\n }\n if (fileUpload.type === FileUploadType.EXCEL) {\n return !FileUploadHelper.isExcelFileValid(fileUploadResponse);\n } else {\n return Boolean(eFiles.find((item) => FileUploadHelper.existsEFileErrors(item)));\n }\n }\n );\n\n readonly setCurrentStep = this.updater((state, value: FileUploadStep) => ({\n ...state,\n currentStep: value,\n }));\n\n readonly setFileUploadResponse = this.updater(\n (state, value: FileUploadResponse) => ({\n ...state,\n fileUploadResponse: value,\n })\n );\n\n readonly setFileUpload = this.updater((state, value: FileUpload | undefined) => ({\n ...state,\n fileUpload: value,\n }));\n\n readonly setShowExcelDataImportCard = this.updater((state, value: boolean) => ({\n ...state,\n showExcelDataImportCard: value,\n }));\n\n readonly setShowFilesDataImportCard = this.updater((state, value: boolean) => ({\n ...state,\n showFilesDataImportCard: value,\n }));\n\n readonly setIsDryRun = this.updater((state, value: boolean) => ({\n ...state,\n isDryRun: value,\n }));\n}\n","export enum FileUploadType {\n EXCEL = 'excel',\n EFILE = 'efile',\n}\n\nexport interface FileUpload {\n formData: FormData;\n type: FileUploadType;\n}\n","import { ComponentPortal } from '@angular/cdk/portal';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { TrackingWrapperService } from 'core/tracking/tracking-wrapper.service';\nimport { OverlayComponent } from '../../overlay/overlay.component';\nimport { FilterTab } from '../filter-tab.interface';\nimport { FilterTabItem } from './../filter-tab.interface';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-filter-page',\n templateUrl: './filter-page.component.html',\n styleUrls: ['./filter-page.component.scss'],\n})\nexport class FilterPageComponent implements OnInit {\n get config(): FilterTab {\n return this._config;\n }\n @Input() set config(value: FilterTab) {\n this._config = { ...value };\n this.setActiveTabs();\n }\n @Input() displayDataImport = false;\n @Input() displayDeleteObject = false;\n @Input() displayEditData = false;\n @Output() clickedFilter = new EventEmitter();\n public activeTabs: FilterTab = {\n left: [],\n selectedYear: { from: '', until: '' },\n };\n public guestPortal!: ComponentPortal;\n private _config!: FilterTab;\n\n constructor(private readonly trackingService: TrackingWrapperService) {}\n\n ngOnInit(): void {\n this.guestPortal = new ComponentPortal(OverlayComponent);\n }\n\n public setActiveLeft(item: FilterTabItem): void {\n this.clickedFilter.emit({\n left: [{ value: item.value, label: item.label }],\n selectedYear: { from: '', until: '' },\n });\n this.activeTabs.left = [item];\n this.trackingService.addGTM(\n {\n eventCategory: 'elementClick',\n eventLabel: item.value || item.label,\n eventAction: 'tabNavigationClick',\n },\n [item.value || item.label]\n );\n }\n\n private setActiveTabs(): void {\n this.activeTabs.left = [];\n this._config.left.forEach((item) => {\n if (!!item.active) {\n this.activeTabs.left = [item];\n // this.trackingService.addGTM(\n // {\n // eventCategory: 'elementClick',\n // eventLabel: item.value || item.label,\n // eventAction: 'tabNavigationClick',\n // },\n // [item.value || item.label]\n // );\n }\n });\n }\n}\n","
\n
\n \n

\n \n

\n
\n
\n \n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { TrackingWrapperService } from 'core/tracking/tracking-wrapper.service';\nimport { UtilHelper } from 'shared/helper/util-helper';\nimport { FilterSubTab, FilterTab, FilterTabItem } from './../filter-tab.interface';\n\n@Component({\n selector: 'ista-daytona-filter-sub-tab',\n templateUrl: './filter-sub-tab.component.html',\n styleUrls: ['./filter-sub-tab.component.scss'],\n})\nexport class FilterSubTabComponent implements OnChanges {\n @Input() selectedFilterPortfolioAnalysisChart: FilterTab[] = [];\n @Output() clickedFilter = new EventEmitter();\n @Output() selectedSubSubTab = new EventEmitter();\n\n public activeMainTab: FilterTabItem | undefined;\n public activeSubTab: FilterTabItem | undefined;\n public selectedSubFilter: FilterTabItem = {\n label: 'types.all',\n value: 'heatingAndHotWater',\n };\n possibleSubFilter = [\n 'heatingAndHotWater',\n 'oil',\n 'gas',\n 'districtHeating',\n 'heatingElectricity',\n 'bioMass',\n 'otherFuels',\n ];\n\n constructor(private readonly trackingService: TrackingWrapperService) {}\n\n private _config!: FilterSubTab;\n\n get config(): FilterSubTab {\n return this._config;\n }\n\n @Input() set config(value: FilterSubTab) {\n if (!!value && value !== this._config) {\n this._config = [...value];\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['config'] && changes['config'].currentValue !== this._config) {\n this._config = [...(changes['config'].currentValue as FilterSubTab)];\n this.updateSelectedSubFilter();\n }\n }\n\n updateSelectedSubFilter(): void {\n if (this.selectedFilterPortfolioAnalysisChart.length) {\n const selectedValue = this.selectedFilterPortfolioAnalysisChart[0]?.left[0]?.value;\n if (selectedValue && this.possibleSubFilter.includes(selectedValue)) {\n this.selectedSubFilter = {\n value: this.selectedFilterPortfolioAnalysisChart[0].left[0].value,\n label: this.selectedFilterPortfolioAnalysisChart[0].left[0].label,\n };\n }\n }\n this.activeSubTab = this.selectedSubFilter;\n this.setActiveTabs(this._config, true);\n this.switchTabIfActiveTabNotRelevantAnymore();\n }\n\n public setActiveMainMenu(item: FilterTabItem): void {\n this.activeMainTab = item;\n\n this.clickedFilter.emit({\n left: [item],\n selectedYear: UtilHelper.getSelectedYearDummy(),\n });\n this.trackingService.addGTM(\n {\n eventCategory: 'elementClick',\n eventLabel: item.value || item.label,\n eventAction: 'tabNavigationClick',\n },\n [item.value || item.label]\n );\n\n if (item.childs && item.childs.length > 0) {\n this.setActiveSubMenu(item.childs[0]);\n }\n }\n\n public setActiveSubMenu(item: FilterTabItem): void {\n this.activeSubTab = item;\n\n this.clickedFilter.emit({\n left: [item],\n selectedYear: UtilHelper.getSelectedYearDummy(),\n });\n this.trackingService.addGTM(\n {\n eventCategory: 'elementClick',\n eventLabel: item.value || item.label,\n eventAction: 'tabNavigationClick',\n },\n [item.value || item.label]\n );\n }\n\n private setActiveTabs(tabs: FilterTabItem[] | undefined, isMainTab: boolean): void {\n tabs?.forEach((item) => {\n if (!!item.active) {\n if (!!isMainTab) {\n this.activeMainTab = item;\n } else {\n this.activeSubTab = item;\n }\n }\n // refresh active main tab, it may has been updated, i.e., it has new children\n if (!!isMainTab && this.activeMainTab?.value === item.value) {\n this.activeMainTab = item;\n }\n });\n\n if (tabs) {\n if (isMainTab && !this.activeMainTab) {\n this.activeMainTab = tabs[0];\n } else if (!isMainTab && !this.activeSubTab) {\n this.activeSubTab = this.activeMainTab?.childs ? this.activeMainTab?.childs[0] : undefined;\n }\n }\n }\n\n /**\n * If the main menu or sub menu items change and the currently selected/active item is not\n * existing anymore, the currently selected/active item should change. This can happen for example\n * when the group is changed while being on the portfolio screen. See\n * https://ista.atlassian.net/browse/SQRE05-1085\n *\n * @private\n */\n private switchTabIfActiveTabNotRelevantAnymore(): void {\n if (this._config) {\n // first, check main tab\n let mainTabStillRelevant = false;\n this._config.forEach((item) => {\n if (item.value === this.activeMainTab?.value) {\n mainTabStillRelevant = true;\n }\n });\n // if water (chart filter) and emissions (header) are selected data has to be reloaded to default\n if (\n this._config.length === 3 &&\n this.selectedFilterPortfolioAnalysisChart[0].left[0].value === 'water'\n ) {\n mainTabStillRelevant = false;\n }\n if (!mainTabStillRelevant) {\n this.setActiveMainMenu(this._config[0]);\n }\n\n if (this.activeMainTab?.childs && this.activeMainTab.childs.length > 0) {\n // now check if selected sub tab is still relevant\n let subTabStillRelevant = false;\n this.activeMainTab.childs.forEach((item) => {\n if (item.value === this.activeSubTab?.value) {\n subTabStillRelevant = true;\n }\n });\n if (!subTabStillRelevant) {\n this.setActiveSubMenu(this.activeMainTab.childs[0]);\n }\n }\n }\n }\n}\n","\n
\n \n

\n \n

\n
\n \n 0\"\n *ngIf=\"activeMainTab?.childs && (activeMainTab?.childs || []).length > 0\"\n >\n
\n \n

\n \n

\n
\n \n \n
\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { TrackingWrapperService } from 'core/tracking/tracking-wrapper.service';\nimport { UtilHelper } from 'shared/helper/util-helper';\nimport { FilterSubTab, FilterTab, FilterTabItem } from '../filter-tab.interface';\n\n@Component({\n selector: 'ista-daytona-filter-tab-small',\n templateUrl: './filter-tab-small.component.html',\n styleUrls: ['./filter-tab-small.component.scss'],\n})\nexport class FilterTabSmallComponent {\n get config(): FilterSubTab {\n return this._config;\n }\n @Input() set config(value: FilterSubTab) {\n if (!!value) {\n this._config = [...value];\n this.setActiveTabs(this._config);\n }\n }\n @Output() clickedFilter = new EventEmitter();\n public activeMainTab: FilterTabItem | undefined;\n private _config!: FilterSubTab;\n\n constructor(private readonly trackingService: TrackingWrapperService) {}\n\n public setActiveMainMenu(item: FilterTabItem): void {\n this.activeMainTab = item;\n this.clickedFilter.emit({\n left: [item],\n selectedYear: UtilHelper.getSelectedYearDummy(),\n });\n this.trackingService.addGTM(\n {\n eventCategory: 'elementClick',\n eventLabel: item.value || item.label,\n eventAction: 'tabNavigationClick',\n },\n [item.value || item.label]\n );\n }\n\n private setActiveTabs(tabs: FilterTabItem[] | undefined): void {\n tabs?.forEach((item) => {\n if (!!item.active) {\n this.activeMainTab = item;\n }\n });\n\n if (tabs) {\n if (!this.activeMainTab) {\n this.activeMainTab = tabs[0];\n }\n }\n }\n}\n","
\n
\n \n

\n \n

\n
\n
\n\n","export interface FilterTabItem {\n label: string;\n icon?: string;\n active?: boolean;\n value?: string;\n childs?: FilterTabItem[];\n}\n\nexport interface FilterDateRange {\n from: string;\n until: string;\n}\nexport interface FilterTab {\n left: FilterTabItem[];\n selectedYear: FilterDateRange;\n}\n\nexport type FilterSubTab = FilterTabItem[];\n\nexport enum FilterType {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n PAGE = 'page',\n SMALL = 'small',\n}\n","import { ComponentStore } from '@ngrx/component-store';\nimport { FilterDateRange, FilterTab, FilterTabItem } from '../filter-tab.interface';\nimport { Injectable } from '@angular/core';\nimport { Utils } from 'shared/helper/utils';\nimport { Observable } from 'rxjs';\n\ninterface FilterTabState {\n context: Record;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FilterTabStoreService extends ComponentStore {\n constructor() {\n super({\n context: {},\n });\n }\n readonly selectActiveFilterTab: (id: string) => Observable = (id: string) =>\n this.select((state) => {\n if (state.context.hasOwnProperty(id)) {\n return state.context[id];\n }\n\n return {\n left: [],\n selectedYear: {\n from: '',\n until: '',\n },\n } as FilterTab;\n });\n\n registerFilterTabInstanceId(id?: string): string {\n if (id && this.get().context.hasOwnProperty(id)) {\n return id;\n }\n const instanceId = id || Utils.generateRandomId();\n this.setInstanceInitialState(instanceId);\n return instanceId;\n }\n\n updateActiveFilterTab(id: string, filterTab: FilterTab): void {\n this.setState((state) => ({\n ...state,\n context: {\n ...state.context,\n [id]: filterTab,\n },\n }));\n }\n\n updateActiveFilterTabLeft(id: string, left: FilterTabItem[]): void {\n this.setState((state) => ({\n ...state,\n context: {\n ...state.context,\n [id]: {\n ...state.context[id],\n left,\n },\n },\n }));\n }\n\n updateActiveFilterTabSelectedYear(id: string, selectedYear: FilterDateRange): void {\n this.setState((state) => ({\n ...state,\n context: {\n ...state.context,\n [id]: {\n ...state.context[id],\n selectedYear,\n },\n },\n }));\n }\n\n private setInstanceInitialState(id: string): void {\n this.setState((state) => ({\n ...state,\n context: {\n ...state.context,\n [id]: {\n left: [],\n selectedYear: { from: '', until: '' },\n },\n },\n }));\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { TrackingWrapperService } from 'core/tracking/tracking-wrapper.service';\nimport { Observable, Subject, takeUntil } from 'rxjs';\nimport { FilterTabStoreService } from 'shared/ui/filter/filter-tab/filter-tab-store.service';\n\nimport { FilterTab } from '../filter-tab.interface';\nimport { FilterTimeMode } from '../filter-time-series/filter-time-mode.interface';\nimport { FilterDateRange, FilterTabItem } from './../filter-tab.interface';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-filter-tab',\n templateUrl: './filter-tab.component.html',\n styleUrls: ['./filter-tab.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FilterTabComponent implements OnInit, OnDestroy, OnChanges {\n private destroy$ = new Subject();\n @Input() timeMode!: FilterTimeMode;\n @Input() displayTimeSeries = true;\n @Input() displayBorderBottom = true;\n @Input() smallVersion = false;\n @Input() instanceId = '';\n\n get config(): FilterTab {\n return this._config;\n }\n\n @Input() set config(value: FilterTab) {\n this._config = { ...value };\n this.setActiveTabs();\n }\n\n @Output() clickedFilter = new EventEmitter();\n public activeTab$: Observable;\n private _config!: FilterTab;\n\n constructor(\n private readonly trackingService: TrackingWrapperService,\n private filterTabStoreService: FilterTabStoreService\n ) {\n this.instanceId = this.filterTabStoreService.registerFilterTabInstanceId(this.instanceId);\n this.activeTab$ = this.filterTabStoreService.selectActiveFilterTab(this.instanceId);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['instanceId']?.currentValue) {\n this.activeTab$ = this.filterTabStoreService.selectActiveFilterTab(\n changes['instanceId'].currentValue as string\n );\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n ngOnInit(): void {\n this.filterTabStoreService\n .selectActiveFilterTab(this.instanceId)\n .pipe(takeUntil(this.destroy$))\n .subscribe((activeTab) => {\n this.clickedFilter.emit(activeTab);\n });\n }\n\n public setActiveLeft(item: FilterTabItem): void {\n if (this._config?.left?.length > 1) {\n this.filterTabStoreService.updateActiveFilterTabLeft(this.instanceId, [\n { value: item.value, label: item.label },\n ]);\n }\n this.trackingService.addGTM(\n {\n eventCategory: 'elementClick',\n eventLabel: item.value || item.label,\n eventAction: 'tabNavigationClick',\n },\n [item.value || item.label]\n );\n }\n\n public setActiveRight(selectedYear: FilterDateRange): void {\n this.filterTabStoreService.updateActiveFilterTabSelectedYear(this.instanceId, selectedYear);\n }\n\n private setActiveTabs(): void {\n this._config?.left?.forEach((item) => {\n if (!!item.active) {\n this.filterTabStoreService.updateActiveFilterTabLeft(this.instanceId, [\n { label: item.label, value: item.value },\n ]);\n }\n });\n }\n}\n","\n
\n \n \n

\n \"filter\n

\n
\n \n \n \n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { RootState } from 'app/+state/app.reducer';\nimport { selectYearsWithData } from 'core/+state/core.selectors';\nimport { takeUntil } from 'rxjs';\nimport { DestroyAbstractService } from 'shared/helper/destroy-abstract.service';\n\nimport { storeSelectedAvailableYear } from '../../../../core/+state/core.actions';\nimport { FilterDateRange } from '../filter-tab.interface';\nimport { FilterTimeMode } from './filter-time-mode.interface';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-filter-time-series',\n templateUrl: './filter-time-series.component.html',\n styleUrls: ['./filter-time-series.component.scss'],\n})\nexport class FilterTimeSeriesComponent extends DestroyAbstractService {\n get mode(): FilterTimeMode {\n return this._mode;\n }\n @Input() set mode(mode: FilterTimeMode | undefined) {\n if (mode) {\n this._mode = mode;\n this.transformTimeSeries();\n if (mode.yearRange) this.setActive(mode.yearRange);\n }\n }\n @Input() selectedYear!: FilterDateRange | undefined | null;\n @Input() setRange!: FilterDateRange;\n @Input() displayDropDown = false;\n\n @Output() clickedFilter = new EventEmitter();\n public timeSeries: FilterDateRange[] = [];\n private timeSeriesOriginal: string[] = [];\n public readonly displayMaxFilterItems = 2;\n private _mode!: FilterTimeMode;\n\n constructor(private readonly ngrxStore: Store) {\n super();\n this.ngrxStore\n .select(selectYearsWithData)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((data) => {\n this.timeSeriesOriginal = [];\n data?.forEach((item) => this.timeSeriesOriginal.push(item.toString()));\n this.transformTimeSeries();\n\n const len = this.timeSeriesOriginal.length;\n if (len > 0) {\n this.ngrxStore.dispatch(\n storeSelectedAvailableYear({\n selectedYear: {\n from: this.timeSeriesOriginal[len - 1],\n until: this.timeSeriesOriginal[len - 1],\n },\n })\n );\n }\n });\n }\n\n public setActive(value: FilterDateRange): void {\n this.selectedYear = value;\n this.clickedFilter.emit(value);\n this.ngrxStore.dispatch(storeSelectedAvailableYear({ selectedYear: value }));\n }\n\n private getTimeSeriesReserved(): string[] {\n return [...this.timeSeriesOriginal]?.reverse();\n }\n\n private transformToYearSlot(): void {\n if (this.mode?.yearSlot) {\n const yearSlot =\n this.mode.yearSlot >= 0 && this.mode.yearSlot <= this.timeSeriesOriginal.length\n ? this.mode.yearSlot\n : this.timeSeriesOriginal.length;\n const len = this.timeSeriesOriginal.length;\n\n if (\n this.mode.yearSlot > this.timeSeriesOriginal.length &&\n this.timeSeriesOriginal.length > 0\n ) {\n this.timeSeries.push({\n from: this.timeSeriesOriginal[0],\n until: this.timeSeriesOriginal[this.timeSeriesOriginal.length - 1],\n });\n } else {\n const timeSeriesReserved = this.getTimeSeriesReserved();\n timeSeriesReserved.forEach((item, index) => {\n const start = index - 1 + yearSlot;\n\n if (start <= len && start >= 0 && timeSeriesReserved[start] !== undefined) {\n this.timeSeries.push({\n from: timeSeriesReserved[start] || '',\n until: item,\n });\n }\n });\n }\n }\n }\n\n private transformTimeSeries(): void {\n this.timeSeries = [];\n\n if (!this.mode || !!this.mode?.singleMode) {\n this.timeSeriesOriginal?.forEach((item) => {\n if (\n !this.mode ||\n (this.mode && !this.mode.yearRange) ||\n (this.mode.yearRange &&\n item >= this.mode?.yearRange?.from &&\n item < this.mode?.yearRange?.until)\n ) {\n this.timeSeries.push({ from: item, until: item });\n }\n });\n } else if (this.mode.yearSlot) {\n this.transformToYearSlot();\n }\n }\n}\n"," displayMaxFilterItems) ||\n displayDropDown ||\n !mode?.singleMode;\n else timeSeriesListing\n \"\n>\n \n \n \"close\"\n \n\n \n \n \n \n \n\n\n\n
\n \n \n \n
\n
\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { FilterSubTab, FilterTab, FilterType } from './filter-tab.interface';\nimport { FilterTimeMode } from './filter-time-series/filter-time-mode.interface';\n\n@Component({\n selector: 'ista-daytona-filter',\n templateUrl: './filter.component.html',\n styleUrls: ['./filter.component.scss'],\n})\nexport class FilterComponent {\n /*\n * @TODO: please fix me with: SQCI05-1228\n * */\n @Input() timeMode!: FilterTimeMode;\n @Input() config!: FilterSubTab | FilterTab;\n @Input() type: FilterType = FilterType.PRIMARY;\n @Input() class = '';\n @Input() displayDataImport = false;\n @Input() displayDeleteObject = false;\n @Input() displayEditData = false;\n @Input() displayBorderBottom = true;\n @Input() displayTimeSeries = true;\n @Input() bottomOffset = '24px';\n @Input() reducedVersion = false;\n @Input() selectedFilterPortfolioAnalysisChart: FilterTab[] = [];\n @Output() clickedFilter = new EventEmitter();\n public filterType = FilterType;\n}\n","
\n \n \n \n \n \n \n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { BasicModule } from '../basic/basic.module';\nimport { FilterPageComponent } from './filter-page/filter-page.component';\nimport { FilterSubTabComponent } from './filter-sub-tab/filter-sub-tab.component';\nimport { FilterTabSmallComponent } from './filter-tab-small/filter-tab-small.component';\nimport { FilterTabComponent } from './filter-tab/filter-tab.component';\nimport { FilterTimeSeriesComponent } from './filter-time-series/filter-time-series.component';\nimport { FilterComponent } from './filter.component';\nimport { RouterLink } from '@angular/router';\nimport { DropdownModule } from 'shared/ui/basic/dropdown/dropdown.module';\n\n@NgModule({\n imports: [CommonModule, BasicModule, TranslateModule, RouterLink, DropdownModule],\n declarations: [\n FilterComponent,\n FilterSubTabComponent,\n FilterTabComponent,\n FilterPageComponent,\n FilterTimeSeriesComponent,\n FilterTabSmallComponent,\n ],\n exports: [FilterComponent, FilterTimeSeriesComponent, FilterTabComponent, FilterComponent],\n})\nexport class FilterModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'ista-daytona-headline',\n templateUrl: 'headline.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule],\n})\nexport class HeadlineComponent {\n @Input({ required: true }) headline!: string;\n}\n","

\n {{ headline | translate }}\n

\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CustomIcon } from '../../interfaces/custom-icon.interface';\nimport { MatIcon } from '@angular/material/icon';\nimport { NgClass } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'ista-daytona-icon-label',\n templateUrl: 'icon-label.component.html',\n standalone: true,\n imports: [MatIcon, NgClass, TranslateModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconLabelComponent {\n @Input({ required: true }) label!: string;\n @Input() icon?: CustomIcon;\n @Input({ transform: booleanAttribute }) alignInCenter = false;\n}\n","
\n @if (icon) {\n @if (icon.isSvgIcon) {\n \n \n } @else {\n \n {{ icon.name }}\n \n }\n }\n \n {{ label | translate }}\n \n
\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { IconValueLabel } from './icon-value-label.interface';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PipesModule } from '../../pipes/pipes.module';\nimport { DecimalPipe, NgClass } from '@angular/common';\nimport { Utils } from '../../helper/utils';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'ista-daytona-icon-value-label',\n templateUrl: 'icon-value-label.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, PipesModule, DecimalPipe, MatIcon, NgClass],\n})\nexport class IconValueLabelComponent {\n @Input({ required: true }) item?: IconValueLabel;\n\n getFormatNumberDigits(value?: string | number | null): string {\n return Utils.getFormatNumberDigits(value);\n }\n}\n","@if (item) {\n
\n @if (item.icon) {\n \n @if (item.icon.isSvgIcon) {\n \n } @else {\n {{ item.icon.name }}\n \n }\n
\n }\n @if (item.value | formatNumber: item.unit; as formattedValue) {\n \n \n % {{ item.label | translate }}\n \n }\n \n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ista-daytona-info-card',\n templateUrl: './info-card.component.html',\n})\nexport class InfoCardComponent {\n @Input() headline = '';\n @Input() text = '';\n @Output() hideInfoboxValue = new EventEmitter();\n showInfobox = true;\n\n hideInfobox(): void {\n this.showInfobox = false;\n this.hideInfoboxValue.emit(false);\n }\n}\n","
\n
\n
\n
\n info\n
\n
\n
{{ headline }}
\n
{{ text }}
\n
\n
\n \"Close\"\n
\n
\n
\n
\n","import { ValueItem } from '../../models/value-item.interface';\nimport { Unit } from '../../models/unit.enum';\nimport { ConsumptionTypes } from '../../models/consumption-types.interface';\nimport { CardHeaderConfig } from '../../models/card-header-config.interface';\nimport { AnalyticalCategories } from '../../interfaces/consumption-type-button.interface';\n\nexport interface BarItem {\n label: string;\n value: ValueItem;\n}\n\nexport interface MonitoringCardData {\n id: number;\n color: string;\n header: CardHeaderConfig;\n siteCount?: number;\n bars: BarItem[];\n unit?: Unit;\n}\n\nexport enum MonitoringCardPortfolioType {\n electricity = 'electricity',\n waste = 'waste',\n water = 'water',\n heatingAndHotWater = 'heatingAndHotWater',\n emissions = 'emissions',\n costs = 'costs',\n co2 = 'co2',\n}\n\n// export interface MonitoringCardPortfolio {\n// [key: string]: MonitoringCardData;\n// electricity: MonitoringCardData;\n// waste: MonitoringCardData;\n// water: MonitoringCardData;\n// heatingAndHotWater: MonitoringCardData;\n// emissions: MonitoringCardData;\n// costs: MonitoringCardData;\n// }\n\nexport type ConsumptionTypesAndAnalyticalCategories = ConsumptionTypes | AnalyticalCategories;\n\nexport type MonitoringCardPortfolio = {\n [K in ConsumptionTypesAndAnalyticalCategories]: MonitoringCardData;\n};\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport * as _ from 'lodash';\n\nimport { ColorHelper } from '../../helper/color-helper';\nimport { UtilHelper } from '../../helper/util-helper';\nimport { ValueItem } from '../../models/value-item.interface';\nimport { Unit } from '../../models/unit.enum';\nimport { RGBA } from '../../models/rgba.interface';\nimport { FilterDateRange } from '../filter/filter-tab.interface';\nimport { BarItem, MonitoringCardData } from './monitoring-card-data.interface';\nimport { IconHelper } from '../../helper/icon-helper';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-monitoring-card',\n templateUrl: './monitoring-card.component.html',\n styleUrls: ['./monitoring-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MonitoringCardComponent {\n @Input() sortDataByLabel = true;\n @Input() selectedYear: FilterDateRange | undefined | null;\n @Input() displayBars = true;\n @Input() displayValue = true;\n @Input() displaySiteCount = true;\n public isHover = false;\n public borderColor = ColorHelper.get('background-medium');\n protected readonly IconHelper = IconHelper;\n private _maxBarValue = 0;\n private _rgbaColor!: RGBA;\n\n private _data!: MonitoringCardData;\n\n get data(): MonitoringCardData {\n return this._data;\n }\n\n @Input() set data(value: MonitoringCardData) {\n this._data = _.cloneDeep(this.sortDataByLabel ? this.sortDataByLabelAscending(value) : value);\n this._rgbaColor = UtilHelper.convertHEXtoRGBA(this._data?.color);\n this._data?.bars?.forEach((bar) => {\n if (bar.value?.value && bar.value?.value > this._maxBarValue) {\n this._maxBarValue = bar.value?.value;\n }\n });\n }\n\n // @TODO this is a quick workaround for SiteCount, the Component should be refactored because it seems like a mix between Smart and Dumb Component\n get siteCount(): number | undefined {\n try {\n const index = this.data.bars?.findIndex((item) => item.label === this.selectedYear?.from);\n\n return index >= 0 ? this.data.bars[index]?.value?.numberOfAffectedObjects : undefined;\n } catch (e) {\n console.error(e);\n return undefined;\n }\n }\n\n public getBarWidth(bar: BarItem): string {\n const index = this._data?.bars.findIndex(\n (item) => item.label === bar.label && item.value === bar.value\n );\n\n if (\n this._data?.bars[index]?.value?.value === null ||\n this._data?.bars[index]?.value?.value === undefined\n ) {\n return '0';\n }\n\n return (\n (((this._data?.bars[index]?.value?.value || 0) / this._maxBarValue) * 100).toString() + '%'\n );\n }\n\n public getBackgroundColor(index: number): string {\n return `rgba(${this._rgbaColor.r}, ${this._rgbaColor.g}, ${this._rgbaColor.b}, ${\n index > 0 ? 0.6 : 1\n }`;\n }\n\n public getValueItemOfSelectedYear(): ValueItem | undefined {\n return this.data.bars.find((item) => item.label === this.selectedYear?.from)?.value;\n }\n\n public getUnitOfSelectedYear(): Unit {\n return (\n this.data.bars.find((item) => item.label === this.selectedYear?.from)?.value?.unit ||\n Unit.DEFAULT\n );\n }\n\n public getDisplayedBars(): BarItem[] {\n const index = this.data.bars?.findIndex((item) => item.label === this.selectedYear?.from);\n\n const start = index - 2 >= 0 ? index - 2 : 0;\n let end = index < 0 ? 0 : index + 1;\n if (start === 0) {\n end = 3;\n }\n\n return this.data.bars.slice(start, end);\n }\n\n sortDataByLabelAscending(value: MonitoringCardData): MonitoringCardData {\n try {\n return {\n ...value,\n bars: value.bars.sort((a, b) => b.label.localeCompare(a.label)),\n };\n } catch (e) {\n console.error('sortDataByLabelAscending', e);\n return value;\n }\n }\n}\n","
\n
\n
\n
\n \n \n
\n 1\"\n [contentTemplate]=\"toolTip\"\n [position]=\"{\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -12,\n }\"\n class=\"site-count\"\n customToolTip\n >\n \n \n \n
\n \n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n\n","import { ColorHelper } from '../../helper/color-helper';\nimport { IconHelper } from '../../helper/icon-helper';\nimport { LanguageKeyHelper } from '../../helper/language-key-helper';\nimport { Unit } from '../../models/unit.enum';\nimport { MonitoringCardPortfolio } from './monitoring-card-data.interface';\n\nexport type MonitoringCardsSkeletonType =\n | 'heatingAndHotWater'\n | 'electricity'\n | 'water'\n | 'waste'\n | 'emissions'\n | 'costs';\n\n// export type monitoringCardsSkeletonType = keyof monitoringCardsSkeleton;\n\nexport type MonitoringCardType = Pick;\n\nexport const monitoringCardsSkeleton: MonitoringCardType = {\n heatingAndHotWater: {\n id: 1,\n color: ColorHelper.get('heatingAndHotWater-light') || 'red',\n header: {\n label: LanguageKeyHelper.get('heatingAndHotWater') || 'Wärme',\n icon: {\n text: LanguageKeyHelper.get('heatingAndHotWater') || 'Wärme',\n url: IconHelper.get('heatingAndHotWater') || '',\n },\n tabLabel: 'heatingAndHotWater',\n },\n unit: Unit.KWH,\n bars: [],\n },\n electricity: {\n id: 2,\n color: ColorHelper.get('electricity-light') || 'orange',\n header: {\n label: LanguageKeyHelper.get('electricity') || 'Strom',\n icon: {\n text: LanguageKeyHelper.get('electricity') || 'Strom',\n url: IconHelper.get('electricity') || '',\n },\n tabLabel: 'electricity',\n },\n unit: Unit.KWH,\n bars: [],\n },\n water: {\n id: 3,\n color: ColorHelper.get('water-light') || 'blue',\n header: {\n label: LanguageKeyHelper.get('water') || 'Wasser',\n icon: {\n text: LanguageKeyHelper.get('water') || 'Wasser',\n url: IconHelper.get('water') || '',\n },\n tabLabel: 'water',\n },\n unit: Unit.KG,\n bars: [],\n },\n waste: {\n id: 4,\n color: ColorHelper.get('waste-light') || 'gray',\n header: {\n label: LanguageKeyHelper.get('waste') || 'Abfall',\n icon: {\n text: LanguageKeyHelper.get('waste') || 'Abfall',\n url: IconHelper.get('waste') || '',\n },\n tabLabel: 'waste',\n },\n unit: Unit.KG,\n bars: [],\n },\n emissions: {\n id: 5,\n color: ColorHelper.get('co2-light') || 'green',\n header: {\n label: LanguageKeyHelper.get('co2Emissions') || 'CO₂e Kosten',\n icon: {\n text: LanguageKeyHelper.get('co2Emissions') || 'CO₂e Kosten',\n url: IconHelper.get('co2') || '',\n },\n tabLabel: 'co2Emissions',\n },\n unit: Unit.EUR,\n bars: [],\n },\n costs: {\n id: 6,\n color: ColorHelper.get('cost') || 'green',\n header: {\n label: LanguageKeyHelper.get('costs') || 'Kosten',\n icon: {\n text: LanguageKeyHelper.get('costs') || 'Kosten',\n url: IconHelper.get('euro') || '',\n },\n tabLabel: 'costs',\n },\n unit: Unit.EUR,\n bars: [],\n },\n};\n","import { Component, Input } from '@angular/core';\nimport { TrackingWrapperService } from 'core/tracking/tracking-wrapper.service';\nimport { NavigationItem } from './navigation-item.interface';\nimport { EmptyEnvironmentNotificationService } from 'shared/ui/empty-environment-notification/empty-environment-notification.service';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'ista-daytona-navigation',\n templateUrl: './navigation.component.html',\n styleUrls: ['./navigation.component.scss'],\n})\nexport class NavigationComponent {\n @Input() displaySmall: boolean | null = false;\n public navigationItems: NavigationItem[] = [\n {\n id: 1,\n name: 'navigation.dashboard',\n title: 'navigation.dashboard',\n icon: {\n name: 'dashboard',\n isSvgIcon: true,\n isFillRelated: true,\n },\n link: 'dashboard',\n },\n {\n id: 2,\n name: 'navigation.portfolio',\n title: 'navigation.portfolio',\n icon: {\n name: 'buildings',\n isSvgIcon: true,\n isFillRelated: true,\n },\n link: 'portfolio',\n },\n {\n id: 3,\n name: 'navigation.benchmarking',\n title: 'navigation.benchmarking',\n icon: {\n name: 'finance_chart',\n isSvgIcon: true,\n isFillRelated: true,\n },\n link: 'benchmarking',\n },\n {\n id: 4,\n name: 'navigation.reporting',\n title: 'navigation.reporting',\n icon: {\n name: 'report',\n isSvgIcon: true,\n isFillRelated: true,\n },\n link: 'reporting',\n },\n {\n id: 5,\n name: '',\n link: '',\n },\n {\n id: 6,\n name: 'navigation.contact',\n title: 'navigation.contact',\n icon: {\n name: 'envelop',\n isSvgIcon: true,\n isFillRelated: true,\n },\n link: 'contact',\n },\n {\n id: 7,\n name: 'navigation.help',\n title: 'navigation.help',\n icon: {\n name: 'help',\n isSvgIcon: true,\n isFillRelated: true,\n },\n link: 'help',\n },\n {\n id: 8,\n name: 'navigation.preferences',\n title: 'navigation.preferences',\n icon: {\n name: 'settings',\n isSvgIcon: true,\n isFillRelated: true,\n },\n link: 'settings',\n },\n {\n id: 9,\n name: '',\n link: '',\n },\n {\n id: 10,\n name: 'navigation.dataUpload',\n title: 'navigation.dataUpload',\n icon: {\n name: 'add_circle',\n isSvgIcon: true,\n isFillRelated: true,\n },\n link: 'data-upload',\n },\n {\n id: 11,\n name: 'navigation.logout',\n title: 'navigation.logout',\n icon: {\n name: 'logout',\n isSvgIcon: true,\n isFillRelated: true,\n },\n link: 'logout',\n },\n ];\n constructor(\n private readonly trackingService: TrackingWrapperService,\n private emptyEnvironmentService: EmptyEnvironmentNotificationService,\n ) {}\n\n getIsLinkActive(link: string): boolean {\n const pathName = location.pathname;\n return pathName === `/${link}` || pathName.startsWith(`/${link}/`);\n }\n\n public setTitle(name: string): void {\n this.trackingService.addGTM(\n {\n eventCategory: 'elementClick',\n eventAction: 'menuNavigationClick',\n eventLabel: name,\n },\n []\n );\n }\n\n isDisabledFromMissingData(itemLink: string): Observable {\n return this.emptyEnvironmentService.isDisabledFromMissingData(itemLink);\n }\n}\n","\n
\n \n \n
\n
    \n
  • \n \n @if (item.icon; as icon) {\n @if (icon.isSvgIcon) {\n \n \n } @else {\n {{ icon.name }}\n \n }\n }\n\n \n \n \n
    \n
    \n
  • \n
\n \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BasicModule } from '../basic/basic.module';\nimport { NavigationComponent } from './navigation.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { LinkWithGlobalQueryParamsDirective } from 'shared/directives/link-with-global-query-params.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n BasicModule,\n TranslateModule,\n RouterModule,\n MatIconModule,\n LinkWithGlobalQueryParamsDirective,\n ],\n declarations: [NavigationComponent],\n exports: [NavigationComponent],\n})\nexport class NavigationModule {}\n","import { Component, OnDestroy } from '@angular/core';\nimport { ReplaySubject, Subscription } from 'rxjs';\n\nimport { Notification, NotificationType } from './notification.interface';\nimport { NotificationService } from './notification.service';\n\n@Component({\n selector: 'ista-daytona-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n})\nexport class NotificationComponent implements OnDestroy {\n public notifications: Notification[] = [];\n public displayedNotification: Notification | undefined;\n public actualNotifiction!: Notification;\n public notification$ = new ReplaySubject();\n public notificationIcon!: string;\n public notificationType = NotificationType;\n public actualPageIndex = 1;\n private subs = new Subscription();\n\n constructor(private readonly notificationService: NotificationService) {\n this.subs.add(\n this.notificationService.getNotification$().subscribe((notification) => {\n if (!this.existsNotification(notification)) {\n this.notifications.push(notification);\n this.displayedNotification = this.notifications[0];\n }\n })\n );\n }\n\n public get icon(): string {\n const nextItem: Notification | undefined = this.displayedNotification;\n const prefix = '/assets/icons/notification/';\n switch (nextItem?.type) {\n case NotificationType.WARNING:\n return prefix + 'Warning.svg';\n case NotificationType.ALERT:\n return prefix + 'BellRinging.svg';\n default:\n return prefix + 'CheckCircle.svg';\n }\n }\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n }\n\n public closeNotification(): void {\n if (this.notifications.length > 1) {\n this.notifications = [];\n this.displayedNotification = undefined;\n } else {\n this.notifications.shift();\n this.displayedNotification = this.notifications[0];\n }\n }\n\n public setNotificationByIndex(index: number): void {\n const indexLen = index - 1;\n if (indexLen >= 0 && indexLen < this.notifications.length) {\n this.displayedNotification = this.notifications[indexLen];\n }\n }\n\n private existsNotification(notification: Notification): boolean {\n return !!this.notifications.find(\n (item) => item?.headline === notification?.headline && item?.text === notification?.text\n );\n }\n}\n","
\n
\n
\n \"notification-header\"\n \n
\n\n
\n

\n

\n
\n
1\">\n \n

Fehler {{ actualPageIndex }} von {{ notifications.length }}

\n \n
\n \n
\n
\n","export enum NotificationType {\n ALERT = 'alert',\n WARNING = 'warning',\n CONFIRMATION = 'confirmation',\n}\n\nexport interface Notification {\n headline: string;\n subline?: string;\n text?: string;\n type: NotificationType;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { BasicModule } from '../basic/basic.module';\nimport { PageStepperModule } from '../page-stepper/page-stepper.module';\nimport { NotificationComponent } from './notification.component';\n\n@NgModule({\n imports: [CommonModule, BasicModule, PageStepperModule],\n declarations: [NotificationComponent],\n exports: [NotificationComponent],\n})\nexport class NotificationModule {}\n","import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\n\nimport { Notification } from './notification.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n private notifications$: ReplaySubject = new ReplaySubject();\n\n public addNotification(notification: Notification): void {\n if (notification) {\n this.notifications$.next(notification);\n } else {\n // LoggerService.warn('cannot add notification: ', notification);\n }\n }\n\n public getNotification$(): Observable {\n return this.notifications$.asObservable();\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport * as OSM from 'leaflet';\n\nexport const OSMSettings = {\n osmTileLayer: 'https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png',\n attribution: '© Carto',\n\n // in the comment below is the default map:\n /* osmTileLayer: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',\n\tattribution:\n\t\t'© OpenStreetMap',*/\n};\n\ninterface Landmarks {\n name: string;\n lat: string;\n lng: string;\n label: string;\n id?: number;\n}\n\ninterface MarkerIndex {\n index: number;\n}\n\n@Component({\n selector: 'ista-daytona-open-street-map',\n templateUrl: './osm.component.html',\n})\nexport class OSMComponent implements AfterViewInit, OnChanges {\n @Input() public landmarks: Landmarks[] = [];\n @Input() public zoom = '2';\n @Input() public lat = '0';\n @Input() public lng = '0';\n @Input() public markLandmark!: MarkerIndex;\n @Input() public unmarkLandmark!: MarkerIndex;\n @ViewChild('osm') osmElement!: ElementRef;\n\n private map?: OSM.Map | undefined;\n private marker: OSM.Marker[] = [];\n private featureGroup: OSM.FeatureGroup = OSM.featureGroup([]);\n private imgChilds!: HTMLCollection;\n\n constructor(private readonly renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.map = OSM.map('osm', {\n center: { lat: Number(this.lat), lng: Number(this.lng) },\n zoom: 17,\n });\n\n const tiles = OSM.tileLayer(OSMSettings.osmTileLayer, {\n maxZoom: 18,\n minZoom: 3,\n attribution: OSMSettings.attribution,\n });\n\n this.map.on('zoomend', () => this.createBadgePane());\n this.map.on('zoomstart', () => this.deleteBadgePane());\n this.map.on('moveend', () => this.createBadgePane());\n\n tiles.addTo(this.map);\n OSM.control.scale().addTo(this.map);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['landmarks']?.currentValue.length === 0) {\n this.resetMap();\n } else if (changes['landmarks'] !== undefined) {\n this.createOSMMarker(changes['landmarks'].currentValue);\n } else if (changes['markLandmark'] !== undefined) {\n const marker = changes['markLandmark'].currentValue as MarkerIndex;\n\n this.handleMarkerIconChange(marker.index, true);\n } else if (changes['unmarkLandmark'] !== undefined) {\n const marker = changes['unmarkLandmark'].currentValue as MarkerIndex;\n\n this.handleMarkerIconChange(marker.index, false);\n } else if (this.map) {\n this.map.setZoom(changes['zoom'] !== undefined ? changes['zoom'].currentValue : this.zoom);\n this.setCenterProperties(\n changes['lat'] !== undefined ? changes['lat'].currentValue : this.lat,\n changes['lng'] !== undefined ? changes['lng'].currentValue : this.lng\n );\n }\n }\n\n handleMarkerIconChange(index: number, useHightlight: boolean): void {\n if (index >= 0) {\n if (this.imgChilds && this.imgChilds[index]) {\n this.changeMarkerIcon(index, useHightlight);\n }\n } else {\n Array.from(this.imgChilds).forEach((child, i) => this.changeMarkerIcon(i, false));\n }\n }\n\n changeMarkerIcon(index: number, useHightlight: boolean): void {\n const icon = `/assets/icons/marker-icon${useHightlight ? '-red' : ''}.png`;\n\n this.imgChilds[index].setAttribute('src', icon);\n }\n\n private deleteBadgePane(): void {\n const parent = this.osmElement.nativeElement.getElementsByClassName(\n 'leaflet-pane leaflet-map-pane'\n )[0];\n const existsChild = parent.getElementsByClassName('leaflet-pane einsundeins-badge-pane');\n\n if (existsChild) {\n Array.from(existsChild).forEach((child) => this.renderer.removeChild(parent, child));\n }\n }\n\n private createBadgePane(): void {\n const parent = this.osmElement.nativeElement.getElementsByClassName(\n 'leaflet-pane leaflet-map-pane'\n )[0];\n\n this.imgChilds = this.osmElement.nativeElement.getElementsByClassName(\n 'leaflet-pane leaflet-marker-pane'\n )[0]?.children;\n\n this.deleteBadgePane();\n\n // create new badge pane\n const parentDiv = this.renderer.createElement('div') as HTMLElement;\n\n this.renderer.addClass(parentDiv, 'leaflet-pane');\n this.renderer.addClass(parentDiv, 'einsundeins-badge-pane');\n const imgChildsCount = Array.from(this.imgChilds).length;\n\n for (let i = 0; i < imgChildsCount; i++) {\n const styles = getComputedStyle(this.imgChilds[i]);\n const childDiv = this.renderer.createElement('div') as HTMLElement;\n\n this.renderer.setStyle(childDiv, 'marginLeft', styles.marginLeft);\n this.renderer.setStyle(childDiv, 'marginTop', styles.marginTop);\n this.renderer.setStyle(childDiv, 'transform', styles.transform);\n this.renderer.setStyle(childDiv, 'zIndex', styles.zIndex);\n this.renderer.setStyle(childDiv, 'width', styles.width);\n this.renderer.setStyle(childDiv, 'height', styles.height);\n this.renderer.setStyle(childDiv, 'display', 'block');\n this.renderer.addClass(childDiv, 'badge');\n\n const childPar = this.renderer.createElement('p') as HTMLElement;\n\n childPar.textContent = `${i + 1}`;\n\n this.renderer.appendChild(childDiv, childPar);\n this.renderer.appendChild(parentDiv, childDiv);\n }\n this.renderer.appendChild(parent, parentDiv);\n }\n\n private createPopup(landmark: { name: string }): string {\n return `
${landmark.name}
`;\n }\n\n private setCenterProperties(lat: string, lng: string) {\n this.map?.setView({ lat: Number(lat), lng: Number(lng) });\n }\n\n private resetMap() {\n this.map?.removeLayer(this.featureGroup);\n this.marker = [];\n this.featureGroup = OSM.featureGroup([]);\n }\n\n private createOSMMarker(landmarks: Landmarks[]): void {\n this.removeMarkers();\n setTimeout(() => {\n landmarks.forEach((landmark: any) => {\n if (Number(landmark.lat) !== 0 && Number(landmark.lng) !== 0) {\n const newMarker = OSM.marker([landmark.lat, landmark.lng])\n .bindPopup(this.createPopup(landmark))\n .openPopup();\n\n this.marker.push(newMarker);\n }\n });\n\n if (this.marker.length > 0) {\n this.featureGroup = OSM.featureGroup(this.marker);\n this.map?.addLayer(this.featureGroup).fitBounds(this.featureGroup.getBounds());\n }\n }, 100);\n }\n\n private removeMarkers(): void {\n if (this.featureGroup) {\n this.map?.removeLayer(this.featureGroup);\n this.marker = [];\n }\n }\n}\n","
\n","import { Component, HostListener, Input } from '@angular/core';\nimport { OverlayService } from './overlay.service';\n\n@Component({\n selector: 'ista-daytona-overlay',\n templateUrl: './overlay.component.html',\n styleUrls: ['./overlay.component.scss'],\n})\nexport class OverlayComponent {\n @Input() showExcelDataImportCard = false;\n @Input() showFilesDataImportCard = false;\n @Input() showDeleteObjectCard = false;\n\n constructor(private readonly overlayService: OverlayService) {}\n\n @HostListener('window:keydown', ['$event'])\n onKeydownHandler(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closeWindow();\n }\n }\n\n public closeWindow(): void {\n this.overlayService.close();\n }\n}\n","
\n \n @if (showFilesDataImportCard || showExcelDataImportCard) {\n
\n \n
\n }\n @if (showDeleteObjectCard) {\n
\n \n
\n }\n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { OverlayComponent } from './overlay.component';\nimport { OverlayService } from './overlay.service';\nimport { DeleteObjectModule } from 'app/features/portfolio/delete-object/delete-object.module';\nimport { FileUploadComponent } from '../file-upload/file-upload/file-upload.component';\nimport { ButtonModule } from '../basic/button/button.module';\n\n@NgModule({\n imports: [CommonModule, DeleteObjectModule, FileUploadComponent, ButtonModule],\n declarations: [OverlayComponent],\n exports: [OverlayComponent],\n providers: [OverlayService],\n})\nexport class OverlayModule {}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injectable } from '@angular/core';\n\nimport { OverlayComponent } from './overlay.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OverlayService {\n public overlayRef!: OverlayRef;\n constructor(private overlay: Overlay) {}\n\n public open(\n minHeight: number = 840,\n minWidth: number = 840,\n inputs?: Partial\n ): void {\n this.overlayRef = this.overlay.create(this.getOverlayConfig(minHeight, minWidth));\n const componentPortal = new ComponentPortal(OverlayComponent);\n const ref = this.overlayRef.attach(componentPortal);\n Object.assign(ref.instance, inputs);\n this.overlayRef.backdropClick().subscribe(() => void this.overlayRef.detach());\n }\n\n public close(): void {\n this.overlayRef.detach();\n }\n\n private getOverlayConfig(minHeight: number, minWidth: number): OverlayConfig {\n const positionStrategy = this.overlay\n .position()\n .global()\n .centerHorizontally()\n .centerVertically();\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: 'overlay-background',\n panelClass: '',\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy,\n minHeight,\n minWidth,\n });\n\n return overlayConfig;\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { BaseUi } from '../base-ui/base-ui';\n\n@Component({\n selector: 'ista-daytona-page-stepper',\n templateUrl: './page-stepper.component.html',\n styleUrls: ['./page-stepper.component.scss'],\n})\nexport class PageStepperComponent extends BaseUi {\n @Input() minPageCount = 1;\n @Input() maxPageCount = 1;\n @Input() selectedPage = 1;\n @Input() showBoxShadow = false;\n @Output() selectPage = new EventEmitter();\n\n public prevPage(): void {\n if (this.isPrevPagePossible()) {\n this.selectedPage--;\n this.selectPage.emit(this.selectedPage);\n }\n }\n\n public nextPage(): void {\n if (this.isNextPagePossible()) {\n this.selectedPage++;\n this.selectPage.emit(this.selectedPage);\n }\n }\n\n public isPrevPagePossible(): boolean {\n return this.selectedPage - 1 >= this.minPageCount;\n }\n\n public isNextPagePossible(): boolean {\n return this.selectedPage + 1 <= this.maxPageCount;\n }\n}\n","
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { BasicModule } from '../basic/basic.module';\nimport { PageStepperComponent } from './page-stepper.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, BasicModule],\n declarations: [PageStepperComponent],\n exports: [PageStepperComponent],\n})\nexport class PageStepperModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { BaseUi } from '../base-ui/base-ui';\nimport { ItemCount } from './item-count.enum';\n\n/* eslint-disable @typescript-eslint/member-ordering */\n@Component({\n selector: 'ista-daytona-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss'],\n})\nexport class PaginationComponent extends BaseUi {\n public readonly itemCount = [10, 25, 50, 100];\n get selectedPage(): number {\n return this._selectedPage;\n }\n @Input() set selectedPage(value: number) {\n if (value >= this.minPageCount && value <= this.maxPageCount) {\n this._selectedPage = value;\n this.manualPage = value;\n } else {\n this._selectedPage = this.minPageCount;\n this.manualPage = this.minPageCount;\n }\n }\n @Input() selectedItemCount = this.itemCount[0];\n @Input() maxPageCount = 1;\n @Input() minPageCount = 1;\n @Output() selectPage = new EventEmitter();\n @Output() selectItemCount = new EventEmitter();\n public manualPage!: number;\n public manualPageConfig: { isInvalid: boolean; invalidText: string } = {\n isInvalid: false,\n invalidText: '',\n };\n private _selectedPage = 1;\n\n public setSelectedPage(value: number): void {\n this._selectedPage = value;\n this.manualPage = this._selectedPage;\n this.clearErrorConfig();\n this.selectPage.emit(this._selectedPage);\n }\n\n public selectItemCountValue(value: number): void {\n this.selectItemCount.emit(value);\n }\n\n public checkPageInput(): void {\n if (this.manualPage >= this.minPageCount && this.manualPage <= this.maxPageCount) {\n this._selectedPage = this.manualPage;\n this.clearErrorConfig();\n this.selectPage.emit(this._selectedPage);\n } else {\n this.manualPageConfig = {\n isInvalid: true,\n invalidText: 'Seitenzahl liegt nicht im Gültigkeitsbereich.',\n };\n }\n }\n\n private clearErrorConfig(): void {\n this.manualPageConfig = {\n isInvalid: false,\n invalidText: '',\n };\n }\n}\n","
\n
\n \n
\n Gehe zu Seite\n
\n \n
\n
\n\n \n
10
\n
25
\n
50
\n
\n
\n
\n \n

Seite {{ selectedPage }} von {{ maxPageCount }}

\n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { ButtonModule } from '../basic/button/button.module';\nimport { DropdownModule } from '../basic/dropdown/dropdown.module';\nimport { InputModule } from '../basic/input/input.module';\nimport { PageStepperModule } from '../page-stepper/page-stepper.module';\nimport { PaginationComponent } from './pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n DropdownModule,\n InputModule,\n ButtonModule,\n PageStepperModule,\n ],\n declarations: [PaginationComponent],\n exports: [PaginationComponent],\n})\nexport class PaginationModule {}\n","import { Component, Input } from '@angular/core';\n\nimport { CardHeaderConfig } from '../../models/card-header-config.interface';\nimport { PortfolioCardValueItem } from './portfolio-card.interface';\n\n@Component({\n selector: 'ista-daytona-portfolio-card',\n templateUrl: './portfolio-card.component.html',\n styleUrls: ['./portfolio-card.component.scss'],\n})\nexport class PortfolioCardComponent {\n @Input() data!: PortfolioCardValueItem | undefined;\n @Input() header!: CardHeaderConfig | undefined;\n}\n","
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ista-daytona-section',\n templateUrl: 'section.component.html',\n})\nexport class SectionComponent {\n @Input() headline?: string;\n @Input() icon?: string;\n}\n","
\n
\n {{ icon }}\n

{{ headline }}

\n
\n
\n","import { Component, Input } from '@angular/core';\n\nimport { TableDataGeneric, TableHeader } from '../basic/table/table.interface';\nimport { DeepLinkingIds } from 'core/deep-linking/deep-linking.interface';\nimport { ReportingConsumptionTabParamLabel } from 'shared/constants';\n\n// @TODO Refactor the Table with Ista UI Library required Changes\n// @TODO separate the Filter Logic outside the Component\n// @TODO use generic Type\n// @TODO Table should only Have Inputs and Outputs with OnPush ChangeDetection\n// @TODO Table Component should only responsible of Display Date ONLY\n@Component({\n selector: 'ista-daytona-table-site',\n templateUrl: './table-site.component.html',\n styleUrls: ['./table-site.component.scss'],\n})\nexport class TableSiteComponent {\n @Input() data!: TableDataGeneric[];\n @Input() headerData!: TableHeader[];\n public searchStr = '';\n protected readonly DeepLinkingIds = DeepLinkingIds;\n protected readonly ReportingConsumptionTabParamLabel = ReportingConsumptionTabParamLabel;\n\n valueChange(event: Event): void {\n this.searchStr = (event.target as HTMLInputElement).value;\n }\n}\n","\n
\n
\n \n \n \n search\n \n
\n\n
\n ios_share\n
\n
\n\n \n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\n\nimport { BasicModule } from '../basic/basic.module';\nimport { FilterModule } from './../filter/filter.module';\nimport { TableSiteComponent } from './table-site.component';\nimport { TableModule } from 'shared/ui/basic/table/table.module';\nimport { InputSearchModule } from 'shared/ui/basic/input-search/input-search.module';\nimport { MatFormField, MatSuffix } from '@angular/material/form-field';\nimport { MatInput } from '@angular/material/input';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DeepLinkingSenderDirective } from 'core/deep-linking/deep-linking-sender.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n BasicModule,\n FormsModule,\n FilterModule,\n RouterLink,\n TableModule,\n InputSearchModule,\n MatFormField,\n MatInput,\n MatIconButton,\n MatIcon,\n MatSuffix,\n TranslateModule,\n DeepLinkingSenderDirective,\n ],\n declarations: [TableSiteComponent],\n exports: [TableSiteComponent],\n})\nexport class TableSiteModule {}\n","import { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DeleteObjectModule } from 'app/features/portfolio/delete-object/delete-object.module';\nimport { DeepLinkingSenderDirective } from 'core/deep-linking/deep-linking-sender.directive';\nimport { NgChartsModule } from 'ng2-charts';\nimport { PortfolioAnalysisChartService } from 'shared/ui/bar-chart-portfolio-analysis/portfolio-analysis-chart/portfolio-analysis-chart.service';\nimport { PortfolioAnalysisService } from 'shared/ui/bar-chart-portfolio-analysis/portfolio-analysis.service';\nimport { ButtonModule } from 'shared/ui/basic/button/button.module';\nimport { DropdownModule } from 'shared/ui/basic/dropdown/dropdown.module';\nimport { InputSearchModule } from 'shared/ui/basic/input-search/input-search.module';\nimport { InputModule } from 'shared/ui/basic/input/input.module';\nimport { LoaderModule } from 'shared/ui/basic/loader/loader.module';\nimport { TooltipModule } from 'shared/ui/basic/tooltip/tooltip.module';\nimport { ValueUnitModule } from 'shared/ui/basic/value-unit/value-unit.module';\nimport { SectionComponent } from 'shared/ui/section/section.component';\nimport { DirectivesModule } from '../directives/directives.module';\nimport { PipesModule } from '../pipes/pipes.module';\nimport { BarCardComponent } from './bar-card/bar-card.component';\nimport { BasicModule } from './basic/basic.module';\nimport { ChartModule } from './chart/chart.module';\nimport { Co2CostCardDistributionComponent } from './co2-cost-card-distribution/co2-cost-card-distribution.component';\nimport { Co2CostCardStageComponent } from './co2-cost-card-stage/co2-cost-card-stage.component';\nimport { Co2CostCardTotalComponent } from './co2-cost-card-total/co2-cost-card-total.component';\nimport { InfoCardComponent } from './info-card/info-card.component';\nimport { FilterModule } from './filter/filter.module';\nimport { MonitoringCardComponent } from './monitoring-card/monitoring-card.component';\nimport { NavigationModule } from './navigation/navigation.module';\nimport { NotificationModule } from './notification/notification.module';\nimport { OSMComponent } from './osm/osm.component';\nimport { OverlayModule } from './overlay/overlay.module';\nimport { PageStepperModule } from './page-stepper/page-stepper.module';\nimport { PaginationModule } from './pagination/pagination.module';\nimport { PortfolioCardComponent } from './portfolio-card/portfolio-card.component';\nimport { TableSiteModule } from './table-site/table-site.module';\nimport { PeriodToggleComponent } from 'app/features/reporting/period-toggle/period-toggle.component';\nimport { ContentCardOpenComponent } from 'shared/ui/basic/content-card-open/content-card-open.component';\nimport { ValueUnitCardComponent } from 'shared/ui/value-unit-card/value-unit-card.component';\nimport { IconLabelComponent } from 'shared/ui/icon-label/icon-label.component';\nimport { CardHeadlineComponent } from 'shared/ui/card-headline/card-headline.component';\n\nconst imExportComponents = [\n MonitoringCardComponent,\n PortfolioCardComponent,\n OSMComponent,\n SectionComponent,\n Co2CostCardTotalComponent,\n Co2CostCardStageComponent,\n Co2CostCardDistributionComponent,\n];\n\nconst imExportModule = [\n BasicModule,\n NavigationModule,\n FilterModule,\n NotificationModule,\n ChartModule,\n TableSiteModule,\n OverlayModule,\n DeleteObjectModule,\n ValueUnitModule,\n TooltipModule,\n ButtonModule,\n InputModule,\n LoaderModule,\n DropdownModule,\n InputSearchModule,\n PageStepperModule,\n PaginationModule,\n BasicModule,\n NavigationModule,\n FilterModule,\n NotificationModule,\n ChartModule,\n TableSiteModule,\n OverlayModule,\n DeleteObjectModule,\n ValueUnitModule,\n TooltipModule,\n ButtonModule,\n InputModule,\n LoaderModule,\n DropdownModule,\n InputSearchModule,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ReactiveFormsModule,\n DirectivesModule,\n NgChartsModule,\n TranslateModule,\n PipesModule,\n ...imExportModule,\n DeepLinkingSenderDirective,\n ValueUnitModule,\n TooltipModule,\n ButtonModule,\n InputModule,\n MatIconModule,\n NgOptimizedImage,\n MatButtonToggleModule,\n MatFormFieldModule,\n MatOptionModule,\n MatSelectModule,\n PeriodToggleComponent,\n ContentCardOpenComponent,\n ValueUnitCardComponent,\n IconLabelComponent,\n CardHeadlineComponent,\n BarCardComponent\n ],\n declarations: [...imExportComponents, InfoCardComponent],\n exports: [...imExportComponents, ...imExportModule, InfoCardComponent, BarCardComponent],\n providers: [PortfolioAnalysisService, PortfolioAnalysisChartService],\n})\nexport class UiModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DecimalPipe, NgClass } from '@angular/common';\nimport { Unit } from 'shared/models/unit.enum';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { nullValueDisplay } from 'core/constants';\nimport { Utils } from 'shared/helper/utils';\n\n@Component({\n selector: 'ista-daytona-value-unit-card',\n templateUrl: 'value-unit-card.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass, PipesModule, DecimalPipe],\n})\nexport class ValueUnitCardComponent {\n @Input() size: 'small' | 'big' = 'small';\n @Input({ required: true }) value?: string | number | null;\n @Input() unit?: Unit;\n\n nullValueDisplay = nullValueDisplay;\n\n get isSmall(): boolean {\n return this.size === 'small';\n }\n\n getFormatNumberDigits(value?: string | number | null): string {\n return Utils.getFormatNumberDigits(value);\n }\n}\n","\n @if (value) {\n @if (value | formatNumber: unit; as formattedValue) {\n @if (formattedValue.value) {\n @if (formattedValue.value | number : getFormatNumberDigits(formattedValue.value) : 'de'; as roundedValue) {\n \n \n }\n @if (formattedValue.unitWithPrefix) {\n \n }\n }\n }\n } @else {\n \n {{ nullValueDisplay }}\n \n }\n\n","import { Component } from '@angular/core';\nimport { ContactFormComponent } from 'shared/ui/contact-form/contact-form.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { HeadlineComponent } from 'shared/ui/headline/headline.component';\n\n/* eslint-disable @typescript-eslint/unbound-method */\n@Component({\n selector: 'ista-daytona-contact',\n templateUrl: './contact.component.html',\n imports: [ContactFormComponent, TranslateModule, PipesModule, HeadlineComponent],\n standalone: true,\n})\nexport class ContactComponent {}\n","
\n
\n \n
\n

\n

\n
\n
\n
\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ista-daytona-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss'],\n})\nexport class FooterComponent {\n @Input() displayWave = false;\n}\n","\n","import { Component } from '@angular/core';\n\nimport { UtilHelper } from 'shared/helper/util-helper';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PipesModule } from 'shared/pipes/pipes.module';\n\n@Component({\n selector: 'ista-daytona-imprint',\n templateUrl: './imprint.component.html',\n imports: [TranslateModule, PipesModule],\n standalone: true,\n})\nexport class ImprintComponent {\n constructor() {\n UtilHelper.scrollToTop();\n }\n}\n","
\n

{{ 'imprint.headline' | translate }}

\n\n

\n ista SE\n Luxemburger Straße 1\n 45131 Essen\n {{ 'imprint.tel-label' | translate }}: +49 (0) 201 459-02\n Fax: +49 (0) 201 459-3630 \n E-Mail: info@ista.de\n

\n\n

\n\n

\n {{ 'imprint.subheadline1' | translate }}\n {{ 'imprint.block2' | translate }}\n

\n\n

\n {{ 'imprint.subheadline2' | translate }}\n {{ 'imprint.block3' | translate }}\n

\n
\n","import { Component } from '@angular/core';\n\nimport { UtilHelper } from 'shared/helper/util-helper';\n\n@Component({\n selector: 'ista-daytona-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.scss'],\n})\nexport class PageNotFoundComponent {\n constructor() {\n UtilHelper.scrollToTop();\n }\n}\n","
\n \"oops\"\n
\n

Oops, die Seite nach der Sie suchen ist leider nicht hier.

\n

Wie alles im Leben, hat alles einen Grund.

\n

Vielleicht finden Sie ja hier wonach Sie gesucht haben:

\n
\n \n \"kontakt\"\n \n \n \"dashboard\"\n \n \n \"beratung\"\n \n
\n
\n
\n","import { Component } from '@angular/core';\nimport { ContentCardOpenComponent } from 'shared/ui/basic/content-card-open/content-card-open.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'ista-daytona-google-tag-manager',\n templateUrl: './google-tag-manager.component.html',\n standalone: true,\n imports: [ContentCardOpenComponent, TranslateModule],\n})\nexport class GoogleTagManagerComponent {}\n","\n

\n {{ 'google.block1' | translate }}\n

\n

{{ 'google.subheadline1' | translate }}

\n

\n {{ 'google.block2' | translate }}\n

\n
    \n
  • \n {{ 'google.list1' | translate }}\n
  • \n
\n

{{ 'google.subheadline2' | translate }}

\n
    \n
  • \n Java Script\n
  • \n
\n

{{ 'google.subheadline3' | translate }}

\n
    \n
  • \n {{ 'google.list2' | translate }}\n
  • \n
\n

{{ 'google.subheadline4' | translate }}

\n

\n {{ 'google.block3' | translate }}\n

\n
    \n
  • \n {{ 'google.list3' | translate }}\n
  • \n
\n

{{ 'google.subheadline5' | translate }}

\n
    \n
  • \n {{ 'google.list4' | translate }}\n
  • \n
\n

{{ 'google.subheadline6' | translate }}

\n

\n {{ 'google.block4' | translate }}\n

\n

\n {{ 'google.block5' | translate }}\n

\n

{{ 'google.subheadline7' | translate }}

\n
    \n
  • \n {{ 'google.list5' | translate }}\n
  • \n
\n","import { Component } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ContentCardOpenComponent } from 'shared/ui/basic/content-card-open/content-card-open.component';\n\n@Component({\n selector: 'ista-daytona-hotjar',\n templateUrl: 'hotjar.component.html',\n standalone: true,\n imports: [TranslateModule, ContentCardOpenComponent],\n})\nexport class HotjarComponent {}\n","\n

\n {{ 'hotjar.block1' | translate }}\n

\n\n

{{ 'hotjar.subheadline1' | translate }}

\n

{{ 'hotjar.block2' | translate }}

\n
    \n
  • {{ 'hotjar.list1' | translate }}
  • \n
  • {{ 'hotjar.list2' | translate }}
  • \n
\n\n

{{ 'hotjar.subheadline2' | translate }}

\n
    \n
  • {{ 'hotjar.list3' | translate }}
  • \n
\n\n

{{ 'hotjar.subheadline3' | translate }}

\n

{{ 'hotjar.block3' | translate }}

\n\n
    \n
  • {{ 'hotjar.list4' | translate }}
  • \n
  • {{ 'hotjar.list5' | translate }}
  • \n
  • {{ 'hotjar.list6' | translate }}
  • \n
  • {{ 'hotjar.list7' | translate }}
  • \n
  • {{ 'hotjar.list13' | translate }}
  • \n
  • {{ 'hotjar.list8' | translate }}
  • \n
  • {{ 'hotjar.list9' | translate }}
  • \n
  • {{ 'hotjar.list10' | translate }}
  • \n
  • {{ 'hotjar.list11' | translate }}
  • \n
  • {{ 'hotjar.list12' | translate }}
  • \n
\n\n

{{ 'hotjar.subheadline4' | translate }}

\n

{{ 'hotjar.block4' | translate }}

\n
    \n
  • Art. 6 Abs. 1 S. 1 lit. a DSGVO
  • \n
\n\n

{{ 'hotjar.subheadline5' | translate }}

\n

{{ 'hotjar.block5' | translate }}

\n\n

{{ 'hotjar.subheadline6' | translate }}

\n

{{ 'hotjar.block6' | translate }}

\n

{{ 'hotjar.block7' | translate }}

\n\n

{{ 'hotjar.subheadline7' | translate }}

\n
    \n
  • Hotjar Ltd.
  • \n
\n\n

{{ 'hotjar.subheadline8' | translate }}

\n

{{ 'hotjar.block8' | translate }}

\n dpo@hotjar.com\n\n

\n {{ 'hotjar.subheadline9' | translate }}\n https://www.hotjar.com/legal/policies/privacy/\n

\n\n

\n {{ 'hotjar.subheadline10' | translate }}\n https://www.hotjar.com/policies/do-not-track/\n

\n\n

\n {{ 'hotjar.subheadline11' | translate }}\n https://www.hotjar.com/legal/policies/cookie-information\n

\n\n

{{ 'hotjar.block9' | translate }}

\n\n Hotjar Opt-Out\n
\n","import { Component } from '@angular/core';\nimport { ContentCardOpenComponent } from 'shared/ui/basic/content-card-open/content-card-open.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'ista-daytona-piwik',\n templateUrl: './piwik.component.html',\n standalone: true,\n imports: [ContentCardOpenComponent, TranslateModule],\n})\nexport class PiwikComponent {}\n","\n

\n {{ 'piwik.block1' | translate }}\n

\n

{{ 'piwik.subheadline1' | translate }}

\n

\n {{ 'piwik.block2' | translate }}\n

\n
    \n
  • \n {{ 'piwik.list1' | translate }}\n
  • \n
  • \n {{ 'piwik.list2' | translate }}\n
  • \n
\n

{{ 'piwik.subheadline2' | translate }}

\n
    \n
  • \n {{ 'piwik.list3' | translate }}\n
  • \n
\n

{{ 'piwik.subheadline3' | translate }}

\n

\n {{ 'piwik.block3' | translate }}\n

\n
    \n
  • \n {{ 'piwik.list4' | translate }}\n
  • \n
  • \n {{ 'piwik.list5' | translate }}\n
  • \n
  • \n {{ 'piwik.list6' | translate }}\n
  • \n
  • \n {{ 'piwik.list7' | translate }}\n
  • \n
  • \n {{ 'piwik.list8' | translate }}\n
  • \n
  • \n {{ 'piwik.list9' | translate }}\n
  • \n
  • \n {{ 'piwik.list10' | translate }}\n
  • \n
  • \n {{ 'piwik.list11' | translate }}\n
  • \n
  • \n {{ 'piwik.list12' | translate }}\n
  • \n
  • \n {{ 'piwik.list13' | translate }}\n
  • \n
\n

{{ 'piwik.subheadline4' | translate }}

\n

\n {{ 'piwik.block4' | translate }}\n

\n
    \n
  • \n Art. 6 Abs. 1 s. 1 lit. a DS-GVO\n
  • \n
\n

{{ 'piwik.subheadline5' | translate }}

\n

{{ 'piwik.block5' | translate }}

\n

{{ 'piwik.subheadline6' | translate }}

\n

\n {{ 'piwik.block6' | translate }}\n

\n

{{ 'piwik.block7' | translate }}

\n

{{ 'piwik.subheadline7' | translate }}

\n
    \n
  • \n Piwik PRO Sp. z o.o.\n
  • \n
  • \n Piwik PRO GmbH\n
  • \n
\n

{{ 'piwik.subheadline8' | translate }}

\n

\n {{ 'piwik.block8' | translate }}\n

\n

\n gdpr@piwik.pro\n
\n

\n

{{ 'piwik.subheadline9' | translate }}

\n

\n {{ 'piwik.block9' | translate }}\n

\n

\n {{ 'piwik.block10' | translate }}\n https://piwik.pro/privacy-policy/
\n

\n

\n {{ 'piwik.block11' | translate }}\n https://piwik.pro/opt-out/\n

\n","import { Component } from '@angular/core';\nimport { UtilHelper } from 'shared/helper/util-helper';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatAccordion } from '@angular/material/expansion';\nimport { UsercentricsComponent } from 'app/static-pages/privacy/usercentrics/usercentrics.component';\nimport { GoogleTagManagerComponent } from 'app/static-pages/privacy/google-tag-manager/google-tag-manager.component';\nimport { ZenloopComponent } from 'app/static-pages/privacy/zenloop/zenloop.component';\nimport { PiwikComponent } from 'app/static-pages/privacy/piwik/piwik.component';\nimport { HotjarComponent } from 'app/static-pages/privacy/hotjar/hotjar.component';\nimport { PipesModule } from 'shared/pipes/pipes.module';\nimport { HeadlineComponent } from 'shared/ui/headline/headline.component';\n\n@Component({\n selector: 'ista-daytona-privacy',\n templateUrl: './privacy.component.html',\n standalone: true,\n imports: [\n TranslateModule,\n MatAccordion,\n UsercentricsComponent,\n GoogleTagManagerComponent,\n ZenloopComponent,\n PiwikComponent,\n HotjarComponent,\n PipesModule,\n HeadlineComponent,\n ],\n})\nexport class PrivacyComponent {\n constructor() {\n UtilHelper.scrollToTop();\n }\n}\n","
\n

\n {{ 'privacy.headline' | translate }}\n

\n

\n\n

\n\n

\n {{ 'privacy.subheadline1' | translate }}\n \n

\n\n

\n {{ 'privacy.subheadline2' | translate }}\n {{ 'privacy.block4' | translate }}
\n
\n\n {{ 'privacy.subheadline3' | translate }}\n

    \n
  • {{ 'privacy.list1' | translate }}
  • \n
  • {{ 'privacy.list2' | translate }}
  • \n
  • {{ 'privacy.list3' | translate }}
  • \n
  • {{ 'privacy.list4' | translate }}
  • \n
  • {{ 'privacy.list5' | translate }}
  • \n
  • {{ 'privacy.list6' | translate }}
  • \n
  • {{ 'privacy.list7' | translate }}
  • \n
\n \n

\n\n

\n {{ 'privacy.subheadline4' | translate }}\n {{ 'privacy.block6' | translate }}

\n {{ 'privacy.block7' | translate }}

\n {{ 'privacy.block8' | translate }}
\n

\n\n

\n {{ 'privacy.subheadline5' | translate }}\n {{ 'privacy.block9' | translate }}\n

\n \n \n \n \n \n \n \n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { UiModule } from 'shared/ui/ui.module';\nimport { GoogleTagManagerComponent } from './google-tag-manager/google-tag-manager.component';\nimport { PiwikComponent } from './piwik/piwik.component';\nimport { PrivacyComponent } from './privacy.component';\nimport { UsercentricsComponent } from './usercentrics/usercentrics.component';\nimport { ZenloopComponent } from './zenloop/zenloop.component';\nimport { HotjarComponent } from 'app/static-pages/privacy/hotjar/hotjar.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ContentCardOpenComponent } from 'shared/ui/basic/content-card-open/content-card-open.component';\nimport { MatAccordion } from '@angular/material/expansion';\n\n@NgModule({\n imports: [\n CommonModule,\n UiModule,\n TranslateModule,\n ContentCardOpenComponent,\n MatAccordion,\n PrivacyComponent,\n UsercentricsComponent,\n GoogleTagManagerComponent,\n ZenloopComponent,\n PiwikComponent,\n HotjarComponent,\n ],\n declarations: [],\n exports: [PrivacyComponent],\n})\nexport class PrivacyModule {}\n","import { Component } from '@angular/core';\nimport { ContentCardOpenComponent } from 'shared/ui/basic/content-card-open/content-card-open.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'ista-daytona-usercentrics',\n templateUrl: './usercentrics.component.html',\n standalone: true,\n imports: [ContentCardOpenComponent, TranslateModule],\n})\nexport class UsercentricsComponent {}\n","\n

\n {{ 'usercentrics.block1' | translate }}\n

\n

{{ 'usercentrics.subheadline1' | translate }}

\n

\n {{ 'usercentrics.block2' | translate }}\n

\n
    \n
  • \n {{ 'usercentrics.list1' | translate }}\n
  • \n
  • \n {{ 'usercentrics.list2' | translate }}\n
  • \n
\n

{{ 'usercentrics.subheadline2' | translate }}

\n
    \n
  • \n {{ 'usercentrics.list3' | translate }}\n
  • \n
  • \n {{ 'usercentrics.list4' | translate }}\n
  • \n
\n

{{ 'usercentrics.subheadline3' | translate }}

\n

\n {{ 'usercentrics.block3' | translate }}\n

\n
    \n
  • \n {{ 'usercentrics.list5' | translate }}\n
  • \n
  • \n {{ 'usercentrics.list6' | translate }}\n
  • \n
  • \n {{ 'usercentrics.list7' | translate }}\n
  • \n
  • \n {{ 'usercentrics.list8' | translate }}\n
  • \n
  • \n {{ 'usercentrics.list9' | translate }}\n
  • \n
  • \n {{ 'usercentrics.list10' | translate }}\n
  • \n
  • \n {{ 'usercentrics.list11' | translate }}\n
  • \n
\n

{{ 'usercentrics.subheadline4' | translate }}

\n

\n {{ 'usercentrics.block4' | translate }}\n

\n
    \n
  • \n {{ 'usercentrics.list12' | translate }}\n
  • \n
\n

{{ 'usercentrics.subheadline5' | translate }}

\n

{{ 'usercentrics.block5' | translate }}

\n

{{ 'usercentrics.subheadline6' | translate }}

\n

\n {{ 'usercentrics.block6' | translate }}\n

\n

\n {{ 'usercentrics.block7' | translate }}\n

\n

{{ 'usercentrics.subheadline7' | translate }}

\n
    \n
  • \n {{ 'usercentrics.list13' | translate }}\n
  • \n
\n

{{ 'usercentrics.subheadline8' | translate }}

\n

\n {{ 'usercentrics.block8' | translate }}\n

\n

\n datenschutz@usercentrics.com\n

\n

\n {{ 'usercentrics.block9' | translate }}
https://usercentrics.com/privacy-policy/\n

\n

\n {{ 'usercentrics.block10' | translate }}\n

\n
\n {{ 'usercentrics.link-text' | translate }}\n \n
\n","import { Component } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ContentCardOpenComponent } from 'shared/ui/basic/content-card-open/content-card-open.component';\n\n@Component({\n selector: 'ista-daytona-zenloop',\n templateUrl: './zenloop.component.html',\n standalone: true,\n imports: [TranslateModule, ContentCardOpenComponent],\n})\nexport class ZenloopComponent {}\n","\n

\n {{ 'zenloop.block1' | translate }}\n

\n

{{ 'zenloop.subheadline1' | translate }}

\n

\n zenloop GmbH
\n Pappelallee 78-79, 10437 Berlin, Germany\n

\n

{{ 'zenloop.subheadline2' | translate }}

\n

{{ 'zenloop.block2' | translate }}

\n
    \n
  • \n {{ 'zenloop.list1' | translate }}\n
  • \n
  • \n {{ 'zenloop.list2' | translate }}\n
  • \n
\n

{{ 'zenloop.subheadline3' | translate }}

\n
    \n
  • \n {{ 'zenloop.list3' | translate }}\n
  • \n
\n

{{ 'zenloop.subheadline4' | translate }}

\n

\n {{ 'zenloop.block3' | translate }}\n

\n
    \n
  • \n {{ 'zenloop.list4' | translate }}\n
  • \n
  • \n {{ 'zenloop.list5' | translate }}\n
  • \n
  • \n {{ 'zenloop.list6' | translate }}\n
  • \n
  • \n {{ 'zenloop.list7' | translate }}\n
  • \n
  • \n {{ 'zenloop.list8' | translate }}\n
  • \n
  • \n {{ 'zenloop.list9' | translate }}\n
  • \n
  • \n {{ 'zenloop.list10' | translate }}\n
  • \n
\n

{{ 'zenloop.subheadline5' | translate }}

\n

\n {{ 'zenloop.block4' | translate }}\n

\n
    \n
  • \n Art. 6 Abs. 1 s. 1 lit. a DSGVO\n
  • \n
\n

{{ 'zenloop.subheadline6' | translate }}

\n

{{ 'zenloop.block5' | translate }}

\n

{{ 'zenloop.subheadline7' | translate }}

\n

\n {{ 'zenloop.block6' | translate }}\n

\n

\n {{ 'zenloop.block7' | translate }}\n

\n

{{ 'zenloop.subheadline8' | translate }}

\n
    \n
  • \n {{ 'zenloop.list11' | translate }}\n
  • \n
  • \n {{ 'zenloop.list12' | translate }}\n
  • \n
  • \n {{ 'zenloop.list13' | translate }}\n
  • \n
  • \n {{ 'zenloop.list14' | translate }}\n
  • \n
\n

{{ 'zenloop.subheadline9' | translate }}

\n

\n {{ 'zenloop.block8' | translate }}\n

\n

dpo@zenloop.com

\n

{{ 'zenloop.subheadline10' | translate }}

\n

\n {{ 'zenloop.block9' | translate }}\n

\n

{{ 'zenloop.block10' | translate }}

\n

\n {{ 'zenloop.block11' | translate }} https://www.zenloop.com/en/legal/privacy\n

\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BasicModule } from 'shared/ui/basic/basic.module';\nimport { UiModule } from 'shared/ui/ui.module';\nimport { ContactComponent } from './contact/contact.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { ImprintComponent } from './imprint/imprint.component';\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\nimport { PrivacyModule } from './privacy/privacy.module';\n\nconst imExport = [FooterComponent, PageNotFoundComponent];\n\n@NgModule({\n imports: [\n ContactComponent,\n ImprintComponent,\n CommonModule,\n RouterModule,\n BasicModule,\n ReactiveFormsModule,\n PrivacyModule,\n TranslateModule,\n UiModule,\n ],\n declarations: [...imExport],\n exports: [...imExport],\n})\nexport class StaticPagesModule {}\n","import { Environment } from './environment.interface';\n\nexport const environment: Environment = {\n production: true,\n apiUrl: window.location.protocol + '//' + window.location.host + '/daytona-api',\n useAuthentification: true,\n redirectUri: window.location.origin,\n trackingEnv: 'prod',\n reportingInfoboxTimeperiod: 90 * 24 * 60 * 60 * 1000,\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from 'app/app.module';\nimport { environment } from 'environments/environment.prod';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch((err) => console.error(err));\n"],"names":["InjectionToken","combineReducers","coreReducer","initialCoreState","initialRootState","core","rootStateReducer","ROOT_REDUCER_TOKEN","factory","StoreModule","routerReducer","RouterStateSerializer","StoreRouterConnectingModule","ReducedRouteSerialzer","routerStateConfig","stateKey","NgrxStoreRouterModule","provide","useClass","imports","forFeature","forRoot","i1","StoreFeatureModule","i2","exports","serialize","routerState","route","root","firstChild","url","queryParams","params","data","mergeRouteData","currentData","primaryChild","children","find","c","outlet","createFeatureSelector","createSelector","ENVIRONMENT_ID_QUERY_PARAM","YEAR_QUERY_PARAM","selectReducedRouterReducerState","selectReducedRouteState","routerReducerState","state","selectRouteData","selectRouteBreadcrumbTitle","selectRouteUrl","selectRouteUrlWithoutQueryParams","split","selectRouteQueryParams","selectRouteParams","selectShowFooterWave","hasOwnProperty","Boolean","selectShowSubNavigationMenu","selectShowEnvironmentContainer","selectShowGlobalYearSelection","selectSubNavigationHeadline","selectQueryParams","selectGroupIdParam","parseInt","undefined","selectIsIdParamIdGroup","includes","selectIsIdParamIdSite","selectIsPortfolioUrl","selectEnvironmentIdQueryParam","selectYearQueryParam","selectHideSelectedPeriodInfo","PreloadAllModules","RouterModule","TitleStrategy","TitleStrategyService","ResetHeadlineGuard","ResetStickyHeaderGuard","ContactComponent","ImprintComponent","PageNotFoundComponent","PrivacyComponent","UnsavedChangesGuard","ResetEmissionMediaChartFilterGuard","ResetCurrentSelectedRequestParam","routes","path","redirectTo","pathMatch","loadChildren","then","m","StyleBookModule","BenchmarkingModule","breadcrumbTitle","showGlobalYearSelection","hideSelectedPeriodInfo","showEnvironmentContainer","title","canDeactivate","LogoutModule","loadComponent","SettingsComponent","DataGapModule","PortfolioModule","showSubNavigationMenu","subNavigationHeadline","DashboardModule","HelpComponent","component","showFooterWave","ReportingModule","DatenUploadModule","AppRoutingModule","preloadingStrategy","scrollPositionRestoration","anchorScrolling","LOCALE_ID","NavigationEnd","selectEnvironmentHasNoData","selectEnvironmentReadiness","selectEnvironmentSettings","selectHasNoEnvironments","selectIsUserLoggedIn","selectSelectedEnvironmentId","selectSelectedLanguage","selectShouldShowHeadlineContainer","selectShowNavigationMenu","combineLatest","distinctUntilChanged","filter","first","mergeMap","takeUntil","DestroyAbstractService","NoEnvironmentAvailableOverlayService","DOCUMENT","Chart","Legend","Tooltip","i0","ɵɵelement","ɵɵproperty","ɵɵpipeBind1","ctx_r0","selectShouldDisplaySmall$","ɵɵelementContainerStart","ɵɵelementStart","ɵɵelementEnd","ɵɵtemplate","AppComponent_div_0_div_8_ista_daytona_environment_container_4_Template","AppComponent_div_0_div_8_Conditional_6_Template","AppComponent_div_0_div_8_ista_daytona_global_year_selection_8_Template","ɵɵadvance","selectShowEnvironmentContainer$","ɵɵconditional","selectHideSelectedPeriodInfo$","selectShowGlobalYearSelection$","AppComponent_div_0_ista_daytona_navigation_2_Template","AppComponent_div_0_ng_container_4_Template","AppComponent_div_0_div_8_Template","AppComponent_div_0_router_outlet_11_Template","AppComponent_div_0_ng_template_13_Template","ɵɵtemplateRefExtractor","ɵɵclassProp","selectShowNavigationMenu$","selectShowFooterWave$","selectShouldShowHeadlineContainer$","environmentReady$","isLoadingScreen_r2","AppComponent","constructor","_translateService","_frontendConfigService","_router","_environmentService","_authService","_trackingService","ngrxStore","noEnvironmentAvailableOverlayService","languageService","userSettingsService","environmentSettingsService","emptyEnvironmentNotificationService","globalQueryParamsService","customIconsService","meta","translate","locale","document","select","selectSelectedLanguage$","events","subscribe","event","addGTM","eventCategory","onLangChange","pipe","get","_onDestroy$","translatedDescription","updateTag","name","content","initialSetup","isLoggedIn$","ngOnInit","showNoEnvironmentOverlayWhenHasNoEnvironments","showEnvironmentHasNoDataOverlay","listenToLangChangeAndUpdateAppLang","listenToEnvironmentChangeAndLoadSettingsAndPeriods","loadUserSettings","listenToRouteChanges","updateQueryParamsInUrl","registerCustomIcons","registerChartFeatures","register","getUserSettingsAndUpdateStore","envId","getEnvironmentSettingsAndUpdateStore","loadReportingPeriods","lang","saveLanguage","documentElement","hasNoData","envIsReady","open","_this","_asyncToGenerator","loadFrontendConfigValues","loggedIn","handleLogin","loadEnvironments","ɵɵdirectiveInject","TranslateService","FrontendConfigService","i3","Router","i4","EnvironmentService","i5","AuthService","i6","TrackingWrapperService","i7","Store","i8","i9","LanguageService","i10","UserSettingsService","i11","EnvironmentSettingsService","i12","EmptyEnvironmentNotificationService","i13","GlobalQueryParamsService","i14","CustomIconsService","i15","Meta","selectors","features","ɵɵProvidersFeature","ɵɵInheritDefinitionFeature","decls","vars","consts","template","AppComponent_Template","rf","ctx","AppComponent_div_0_Template","AppComponent_ng_template_3_Template","notLoggedIn_r3","registerLocaleData","HttpClient","HttpClientModule","localeDe","ErrorHandler","BrowserAnimationsModule","provideUiAngular","EffectsModule","StoreDevtoolsModule","TranslateLoader","TranslateModule","TranslateHttpLoader","GoogleTagManagerModule","CoreEffects","CoreModule","NoEnvironmentAvailableOverlayComponent","GlobalErrorHandler","NgChartsModule","SharedModule","FeaturesModule","StaticPagesModule","SelectedPeriodInfoComponent","provideComponentStore","BreadcrumbStore","BreadcrumbNavigationService","version","hash","Date","toString","createTranslateLoader","http","AppModule","bootstrap","loader","useFactory","deps","defaultLanguage","id","runtimeChecks","strictStateImmutability","strictActionImmutability","strictStateSerializability","strictActionSerializability","instrument","maxAge","logOnly","declarations","StoreRootModule","EffectsRootModule","Languages","DEFAULT_UNASSIGNED_SITES_GROUP","environmentReady","availableEnvironments","selectedEnvironment","yearsWithData","reportingPeriods","selectedGroup","allowLoadSites","groupSearchRunning","showNavigationMenu","subNavigationSelectedHeadline","globalSelectedYear","selectedLanguage","DE","environmentSettings","navigationSubmenuObjectIsSelected","hasNoEnvironments","selectedSite","selectedSiteOrGroup","unassignedSitesGroup","forcePortfolioGroupToReload","userSettings","tags","treeNavigation","groups","searchTreeNavigation","createAction","props","storeFrontendConfigType","storeUserTokenType","storeEnvironmentReadinessType","storeEnvironmentsType","storeSelectedEnvironmentType","storeAvailableYearsType","storeReportingPeriodsType","storeGroupsType","storeSearchTreeNavigationType","resetSearchTreeNavigationType","storeSelectedGroupType","storeSitesOfGroupsType","deleteSiteFromGroupType","updateLoadSitesStateType","clearLoadSitesStateType","storeGroupSearchStatusType","updateShowNavigationMenuType","updateSubNavigationSelectedHeadlineType","updateGlobalSelectedYearType","updateSelectedLanguageType","storeSelectedSiteType","storeSelectedGroupOrSiteType","removeSelectedSiteType","moveAndAddSiteType","moveAndAddGroupType","moveAndAddGroupToRootType","updateUnassignedSitesType","addUnassignedSitesType","addNewGroupToGroupType","deleteGroupFromGroupType","updateUserSettingsType","updateEnvironmentSettingsType","renameGroupType","updateTagsType","addTagType","resetTagsType","setTagsType","updateSearchTreeNavigationType","storeFrontendConfig","storeUserToken","storeEnvironmentReadiness","storeEnvironments","storeSelectedEnvironment","storeAvailableYears","storeReportingPeriods","storeGroups","storeSearchTreeNavigationGroups","resetSearchTreeNavigation","storeSelectedGroup","storeSelectedAvailableYear","storeSitesOfGroups","deleteSiteFromGroup","updateLoadSitesState","clearLoadSitesState","storeGroupSearchStatus","updateShowNavigationMenu","updateSubNavigationSelectedHeadline","updateGlobalSelectedYear","updateSelectedLanguage","storeSelectedSite","storeSelectedGroupOrSite","removeSelectedSite","moveAndAddSite","moveAndAddGroup","moveAndAddGroupToRoot","updateUnassignedSites","addSitesToUnassignedSites","addNewGroupToGroups","deleteGroupFromGroup","updateEnvironmentSettings","updateUserSettings","renameGroup","updateTags","setTags","addTag","resetTags","updateSearchTreeNavigation","createEffect","ofType","tap","actions$","stickyHeaderService","resetHeader$","resetHeader","dispatch","ɵɵinject","Actions","StickyHeaderService","ɵfac","createReducer","on","GroupHelper","_","CoreStateHelper","action","frontendConfig","userToken","length","isExist","preSelectedYear","selectedYear","sites","unassignedSites","selectedGroupId","flattenGroups","g","parentGroup","site","res","mergeSitesIntoGroups","groupId","isRunning","selectedGroupOrSite","targetGroup","group","newGroup","parentGroupId","settings","treeGroups","cloneDeep","searchTreeGroups","tag","tagsSet","Set","allTags","filteredTags","duplicate","has","add","map","lastModified","toISOString","GroupMapper","CurrencySymbol","selectCore","selectFrontendConfig","selectUserToken","selectAvailableEnvironment","selectSelectedEnvironment","env","selectYearsWithData","selectYearsWithDataSortedDesc","sort","a","b","selectYearsWithDataSortedDescAsString","value","selectGlobalSelectedYear","selectGlobalSelectedYearAsFilterRange","from","until","selectYearsWithDataAsFilterTabItems","years","item","label","active","selectYearsCount","selectTreeNavigation","selectSearchTreeNavigation","selectTreeNavigationGroups","tree","selectSearchTreeNavigationGroups","selectAllTreeNavigationGroups","selectTreeNavigationSortedGroups","sortGroupsAndChildGroupsAlphabetically","selectAllowLoadSites","selectSelectedGroup","selectSelectedGroupId","selectGroupSearchStatus","selectGroupsExist","selectAllGroups","flatAllGroups","selectSubNavigationSelectedHeadline","calcYearsRange","slice","index","findIndex","start","end","selectAdjacentOrDefaultYears","selectAdjacentYearsDependsOnGlobalSelectedYear","selectChartYearFilterRange","language","selectSelectedSite","selectIsSite","selectSelectedGroupOrSite","selectSpecificGroup","selectTreeNavigationSpecificGroup","selectTreeNavigationUnassignedSitesGroup","selectSearchTreeNavigationUnassignedSitesGroup","selectUnassignedSitesGroup","unassignedSearchTree","unassignedTree","selectUnassignedSitesGroupSortedSites","sortSitesAlphabetically","selectIsCustomYearSelected","type","selectCustomYearStartDate","annualReportStartDate","selectEnvironmentSettingsType","selectEnvironmentSettingsCurrency","currency","selectEnvironmentSettingsCurrencySymbol","EUR","selectAllTags","selectAllGroupsAsSelectItem","UNASSIGNED_SITES_GROUP_ID","treeNavigationGroup","searchTreeNavigationGroup","deleteSiteFromChildGroup","addSiteToGroup","treeUnassignedSitesGroup","treeNavigationGroups","searchTreeUnassignedSitesGroup","searchTreeNavigationGroups","addGroupToGroup","deleteGroupFromChildGroup","treeNavigationGroupsAfterDelete","searchTreeNavigationGroupsAfterDelete","childSites","filteredSites","deleteChildSiteFromGroupSites","mergeSitesIntoGroupsRecursion","targetGroupId","sitesAlreadyLoaded","targetGroupFound","result","environment","authCodeFlowConfig","issuer","redirectUri","window","location","origin","pathname","loginUrl","logoutUrl","clientId","responseType","scope","showDebugInformation","silentRefreshTimeout","OAuthModule","OAuthStorage","storageFactory","sessionStorage","AuthModule","ngModule","providers","firstValueFrom","LoggerService","_httpClient","_oauthService","baseUrl","apiUrl","logout","logOut","auth","keycloakUrl","keycloakClientId","keycloakMockEnabled","useAuthentification","configure","loadDiscoveryDocumentAndLogin","error","hasValidAccessToken","hasValidIdToken","obtainedUserToken","getAccessToken","setRefreshTimer","Promise","resolve","post","console","refreshToken","_this2","tokenResponse","access_token","_this3","expiryTimestamp","getAccessTokenExpiration","currentTimestamp","now","timeLeft","setTimeout","OAuthService","providedIn","nullValueDisplay","naValueDisplay","PortfolioChartDefaultMainFilter","left","PortfolioChartDefaultSubFilter","hasSites","DEFAULT_CUSTOMER_PORTFOLIO_SELECTED_GROUP","DEFAULT_MARKET_PORTFOLIO_SELECTED_GROUP","CommonModule","HTTP_INTERCEPTORS","EnvironmentModule","LoadStatusIntereptor","ErrorCatchingInterceptor","HttpTokenAuthorizationInterceptor","GlobalYearSelectionComponent","MatSelectModule","FormsModule","ReactiveFormsModule","StickyHeaderComponent","PipesModule","DirectivesModule","FilterModule","BasicModule","TabModule","MatTreeModule","MatIconModule","MatButtonModule","RouterLink","PortfolioGroupNavigationComponent","ButtonModule","GroupsTreeNavigationModule","TooltipModule","InputSearchModule","MatTooltipModule","MatInputModule","BreadcrumbComponent","UiBadgeVerticallyCenteredDirective","MatBadge","BadgeButtonComponent","BreadcrumbNavigationComponent","multi","matIconRegistry","domSanitizer","addSvgIcon","bypassSecurityTrustResourceUrl","MatIconRegistry","DomSanitizer","DeepLinkingCustomParamsKeys","DeepLinkingSenderDirective","linkWithGlobalQueryParamsDirective","customParamsValues","hasTargetId","targetId","navigateTo","redirectUrl","link","customParams","getCustomParamsObject","overrideTarget","openInNewTab","customParamsKeys","defaultParam","target","key","reduce","previousValue","currentValue","LinkWithGlobalQueryParamsDirective","hostVars","hostBindings","DeepLinkingSenderDirective_HostBindings","ɵɵlistener","DeepLinkingSenderDirective_mousedown_HostBindingHandler","$event","DeepLinkingIds","PORTFOLIO_CONSUMPTION_CHART","PORTFOLIO_OVERVIEW","HELP","REPORTING","PORTFOLIO_SITE_TABS","MAT_DIALOG_DATA","UiModule","DeleteConfirmDialogComponent","dialogRef","closeDialog","close","confirm","MatDialogRef","standalone","ɵɵStandaloneFeature","DeleteConfirmDialogComponent_Template","DeleteConfirmDialogComponent_Template_ista_daytona_button_click_6_listener","DeleteConfirmDialogComponent_Template_ista_daytona_button_click_8_listener","DeleteConfirmDialogComponent_Template_ista_daytona_button_click_10_listener","ɵɵpipeBind2","ɵɵpureFunction1","_c0","itemName","ɵɵsanitizeHtml","TranslatePipe","ButtonComponent","encapsulation","MatIcon","DeleteRevertDialogComponent","revert","DeleteRevertDialogComponent_Template","ɵɵtext","DeleteRevertDialogComponent_Template_button_click_7_listener","ɵɵtextInterpolate1","EnvironmentSettingsHttpService","httpClient","getEnvironmentSettings","environmentSettingsHttpService","updateEnvironmentSettingsAndUpdateStore","Currency","EnvironmentContainerComponent","envs$","selectedEnv$","onSelectChange","EnvironmentContainerComponent_Template","EnvironmentContainerComponent_Template_ista_daytona_environment_selectEnv_0_listener","EventEmitter","forwardRef","FormControl","NG_VALUE_ACCESSOR","startWith","MatAutocompleteModule","MatFormFieldModule","EnvironmentDropdownPipe","ɵɵtextInterpolate","ctx_r1","item_r3","tmp_13_0","EnvironmentSelectComponent_Conditional_13_Template_button_click_0_listener","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","clearInput","EnvironmentSelectComponent","clickOutsideEnvSelect","element","nativeElement","contains","singleControl","lastSelectedEnv","selectedEnv","envs","disabled","selectedEnvChanged","filteredSingleOptions$","valueChanges","_filterSingleOptions","_selectedEnv","setValue","emitEvent","onOptionSelected","emit","reset","displayFn","input","toLowerCase","customerNumbers","customerNo","ElementRef","EnvironmentSelectComponent_HostBindings","EnvironmentSelectComponent_click_HostBindingHandler","ɵɵresolveDocument","useExisting","EnvironmentSelectComponent_Template","EnvironmentSelectComponent_Conditional_1_Template","EnvironmentSelectComponent_Template_mat_autocomplete_optionSelected_6_listener","_r1","option","ɵɵrepeaterCreate","EnvironmentSelectComponent_For_9_Template","_forTrack0","EnvironmentSelectComponent_Conditional_13_Template","auto_r6","ɵɵrepeater","searchInput_r5","AsyncPipe","DefaultValueAccessor","NgControlStatus","FormControlDirective","MatFormField","MatLabel","MatInput","MatAutocomplete","MatOption","MatAutocompleteTrigger","MatIconButton","styles","changeDetection","EnvironmentComponent_Conditional_0_Template_ista_daytona_environment_select_selectedEnvChanged_1_listener","EnvironmentComponent","selectEnv","inputs","outputs","EnvironmentComponent_Template","EnvironmentComponent_Conditional_0_Template","EnvironmentComponent_Conditional_1_Template","Subject","requestTrackingService","_errorHandler","groupService","destroy$","loadYearsWithData","loadGroupsOfEnvironment","updateYearsAndGroups","reject","requestId","registerRequest","isRequestStillValid","environmentIdQueryParam","handleError","yearQueryParam","_this4","RequestTrackingService","ErrorHandlerService","GroupService","NotificationType","translateService","notificationService","historyBack","preventDefault","history","back","openEmailClientProgram","href","instant","copyEmailIntoClipBoard","navigator","clipboard","writeText","addNotification","headline","CONFIRMATION","NotificationService","NoEnvironmentAvailableOverlayComponent_Template","NoEnvironmentAvailableOverlayComponent_Template_a_click_2_listener","NoEnvironmentAvailableOverlayComponent_Template_a_click_28_listener","NoEnvironmentAvailableOverlayComponent_Template_ista_daytona_button_click_31_listener","SafePipe","OverlayConfig","ComponentPortal","overlay","overlayRef","createOverlayRef","create","getOverlayConfig","attach","backdropClick","detach","minHeight","minWidth","positionStrategy","position","global","centerHorizontally","centerVertically","hasBackdrop","backdropClass","panelClass","scrollStrategy","scrollStrategies","block","Overlay","of","throwError","attemptedActionKey","errorKey","status","errorCode","message","header","msg","attemptedAction","text","setErrorParameters","errorParameters","WARNING","Error","displayError","errorTranslateKey","parameters","Array","isArray","currentIndex","regex","replace","errorObject","rejection","withLatestFrom","store","router","ngOnDestroy","next","complete","environmentId","year","updatedUrlTree","setGlobalQueryParamsIntoUrl","navigateByUrl","currentUrlTree","parseUrl","createUrlTree","queryParamsHandling","preserveFragment","MatButton","MatMenu","MatMenuItem","MatMenuTrigger","NgForOf","NgIf","GlobalYearSelectionComponent_ng_container_0_ng_container_7_Template_button_click_2_listener","year_r4","_r3","$implicit","onSelectYearChange","GlobalYearSelectionComponent_ng_container_0_Template_button_menuOpened_1_listener","chevronType","GlobalYearSelectionComponent_ng_container_0_Template_button_menuClosed_1_listener","GlobalYearSelectionComponent_ng_container_0_ng_container_7_Template","yearSelectionMenu_r6","years_r5","selectYearsWithDataSortedDesc$","GlobalYearSelectionComponent_Template","GlobalYearSelectionComponent_ng_container_0_Template","Validators","CustomValidators","GROUP_NAME_EXISTS_ERROR_KEY","AddGroupComponent_div_1_Template_div_click_0_listener","showInputFieldAndSetFocus","AddGroupComponent_div_2_Template_input_keydown_2_listener","onKeyDown","AddGroupComponent_div_2_mat_error_3_Template","AddGroupComponent_div_2_Conditional_4_Template","AddGroupComponent_div_2_Template_mat_icon_click_5_listener","hideInputFieldAndResetValue","groupNameInputControl","hasError","isNameAlreadyExistError","AddGroupComponent","hideIcon","createGroup","showInputField","required","max","isGroupNameAlreadyExists","touched","invalid","inputField","querySelector","focus","markAsTouched","valid","viewQuery","AddGroupComponent_Query","AddGroupComponent_div_1_Template","AddGroupComponent_div_2_Template","fromEvent","switchMap","timer","DragDirective","elementRef","enableDrag","dragStart","dragOver","dragEnd","ngOnChanges","changes","draggable","registerDragEvents","mouseUp$","classList","remove","ngAfterViewInit","ɵɵNgOnChangesFeature","booleanAttribute","EditingItemOptionsComponent_div_0_Conditional_1_Template","EditingItemOptionsComponent_div_0_Conditional_2_Template","EditingItemOptionsComponent_div_0_Template_mat_icon_click_6_listener","onDelete","showDragIcon","EditingItemOptionsComponent","delete","rect","getBoundingClientRect","x","y","bottom","EditingItemOptionsComponent_Query","ɵɵInputTransformsFeature","EditingItemOptionsComponent_Template","EditingItemOptionsComponent_div_0_Template","GroupsTreeNavigationHttpService","getUnassignedSites","parentId","getSiteHierarchy","siteId","deleteSite","deleteGroup","updateSiteGroup","updateGroupParentId","getSite","NestedTreeControl","MatTreeNestedDataSource","GroupsTreeNavigationStore","GroupsTreeNavigationService","GroupsTreeNavigationComponent_ista_daytona_add_group_1_Template_ista_daytona_add_group_createGroup_0_listener","enableEditingMode","node_r4","GroupsTreeNavigationComponent_mat_nested_tree_node_3_div_4_Template_div_click_0_listener","_r5","navigateToGroup","isNodeActive","GroupsTreeNavigationComponent_mat_nested_tree_node_3_ista_daytona_editing_item_options_5_Template_ista_daytona_editing_item_options_delete_0_listener","_r6","GroupsTreeNavigationComponent_mat_nested_tree_node_3_mat_icon_7_Template_mat_icon_click_0_listener","_r7","toggleNodeAndLoadSites","isExpanded","GroupsTreeNavigationComponent_mat_nested_tree_node_3_ista_daytona_add_group_9_Template_ista_daytona_add_group_createGroup_0_listener","_r8","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Conditional_11_For_1_Template_ista_daytona_site_item_itemClick_0_listener","_r9","navigateToSite","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Conditional_11_For_1_Template_ista_daytona_site_item_delete_0_listener","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Conditional_11_For_1_Template_ista_daytona_site_item_dragOver_0_listener","handleSiteDragOver","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Conditional_11_For_1_Template_ista_daytona_site_item_dragStart_0_listener","site_r10","dragSiteStart","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Conditional_11_For_1_Template_ista_daytona_site_item_dropOver_0_listener","handleDrop","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Conditional_11_For_1_Template","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Template_div_dragOver_1_listener","handleDragOver","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Template_div_dragStart_1_listener","dragGroupStart","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Template_div_dragend_1_listener","dragend","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Template_div_dragleave_1_listener","handleDragLeave","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Template_div_drop_1_listener","GroupsTreeNavigationComponent_mat_nested_tree_node_3_div_3_Template","GroupsTreeNavigationComponent_mat_nested_tree_node_3_div_4_Template","GroupsTreeNavigationComponent_mat_nested_tree_node_3_ista_daytona_editing_item_options_5_Template","GroupsTreeNavigationComponent_mat_nested_tree_node_3_mat_icon_7_Template","GroupsTreeNavigationComponent_mat_nested_tree_node_3_ista_daytona_add_group_9_Template","ɵɵelementContainer","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Conditional_11_Template","dropZoneGroup","shouldHighlightGroup","shouldShowUnassignedGroup","showInReadonlyModeAndForNotUnassignedGroup","showInEditingModeAndForNotUnassignedGroup","shouldEnableOpening","GroupsTreeNavigationComponent","groupsTreeNavigationService","highlightEmptyGroups","treeControl","node","dataSource","openAllGroups","updateOpenAllGroups","setGroupOrSiteId","listenToEnvironmentChangesAndNavigateToPortfolio","isGroupUnassignedGroup","checkIfISiteAndGetSiteHierarchyAndSetHierarchyGroups","listenToGroupChanges","listenToPortfolioUrlChanges","loadSites","toggleNode","dragItemStart","nodeId","getIsNodeActive","handleDragEnter","ɵɵInputFlags","HasDecoratorInputTransform","GroupsTreeNavigationComponent_Template","GroupsTreeNavigationComponent_ista_daytona_add_group_1_Template","GroupsTreeNavigationComponent_mat_nested_tree_node_3_Template","ɵɵpureFunction2","NgClass","MatMenuModule","MatDividerModule","MatDialogModule","SiteItemComponent","debounceTime","delay","forkJoin","NEVER","skip","catchError","updatePossibleEditingPortfolioNavigationFinishedState","BASE_PAGE_TITLE","groupsTreeNavigationStore","groupsTreeNavigationHttpService","dialog","toastService","_titleService","showDeleteConfirmDialog","top","afterClosed","showDeleteRevertDialog","afterOpened","updateSelectedGroupOrSite","updateActiveNode","updateHeadline","updatePageTitle","navigate","navigateToPortfolio","resetStore","idParam","isGroupId","isGroupIdExists","hierarchy","getGroupHierarchy","targetNode","pop","addNodesId","unassignedGroup","updateGroupsAndExpandedNodeIds","err","showErrorAndReloadPageIsRequired","updateGroupParentGroup","currentEnvId","isEnvIdMatched","loadSitesOfGroup","newGroupId","shouldRevert","getSiteHierarchyAndSetHierarchyGroups","handleSiteHierarchy","selectGroups","isSiteUrl","getSiteAndUpdateHeadline","setTitle","getIsNodeIdExist","removeExpandedNodeIds","dataTransfer","setData","dropEffect","updateDraggedItem","types","isGroup","isSite","draggedItem","getDraggedItem","handleGroupDrop","handleSiteDrop","resetDraggedItem","isAllowToMoveGroup","checkIfDropGroupRequireReloadAndSetReload","showDragAndDropNotAllowedToast","isAllowToMoveSite","checkIfDropSiteRequireReloadAndSetReload","checkIfDropRequireReload","getActiveNodeType","getNodeActiveId","siteHierarchy","targetGroupChildren","possibleState","hierarchyGroups","directParentOfSite","show","timeOut","tapToDismiss","payload","showIcon","customFontIcon","messageKey","positionClass","MatDialog","ToastrService","Title","ComponentStore","expandedNodesId","activeNode","searchExpandedNodesIds","updater","nodesId","nodeIds","expandedNodeId","getGroupsIds","selectActiveNode$","getExpandedNodesId","setState","getOpenAllGroups","getGroups","getSearchExpandedNodesIds","shareReplay","SiteItemComponent_Conditional_0_Conditional_2_Template_ista_daytona_editing_item_options_delete_0_listener","SiteItemComponent_Conditional_0_Conditional_3_Template_div_click_0_listener","onItemClick","isNodeActive$","SiteItemComponent_Conditional_0_Conditional_4_For_2_Template_ista_daytona_site_item_dragOver_1_listener","SiteItemComponent_Conditional_0_Conditional_4_For_2_Template_ista_daytona_site_item_dropOver_1_listener","SiteItemComponent_Conditional_0_Conditional_4_For_2_Template_ista_daytona_site_item_delete_1_listener","SiteItemComponent_Conditional_0_Conditional_4_For_2_Template_ista_daytona_site_item_itemClick_1_listener","child_r6","showEditingOptions","SiteItemComponent_Conditional_0_Conditional_4_For_2_Template","SiteItemComponent_Conditional_0_Template_div_dragOver_1_listener","SiteItemComponent_Conditional_0_Template_div_dragStart_1_listener","SiteItemComponent_Conditional_0_Template_div_drop_1_listener","SiteItemComponent_Conditional_0_Conditional_2_Template","SiteItemComponent_Conditional_0_Conditional_3_Template","SiteItemComponent_Conditional_0_Conditional_4_Template","itemClick","dropOver","SiteItemComponent_Template","SiteItemComponent_Conditional_0_Template","childHierarchy","getSiteFromSitesHierarchy","targetSite","withTargetSite","s","e","parentGroupIndex","isFoundAndDeleted","targetGroupIndex","isFoundAndAdded","recursiveGroups","targetSiteId","parentSite","childGroup","every","flattened","flatten","push","forEach","subGroup","sortGroupsAlphabetically","localeCompare","sortGroupAndSitesAlphabetically","loopThrowGroupsAndSort","flat","updateTagsInSitesAreChanged","allowToLoadSites","searchGroupTree","searchTerm","searchGroupsHttp","search","searchGroups","response","sameEnv","tagsInSitesAreChanged","getInitialGroupsState","EMPTY","intercept","request","handle","req","clone","setHeaders","Authorization","authReq","use","isLangGerman","startsWith","HttpEventType","LoadingState","loadStatusService","UploadProgress","DownloadProgress","progress","total","Math","round","loaded","PROGRESS","setProgressStatus","Response","DONE","Sent","log","LoadStatusService","BehaviorSubject","_initialState","READY","_progressStatus$","getProgressStatus","asObservable","setInitalState","setInProgressState","PortfolioGroupNavigationService","PortfolioGroupNavigationStore","PortfolioGroupNavigationComponent_Conditional_16_Template_ista_daytona_input_search_deleteButtonClicked_0_listener","_r2","ctx_r2","searchDeleteButtonClicked","PortfolioGroupNavigationComponent_Conditional_16_Template_ista_daytona_input_search_searchInput_0_listener","PortfolioGroupNavigationComponent_Conditional_18_Template_ista_daytona_button_buttonClicked_0_listener","showSearchInputField","portfolioGroupNavigationService","selectBadgeCount$","selectBadgeHidden$","selectIsEditingModeEnabled$","selectShowSearchInput$","selectOpenAllGroups$","badgeIcon","isSvgIcon","colorClass","selectSearchGroupParams$","toggleEditingMode","toggleIsEditingModeEnabledAndUpdateNavigationFinishedState","updateShowSearchInput","updateSearchTerm","searchStr","searchInputField","myInputField","showTagDialog","tagButton","toggleTagDialog","PortfolioGroupNavigationComponent_Query","PortfolioGroupNavigationComponent_Template","PortfolioGroupNavigationComponent_Template_ista_daytona_badge_button_buttonClick_10_listener","PortfolioGroupNavigationComponent_Conditional_16_Template","PortfolioGroupNavigationComponent_Conditional_18_Template","PortfolioGroupNavigationComponent_Template_button_click_20_listener","PortfolioGroupNavigationComponent_Conditional_21_Template","PortfolioGroupNavigationComponent_Conditional_23_Template","finalize","TagDialogComponent","portfolioGroupNavigationStore","count","searchParam","tagIds","openTagDialog","initiallySelectedIds","getTagsIds","updateTagsIds","componentInstance","selectedIds","ids","setSelectedTagsIds","showSearchInput","isEditingModeEnabled","updateIsEditingModeEnabled","getIsEditingModeEnabled","isEqual","selectTagsInSitesAreChanged","tagsSelectedIds","shouldTriggerSearch","updateShouldTriggerSearch","selectSelectedTagsIds$","equal","prev","curr","selectSearchTerm$","selectShouldTriggerSearch$","editingMode","editMode","ngrxOnStateInit","tagsAreChanged","TagsComponent","activeStateChanged","TagDialogComponent_Template","TagDialogComponent_Template_ista_daytona_tags_tagsActiveStateChange_1_listener","requests","requestNameSpace","SelectedPeriodInfoService","selectCustomYearStartDate$","selectCustomYearEndDate$","selectCalendarYearStartDate$","selectCalendarYearEndDate$","selectedPeriodInfoService","selectIsCustomYearSelected$","originX","originY","overlayX","overlayY","offsetY","SelectedPeriodInfoComponent_Template","SelectedPeriodInfoComponent_Conditional_5_Template","SelectedPeriodInfoComponent_Conditional_7_Template","SelectedPeriodInfoComponent_ng_template_8_Template","SelectedPeriodInfoComponent_ng_template_10_Template","tooltipCustomYear_r2","tooltipCalendarYear_r3","ToolTipRendererDirective","startDate","getFormattedDate","endDate","setDate","getDate","date","Intl","DateTimeFormat","month","day","format","StickyHeaderElementType","StickyHeaderComponent_ng_container_5_ng_container_2_Template_ista_daytona_filter_tab_clickedFilter_2_listener","item_r2","outputWrapper","getInputProp","StickyHeaderComponent_ng_container_5_ng_container_3_Template_ista_daytona_tab_selectedTabIndexChange_1_listener","ɵɵclassMap","innerHtml","StickyHeaderComponent_ng_container_5_ng_container_2_Template","StickyHeaderComponent_ng_container_5_ng_container_3_Template","StickyHeaderComponent_ng_container_5_ng_container_4_Template","StickyHeaderComponent_ng_container_5_ng_container_5_Template","StickyHeaderComponent_ng_container_5_ng_container_6_Template","StickyHeaderComponent_ng_container_5_ng_container_7_Template","StickyHeaderComponent_ng_container_5_ng_container_8_Template","FILTER_TAB","TAB","BUTTON_DATA_ADD","BUTTON_DELETE_OBJECT","H1","H2","ref","showSubNavigationLayout","items","itemById","prop","getOutputProp","output","isElementAlreadyExist","i","addItemSource$","markForCheck","deleteItemSource$","resetHeaderSource$","ChangeDetectorRef","ngContentSelectors","StickyHeaderComponent_Template","StickyHeaderComponent_ng_container_5_Template","ɵɵprojection","_c1","addItem$","deleteItem$","addElement","deleteElement","NAME_EXISTS_ERROR_KEY","MatCheckbox","TagActiveStateComponent","checkboxCtrl","onChange","onTouch","editedTag","checked","writeValue","onlySelf","registerOnChange","fn","registerOnTouched","TagActiveStateComponent_Template","NG_VALIDATORS","MatError","TagInputErrorMatcher","TagEditOptionsComponent","tagsStore","fb","cdr","editTag","deleteTag","form","maxLength","asyncValidators","tagWithSameNameAlreadyExists","tagInputErrorMatcher","isRequiredError","isMaxLengthError","isDisabled","disable","enable","validate","control","errors","statusChanges","detectChanges","onDeleteClick","right","editWrapper","TagsStore","FormBuilder","TagEditOptionsComponent_Query","TagEditOptionsComponent_Template","TagEditOptionsComponent_Template_mat_icon_click_5_listener","TagEditOptionsComponent_Conditional_7_Template","TagEditOptionsComponent_Conditional_8_Template","NgControlStatusGroup","FormGroupDirective","FormControlName","isErrorState","TagsHttpService","getAllTags","createTag","tagId","newName","TagsService","TagsComponent_Conditional_7_Template_mat_icon_click_0_listener","clearSearch","TagsComponent_Conditional_11_Conditional_4_Template_ista_daytona_button_buttonClicked_0_listener","updateTagsAndIsEditingMode","selectHighlightSaveButton$","isFormInvalid$","TagsComponent_Conditional_11_Conditional_6_Template_ista_daytona_button_click_0_listener","updateIsEditingMode","TagsComponent_Conditional_11_Template_ista_daytona_button_click_0_listener","updateShowCreateInputField","TagsComponent_Conditional_11_Conditional_4_Template","TagsComponent_Conditional_11_Conditional_6_Template","showCreateInputField$","isEditingMode$","TagsComponent_Conditional_12_Template_input_keydown_2_listener","onCreateKeyDown","TagsComponent_Conditional_12_Template_mat_icon_click_4_listener","resetCtrlAndHideCreateInputField","TagsComponent_Conditional_12_Conditional_6_Template","TagsComponent_Conditional_12_Conditional_7_Template","createTagNameCtrl","ctrl_r7","TagsComponent_For_15_Conditional_3_Template_ista_daytona_tag_edit_options_deleteTag_0_listener","isDeleteInProgress$","TagsComponent_For_15_Conditional_1_Template","TagsComponent_For_15_Conditional_3_Template","TagsComponent_For_15_Conditional_4_Template","enableTagActiveStateAndDisableEditMode","tagsService","tagsActiveStateChange","tags$","sortedTagsWithFilteredString$","filterString$","createNameAlreadyExists","tagsFormArray","formGroup","initialCheckedTags","initialChecked","updateCheckedTagIds","sortFunction","updateSortFunction","hasUnsavedData","getValidTouchedTags","hasUnsavedTags","isInvalid","isEditMode","highlightSaveButton","updateHighlightSaveButton","listenToEnvironmentChangeAndGetAllTags","buildFormAndSetTags","listenToEnableStateChangesAndStatusChanges","showCreateInputField","controls","ctrl","isEditingMode","editedTags","setFilterString","updateSearchString","tagsIds","updateFormStatus","array","clear","TagsComponent_Template","TagsComponent_Template_input_keyup_4_listener","TagsComponent_Conditional_7_Template","TagsComponent_Conditional_11_Template","TagsComponent_Conditional_12_Template","TagsComponent_For_15_Template","NullToUndefinedPipe","concatMap","tagHttpService","updateIsDeleteInProgress","isConfirmed","removeTag","showSuccessfulMessage","tagName","showErrorOccurredMessage","resetState","searchString","updateFilteredString","formStatus","isNameAlreadyExist","updateTagsLocally","updateTagsInBE","checkedTagIds","isDeleteInProgress","filterString","t","formStatus$","checkedTagIds$","sortFunction$","sortByDate","sortAlphabetically","debounce","getTime","some","DISABLED_URLS","updateTitle","buildTitle","stream","translatedTitle","_gtmService","addGtmToDom","eventInfo","breadcrumbs","gtmTag","page","pageInfo","pageName","hostname","documentURL","URL","sysEnv","trackingEnv","join","getBrowserLang","referrer","pushTag","catch","GoogleTagManagerService","UserSettingsHttpService","getUserSettings","userSettingsHttpService","updateUserSettingsAndUpdateStore","storeBenchmarkingData","clearBenchmarkingData","updateSelectedEmissionMediaChartFilter","storeBenchmarkingYearsWithData","updateBenchmarkingData","loadFailure","loadSuccess","storeBenchmarkingFilterData","storeCustomSelectedGroup","resetBenchmarking","resetBenchmarkingDataAndReloadData","storeSelectedTags","storeBenchmarkingDataRequestParams","storeBenchmarkingDataCurrentParams","resetCurrentSelectedRequestParam","storeLoaderSpannerStatus","storeDrawerStatus","DEFAULT_BENCHMARKING_MEDIA_CHART_FILTER","inject","selectedEmissionMediaChartFilter","storeDashboardRequestStatus","storeDashboardData","updateDashboardData","dashboardLoadSuccess","dashboardLoadFailure","resetDashboardState","MedianBackgroundCustomIconsClass","MedianCustomIcons","Utils","DashboardHelper","checkWhichYearsToLoad","alreadyPresentDashboardData","requestedYears","getBarsDisplayedYearsKeys","dashboard","chartItemToIconValueLabel","valueItem","unit","icon","iconBackgroundColor","getTargetTabNameByLabel","card","storeConsumptionBoardRequestStatus","storeConsumptionBoardData","storeSelectedHeaderTab","storeSelectedMainFilter","storeSelectedChartSubFilter","storeSelectedSiteTableYear","updateMasterdataIsLoading","loadSiteDetails","loadGroupDetails","storeSiteDetails","storeGroupDetails","storeGroupSites","resetSiteDetails","resetGroupDetails","updateSiteGeoLocation","updateSiteDetailsLoading","updatePortfolioData","updateEditingPortfolioNavigationFinishedState","updateGroupDetailsLoading","loadSiteTags","storeSiteTags","updateSiteTags","resetPortfolioState","portfolioFeatureKey","portfolioState","consumptionBoardId","consumptionBoard","loading","selectedSiteTableYear","selectedChartSubFilter","selectedMainFilter","masterdataSite","groupSites","masterDataIsLoading","siteTags","reloadConsumptionAfterEditingNavigationIsFinishedState","groupData","mergeConsumptionInfo","source","merged","portfolioReducer","selectedHeaderTab","siteDetails","groupDetails","geoData","siteGeoData","reloadState","headerDataConfig","ConsumptionMapper","PortfolioChartMapper","PortfolioMasterdataMapper","PortfolioMonitoringMapper","ADDRESS_NOT_FOUND","LANDMARK_NOT_FOUND","UtilHelper","OsmHelper","headerMasterdataConfig","AllValueBarDiagnoseCardSkeleton","FilterCORSType","selectPortfolioState","selectConsumptionBoardId","selectIsConsumptionBoardLoading","selectSelectedFilter","selectConsumptionInfo","selectAlreadyLoadedPortfolioYears","Object","keys","getRequiredAdditionalDataKeyDependsOnPortfolioType","portfolioType","childPropKey","heatingLabel","hotWaterEnergy","selectConsumptionAsBarChart","selectedFilter","getPortfolioConsumptionTransformedBarChart","checkAndFilterUnknownItem","itemData","values","selectConsumptionAsMediaDistributionChart","getPortfolioMediaDistributionTransformedChart","transformToMonitoringCardArray","selectConsumptionAsMonitoringCards","getTransformedConsumptionData","selectConsumptionDiagnoseCardsObject","consumptionInfoToValueDiagnoseCardValues","selectConsumptionDiagnoseCards","entries","selectSelectedSiteTableYear","selectSiteTableYearFilterTab","selectPortfolioSelectedChartSubFilter","selectPortfolioConsumptionChartSelectedFilter","timeSeries","subFilter","selectPortfolioConsumptionChartLabelConfig","mainFilterTab","consumptionTypes","prefixText","COSTS","analyticalCategory","selectTransformedSiteData","transformSiteDataToTableDataGeneric","selectGroupDetails","selectGroupSites","selectTransformedGroupData","transformGroupDataToTableDataGeneric","selectSiteDetails","selectCardContent","getMasterdataCardData","mapStaticMasterdataSite","selectMeteringData","mapMeteringData","selectMasterdataPortfolioCardsBySite","globalYear","mapToPortfolioCardContent","mapSiteDetailToPortfolioCard","selectMasterdataPortfolioInfoCardsBySite","mapSiteDetailToPortfolioInfoCard","selectMasterdataPortfolioCardsByGroup","mapGroupDetailToPortfolioCard","selectMasterdataPortfolioInfoCardsByGroup","mapGroupDetailToPortfolioInfoCard","selectSiteLandmarks","place_id","address","getAddressStringForGeoApi","transformSiteDetailsToAddress","lat","lng","lon","selectGroupLandmarks","consumptionInfo","addresses","selectShouldShowMap","landmarks","selectShouldShowLoadingSpinnerMasterdata","selectHeaderTab","selectReloadSelectedGroupConsumption","selectShouldReloadSelectedGroupConsumption","selectSiteTags","selectSiteTagsIds","ColorStyle","PortfolioSiteMasterdataService","DeleteObjectComponent","overlayService","portfolioMasterdataService","showDeleteObjectCard","selectedObject","colorStyle","closeWindow","deleteObject","OverlayService","DeleteObjectComponent_Template","DeleteObjectComponent_Template_ista_daytona_button_buttonClicked_14_listener","DeleteObjectComponent_Template_ista_daytona_button_buttonClicked_16_listener","DeleteObjectComponent_Template_a_click_21_listener","BLUE_LIGHT","ɵɵtextInterpolate3","NgxFileDropModule","DeleteObjectModule","LanguageKeyHelper","linking","tableHeader","tableData","tableHeaderIds","street","houseNumber","postalCode","city","trim","tableDataRow","toolTip","PortfolioHttpService","getSiteConsumption","requestBody","getConsumption","getPortfolioMasterdataSite","getPortfolioMasterdataGroup","getPortfolioMasterdataGroupSite","deletePortfolioMasterdataSite","put","getSiteTags","portfolioHttpService","isSiteSelected","Number","isNaN","ChartHelper","consumption","isActive","valuesByCategory","requiredAdditionalDataKey","additionalValues","numberOfAffectedObjects","requiredAdditionalData","getChartItemConsumption","sharesOfHeating","shares","resultType","getChartItemMediaDistribution","PortfolioCardHelperService","Unit","groupPortfolioDataInfoCard","sitePortfolioDataInfoCard","cardContent","objectName","istaObjectNo","object","externalReference","istaPropertyNumber","clearStaticMasterdataSite","dynamicObjectMasterData","numberOfSites","timeStamp","numberOfUnits","space","SQM","getPortfolioCardData","meteringPoints","meteringPoint","reference","description","selectedData","sitePortfolio","mapResponseToPortfolioInputForSite","getInputForGeoApi","country","streetname","plz","monitoringCardsSkeleton","MonitoringCardPortfolioType","skeleton","yearsRange","_getConsumptionValue","_getConsumptionUnit","siteCount","bars","DEFAULT","costs","emissions","PORTFOLIO_GROUP_ROUTE","PORTFOLIO_SITE_ROUTE","portfolioTabs","isStrokeRelated","isFillRelated","MatButtonToggle","MatButtonToggleGroup","PeriodToggleComponent","updateSelectedPeriodType","environmentSettingsType","selectedPeriodType","PeriodToggleComponent_Template","PeriodToggleComponent_Template_mat_button_toggle_group_valueChange_0_listener","hasUnsavedChanges","showUnsavedDialog","leaveScreen","CustomColors","electricity","gas","water","waste","cold","heating","cost","co2","biomass","other","neutral","oil","crrem","IconHelper","disableableNavigationItems","sitePortfolioData","BuildingCustomIcon","UnitsCustomIcon","AreaCustomIcon","heatingValueLabel","ReportingConsumptionTabParamLabel","ALL_LABEL","heatingAndHotWater","KWH","colors","KG","consumptionDashboardValueBarDiagnoseCardSkeleton","emissionDashboardValueBarDiagnoseCardSkeleton","BoxShadowDirective","el","renderer","classes","addClass","Renderer2","BoxShadowDirective_HostBindings","VisibilityObserveDirective","ScrollToDirective","VarDirective","DIRECTIVES","button","customParamsAsString","getCustomParamsAsString","LinkWithGlobalQueryParamsDirective_HostBindings","LinkWithGlobalQueryParamsDirective_mousedown_HostBindingHandler","onClick","targetElement","getElementById","scrollIntoView","behavior","scrollTo","ScrollToDirective_HostBindings","ScrollToDirective_click_HostBindingHandler","assign","None","exportAs","threshold","rootMargin","visibilityIntersectionChange","subject$","createObserver","generateIdAndSetIdAsDataset","startObservingElements","observer","disconnect","options","IntersectionObserver","entry","observe","isHidden","intersectionRatio","isVisible","dataset","generateRandomId","HeatingChilds","HeatingTempExcludeChilds","ColorHelper","getHeatColor","getColor","getSelectAllFilter","color","childs","areAllDataValuesUndefined","getValuesByFilterDateRange","getValueByFilterDates","ChartScaleHelper","calculateScaling","maxNumOfSeps","minNumOfSteps","biggestValue","ceil","maxValue","numberOfSteps","steps","getSteps","found","possibleStepSize","startingStepSize","factor","CustomColorsHelper","Map","getColorHex","getColorVariable","shade","colorVar","rootStyles","getComputedStyle","colorVariableName","getPropertyValue","names","DestroySubject","TypesIcon","LogLevel","LOG","warn","WARN","ERROR","level","production","getPortfolioCardDataBySelectedYear","portfolioData","maxDateIndex","maxDate","currentDate","getFullYear","getPortfolioCardDataByTimestamp","timestamp","UnitFactor","UnitWithPrefix","factorSequence","ONE","K","M","G","T","getNextFactor","unitMapping","CBM","maxDisplayedDigits","getNumberCount","mapping","unitWithPrefix","CBM_K","unitWithPrefixSequence","rootUnitWithPrefix","CBM_PER_SQM","CBM_K_PER_SQM","SQM_K","SQM_M","EURO_K","EURO_M","EURO_G","EURO_T","DKK","DKK_K","DKK_M","DKK_G","DKK_T","SFR","SFR_K","SFR_M","SFR_G","SFR_T","KWH_K","KWH_M","KWH_PER_SQM","KWH_K_PER_SQM","KWH_M_PER_SQM","KG_K","KG_PER_SQM","KG_K_PER_SQM","KG_M_PER_SQM","EMISSION","EMISSION_K","EMISSION_M","heatingDistribution","getUnitEnumValue","getActualYear","getActualYearDate","getSelectedYearDummy","setFilterConfig","filterCount","fromYear","leftValue","getInitLeftFilter","convertHEXtoRGBA","hexValue","alpha","hex","toUpperCase","hexLength","h","r","indexOf","getRoundedValue","EPSILON","floor","abs","scrollToTop","scroll","scrollToElement","inline","createExcelWindowBlob","dataBlob","fileName","blob","Blob","createObjectURL","createElement","body","appendChild","setAttribute","download","click","revokeObjectURL","createCSVWindowBlob","csv","getFormatNumberDigits","globalSelectedYearIndex","min","getPortfolioInformationGlossarId","infoCard","ValueUnitService","maxDigits","getTransformedValueItem","parseFloat","getNextUnitPrefix","mappingItem","UNKNOWN","factorIndex","getMappedValueByFactor","transformedValue","transformedUnitWithPrefix","factorItem","getMappedValueAuto","isLowerThanMaxDigits","tempValue","newIndex","ConsumptionTypeButtonMapping","analyticalCategories","consumptionType","filterOverview","filterDataGap","filterCORS","CONSUMPTIONS","EMISSIONS","filterCORSSub","filterRegion","HeatingDisplayAllExcludeChilds","UnitPrefix","MathRound","transform","pure","FormatNumberPipe","sanitizer","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","TableSiteModule","DataLabelsPlugin","ReplaySubject","CardHeadlineComponent","MatTooltip","infoText","ɵɵstyleProp","getPosition","index_r2","getBarTop","index_r5","getBarWidth","bar_r4","deepLinkingTargetId","deepLinkingCustomParams","deepLinkingRedirectBaseUrl","ɵɵpureFunction0","getToolTipValue","offsetWidth","BarCardComponent_Conditional_0_Conditional_7_For_4_Conditional_0_Conditional_0_Template","tmp_14_0","BarCardComponent_Conditional_0_Conditional_7_For_4_Conditional_0_Template","getScaleLabelPosition","index_r7","scale_r6","BarCardComponent_Conditional_0_Conditional_7_For_2_Template","ɵɵrepeaterTrackByIdentity","BarCardComponent_Conditional_0_Conditional_7_For_4_Template","BarCardComponent_Conditional_0_Conditional_7_For_7_Template","scaleData","filteredBarItems","unitText","_c2","unitTextParam","BarCardComponent_Conditional_0_Conditional_4_Template","BarCardComponent_Conditional_0_Conditional_7_Template","BarCardComponent_Conditional_0_Conditional_8_Template","BarCardComponent","_ref","actualYear$","data$","scaleStep","barChartType","barChartPlugins","barChartData","labels","datasets","maxBarValue","scaleStepCount","margin","height","calculate","onResize","_data","_selectedYear","barScreen","bar","getValueOfSelectedYear","getTotalHeight","len","getShadowTop","BarCardComponent_Query","BarCardComponent_resize_HostBindingHandler","ɵɵresolveWindow","BarCardComponent_Conditional_0_Template","EXCLUDE_KEYS","PortfolioAnalysisChartService","portfolioAnalysisService","getConsumptionCardTabsItems","preSelectedTabValue","PortfolioAnalysisService","excludeButtons","getHeatingTabItem","subTabs","isHeatingChild","BaseInputComponent","dataQa","_getUuidv4","uuid","_value","val","String","substring","random","v","BaseInputComponent_Template","ButtonColor","ButtonType","IconType","InputHeight","InputTypes","LoaderType","FileUploadType","FilterType","BaseUi","_inputType","_buttonColor","_buttonType","_iconType","_colorStyle","_filterType","_inputHeight","_loaderType","_fileUploadType","AverageDisplayComponent","classValue","EMISSION_KG_PER_SQM","valueUnit","AverageDisplayComponent_Template","badgeColor","badgeHidden","badgePosition","badgeSize","badgeContent","buttonClick","BadgeButtonComponent_Template","BadgeButtonComponent_Template_button_click_0_listener","BadgeButtonComponent_Conditional_1_Template","BadgeButtonComponent_Conditional_2_Template","NgOptimizedImage","MatRadioModule","ButtonDataAddComponent","KeyValueCardComponent","ButtonDeleteObjectComponent","ButtonEditComponent","CardComponent","CheckboxComponent","ContentCardOpenComponent","ContentCardComponent","ContentOffsetComponent","DropdownModule","FullWidthSelectComponent","IconModule","InputModule","LabelModule","LoaderModule","PaginationAlphabetComponent","RadiobuttonComponent","SelectComponent","SelectionComponent","TableModule","TextareaComponent","ValueUnitModule","imExport","stickyStyle","showExcelImportOverlay","showExcelDataImportCard","showFilesImportOverlay","showFilesDataImportCard","ButtonDataAddComponent_Template","ButtonDataAddComponent_Template_div_click_9_listener","ButtonDataAddComponent_Template_div_click_12_listener","dropdown_r2","ɵɵsanitizeUrl","openDeleteOverlay","ButtonDeleteObjectComponent_Template","ButtonDeleteObjectComponent_Template_button_click_0_listener","ButtonDeleteObjectComponent_img_1_Template","ButtonEditComponent_Template","ButtonEditComponent_img_1_Template","ButtonComponent_button_1_Template_button_click_0_listener","ButtonComponent_button_1_mat_icon_2_Template","small","ButtonComponent_button_2_Template_button_click_0_listener","ButtonComponent_button_2_mat_icon_2_Template","ButtonComponent_button_3_Template_button_click_0_listener","ButtonComponent_button_3_mat_icon_1_Template","ButtonComponent_button_4_Template_button_click_0_listener","ButtonComponent_button_4_mat_icon_2_Template","buttonClicked","eventLabel","eventAction","ButtonComponent_Template","ButtonComponent_button_1_Template","ButtonComponent_button_2_Template","ButtonComponent_button_3_Template","ButtonComponent_button_4_Template","shouldAddOffsetTop","displayBoxShadow","WHITE","CardComponent_Template","indeterminate","isChecked","update","change","CheckboxComponent_Template","CheckboxComponent_Template_mat_checkbox_click_0_listener","checkbox_r2","ɵɵreference","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","label_r3","ContentCardOpenComponent_mat_expansion_panel_0_Template_mat_expansion_panel_opened_0_listener","isOpened","ContentCardOpenComponent_mat_expansion_panel_0_Conditional_4_Template","ContentCardOpenComponent_mat_expansion_panel_0_Conditional_5_Template","addBorder","_setOpen","setOpen","ContentCardOpenComponent_Template","ContentCardOpenComponent_mat_expansion_panel_0_Template","showLinkText","linkTo","openNewWindow","iconType","ContentCardComponent_Template","ARROW_RIGHT","ContentOffsetComponent_Template","TemplateRef","DropdownComponent_ng_template_0_Template_div_click_0_listener","onContainerClick","DropdownComponent","closed","DropdownComponent_Query","DropdownComponent_ng_template_0_Template","TemplatePortal","merge","Subscription","DropdownDirective","forceClosing","destroyDropdown","toggleDropdown","stopPropagation","isDropdownOpen","openDropdown","avoidClosing","viewContainerRef","dropdownClosingActionsSub","escapeKeySubscription","boundDocumentClickListener","onDocumentClick","bind","onDestroy","dispose","removeEventListener","flexibleConnectedTo","withPositions","templatePortal","dropdownTriggerFor","templateRef","dropdownClosingActions","addEventListener","backdropClick$","detachment$","detachments","dropdownClosed","clickedInside","overlayElement","onDestroyCallback","unsubscribe","ViewContainerRef","DropdownDirective_HostBindings","DropdownDirective_click_HostBindingHandler","item_r1","selectedItem","selectedItemChange","itemId","FullWidthSelectComponent_Template","FullWidthSelectComponent_Template_mat_select_selectionChange_2_listener","ɵɵtwoWayListener","FullWidthSelectComponent_Template_mat_select_ngModelChange_2_listener","ɵɵtwoWayBindingSet","FullWidthSelectComponent_mat_option_3_Template","ɵɵtwoWayProperty","IconComponent","IconComponent_Template","IconComponent_span_1_Template","InputSearchComponent","placeholder","searchInput","deleteButtonClicked","inputHeight","inputType","filterSearchStr$","onInputChange","InputSearchComponent_Query","InputSearchComponent_Template_ista_daytona_input_deleteButtonClicked_0_listener","InputSearchComponent_Template_ista_daytona_input_ngModelChange_0_listener","SMALL","SEARCH","transformedUnit","InputComponent_div_7_ng_container_1_span_1_Template_span_click_0_listener","showPwd","EYE_OPEN","InputComponent_div_7_ng_container_1_span_2_Template_span_click_0_listener","hidePwd","EYE_CLOSE","InputComponent_div_7_ng_container_1_span_1_Template","InputComponent_div_7_ng_container_1_span_2_Template","pwdType","inputTypes","PWD","TEXT","InputComponent_div_7_ng_container_2_Template_span_mousedown_1_listener","deleteValue","CLOSE","InputComponent_div_7_ng_container_1_Template","InputComponent_div_7_ng_container_2_Template","InputComponent_div_7_ng_container_3_Template","hasDeleteButton","_c3","invalidText","InputComponent","autocomplete","autofocus","NORMAL","setFocus","setBlur","setEnter","isFocused","setInputFocus","initialValue","_unit","pattern","NUMBER","inputValue","onKeydownHandler","onBlur","onFocus","hasActionButton","InputComponent_Query","InputComponent_keydown_enter_HostBindingHandler","InputComponent_Template","InputComponent_div_1_Template","InputComponent_Template_input_input_4_listener","InputComponent_Template_input_focus_4_listener","InputComponent_Template_input_blur_4_listener","InputComponent_div_6_Template","InputComponent_div_7_Template","InputComponent_div_8_Template","ɵɵpureFunction3","ɵɵpureFunction5","data_r1","KeyValueCardComponent_div_0_div_1_Template","KeyValueCardComponent_Template","KeyValueCardComponent_div_0_Template","LabelMapping","config","unitStr","LabelComponent","selectedCurrency","labelMapping","transformToString","chartLabel","transformedValueItem","unitFactor","nextUnitPrefix","overwriteUnit","LabelComponent_Template","LabelComponent_span_1_Template","LabelComponent_span_2_Template","MatProgressBar","BarComponent","barMode","barSize","BarComponent_Template","MatProgressSpinner","CircleComponent","diameter","circleMode","CircleComponent_Template","CircleComponent_Conditional_2_Template","spinnerMode","LoaderComponent","CIRCLE","SpinnerSize","loaderType","LoaderComponent_Template","LoaderComponent_Case_0_Template","LoaderComponent_Case_1_Template","tmp_0_0","BAR","PaginationAlphabetComponent_For_3_Template_button_click_0_listener","clickedItem","isLetterActive","activeLetters","clicked","alphabet","fromCharCode","PaginationAlphabetComponent_Template","PaginationAlphabetComponent_For_3_Template","MatRadioButton","statusChanged","isSelected","labelId","triggerEvents","handleChange","emitChangeEvent","blur","matRadioButton","stopMonitoring","matRadioButtonRef","RadiobuttonComponent_Query","RadiobuttonComponent_Template","RadiobuttonComponent_Template_mat_radio_button_change_1_listener","RadiobuttonComponent_Conditional_4_Template","tmp_5_0","tmp_6_0","translatedName","SelectComponent_mat_form_field_1_mat_label_1_Template","SelectComponent_mat_form_field_1_ng_container_2_Template","SelectComponent_mat_form_field_1_Template_mat_select_selectionChange_3_listener","SelectComponent_mat_form_field_1_Template_mat_select_valueChange_3_listener","selected","SelectComponent_mat_form_field_1_mat_option_4_Template","trackbyEnvId","SelectComponent_Template","SelectComponent_mat_form_field_1_Template","SelectComponent_ng_template_2_Template","nothingSelected_r4","SelectionComponent_For_2_Template_mat_button_toggle_click_0_listener","selection_r2","setSelectedTab","selections","selectTab","selectedTab","tab","SelectionComponent_Template","SelectionComponent_For_2_Template","tab_r2","ɵɵpureFunction6","ctx_r3","$index_r3","defaultSelectedTabIndex","isIconSolid","TabComponent_For_3_ng_template_1_Conditional_0_Conditional_0_Template","TabComponent_For_3_ng_template_1_Conditional_0_Conditional_1_Template","TabComponent_For_3_ng_template_1_Conditional_0_Template","TabComponent_For_3_ng_template_1_Conditional_1_Template","tmp_12_0","TabComponent_For_3_ng_template_1_Template","TabComponent","tabs","stretch","selectedTabIndexChange","onTabChange","TabComponent_Template","TabComponent_Template_mat_tab_group_selectedTabChange_1_listener","TabComponent_For_3_Template","TabComponent_Conditional_4_Template","MatTabsModule","MyCustomPaginatorIntl","translationService","publicitemsPerPageLabel","nextPageLabel","previousPageLabel","firstPageLabel","lastPageLabel","itemsPerPageLabel","setPaginatorTranslatedLabel","translations","getRangeLabel","pageSize","amountPages","current","amount","TableBaseComponent","formatNumberPipe","getCreatedValueItem","getFormattedValue","isValueItem","trackById","columns","getTableValueType","MatPaginator","MatTableDataSource","icon_r1","TableComponent_Conditional_0_ng_container_2_th_1_div_1_Conditional_1_Conditional_0_Template","TableComponent_Conditional_0_ng_container_2_th_1_div_1_Conditional_1_Conditional_1_Template","TableComponent_Conditional_0_ng_container_2_th_1_div_1_Conditional_1_Template","headerItem_r2","TableComponent_Conditional_0_ng_container_2_th_1_div_1_Template","getHeaderItem","column_r3","item_r5","TableComponent_Conditional_0_ng_container_2_td_2_ng_template_5_div_0_span_1_Template","TableComponent_Conditional_0_ng_container_2_td_2_ng_template_5_div_0_Template","TableComponent_Conditional_0_ng_container_2_td_2_Conditional_3_Template","TableComponent_Conditional_0_ng_container_2_td_2_Conditional_4_Template","TableComponent_Conditional_0_ng_container_2_td_2_ng_template_5_Template","toolTip_r6","TableComponent_Conditional_0_ng_container_2_th_1_Template","TableComponent_Conditional_0_ng_container_2_td_2_Template","TableComponent_Conditional_0_ng_container_2_Template","TableComponent_Conditional_0_tr_3_Template","TableComponent_Conditional_0_tr_4_Template","headerLabels","TableComponent","_filter","configTableElements","paginator","firstPage","getRow","filterPredicate","TableComponent_Query","TableComponent_Conditional_0_Template","TableComponent_Conditional_1_Template","DecimalPipe","MatPaginatorIntl","MatPaginatorModule","MatTableModule","IstaTableDirective","TextareaComponent_Template","TextareaComponent_div_1_Template","TextareaComponent_Template_textarea_input_2_listener","TooltipComponent","theme","contentTemplate","context","TooltipComponent_Template","TooltipComponent_ng_container_1_Template","OverlayPositionBuilder","showToolTip","tooltipPosition","overlayPositionBuilder","shouldShowTooltip","getPositionDependsOnDirection","hasAttached","tooltipRef","instance","tooltipHostElement","registerMouseEnterOnOverlay","registerMouseleave","closeToolTip","htmlElement","ToolTipRendererDirective_HostBindings","ToolTipRendererDirective_mouseenter_HostBindingHandler","classContainer","ɵɵpipeBind3","getTransformedValue","classUnit","ValueUnitComponent","_displayValue","displayValue","getEnumValue","ValueUnitComponent_Template","ValueUnitComponent_div_0_Template","ValueUnitComponent_ng_template_1_Template","defaultValue_r2","afterRender","AfterRenderPhase","DestroyRef","DividerStyle","takeUntilDestroyed","selectIsScrollVisible$","isSticky","CHEVRON","breadcrumbsStore","selectBreadcrumbItems$","destroyRef","afterRenderRef","getBreadcrumbItems","addDataCyAttributes","phase","Write","destroy","setScrollToEnd","elements","querySelectorAll","overflowWrapper","updateScrollWidth","scrollWidth","scrollLeft","BreadcrumbNavigationComponent_Template","BreadcrumbNavigationComponent_Conditional_0_Template","addItems","addBreadcrumbItems","resetToRootAndAddItems","BREADCRUMB_MAX_WIDTH","rootItem","filteredItems","setBreadcrumbItems","ngrxOnStoreInit","oldTitle","oldUrl","newTitle","newUrl","customClass","CardHeadlineComponent_Template","AbstractChartComponent","transformedData","_labelConfig","_refreshData","labelConfig","tempData","temp","AbstractChartComponent_Template","AbstractMultiChartComponent","overwriteColor","overwriteLabels","AbstractMultiChartComponent_Template","filteredChartDataItem_r1","BalanceChartComponent_Conditional_10_For_1_Template","toIconValueLabel","filteredChartData","BalanceChartComponent","_filteredResultTypes","doughnutChartData","_balanceChartData","_transformTotalSumChartItems","_setConfig","_config","getValueItem","foundItem","totalSum","totalSumChartData","getDisplayedBars","foundConfig","dataItem","doughnutConfig","BalanceChartComponent_Template","BalanceChartComponent_Conditional_10_Template","unitLabel","externalTooltipHandler","BarChartOptions","plugins","legend","display","boxHeight","boxWidth","padding","font","size","family","tooltip","callbacks","enabled","external","responsive","aspectRatio","maintainAspectRatio","layout","scales","grid","drawTicks","ticks","BarChartMapper","BarChartComponent","barChartOptions","barType","chartItemToDoughnutChart","BarChartComponent_Template","BarChartComponent_span_3_Template","datasetValue","backgroundColor","hoverBackgroundColor","borderWidth","barThickness","getLeftPadding","i_r2","BarHorizontalChartMiniComponent","minLabel","maxLabel","dividers","displayData","setDisplayData","paddingLeft","frame","valueIndex","BarHorizontalChartMiniComponent_Template","BarHorizontalChartMiniComponent_div_1_Template","iAxis","BarHorizontalChartOptions","datalabels","indexAxis","BarHorizontalChartService","ChartHelperService","BarHorizontalChartComponent","barHorizontalChartService","displayFilterButtons","selectSelectedCurrency$","_selectedFilter","chartData","getBarChartData","BarHorizontalChartComponent_Template","chartHelperService","filterBy","selectedYearlabels","getDataSetSkeleton","BarHorizontalMultiChartOptions","grace","BarHorizontalMultiChartService","BarHorizontalMultiChartComponent","barHorizontalMultiChartService","getMultiBarChartData","BarHorizontalMultiChartComponent_Template","multipleData","BarHorizontalStackedChartOptions","stacked","BarHorizontalStackedChartService","BarHorizontalStackedChartComponent","barHorizontalStackedChartService","selectedStackedFilter","_selectedStackedFilter","getBarStackedChartData","BarHorizontalStackedChartComponent_Template","BenchmarkingChartHelperService","getXLabels","benchmarkingEmissionData","emissionIndex","pots","lowerLimit","upperLimit","getPotIndex","averageValue","average","ChartDataLabels","BenchmarkingChartComponent","userPortfolioSelectedGroupName","marketPortfolioSelectedGroupName","chartPlugins","averageLabels","_benchmarkingEmissionData","transformPotsToDatasets","getTransformedBarChartData","getTranslatedGroupName","groupName","potsLen","benchmark","dataMarker","objectKeys","reverse","categoryPercentage","barPercentage","maxBarThickness","share","potIndex","dataMarkerItem","fill","pointRadius","borderColor","BenchmarkingChartComponent_Template","pointBackgroundColor","pointBorderColor","pointStyle","axis","legend_r1","ChartLegendComponent_div_0_div_1_Template","ChartLegendComponent","ChartLegendComponent_Template","ChartLegendComponent_div_0_Template","DistributionChartComponent","DoughnutChartPercentComponent","DoughnutChartSimpleComponent","DoughnutChartComponent","LineChartComponent","IconValueLabelComponent","ChartModule","ChartItem","isLeftRadius","isRightRadius","getItemWidth","item_r4","DistributionChartComponent_ng_container_1_ng_container_4_div_1_Template","DistributionChartComponent_ng_container_1_div_2_Template","DistributionChartComponent_ng_container_1_ng_container_4_Template","totalValue","DistributionChartComponent_Template","DistributionChartComponent_ng_container_1_Template","DoughnutChartPercentComponent_Conditional_9_Conditional_0_Template","DoughnutChartPercentComponent_Conditional_9_Conditional_1_Template","BLUE","colorStyleEnum","imageSrc","style","innerStyle","DoughnutChartPercentComponent_Template","DoughnutChartPercentComponent_Conditional_9_Template","DoughnutChartSimpleComponent_Template","DoughnutChartSimpleComponent_Conditional_3_Template","DoughnutOptions","transitions","animation","duration","cutout","DoughnutChartMapper","DoughnutChartComponent_div_3_Conditional_2_Conditional_0_Template","DoughnutChartComponent_div_3_Conditional_2_Conditional_1_Template","formattedValue_r2","DoughnutChartComponent_div_3_Conditional_3_Conditional_0_Conditional_0_Template","DoughnutChartComponent_div_3_Conditional_3_Conditional_0_Conditional_1_Template","DoughnutChartComponent_div_3_Conditional_3_Conditional_0_Template","tmp_4_0","DoughnutChartComponent_div_3_Conditional_2_Template","DoughnutChartComponent_div_3_Conditional_3_Template","infoTextLeft","doughnutOptions","doughnutType","setLabelPosition","newChartData","getDoughnutChartData","infoWidth","clientWidth","chartWidth","chart","DoughnutChartComponent_Query","DoughnutChartComponent_resize_HostBindingHandler","DoughnutChartComponent_div_3_Template","cleanLabel","LineChartOptions","align","LineChartService","button_r2","LineChartComponent_ng_container_0_div_1_div_1_Template_button_click_1_listener","setFilter","LineChartComponent_ng_container_0_div_1_div_1_img_2_Template","LineChartComponent_ng_container_0_div_1_div_1_Template","filterButtons","LineChartComponent_ng_container_0_div_1_Template","lineChartData","lineChartOptions","lineChartType","displayAllButton","_displayAllButton","lineChartService","newLineChartData","getLineChartData","getDashboardFilterButtons","getPreviousSelectedChartItem","chartItems","LineChartComponent_Template","LineChartComponent_ng_container_0_Template","LineChartComponent_ng_template_1_Template","isLoading_r4","allowedConsumptionTypes","allButton","unshift","toolTipClassList","getOrCreateTooltip","canvas","parentNode","table","fillTable","titleLines","bodyLines","toolTipColor","tableHead","tr","th","justifyContent","createTextNode","tableBody","td","alignItems","width","gap","whiteSpace","innerHTML","coloredCircle","opacity","dataPoints","dataPoint","lines","toolTipLegendColor","datasetIndex","offsetLeft","positionX","offsetTop","positionY","caretX","caretY","pointerEvents","Co2CostCardDistributionComponent","modelStageColor","modelStageData","Co2CostCardDistributionComponent_Template","landLordShare","landlordShare","Co2CostCardStageComponent","isTenantShare","tenantShare","percentage","tenantShareValue","Co2CostCardStageComponent_Template","Co2CostCardStageComponent_div_6_Template","Co2CostCardStageComponent_p_14_Template","totalCostValue","Co2CostCardTotalComponent","totalEmission","carbonPrice","Co2CostCardTotalComponent_Template","Co2CostCardTotalComponent_Conditional_3_Template","EmptyEnvironmentNotificationComponent","emptyEnvironmentService","EmptyEnvironmentNotificationComponent_Template","EmptyEnvironmentNotificationComponent_Template_a_click_2_listener","EmptyEnvironmentNotificationComponent_Template_a_click_22_listener","EmptyEnvironmentNotificationComponent_Template_ista_daytona_button_click_25_listener","isDisableableItem","itemLink","isDisabledFromMissingData","FileUploadContactInfoComponent","emitCloseWindow","FileUploadContactInfoComponent_Template","FileUploadContactInfoComponent_Template_a_click_3_listener","FileUploadContactInfoComponent_Template_a_click_8_listener","FileUploadHelper","FileUploadExcelAcceptedFiles","FileUploadStepFileEfileComponent","selectedFileUpload","colorBlueLight","acceptedFiles","fileUploadType","EFILE","uploadFile","onFileSelected","fileUpload","getFileUploadFromSelectedFile","FileUploadStepFileEfileComponent_Query","FileUploadStepFileEfileComponent_Template_ista_daytona_button_buttonClicked_8_listener","FileUploadStepFileEfileComponent_Template_input_change_10_listener","efile","FileUploadStepFileExcelComponent","fileUploadStepFileService","loadingState","EXCEL","downloadTemplateStatus$","downloadTemplateWithDataStatus$","downloadTemplate","downloadTemplateWithData","FileUploadStepFileService","FileUploadStepFileExcelStore","FileUploadStepFileExcelComponent_Query","FileUploadStepFileExcelComponent_Template_button_click_9_listener","FileUploadStepFileExcelComponent_Conditional_17_Template","FileUploadStepFileExcelComponent_Conditional_19_Template","FileUploadStepFileExcelComponent_Template_button_click_21_listener","FileUploadStepFileExcelComponent_Conditional_30_Template","FileUploadStepFileExcelComponent_Conditional_32_Template","FileUploadStepFileExcelComponent_Template_ista_daytona_button_buttonClicked_33_listener","FileUploadStepFileExcelComponent_Template_input_change_35_listener","excel","setDownloadTemplateStatus","setDownloadTemplateWithDataStatus","fileUploadHttpService","templateWithData","selectedEnvId","langString","triggerImportableExcelDownloadWithData","triggerImportableExcelDownloadWithNoData","fileNameKey","FileUploadHttpService","FileUploadStepFinishedComponent_Conditional_9_Template_ista_daytona_button_buttonClicked_0_listener","report","FileUploadStepFinishedComponent","cancelUploading","loadErrorReport","isDataInvalid$","cancel","FileUploadStore","FileUploadStepFinishedComponent_Template","FileUploadStepFinishedComponent_Conditional_3_Template","FileUploadStepFinishedComponent_Conditional_5_Template","FileUploadStepFinishedComponent_Template_ista_daytona_button_buttonClicked_7_listener","FileUploadStepFinishedComponent_Conditional_9_Template","DatePipe","FileUploadResultBillingComponent_For_12_Conditional_3_Template","getValidationErrorHint","hint_r1","ɵ$index_20_r2","ɵ$count_20_r3","FileUploadResultBillingComponent","hint","validationHintCode","detectedBilling","FileUploadResultBillingComponent_Template","FileUploadResultBillingComponent_Conditional_2_Template","FileUploadResultBillingComponent_For_12_Template","validationHints","propertyNumber","ɵɵtextInterpolate2","periodBegin","periodEnd","FileUploadResultEfileComponent_Conditional_6_Template_ista_daytona_icon_click_0_listener","swapIsOpen","isOpen","ARROW_DOWN","hint_r3","billing_r4","FileUploadResultEfileComponent_Conditional_11_For_1_Template","file","detectedBillings","FileUploadResultEfileComponent","existsEFileBilling","_file","existsEFileBillingError","FileUploadResultEfileComponent_Template","FileUploadResultEfileComponent_Conditional_3_Template","FileUploadResultEfileComponent_Template_span_click_4_listener","FileUploadResultEfileComponent_Conditional_6_Template","FileUploadResultEfileComponent_For_10_Template","FileUploadResultEfileComponent_Conditional_11_Template","generalValidationHints","isExcelErrorFile$","rowResult_r3","rowNumber","rowHint_r2","cellResult_r6","columnString","cellHint_r5","FileUploadStepResultComponent_Conditional_2_For_16_For_3_For_1_Template","FileUploadStepResultComponent_Conditional_2_For_16_For_1_Template","FileUploadStepResultComponent_Conditional_2_For_16_For_3_Template","_forTrack1","cellResults","FileUploadStepResultComponent_Conditional_2_For_16_Template","FileUploadStepResultComponent_Conditional_2_Template_ista_daytona_button_buttonClicked_19_listener","excelRowResults$","file_r8","FileUploadStepResultComponent_Conditional_4_For_17_Conditional_6_Template","FileUploadStepResultComponent_Conditional_4_For_17_Conditional_7_Template","existsEFileError","FileUploadStepResultComponent_Conditional_4_For_17_Template","_forTrack2","FileUploadStepResultComponent_Conditional_4_Template_ista_daytona_button_buttonClicked_20_listener","FileUploadStepResultComponent_Conditional_4_Template_ista_daytona_button_buttonClicked_22_listener","uploadData","eFilesWithSizeDateAndError$","FileUploadStepResultComponent","uploadValidData","isFileUploadExcel$","FileUploadStepResultComponent_Template","FileUploadStepResultComponent_Conditional_2_Template","FileUploadStepResultComponent_Conditional_4_Template","FileUploadStepUploadComponent","FileUploadStepUploadComponent_Template","uploadExcelFile","formData","uploadEFile","dryRun","set","selectedGroupIds","requestedGroups","FileUploadService","FileUploadStep","FileUploadComponent_Case_5_Conditional_0_Template_ista_daytona_file_upload_step_file_excel_selectedFileUpload_0_listener","startUploading","FileUploadComponent_Case_5_Conditional_2_Template_ista_daytona_file_upload_step_file_efile_selectedFileUpload_0_listener","FileUploadComponent_Case_5_Conditional_0_Template","FileUploadComponent_Case_5_Conditional_2_Template","showExcelDataImportCard$","showFilesDataImportCard$","FileUploadComponent_Case_8_Template_ista_daytona_file_upload_step_result_cancelUploading_0_listener","FileUploadComponent_Case_8_Template_ista_daytona_file_upload_step_result_closeWindow_0_listener","FileUploadComponent_Case_8_Template_ista_daytona_file_upload_step_result_uploadValidData_0_listener","FileUploadComponent_Case_9_Template_ista_daytona_file_upload_step_finished_cancelUploading_0_listener","FileUploadComponent_Case_9_Template_ista_daytona_file_upload_step_finished_loadErrorReport_0_listener","FileUploadComponent","fileUploadService","currentStep$","abortUploadingProcess$","onDestroy$","setShowExcelDataImportCard","setShowFilesDataImportCard","setUpHandlingFileUploadResponse","setNextStep","BEFORE_UPLOADING","FileUploadComponent_Template","FileUploadComponent_Case_5_Template","FileUploadComponent_Case_7_Template","FileUploadComponent_Case_8_Template","FileUploadComponent_Case_9_Template","tmp_1_0","CURRENTLY_UPLOADING","FEEDBACK","FINISHED_UPLOADING","wasSomeDataImported","parsedAndValidatedFiles","fileImported","eFileResponse","row","addRow","billing","affectedLineNumber","affectedPosition","isExcelFileValid","fileUploadResponse","importWasSuccessful","getEFileSize","files","getAll","foundFile","getEFileDate","existsEFileErrors","existsEFileGeneralError","FormData","getFormDataName","append","selectedFileUploadType","defer","take","dashboardStore","portfolioStore","benchmarkingStore","envService","fileUpload$","setCurrentStep","setFileUpload","setIsDryRun","setFileUploadResponse","updateAfterSuccessfulUpload","resetStores","fileUploadResponse$","handleUnknownError","isDryRun$","isDryRun","currentStep","eFiles$","rowResults","isExcelFileValid$","isValid","eFiles","OverlayComponent","FilterPageComponent_div_1_div_1_Template_div_click_0_listener","setActiveLeft","FilterPageComponent_div_1_div_1_img_2_Template","first_r4","activeTabs","FilterPageComponent_div_1_div_1_Template","FilterPageComponent","setActiveTabs","trackingService","displayDataImport","displayDeleteObject","displayEditData","clickedFilter","guestPortal","FilterPageComponent_Template","FilterPageComponent_div_1_Template","FilterPageComponent_div_4_Template","FilterPageComponent_div_5_Template","FilterPageComponent_div_6_Template","FilterSubTabComponent_ng_container_0_div_2_Template_div_click_0_listener","setActiveMainMenu","FilterSubTabComponent_ng_container_0_div_2_img_2_Template","activeMainTab","FilterSubTabComponent_ng_container_0_div_3_div_2_Template_div_click_0_listener","setActiveSubMenu","activeSubTab","FilterSubTabComponent_ng_container_0_div_3_div_2_Template","FilterSubTabComponent_ng_container_0_div_2_Template","FilterSubTabComponent_ng_container_0_div_3_Template","FilterSubTabComponent","selectedFilterPortfolioAnalysisChart","selectedSubSubTab","selectedSubFilter","possibleSubFilter","updateSelectedSubFilter","selectedValue","switchTabIfActiveTabNotRelevantAnymore","isMainTab","mainTabStillRelevant","subTabStillRelevant","FilterSubTabComponent_Template","FilterSubTabComponent_ng_container_0_Template","FilterTabSmallComponent_div_0_div_2_Template_div_click_0_listener","FilterTabSmallComponent_div_0_div_2_Template","FilterTabSmallComponent","FilterTabSmallComponent_Template","FilterTabSmallComponent_div_0_Template","FilterTabStoreService","selectActiveFilterTab","registerFilterTabInstanceId","instanceId","setInstanceInitialState","updateActiveFilterTab","filterTab","updateActiveFilterTabLeft","updateActiveFilterTabSelectedYear","FilterTabComponent_div_1_ng_container_1_div_1_Template_div_click_0_listener","FilterTabComponent_div_1_ng_container_1_div_1_img_2_Template","activeTab_r4","FilterTabComponent_div_1_ng_container_1_div_1_Template","FilterTabComponent_div_1_ng_container_1_Template","activeTab$","FilterTabComponent_ista_daytona_filter_time_series_3_Template_ista_daytona_filter_time_series_clickedFilter_0_listener","setActiveRight","timeMode","FilterTabComponent","filterTabStoreService","displayTimeSeries","displayBorderBottom","smallVersion","activeTab","FilterTabComponent_Template","FilterTabComponent_div_1_Template","FilterTabComponent_ista_daytona_filter_time_series_3_Template","FilterTimeSeriesComponent_ng_container_0_div_6_Template_div_click_0_listener","setActive","mode","singleMode","FilterTimeSeriesComponent_ng_container_0_div_6_Template","dropdown_r4","FilterTimeSeriesComponent_ng_template_1_button_1_Template_button_click_0_listener","item_r6","FilterTimeSeriesComponent_ng_template_1_button_1_Template","FilterTimeSeriesComponent","_mode","transformTimeSeries","yearRange","displayDropDown","timeSeriesOriginal","displayMaxFilterItems","getTimeSeriesReserved","transformToYearSlot","yearSlot","timeSeriesReserved","setRange","FilterTimeSeriesComponent_Template","FilterTimeSeriesComponent_ng_container_0_Template","FilterTimeSeriesComponent_ng_template_1_Template","timeSeriesListing_r7","FilterComponent_ista_daytona_filter_tab_1_Template_ista_daytona_filter_tab_clickedFilter_0_listener","reducedVersion","FilterComponent_ista_daytona_filter_sub_tab_2_Template_ista_daytona_filter_sub_tab_clickedFilter_0_listener","FilterComponent_ista_daytona_filter_page_3_Template_ista_daytona_filter_page_clickedFilter_0_listener","FilterComponent_ista_daytona_filter_tab_small_4_Template_ista_daytona_filter_tab_small_clickedFilter_0_listener","FilterComponent","PRIMARY","class","bottomOffset","filterType","FilterComponent_Template","FilterComponent_ista_daytona_filter_tab_1_Template","FilterComponent_ista_daytona_filter_sub_tab_2_Template","FilterComponent_ista_daytona_filter_page_3_Template","FilterComponent_ista_daytona_filter_tab_small_4_Template","SECONDARY","PAGE","HeadlineComponent","HeadlineComponent_Template","IconLabelComponent_Conditional_1_Conditional_0_Template","IconLabelComponent_Conditional_1_Conditional_1_Template","IconLabelComponent","alignInCenter","IconLabelComponent_Template","IconLabelComponent_Conditional_1_Template","IconValueLabelComponent_Conditional_0_Conditional_1_Conditional_1_Template","IconValueLabelComponent_Conditional_0_Conditional_1_Conditional_2_Template","IconValueLabelComponent_Conditional_0_Conditional_1_Template","IconValueLabelComponent_Conditional_0_Conditional_2_Template","tmp_2_0","IconValueLabelComponent_Template","IconValueLabelComponent_Conditional_0_Template","InfoCardComponent","hideInfoboxValue","showInfobox","hideInfobox","InfoCardComponent_Template","InfoCardComponent_Template_div_click_11_listener","MonitoringCardComponent_div_0_div_3_img_1_Template","MonitoringCardComponent_div_0_div_4_img_2_Template","MonitoringCardComponent_div_0_div_4_ng_template_3_Template","toolTip_r2","getBackgroundColor","index_r4","bar_r3","MonitoringCardComponent_div_0_div_8_div_1_Template","MonitoringCardComponent_div_0_div_3_Template","MonitoringCardComponent_div_0_div_4_Template","MonitoringCardComponent_div_0_div_8_Template","displaySiteCount","getValueItemOfSelectedYear","displayBars","MonitoringCardComponent","sortDataByLabel","isHover","_maxBarValue","sortDataByLabelAscending","_rgbaColor","getUnitOfSelectedYear","MonitoringCardComponent_Template","MonitoringCardComponent_div_0_Template","tabLabel","ɵɵpureFunction4","displaySmall","_c4","NavigationComponent_li_5_a_1_Conditional_2_Conditional_0_Template","NavigationComponent_li_5_a_1_Conditional_2_Conditional_1_Template","NavigationComponent_li_5_a_1_Conditional_2_Template","NavigationComponent_li_5_a_1_div_3_Template","getIsLinkActive","tmp_8_0","NavigationComponent_li_5_a_1_Template","NavigationComponent_li_5_ng_template_2_Template","showDivider_r4","NavigationComponent","navigationItems","pathName","NavigationComponent_Template","NavigationComponent_li_5_Template","NavigationModule","notification_r2","subline","NotificationComponent_div_0_div_8_Template_ista_daytona_page_stepper_selectPage_1_listener","actualPageIndex","setNotificationByIndex","notifications","NotificationComponent_div_0_p_6_Template","NotificationComponent_div_0_p_7_Template","NotificationComponent_div_0_div_8_Template","NotificationComponent_div_0_Template_button_click_9_listener","closeNotification","notificationType","ALERT","NotificationComponent","notification$","subs","getNotification$","notification","existsNotification","displayedNotification","nextItem","prefix","shift","indexLen","NotificationComponent_Template","NotificationComponent_div_0_Template","PageStepperModule","NotificationModule","notifications$","OSM","OSMSettings","osmTileLayer","attribution","OSMComponent","zoom","marker","featureGroup","center","tiles","tileLayer","maxZoom","minZoom","createBadgePane","deleteBadgePane","addTo","scale","resetMap","createOSMMarker","handleMarkerIconChange","setZoom","setCenterProperties","useHightlight","imgChilds","changeMarkerIcon","child","parent","osmElement","getElementsByClassName","existsChild","removeChild","parentDiv","imgChildsCount","childDiv","setStyle","marginLeft","marginTop","zIndex","childPar","textContent","createPopup","landmark","setView","removeLayer","removeMarkers","newMarker","bindPopup","openPopup","addLayer","fitBounds","getBounds","OSMComponent_Query","OverlayComponent_HostBindings","OverlayComponent_keydown_HostBindingHandler","OverlayComponent_Template_ista_daytona_button_click_1_listener","OverlayComponent_Conditional_2_Template","OverlayComponent_Conditional_3_Template","OverlayModule","componentPortal","overlayConfig","PageStepperComponent_ng_container_1_Template_img_click_2_listener","prevPage","PageStepperComponent_ng_container_1_ng_container_5_Template","PageStepperComponent_ng_container_1_Template_img_click_7_listener","nextPage","isPrevPagePossible","linkToContent_r3","isNextPagePossible","PageStepperComponent_ng_template_2_Template_img_click_1_listener","PageStepperComponent_ng_template_2_ng_container_4_Template","PageStepperComponent_ng_template_2_Template_img_click_6_listener","PageStepperComponent","minPageCount","maxPageCount","selectedPage","showBoxShadow","selectPage","PageStepperComponent_Template","PageStepperComponent_ng_container_1_Template","PageStepperComponent_ng_template_2_Template","PageStepperComponent_ng_template_4_Template","withoutBoxShadow_r5","PaginationComponent","itemCount","selectedItemCount","selectItemCount","manualPageConfig","_selectedPage","manualPage","setSelectedPage","clearErrorConfig","selectItemCountValue","checkPageInput","PaginationComponent_Template","PaginationComponent_Template_ista_daytona_input_ngModelChange_10_listener","PaginationComponent_Template_ista_daytona_input_setBlur_10_listener","PaginationComponent_Template_ista_daytona_input_setEnter_10_listener","PaginationComponent_Template_div_click_13_listener","PaginationComponent_Template_div_click_15_listener","PaginationComponent_Template_div_click_17_listener","PaginationComponent_Template_ista_daytona_page_stepper_selectPage_20_listener","PaginationModule","PortfolioCardComponent_div_2_img_1_Template","PortfolioCardComponent","PortfolioCardComponent_Template","PortfolioCardComponent_div_2_Template","PortfolioCardComponent_div_3_Template","SectionComponent","SectionComponent_Template","SectionComponent_mat_icon_2_Template","SectionComponent_h4_3_Template","TableSiteComponent_ng_container_0_Template_input_input_4_listener","valueChange","TableSiteComponent_ng_container_0_Template_button_click_6_listener","input_r3","headerData","TableSiteComponent","TableSiteComponent_Template","TableSiteComponent_ng_container_0_Template","MatSuffix","MatButtonToggleModule","MatOptionModule","ValueUnitCardComponent","imExportComponents","imExportModule","isSmall","roundedValue_r1","ValueUnitCardComponent_Conditional_1_Conditional_0_Conditional_0_Conditional_0_Template","ValueUnitCardComponent_Conditional_1_Conditional_0_Conditional_0_Conditional_2_Template","ValueUnitCardComponent_Conditional_1_Conditional_0_Conditional_0_Template","ValueUnitCardComponent_Conditional_1_Conditional_0_Template","ValueUnitCardComponent_Template","ValueUnitCardComponent_Conditional_1_Template","ValueUnitCardComponent_Conditional_2_Template","ContactComponent_Template","FooterComponent","displayWave","FooterComponent_Template","FooterComponent_div_1_Template","ImprintComponent_Template","PageNotFoundComponent_Template","GoogleTagManagerComponent","GoogleTagManagerComponent_Template","HotjarComponent","HotjarComponent_Template","PiwikComponent","PiwikComponent_Template","MatAccordion","UsercentricsComponent","ZenloopComponent","PrivacyComponent_Template","PrivacyModule","UsercentricsComponent_Template","ZenloopComponent_Template","protocol","host","reportingInfoboxTimeperiod","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}