{"version":3,"file":"app-d91a9049.f584a1446b2fc034d810.bundle.js","mappings":"AAGA","sources":["webpack://lernplattform-admin-frontend/./src/app.html","webpack://lernplattform-admin-frontend/./src/layout-distinar.html","webpack://lernplattform-admin-frontend/./src/layout-empty.html","webpack://lernplattform-admin-frontend/./src/layout-fill-no-container.html","webpack://lernplattform-admin-frontend/./src/layout-full.html","webpack://lernplattform-admin-frontend/./src/layout-no-container.html","webpack://lernplattform-admin-frontend/./src/layout.html","webpack://lernplattform-admin-frontend/./src/app.ts","webpack://lernplattform-admin-frontend/./src/globals/colors.ts","webpack://lernplattform-admin-frontend/./src/globals/defaultValues.ts","webpack://lernplattform-admin-frontend/./src/layout-distinar.ts","webpack://lernplattform-admin-frontend/./src/layout.ts","webpack://lernplattform-admin-frontend/./src/commonConfiguration.ts","webpack://lernplattform-admin-frontend/./src/main.ts"],"sourcesContent":["// Module\nvar code = \"<template style=\\\"position:relative\\\"> <font-preloader></font-preloader> <router-view layout-view=\\\"layout.html\\\" layout-view-model=\\\"layout\\\" containerless></router-view> <snackbar-controller attach-to-fullscreen style=\\\"position:absolute;top:0;left:0;z-index:1002\\\"></snackbar-controller> <toast-controller attach-to-fullscreen style=\\\"position:absolute;top:0;left:0;z-index:1002\\\"></toast-controller> <page-loading-indicator style=\\\"position:fixed;z-index:1003\\\"></page-loading-indicator> <distinar-course-picture-overlay></distinar-course-picture-overlay> <required-update-overlay></required-update-overlay> </template> \";\n// Exports\nexport default code;","// Module\nvar code = \"<template> <div class=\\\"distinar-page\\\"> <distinar-header-bar if.to-view=\\\"!isInitializing\\\"></distinar-header-bar> <div class=\\\"distinar-page__navigation-and-content-wrapper\\\"> <template if.to-view=\\\"!isInitializing\\\"> <distinar-navigation-bar class=\\\"distinar-page__navigation-bar\\\"></distinar-navigation-bar> <lecture-side-menu class=\\\"distinar-page__side-menu\\\"></lecture-side-menu> </template> <div class=\\\"distinar-page__content-area\\\"> <slot></slot> </div> </div> </div> <page-help-overlay></page-help-overlay> </template> \";\n// Exports\nexport default code;","// Module\nvar code = \"<template> <slot></slot> <page-help-overlay></page-help-overlay> </template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template> <div class=\\\"page layout-fill__page\\\" style=\\\"position:relative;z-index:1\\\"> <header-bar nav-bar-visible.from-view=\\\"navBarVisible\\\"></header-bar> <navigation-bar nav-bar-visible.to-view=\\\"navBarVisible\\\"></navigation-bar> <slot></slot> </div> <page-help-overlay></page-help-overlay> </template> \";\n// Exports\nexport default code;","// Module\nvar code = \"<template> <div class=\\\"page\\\" style=\\\"position:relative;z-index:1;display:block\\\"> <div class=\\\"page-single\\\"> <div class=\\\"container\\\"> <div class=\\\"row\\\"> <div class=\\\"col mx-auto\\\"> <slot></slot> </div> </div> </div> </div> <layout-footer></layout-footer> </div> <page-help-overlay></page-help-overlay> </template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template> <div class=\\\"page ${isLectureActive ? 'pr-5' : ''}\\\" style=\\\"position:relative;z-index:1;display:block\\\"> <div class=\\\"flex-fill\\\"> <header-bar nav-bar-visible.from-view=\\\"navBarVisible\\\"></header-bar> <navigation-bar nav-bar-visible.to-view=\\\"navBarVisible\\\"></navigation-bar> <div class=\\\"my-3 my-md-5\\\"> <slot></slot> </div> </div> <layout-footer></layout-footer> </div> <page-help-overlay></page-help-overlay> </template>\";\n// Exports\nexport default code;","// Module\nvar code = \"<template> <div class=\\\"page ${isLectureActive ? 'pr-5' : ''}\\\" style=\\\"position:relative;z-index:1;display:block\\\"> <div class=\\\"flex-fill\\\"> <header-bar nav-bar-visible.from-view=\\\"navBarVisible\\\"></header-bar> <navigation-bar nav-bar-visible.to-view=\\\"navBarVisible\\\"></navigation-bar> <div class=\\\"my-3 my-md-5\\\"> <div class=\\\"container\\\"> <slot></slot> </div> </div> </div> <layout-footer></layout-footer> </div> <page-help-overlay></page-help-overlay> </template>\";\n// Exports\nexport default code;","var App_1;\nvar _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\nimport { __awaiter, __decorate, __metadata } from \"tslib\";\nimport { autoinject } from 'aurelia-framework';\nimport { I18N } from 'aurelia-i18n';\nimport { Router, RouterEvent } from 'aurelia-router';\nimport { SiteThemer, ThemeColorType } from 'common/aurelia-classes/SiteThemer';\nimport { ChatApiService } from 'common/aurelia-services/ChatApiService';\nimport { ChatCacheService } from 'common/aurelia-services/ChatCacheService';\nimport { NotificationWebsocketService } from 'common/aurelia-services/NotificationWebsocketService';\nimport { StoreService } from 'common/aurelia-services/StoreService';\nimport { SubscriptionManagerService } from 'common/aurelia-services/SubscriptionManagerService';\nimport { UpdateRecommendation } from 'common/constants/http-headers.constants';\nimport { EaEvent } from 'common/enum/ea-event.enum';\nimport { NotificationType } from 'common/enum/notification.type.enum';\nimport { ThemeColor } from 'common/enum/theme.enums';\nimport { setUnreadChatRooms } from 'common/store/actions/chat.actions';\nimport * as DistinarMutations from 'common/store/mutations/distinar.mutations';\nimport { AppUtils } from 'common/utils/AppUtils';\nimport { ApplicationErrorUtils } from 'common/utils/ApplicationErrorUtils';\nimport { FunctionUtils } from 'common/utils/FunctionUtils';\nimport { pluck } from 'rxjs/operators';\nimport { configureRouter } from './router/configure';\nimport { CustomDialogService } from './services/CustomDialogService';\nimport { DistinarService } from './services/DistinarService';\nimport { DistinarSeparateWindowTypes, SeparateWindowService, SeparateWindowType } from './services/SeparateWindowService';\nimport { SnackbarService } from './services/SnackbarService';\nimport { ToastService } from './services/ToastService';\nlet App = App_1 = class App {\n    constructor(subscriptionManagerService, storeService, i18n, distinarService, router, toastService, separateWindowService, dialogService, notificationWebsocketService, chatApiService, chatCacheService, snackbarService) {\n        this.storeService = storeService;\n        this.i18n = i18n;\n        this.distinarService = distinarService;\n        this.router = router;\n        this.toastService = toastService;\n        this.separateWindowService = separateWindowService;\n        this.dialogService = dialogService;\n        this.notificationWebsocketService = notificationWebsocketService;\n        this.chatApiService = chatApiService;\n        this.chatCacheService = chatCacheService;\n        this.snackbarService = snackbarService;\n        this.subscriptionManager = subscriptionManagerService.createSubscriptionManager();\n        this.siteThemer = new SiteThemer();\n    }\n    configureRouter(config) {\n        configureRouter(config);\n        this.subscriptionManager.subscribeToEvent(RouterEvent.Complete, () => this.navigationEventHandler());\n    }\n    navigationEventHandler() {\n        var _a, _b;\n        const { settings } = (_b = (_a = this.router.currentInstruction) === null || _a === void 0 ? void 0 : _a.config) !== null && _b !== void 0 ? _b : {};\n        if (settings === null || settings === void 0 ? void 0 : settings.scrollToTop) {\n            document.body.scrollTo(0, 0);\n        }\n    }\n    activate() {\n        return __awaiter(this, void 0, void 0, function* () {\n            this.subscriptionManager.subscribeToEvent(EaEvent.GenericServerError, e => this.showToast(e));\n            const rateLimitedUpdateAvailableSnack = FunctionUtils.rateLimit(() => this.showUpdateRecommendation(true), 12 * 60 * 60 * 1000, true);\n            this.subscriptionManager.subscribeToEvent(EaEvent.UpdateRecommended, level => {\n                if (level === UpdateRecommendation.Soft)\n                    rateLimitedUpdateAvailableSnack();\n            });\n            this.subscriptionManager.subscribeToEvent(EaEvent.RouteRemovedError, () => this.showUpdateRecommendation(false));\n            AppUtils.updateFavicon();\n        });\n    }\n    created() {\n        return __awaiter(this, void 0, void 0, function* () {\n            yield this.initializeDistinar();\n        });\n    }\n    bind() {\n        this.storeService.subscribeToDetailedChanges(this, [\n            state => state.language,\n        ], state => {\n            if (state.language) {\n                this.i18n.setLocale(state.language);\n            }\n        });\n        this.storeService.subscribeToDetailedChanges(this, [\n            state => { var _a; return (_a = state.settings) === null || _a === void 0 ? void 0 : _a.isDataPrivacyAgreementAccepted; },\n            state => state.user\n        ], state => {\n            var _a, _b;\n            if (state.user.isOperator && ((_a = state.settings) === null || _a === void 0 ? void 0 : _a.isDataPrivacyAgreementAccepted) === false) {\n                this.showDataProtectionDialog(true);\n            }\n            if ((state.user.isPowerUser || state.user.isLecturer) && ((_b = state.settings) === null || _b === void 0 ? void 0 : _b.isDataPrivacyAgreementAcceptedByOperator) === false) {\n                this.showDataProtectionDialog(false);\n            }\n        });\n        if (this.separateWindowService.getSeparateWindowType() === null) {\n            this.storeService.subscribeToDetailedChanges(this, [\n                state => !!state.distinar.activeLecture,\n                state => state.distinarInitializing,\n            ], state => {\n                if (!state.distinar.activeLecture && !state.distinarInitializing) {\n                    this.separateWindowService.requestCloseAllSeparateWindows(DistinarSeparateWindowTypes);\n                }\n            });\n        }\n        this.notificationWebsocketService.addNewNotificationListener(this, notificationPayload => {\n            if (notificationPayload.notificationType === NotificationType.ChatMessage) {\n                this.updateUnreadChatRooms();\n            }\n        });\n        this.notificationWebsocketService.startReceiving();\n        let oldUserId = null;\n        this.storeService.subscribeToDetailedChanges(this, [\n            state => state.isLoggedIn,\n            state => state.user.id\n        ], (_, isLoggedIn, userId) => {\n            if (isLoggedIn && userId && userId !== oldUserId) {\n                this.updateUnreadChatRooms();\n                oldUserId = userId;\n            }\n        });\n        if (AppUtils.isFrp) {\n            this.siteThemer.setColor(ThemeColorType.Primary, ThemeColor.FrpGreen);\n            this.siteThemer.setColor(ThemeColorType.Secondary1, ThemeColor.FrpBlue);\n            this.siteThemer.setColor(ThemeColorType.Secondary2, ThemeColor.FrpBlue);\n            this.siteThemer.setColor(ThemeColorType.Secondary3, ThemeColor.FrpBlue);\n        }\n    }\n    unbind() {\n        this.storeService.disposeAllSubscriptions(this);\n        this.subscriptionManager.disposeSubscriptions();\n    }\n    initializeDistinar() {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            yield this.router.ensureConfigured();\n            const { distinarInitializing, distinarConnectionData } = yield this.storeService.getState();\n            const separateWindowType = this.separateWindowService.getSeparateWindowType();\n            const currentRouteIsDistinarRoute = (_a = this.router.currentInstruction.config.settings) === null || _a === void 0 ? void 0 : _a.activeLectureRequired;\n            if (distinarInitializing && distinarConnectionData !== null) {\n                if (separateWindowType === SeparateWindowType.Admin && currentRouteIsDistinarRoute) {\n                    this.router.navigateToRoute('home');\n                }\n                else if (separateWindowType === SeparateWindowType.Conference) {\n                    yield this.initializeDistinarInConferenceSeparateWindowMode();\n                }\n                else if (separateWindowType === SeparateWindowType.Stream) {\n                    yield this.initializeDistinarInStreamSeparateWindowMode();\n                }\n                else if (separateWindowType === null) {\n                    yield this.initializeDistinarInMainWindowMode();\n                }\n            }\n            else if (separateWindowType != null && DistinarSeparateWindowTypes.includes(separateWindowType)) {\n                window.close();\n            }\n            yield this.storeService.dispatch(DistinarMutations.markInitializationFinished);\n        });\n    }\n    showToast(errorCode) {\n        const errorTk = ApplicationErrorUtils.getServerErrorTk(errorCode);\n        this.toastService.error(errorTk);\n    }\n    showUpdateRecommendation(isOptional) {\n        return __awaiter(this, void 0, void 0, function* () {\n            yield this.snackbarService.registered;\n            this.snackbarService.show(isOptional ? App_1.UPDATE_AVAILABLE_SNACKBAR_ID : App_1.ROUTE_REMOVED_SNACKBAR_ID, {\n                message: { textTk: isOptional ? 'snackbars.updateAvailable' : 'snackbars.routeRemoved' },\n                action: { textTk: 'snackbars.actions.reloadPage', callback: () => window.location.reload() },\n                dismissable: true,\n                icon: 'System/Tabler/Refresh'\n            });\n        });\n    }\n    initializeDistinarInMainWindowMode() {\n        var _a;\n        return __awaiter(this, void 0, void 0, function* () {\n            yield this.router.ensureConfigured();\n            const currentRouteIsDistinarRoute = (_a = this.router.currentInstruction.config.settings) === null || _a === void 0 ? void 0 : _a.activeLectureRequired;\n            if (!(yield this.distinarService.reconnect()) && currentRouteIsDistinarRoute) {\n                this.router.navigateToRoute('home');\n            }\n        });\n    }\n    initializeDistinarInConferenceSeparateWindowMode() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (yield this.distinarService.reconnect({ navigate: false })) {\n                this.storeService.store.state.pipe(pluck('distinar')).subscribe(distinar => {\n                    var _a;\n                    if (!((_a = distinar.lectureStatus) === null || _a === void 0 ? void 0 : _a.conference.active)) {\n                        window.close();\n                    }\n                });\n                this.router.navigateToRoute('distinar/separate-window', { type: SeparateWindowType.Conference });\n            }\n            else {\n                window.close();\n            }\n        });\n    }\n    initializeDistinarInStreamSeparateWindowMode() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (yield this.distinarService.reconnect({ navigate: false })) {\n                this.storeService.store.state.pipe(pluck('distinar')).subscribe(distinar => {\n                    var _a;\n                    if (((_a = distinar.activeLecture) === null || _a === void 0 ? void 0 : _a.actualDateTo) != null) {\n                        window.close();\n                    }\n                });\n                this.router.navigateToRoute('distinar/separate-window', { type: SeparateWindowType.Stream });\n            }\n            else {\n                window.close();\n            }\n        });\n    }\n    showDataProtectionDialog(isOperator) {\n        return __awaiter(this, void 0, void 0, function* () {\n            yield this.dialogService.showDataProtectionDialog({ isOperator });\n        });\n    }\n    updateUnreadChatRooms() {\n        return __awaiter(this, void 0, void 0, function* () {\n            const rooms = yield this.chatApiService.getUnreadChatRooms();\n            yield this.storeService.dispatch(setUnreadChatRooms, rooms);\n            yield this.chatCacheService.updateAllChatRoomsInCache();\n        });\n    }\n};\nApp.UPDATE_AVAILABLE_SNACKBAR_ID = 'update-available';\nApp.ROUTE_REMOVED_SNACKBAR_ID = 'route-removed';\nApp = App_1 = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_a = typeof SubscriptionManagerService !== \"undefined\" && SubscriptionManagerService) === \"function\" ? _a : Object, typeof (_b = typeof StoreService !== \"undefined\" && StoreService) === \"function\" ? _b : Object, typeof (_c = typeof I18N !== \"undefined\" && I18N) === \"function\" ? _c : Object, typeof (_d = typeof DistinarService !== \"undefined\" && DistinarService) === \"function\" ? _d : Object, typeof (_e = typeof Router !== \"undefined\" && Router) === \"function\" ? _e : Object, typeof (_f = typeof ToastService !== \"undefined\" && ToastService) === \"function\" ? _f : Object, typeof (_g = typeof SeparateWindowService !== \"undefined\" && SeparateWindowService) === \"function\" ? _g : Object, typeof (_h = typeof CustomDialogService !== \"undefined\" && CustomDialogService) === \"function\" ? _h : Object, typeof (_j = typeof NotificationWebsocketService !== \"undefined\" && NotificationWebsocketService) === \"function\" ? _j : Object, typeof (_k = typeof ChatApiService !== \"undefined\" && ChatApiService) === \"function\" ? _k : Object, typeof (_l = typeof ChatCacheService !== \"undefined\" && ChatCacheService) === \"function\" ? _l : Object, typeof (_m = typeof SnackbarService !== \"undefined\" && SnackbarService) === \"function\" ? _m : Object])\n], App);\nexport { App };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsTUFBTSxFQUVOLFdBQVcsRUFDWixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQXVCLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDckgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEtBQUssaUJBQWlCLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FB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","import { ThemeColor } from 'common/enum/theme.enums';\n\nexport const COLORS = [\n  ThemeColor.CandyBlue,\n  ThemeColor.ColdBlue,\n  ThemeColor.FreshGreen,\n  ThemeColor.MuddyYellow,\n  ThemeColor.BrightOrange,\n  ThemeColor.CandyRed,\n  ThemeColor.BerryPink,\n  ThemeColor.MellowPurple,\n  ThemeColor.LeraGreen,\n  ThemeColor.LeraGrey,\n];\n\nexport const HEX_COLOR_PATTERN = '^#+([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$';","export const LECTURE_DURATION_IN_MINUTES = 90;\nexport const TIME_TO_ANSWER_QUIZ_QUESTION_IN_MINUTES = 1;\nexport const TIMEFRAME_STUDENT_IS_CONSIDERED_STILL_ONLINE_IN_MINUTES = 5;\n","import { autoinject } from 'aurelia-framework';\nimport { StoreService } from 'common/aurelia-services/StoreService';\nimport { IState } from './store/state';\n\n@autoinject()\nexport class LayoutDistinar {\n  private isInitializing = true;\n  private isConferenceActive = false;\n\n  constructor(\n    private storeService: StoreService<IState>,\n  ) {}\n\n  protected attached(): void {\n    this.storeService.subscribeToDetailedChanges(this, [\n      state => state.distinarInitializing,\n    ], state => {\n      this.isInitializing = state.distinarInitializing;\n    });\n\n    this.storeService.subscribeToDetailedChanges(this, [\n      state => state.distinar.lectureStatus?.conference.active\n    ], state => {\n      this.isConferenceActive = !!state.distinar.lectureStatus?.conference.active;\n    });\n  }\n\n  protected detached(): void {\n    this.storeService.disposeAllSubscriptions(this);\n  }\n}\n","import { autoinject } from 'aurelia-framework';\n\n@autoinject()\nexport class Layout {\n  private navBarVisible = false;\n}\n","var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\nimport { __awaiter, __decorate, __metadata } from \"tslib\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { autoinject, PLATFORM } from 'aurelia-framework';\nimport { I18N } from 'aurelia-i18n';\nimport { Router } from 'aurelia-router';\nimport { Store } from 'aurelia-store';\nimport { AudioPlayerDelegate } from 'common/aurelia-components/audio-player/audio-player';\nimport { CommonChatMessageService } from 'common/aurelia-components/chat-message/chat-message';\nimport { BlockProgressService } from 'common/aurelia-components/course-block/course-block';\nimport { BaseFillInTheBlankSelectPlugin } from 'common/aurelia-components/fill-in-the-blank-select/fill-in-the-blank-select';\nimport { BaseListStandardPlugin } from 'common/aurelia-components/list-standard/list-standard';\nimport { BasePossibleAnswersPlugin } from 'common/aurelia-components/possible-answers/possible-answers';\nimport { BaseQuizResultQuestionAnswerPlugin } from 'common/aurelia-components/quiz-result-question-answer/quiz-result-question-answer';\nimport { BaseQuizResultQuestionBlockPlugin } from 'common/aurelia-components/quiz-result-question-block/quiz-result-question-block';\nimport { BaseTestexamPreviousResultsPlugin } from 'common/aurelia-components/testexam-previous-results/testexam-previous-results';\nimport { CommonVideoPlayerService } from 'common/aurelia-components/video-player/video-player';\nimport { ApiServiceDelegate } from 'common/aurelia-services/ApiService';\nimport { ChatHelperService } from 'common/aurelia-services/ChatHelperService';\nimport { ChatMessageActionService } from 'common/aurelia-services/ChatMessageActionService';\nimport { DistinarChatService } from 'common/aurelia-services/DistinarChatService';\nimport { DistinarWebSocketService } from 'common/aurelia-services/DistinarWebSocketService';\nimport { LearnQuestionsService } from 'common/aurelia-services/LearnQuestionsService';\nimport { StoreService } from 'common/aurelia-services/StoreService';\nimport { TenantThemeService } from 'common/aurelia-services/TenantThemeService';\nimport { CommonEmitName } from 'common/enum/distinar.enum';\nimport { EaEvent } from 'common/enum/ea-event.enum';\nimport { ErrorType } from 'common/enum/errortype.enum';\nimport { Config } from 'common/fe-config/config';\nimport { TenantApiService } from 'services/api/TenantApiService';\nimport { CustomDialogService } from 'services/CustomDialogService';\nimport { PageLoadingIndicatorService } from 'services/PageLoadingIndicatorService';\nimport { ToastService } from 'services/ToastService';\nimport { logoutAction } from 'store/actions';\nlet QuizResultQuestionAnswerPlugin = class QuizResultQuestionAnswerPlugin extends BaseQuizResultQuestionAnswerPlugin {\n    processTranslation(translationKey) {\n        return `common.quiz-result-question-answer.${translationKey}`;\n    }\n};\nQuizResultQuestionAnswerPlugin = __decorate([\n    autoinject()\n], QuizResultQuestionAnswerPlugin);\nlet ListStandardPlugin = class ListStandardPlugin extends BaseListStandardPlugin {\n    constructor(router) {\n        super();\n        this.router = router;\n    }\n    navigateToSpecifiedRoute(routeConfig) {\n        this.router.navigateToRoute(routeConfig.routeName, routeConfig.routeParams);\n    }\n};\nListStandardPlugin = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_a = typeof Router !== \"undefined\" && Router) === \"function\" ? _a : Object])\n], ListStandardPlugin);\nclass AudioPlayerDelegateImpl extends AudioPlayerDelegate {\n    didAttach(scope) { }\n    didDetach(scope) { }\n}\nlet QuizResultQuestionBlockPlugin = class QuizResultQuestionBlockPlugin extends BaseQuizResultQuestionBlockPlugin {\n    constructor(i18n) {\n        super();\n        this.i18n = i18n;\n    }\n    processTranslation(translationKey) {\n        return `common.quiz-result-question-block.${translationKey}`;\n    }\n    translate(fullTranslationKey) {\n        return this.i18n.tr(fullTranslationKey);\n    }\n    jumpToPage(course, page) {\n        return;\n    }\n};\nQuizResultQuestionBlockPlugin = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_b = typeof I18N !== \"undefined\" && I18N) === \"function\" ? _b : Object])\n], QuizResultQuestionBlockPlugin);\nlet PossibleAnswersPlugin = class PossibleAnswersPlugin extends BasePossibleAnswersPlugin {\n    constructor(i18n) {\n        super();\n        this.i18n = i18n;\n    }\n    translate(translationKey, opts) {\n        return this.i18n.tr(`common.possible-answers.${translationKey}`, opts);\n    }\n};\nPossibleAnswersPlugin = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_c = typeof I18N !== \"undefined\" && I18N) === \"function\" ? _c : Object])\n], PossibleAnswersPlugin);\nlet FillInTheBlankSelectPlugin = class FillInTheBlankSelectPlugin extends BaseFillInTheBlankSelectPlugin {\n    constructor(i18n) {\n        super();\n        this.i18n = i18n;\n    }\n    translate(translationKey, opts) {\n        return this.i18n.tr(`common.fill-in-the-blank-select.${translationKey}`, opts);\n    }\n};\nFillInTheBlankSelectPlugin = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_d = typeof I18N !== \"undefined\" && I18N) === \"function\" ? _d : Object])\n], FillInTheBlankSelectPlugin);\nlet TestexamPreviousResultsPlugin = class TestexamPreviousResultsPlugin extends BaseTestexamPreviousResultsPlugin {\n    constructor(i18n) {\n        super();\n        this.i18n = i18n;\n    }\n    translate(translationKey, opts) {\n        return this.i18n.tr(translationKey, opts);\n    }\n    getFullTranslationKey(translationKey) {\n        return `common.testexam-previous-results.${translationKey}`;\n    }\n};\nTestexamPreviousResultsPlugin = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_e = typeof I18N !== \"undefined\" && I18N) === \"function\" ? _e : Object])\n], TestexamPreviousResultsPlugin);\nlet DistinarChatServiceImpl = class DistinarChatServiceImpl extends DistinarChatService {\n    constructor(distinarWebSocket) {\n        super();\n        this.distinarWebSocket = distinarWebSocket;\n    }\n    notifyMessageSent(message) {\n        return __awaiter(this, void 0, void 0, function* () {\n            yield this.distinarWebSocket.connection.emit(CommonEmitName.MessageSent, message);\n        });\n    }\n};\nDistinarChatServiceImpl = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_f = typeof DistinarWebSocketService !== \"undefined\" && DistinarWebSocketService) === \"function\" ? _f : Object])\n], DistinarChatServiceImpl);\nlet CommonChatMessageServiceImpl = class CommonChatMessageServiceImpl extends CommonChatMessageService {\n    constructor(storeService, chatHelperService) {\n        super();\n        this.storeService = storeService;\n        this.chatHelperService = chatHelperService;\n        this.courses = {};\n        this.storeService.subscribeToDetailedChanges(this, [\n            state => state.courseContentById,\n        ], (_state, courseContentById) => {\n            this.courses = courseContentById;\n        });\n    }\n    getAugmentedMessage(text) {\n        return this.chatHelperService.parseChatMessage(this.courses, text, null);\n    }\n    subscribeToMessageAugmentationChange(cb) {\n        this.storeService.subscribeToDetailedChanges(cb, [\n            state => state.courseContentById,\n        ], () => {\n            cb();\n        });\n        return () => {\n            this.storeService.disposeAllSubscriptions(cb);\n        };\n    }\n};\nCommonChatMessageServiceImpl = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_g = typeof StoreService !== \"undefined\" && StoreService) === \"function\" ? _g : Object, typeof (_h = typeof ChatHelperService !== \"undefined\" && ChatHelperService) === \"function\" ? _h : Object])\n], CommonChatMessageServiceImpl);\nclass CommonVideoPlayerServiceImpl extends CommonVideoPlayerService {\n}\nlet ApiServiceDelegateImpl = class ApiServiceDelegateImpl extends ApiServiceDelegate {\n    constructor(indicatorService, toastService, router, store, ea) {\n        super();\n        this.indicatorService = indicatorService;\n        this.toastService = toastService;\n        this.router = router;\n        this.store = store;\n        this.ea = ea;\n    }\n    requestWillStart() {\n        this.indicatorService.start();\n    }\n    requestDidFinish() {\n        this.indicatorService.stop();\n    }\n    requestWasUnsuccessful(error) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (error.errorType != null) {\n                if (error.errorType === ErrorType.TOKEN_INVALID\n                    || error.errorType === ErrorType.INVALID_ROLE) {\n                    yield this.store.dispatch(logoutAction);\n                    this.router.navigateToRoute('login');\n                }\n            }\n            else {\n                this.toastService.error('services.api.base.parseError');\n            }\n            if (error.status >= 500) {\n                this.ea.publish(EaEvent.GenericServerError, error.status);\n            }\n            if (error.errorType === ErrorType.ROUTE_REMOVED) {\n                this.ea.publish(EaEvent.RouteRemovedError, error.message);\n            }\n        });\n    }\n    handleUpdateRecommendation(level) {\n        this.ea.publish(EaEvent.UpdateRecommended, level);\n    }\n};\nApiServiceDelegateImpl = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_j = typeof PageLoadingIndicatorService !== \"undefined\" && PageLoadingIndicatorService) === \"function\" ? _j : Object, typeof (_k = typeof ToastService !== \"undefined\" && ToastService) === \"function\" ? _k : Object, typeof (_l = typeof Router !== \"undefined\" && Router) === \"function\" ? _l : Object, typeof (_m = typeof Store !== \"undefined\" && Store) === \"function\" ? _m : Object, typeof (_o = typeof EventAggregator !== \"undefined\" && EventAggregator) === \"function\" ? _o : Object])\n], ApiServiceDelegateImpl);\nlet ChatMessageActionServiceImpl = class ChatMessageActionServiceImpl extends ChatMessageActionService {\n    constructor(dialogService) {\n        super();\n        this.dialogService = dialogService;\n    }\n    handleQuestionLinkAction(course, question) {\n        return __awaiter(this, void 0, void 0, function* () {\n            this.dialogService.showQuestionPreview(question);\n            return Promise.resolve();\n        });\n    }\n    handlePageLinkAction(course, page) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return Promise.resolve();\n        });\n    }\n};\nChatMessageActionServiceImpl = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_p = typeof CustomDialogService !== \"undefined\" && CustomDialogService) === \"function\" ? _p : Object])\n], ChatMessageActionServiceImpl);\nlet TenantThemeServiceImpl = class TenantThemeServiceImpl extends TenantThemeService {\n    constructor(tenantApiService) {\n        super();\n        this.tenantApiService = tenantApiService;\n    }\n    getTenantLogo(tenantId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            const tenant = yield this.tenantApiService.getTenant(tenantId);\n            return {\n                id: tenant.id,\n                name: tenant.name,\n                logoPictureUrl: tenant.logoPictureUrl,\n            };\n        });\n    }\n};\nTenantThemeServiceImpl = __decorate([\n    autoinject(),\n    __metadata(\"design:paramtypes\", [typeof (_q = typeof TenantApiService !== \"undefined\" && TenantApiService) === \"function\" ? _q : Object])\n], TenantThemeServiceImpl);\nlet BlockProgressServiceImpl = class BlockProgressServiceImpl extends BlockProgressService {\n    addPendingBlockProgress() {\n        return __awaiter(this, void 0, void 0, function* () {\n        });\n    }\n    subscribeToProgress() {\n    }\n    disposeSubscriptions() {\n    }\n    startTrackInteraction() {\n    }\n    stopTrackInteraction() {\n    }\n};\nBlockProgressServiceImpl = __decorate([\n    autoinject()\n], BlockProgressServiceImpl);\nlet LearnQuestionsServiceImpl = class LearnQuestionsServiceImpl extends LearnQuestionsService {\n    createOrResetLearnQuestionsSession(accessCodeId, pageId, blockId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return Promise.resolve();\n        });\n    }\n    answerQuestion(blockId, questionId, selectedAnswers) {\n        return __awaiter(this, void 0, void 0, function* () {\n            return Promise.resolve();\n        });\n    }\n    subscribeToLearnQuestionsSession(scope, accessCodeId, pageId, blockId, callback) {\n    }\n    disposeSubscriptions(scope) {\n    }\n};\nLearnQuestionsServiceImpl = __decorate([\n    autoinject()\n], LearnQuestionsServiceImpl);\nexport { LearnQuestionsServiceImpl };\nexport function configureCommon(aurelia, i18n) {\n    const classesOptions = {\n        localeUtilsConfig: {\n            i18n,\n            processTranslation: (translationKey) => `common.moment.${translationKey}`,\n        },\n        resourcePreloaderConfig: {\n            audioBaseUrl: Config().audioBaseUrl,\n        }\n    };\n    const serviceOptions = {\n        audioServiceConfig: {\n            audioBaseUrl: Config().audioBaseUrl,\n        },\n    };\n    const componentsOptions = {\n        testexamPreviousResultsPlugins: [TestexamPreviousResultsPlugin],\n        quizResultQuestionBlockPlugins: [QuizResultQuestionBlockPlugin],\n        fillInTheBlankSelectPlugins: [FillInTheBlankSelectPlugin],\n        listStandardPlugins: [ListStandardPlugin],\n        possibleAnswersPlugins: [PossibleAnswersPlugin],\n        quizResultQuestionAnswerPlugins: [QuizResultQuestionAnswerPlugin],\n    };\n    aurelia.use.plugin(PLATFORM.moduleName('common/aurelia-classes/index'), classesOptions);\n    aurelia.use.plugin(PLATFORM.moduleName('common/aurelia-services/index'), serviceOptions);\n    aurelia.use.plugin(PLATFORM.moduleName('common/aurelia-components/index'), componentsOptions);\n    aurelia.use.plugin(PLATFORM.moduleName('common/aurelia-attributes/index'));\n    aurelia.container.registerSingleton(ChatMessageActionService, ChatMessageActionServiceImpl);\n    aurelia.container.registerSingleton(DistinarChatService, DistinarChatServiceImpl);\n    aurelia.container.registerSingleton(CommonChatMessageService, CommonChatMessageServiceImpl);\n    aurelia.container.registerSingleton(ApiServiceDelegate, ApiServiceDelegateImpl);\n    aurelia.container.registerSingleton(AudioPlayerDelegate, AudioPlayerDelegateImpl);\n    aurelia.container.registerSingleton(CommonVideoPlayerService, CommonVideoPlayerServiceImpl);\n    aurelia.container.registerSingleton(TenantThemeService, TenantThemeServiceImpl);\n    aurelia.container.registerSingleton(BlockProgressService, BlockProgressServiceImpl);\n    aurelia.container.registerSingleton(LearnQuestionsService, LearnQuestionsServiceImpl);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uQ29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb25Db25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBVyxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd0QyxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsd0JBQXdCLEVBQTJELE1BQU0scURBQXFELENBQUM7QUFDeEosT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFFN0gsT0FBTyxFQUFFLHNCQUFzQixFQUF5QixNQUFNLHVEQUF1RCxDQUFDO0FBQ3RILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG1GQUFtRixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGlGQUFpRixDQUFDO0FBQ3BJLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9B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","import { __awaiter } from \"tslib\";\nimport { Cookies } from 'aurelia-plugins-cookies';\nimport { AppRouter } from 'aurelia-router';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { PLATFORM } from 'aurelia-pal';\nimport { TCustomAttribute } from 'aurelia-i18n';\nimport { I18N } from 'aurelia-i18n';\nimport { initialState } from './store/state';\nimport Backend from 'i18next-xhr-backend';\nimport IntervalPlural from 'i18next-intervalplural-postprocessor';\nimport { LogUtils } from 'common/utils/LogUtils';\nimport 'scss/fonts/inter.css';\nimport 'scss/tabler/custom/custom.scss';\nimport 'dropzone/dist/dropzone.css';\nimport { configureCommon } from './commonConfiguration';\nimport { StoreManager } from 'common/aurelia-classes/StoreManager';\nimport { DataStorageService } from 'common/aurelia-services/DataStorageService';\nimport { configure as configureSelectState } from 'common/aurelia-decorators/select-state';\nimport { CookieNames } from 'common/constants/http-headers.constants';\nimport { StringUtils } from 'common/utils/StringUtils';\nimport { AuthApiService } from 'services/api/AuthApiService';\nimport { CustomDialogService } from 'services/CustomDialogService';\nimport { SeparateWindowService } from 'services/SeparateWindowService';\nimport { configureStore } from 'store/configure';\nimport { Config } from 'common/fe-config/config';\nexport function configure(aurelia) {\n    return __awaiter(this, void 0, void 0, function* () {\n        aurelia.use\n            .standardConfiguration()\n            .feature(PLATFORM.moduleName('resources/index'))\n            .plugin(PLATFORM.moduleName('aurelia-i18n'), (i18n) => {\n            TCustomAttribute.configureAliases(['t']);\n            i18n.i18next\n                .use(Backend)\n                .use(IntervalPlural);\n            return i18n.setup({\n                backend: {\n                    loadPath: `/locales/{{lng}}/{{ns}}.json?version=${Config().version}`,\n                },\n                attributes: ['t'],\n                lng: 'de',\n                fallbackLng: 'de',\n                debug: false,\n                skipTranslationOnMissingKey: false,\n                interpolation: {\n                    format(value, format) {\n                        if (format === 'grouped' && typeof value === 'number') {\n                            return StringUtils.formatNumberGrouped(value);\n                        }\n                        return value;\n                    },\n                },\n            }).then(() => {\n                const router = aurelia.container.get(AppRouter);\n                router.transformTitle = title => i18n.tr(title);\n                const eventAggregator = aurelia.container.get(EventAggregator);\n                eventAggregator.subscribe('i18n:locale:changed', () => {\n                    router.updateTitle();\n                });\n            });\n        })\n            .plugin(PLATFORM.moduleName('aurelia-dialog'), (config) => {\n            config.useDefaults();\n            config.useCSS('');\n        });\n        const i18n = aurelia.container.get(I18N);\n        configureCommon(aurelia, i18n);\n        aurelia.use.developmentLogging(Config().debug ? 'debug' : 'warn');\n        if (Config().sentry.enabled) {\n            LogUtils.enable();\n        }\n        else {\n            LogUtils.disable();\n        }\n        if (Config().testing) {\n            aurelia.use.plugin(PLATFORM.moduleName('aurelia-testing'));\n        }\n        if ('__REDUX_DEVTOOLS_EXTENSION__' in window)\n            PLATFORM.global.devToolsExtension = true;\n        aurelia.use.plugin(PLATFORM.moduleName('aurelia-store'), {\n            initialState,\n            devToolsOptions: {\n                serialize: false,\n            },\n        });\n        aurelia.use.plugin(configureSelectState);\n        yield aurelia.start();\n        const separateWindowService = aurelia.container.get(SeparateWindowService);\n        separateWindowService.setup();\n        yield configureStore(StoreManager.getStore(), aurelia.container.get(DataStorageService), aurelia.container.get(CustomDialogService), separateWindowService.getSeparateWindowType() === null);\n        const authApiService = aurelia.container.get(AuthApiService);\n        if (Cookies.get(CookieNames.CSRF_TOKEN)) {\n            yield authApiService.finalizeLogin();\n        }\n        yield aurelia.setRoot(PLATFORM.moduleName('app'));\n    });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxPQUFPLE1BQU0scUJBQXFCLENBQUM7QUFDMUMsT0FBTyxjQUFjLE1BQU0sc0NBQXNDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFB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"],"names":[],"sourceRoot":""}