{"version":3,"file":"js/chunk-common-778fd1a3.52e80e3f.js","mappings":"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","sources":["webpack://microsoft-academy/./src/store/modules/app.js","webpack://microsoft-academy/./src/store/modules/assessment.js","webpack://microsoft-academy/./src/store/modules/codebooks.js","webpack://microsoft-academy/./src/store/modules/courses.js","webpack://microsoft-academy/./src/store/modules/page.js","webpack://microsoft-academy/./src/store/modules/user.js","webpack://microsoft-academy/./src/store/modules/video.js","webpack://microsoft-academy/./src/store/modules/studyPrograms.js","webpack://microsoft-academy/./src/store/index.js","webpack://microsoft-academy/./src/store/modules/trainings.js"],"sourcesContent":["import {alertMessages} from \"@/services/alertMessage\";\n\nexport default {\n    namespaced: true,\n    state: {\n        isMobileNavigationActive: false,\n        flashMessages: null,\n        alertMessages: alertMessages.getAll(),\n    },\n    getters: {\n        getFlashMessages: (state) => {\n            let out = state.flashMessages;\n\n            if (out) {\n                out = JSON.parse(out);\n            } else {\n                out = {}\n            }\n\n            return out;\n        }\n    },\n    mutations: {\n        SET_FLASH_MESSAGES(state, data) {\n            state.flashMessages = JSON.stringify(data)\n        },\n        SET_ALERT_MESSAGES(state, data) {\n            state.alertMessages = data\n        },\n        SET_MOBILE_NAVIGATION_STATE(state, data) {\n            state.isMobileNavigationActive = data\n        }\n    },\n    actions: {\n        addFlashMessage({commit, getters}, data) {\n            let currentFlashMessages = getters.getFlashMessages;\n            const id = Date.now();\n\n            currentFlashMessages[id] = data;\n\n            commit(\"SET_FLASH_MESSAGES\", currentFlashMessages)\n        },\n        removeFlashMessage({commit, getters}, id) {\n            setTimeout(() => {\n                let currentFlashMessages = getters.getFlashMessages;\n\n                delete currentFlashMessages[id];\n\n                commit(\"SET_FLASH_MESSAGES\", currentFlashMessages)\n            }, 5000)\n        },\n        addAlertMessage({}, data) {\n            alertMessages.add(data)\n        },\n        removeAlertMessage({commit}, id) {\n            alertMessages.remove(id)\n            setTimeout(() => {\n                commit(\"SET_ALERT_MESSAGES\", alertMessages.getAll())\n            }, 10000)\n        },\n        toggleMobileNavigation({commit, state}) {\n            commit(\"SET_MOBILE_NAVIGATION_STATE\", !state.isMobileNavigationActive)\n        }\n    }\n}","import {assessmentsService} from \"@/services/assessments.service\";\nimport {isApiResponseValid} from \"@/helpers/helpers\";\nimport {AppError} from \"@/services/errors\";\nimport store from \"@/store\";\nimport {toRaw} from \"vue\";\n\nexport default {\n    namespaced: true,\n    state: {\n        id: null,\n        data: null,\n        answers: [],\n        isStarted: false,\n        isFinished: false,\n        isSendingData: false,\n        responseData: null,\n        isError: false,\n        activeQuestion: null,\n        activeQuestionIndex: null\n    },\n\n    getters: {\n        getQuestions: (state) => {\n            return state.data.questions;\n        },\n\n        getAnswers: (state) => {\n            return state.answers;\n        }\n    },\n\n    mutations: {\n        SET_ID(state, data) {\n            state.id = data\n        },\n\n        SET_DATA(state, data) {\n            state.data = data\n        },\n\n        SET_RESPONSE_DATA(state, data) {\n            state.responseData = data\n        },\n\n        SET_STARTED(state) {\n            state.isStarted = true\n        },\n\n        SET_FINISHED(state) {\n            state.isFinished = true\n        },\n\n        SET_SENDING_DATA(state, data) {\n            state.isSendingData = data\n        },\n\n        SET_ERROR(state, data) {\n            state.isError = data\n        },\n\n        ADD_ANSWER(state, data) {\n            state.answers.push(data)\n        },\n\n        SET_ACTIVE_QUESTION(state, data) {\n            state.activeQuestion = data;\n        },\n\n        SET_ACTIVE_INDEX(state, data) {\n            state.activeQuestionIndex = data;\n        },\n    },\n\n    actions: {\n        async init({rootState, commit, dispatch}) {\n            // get page id\n            commit(\"SET_ID\", rootState.page.pageId);\n\n            try {\n                const response = await assessmentsService.getById(rootState.page.pageId)\n\n                if (!isApiResponseValid(response)) {\n                    throw new AppError('Error loading data', {\n                        \"message\": 'Chyba při načítání kurzů, zkuste obnovit stránku.',\n                        'type': 'warning'\n                    })\n                }\n\n                // save data from api\n                commit(\"SET_DATA\", response.data)\n\n                // is completed\n                if (response.data.date_finished) {\n                    commit(\"SET_ERROR\", 'completed')\n                } else {\n                    // has data\n                    if (response.data.questions.length) {\n                        dispatch(\"start\")\n                    } else {\n                        commit(\"SET_ERROR\", 'loading')\n                    }\n                }\n\n            } catch (err) {\n                commit(\"SET_ERROR\", 'loading')\n                if (err instanceof AppError && err.data) {\n                    store.dispatch('app/addFlashMessage', err.data)\n                } else {\n                    throw err;\n                }\n            }\n        },\n\n        start({commit, getters}) {\n            commit(\"SET_STARTED\");\n\n            const firstQuestion = getters.getQuestions[0]\n\n            if (firstQuestion) {\n                commit(\"SET_ACTIVE_QUESTION\", firstQuestion)\n                commit(\"SET_ACTIVE_INDEX\", 0)\n            } else {\n                commit(\"SET_ERROR\")\n            }\n        },\n\n        nextQuestion({state, getters, commit, dispatch}) {\n            // get last item from completed\n            let nextQuestionIndex = state.activeQuestionIndex + 1;\n\n            if (nextQuestionIndex === getters.getQuestions.length) {\n                dispatch(\"evaluation\")\n            } else {\n                // update index\n                commit(\"SET_ACTIVE_INDEX\", nextQuestionIndex)\n\n                // get next question by index\n                const nextQuestion = getters.getQuestions[nextQuestionIndex];\n\n                // get dependency\n                const dependsOnId = nextQuestion.depends_on_option_id;\n\n                // check question dependency\n                if (!dependsOnId) {\n                    // no dependency => show question\n                    commit(\"SET_ACTIVE_QUESTION\", nextQuestion)\n                } else {\n                    // check if dependsOnId is in answers\n                    const findDependencyInAnswers = state.answers.find(item => {\n                        if (item.question.answer_type === 2) {\n                            return item.answer.data.includes(dependsOnId);\n                        } else if (item.question.answer_type === 4) {\n                            return false;\n                        } else {\n                            return item.answer.data === dependsOnId;\n                        }\n                    });\n\n                    // if question dependency is ok => show question\n                    if (!!findDependencyInAnswers) {\n                        commit(\"SET_ACTIVE_QUESTION\", nextQuestion)\n                    } else {\n                        // get next question\n                        dispatch('nextQuestion');\n                    }\n                }\n            }\n        },\n\n        submitAnswer({dispatch, commit}, data) {\n            commit(\"ADD_ANSWER\", data);\n            dispatch('nextQuestion')\n        },\n\n        async evaluation({commit, state, rootState}) {\n            commit(\"SET_FINISHED\", true)\n            commit(\"SET_ERROR\", false)\n\n            // data for api request\n            const answers = toRaw(state.answers).map(item => {\n                let out = {\n                    id: item.question.id,\n                    answer: item.answer.data\n                }\n\n                if (item.answer.custom) {\n                    out['custom'] = item.answer.custom;\n                }\n\n                return out;\n            })\n\n            try {\n                commit('SET_SENDING_DATA', true);\n\n                const response = await assessmentsService.submitAnswers(rootState.page.pageId, answers)\n\n                commit(\"SET_RESPONSE_DATA\", response.data)\n                commit(\"SET_FINISHED\", true)\n\n            } catch (err) {\n                commit(\"SET_ERROR\", 'sending')\n            } finally {\n                commit('SET_SENDING_DATA', false);\n            }\n        },\n    }\n}","import {codebooksService} from \"@/services/codebooks.service\";\n\nexport default {\n    namespaced: true,\n    state: {\n        translations: {},\n        codebooks: {},\n    },\n    getters: {\n        getTranslation: (state) => (placeholder, attrs) => {\n            return codebooksService.translation(state.translations, placeholder, attrs)\n        },\n        getCodeBookByKey: (state) => (key) => {\n            return codebooksService.getCodeBookByKey(state.codebooks, key)\n        },\n        getCodeBookByKeyAndValue: (state) => (key, value) => {\n            return codebooksService.getCodeBookByKeyAndValue(state.codebooks, key, value)\n        }\n    },\n    mutations: {\n        SET_TRANSLATION(state, data) {\n            state.translations = data\n        },\n        SET_CODEBOOKS(state, data) {\n            state.codebooks = data\n        }\n    },\n    actions: {\n        setAllCodebooks({commit}, {endpoint, data}) {\n            if (endpoint === 'codebooks') {\n                commit(\"SET_CODEBOOKS\", data);\n            } else if (endpoint === 'translations') {\n                commit(\"SET_TRANSLATION\", data);\n            } else {\n\n            }\n        }\n    }\n}","import {isApiResponseValid} from \"@/helpers/helpers\";\nimport {coursesService} from \"@/services/courses.service\";\nimport {AppError} from \"@/services/errors\";\nimport store from \"@/store\";\n\nexport default {\n    namespaced: true,\n    state: {\n        difficulty: localStorage.getItem(\"coursesFilterDifficulty\") || '0',\n        courses: [],\n    },\n    mutations: {\n        SET_COURSES(state, data) {\n            state.courses = data\n        },\n        SET_DIFFICULTY(state, data) {\n            state.difficulty = data\n        },\n    },\n    actions: {\n        setDifficulty({commit, dispatch}, difficulty) {\n            commit('SET_DIFFICULTY', difficulty);\n            localStorage.setItem(\"coursesFilterDifficulty\", difficulty);\n            dispatch('fetchData')\n        },\n        async fetchData({commit, state}) {\n            try {\n                const response = await coursesService.getAll(state.difficulty);\n\n                if (!isApiResponseValid(response)) {\n                    throw new AppError('Error loading data', {\"message\": 'Chyba při načítání kurzů, zkuste obnovit stránku.', 'type': 'warning'})\n                }\n\n                commit('SET_COURSES', response.data);\n            } catch (err) {\n                if (err instanceof AppError && err.data) {\n                    store.dispatch('app/addFlashMessage', err.data)\n                } else {\n                    throw err;\n                }\n            }\n        }\n    }\n}","export default {\n    namespaced: true,\n    state: {\n        page: null,\n        currentPage: null,\n        pageId: null,\n    },\n    mutations: {\n        SET_PAGE(state, data) {\n            state.page = data\n        },\n        SET_CURRENT_PAGE(state, data) {\n            state.currentPage = data\n        },\n        SET_PAGE_ID(state, data) {\n            state.pageId = data\n        }\n    },\n    actions: {\n        setPage({commit}, page) {\n            commit('SET_PAGE', page);\n        },\n        setCurrentPage({commit}, page) {\n            commit('SET_CURRENT_PAGE', page);\n        },\n        setPageId({commit}, id) {\n            commit('SET_PAGE_ID', id);\n        }\n    }\n}","import {authenticationService} from \"@/services/authentication\";\nimport {userService} from \"@/services/user.service\";\n\nexport default {\n    namespaced: true,\n    state: {\n        userData: null,\n    },\n    getters: {\n        loggedIn() {\n            return !!authenticationService.getAxiosToken()\n        },\n        getCompletedAssessments: (state) => {\n            return state.userData?.assessments_completed || [];\n        },\n        userRole: (state) => {\n            return state.userData.role;\n        }\n    },\n    mutations: {\n        SET_USER(state, data) {\n            state.userData = data\n        }\n    },\n    actions: {\n        async getUser({commit, getters}, getFromStorage = true) {\n            if (getters.loggedIn) {\n                commit('SET_USER', await userService.getCurrentUser(getFromStorage));\n            }\n        }\n    }\n}","import {enrollmentsService} from \"@/services/enrollments.service\";\nimport {coursesService} from \"@/services/courses.service\";\nimport {isApiResponseValid} from \"@/helpers/helpers\";\nimport {AppError} from \"@/services/errors\";\nimport store from \"@/store\";\n\nexport default {\n    namespaced: true,\n    state: {\n        currentVideo: null,\n        currentCourse: null,\n        currentCourseId: null,\n        isPlaying: false\n    },\n    mutations: {\n        SET_VIDEO(state, data) {\n            state.currentVideo = data\n            state.isPlaying = false\n        },\n        SET_COURSE(state, data) {\n            state.currentCourse = data;\n        },\n        SET_COURSE_ID(state, data) {\n            state.currentCourseId = data;\n        },\n        SET_PLAY(state) {\n            state.isPlaying = true\n        },\n        SET_PAUSE(state) {\n            state.isPlaying = false\n        }\n    },\n    actions: {\n        setVideo({commit}, data) {\n            commit('SET_VIDEO', data);\n        },\n        setCourse({commit}, data) {\n            commit('SET_COURSE', data);\n        },\n        setCourseId({commit}, data) {\n            commit('SET_COURSE_ID', data);\n        },\n        async activateLecture({commit, state}, lectureId) {\n            // Enroll user to lecture\n            await enrollmentsService.lectureEnrollment({\"lecture_id\": lectureId});\n\n            // Get current lecture data because of last video position\n            const response = await enrollmentsService.getLectureData(lectureId);\n            let lecture = response.data;\n\n            // Init values for current video\n            let currentVideo = state.currentVideo;\n            currentVideo.lectureId = lectureId;\n            currentVideo.sectionId = lecture.section_id;\n            currentVideo.nextLectureId = lecture.id_next;\n            currentVideo.lastVideoPosition = lecture.last_video_position;\n            currentVideo.lectureDateFinished = lecture.date_finished;\n            currentVideo.videoSourceUrl = lecture.video ? lecture.video.url : null;\n            currentVideo.lectureDurationSeconds = lecture.video ? lecture.video.duration_seconds : null;\n            currentVideo.userLectureId = lecture.user_lecture_id;\n            currentVideo.lectureDescription = lecture.description;\n            currentVideo.lectureDescriptionShort = lecture.description_short;\n            currentVideo.lectureName = lecture.name;\n            currentVideo.lectureFaq = lecture.faq;\n\n            commit('SET_VIDEO', currentVideo);\n        },\n        play({commit}) {\n            commit('SET_PLAY');\n        },\n        pause({commit}) {\n            commit('SET_PAUSE');\n        },\n        async getCurrentCourse({commit, state}) {\n            try {\n                const response = await coursesService.getCourse(state.currentCourseId);\n\n                if (!isApiResponseValid(response)) {\n                    throw new AppError('Error loading data', {\"message\": 'Chyba při načítání kurzů, zkuste obnovit stránku.', 'type': 'warning'})\n                }\n\n                commit('SET_COURSE', response.data);\n            } catch (err) {\n                if (err instanceof AppError && err.data) {\n                    store.dispatch('app/addFlashMessage', err.data)\n                } else {\n                    throw err;\n                }\n            }\n        },\n    }\n}","import {isApiResponseValid} from \"@/helpers/helpers\";\nimport {studyProgramsService} from \"@/services/studyPrograms.service\";\nimport {AppError} from \"@/services/errors\";\nimport store from \"@/store\";\n\nexport default {\n    namespaced: true,\n    state: {\n        studyPrograms: [],\n    },\n    mutations: {\n        SET_STUDY_PROGRAMS(state, data) {\n            state.studyPrograms = data\n        },\n    },\n    actions: {\n        async fetchData({commit}) {\n            try {\n                const response = await studyProgramsService.getAllSimple();\n\n                if (!isApiResponseValid(response)) {\n                    throw new AppError('Error loading data', {\n                        \"message\": 'Chyba při načítání studijních programmů, zkuste obnovit stránku.',\n                        'type': 'warning'\n                    })\n                }\n\n                commit('SET_STUDY_PROGRAMS', response.data);\n            } catch (err) {\n                if (err instanceof AppError && err.data) {\n                    store.dispatch('app/addFlashMessage', err.data)\n                } else {\n                    throw err;\n                }\n            }\n        },\n    }\n}","import {createLogger, createStore} from 'vuex'\nimport app from \"./modules/app\"\nimport assessment from \"./modules/assessment\"\nimport codebooks from \"./modules/codebooks\"\nimport courses from \"./modules/courses\"\nimport page from \"./modules/page\"\nimport user from \"./modules/user\"\nimport video from \"./modules/video\"\nimport studyPrograms from \"./modules/studyPrograms\"\nimport trainings from \"./modules/trainings\"\n\nexport default createStore({\n    plugins: process.env.NODE_ENV !== \"production\" ? [createLogger()] : [],\n    modules: {\n        app,\n        courses,\n        page,\n        user,\n        codebooks,\n        video,\n        assessment,\n        studyPrograms,\n        trainings\n    }\n})\n","import {isApiResponseValid} from \"@/helpers/helpers\";\nimport {lectureService} from \"@/services/lectures.service\";\nimport {AppError} from \"@/services/errors\";\nimport store from \"@/store\";\n\nexport default {\n    namespaced: true,\n    state: {\n        type: localStorage.getItem(\"trainingsFilterType\") || '0',\n        order: localStorage.getItem(\"trainingsFilterOrder\") || '1',\n        trainings: {},\n    },\n    mutations: {\n        SET_TRAININGS(state, data) {\n            state.trainings = data\n        },\n        SET_TYPE(state, data) {\n            state.type = data\n        },\n        SET_ORDER(state, data) {\n            state.order = data\n        }\n    },\n    actions: {\n        setType({commit, dispatch}, type) {\n            commit('SET_TYPE', type);\n            localStorage.setItem(\"trainingsFilterType\", type);\n            dispatch('fetchData')\n        },\n        setOrder({commit, dispatch}, order) {\n            commit('SET_ORDER', order);\n            localStorage.setItem(\"trainingsFilterOrder\", order);\n            dispatch('fetchData')\n        },\n        async fetchData({commit, state}) {\n            try {\n                const response = await lectureService.getAllUpcoming(1, state.type, state.order);\n                if (!isApiResponseValid(response)) {\n                    throw new AppError('Error loading data', {\"message\": 'Chyba při načítání kurzů, zkuste obnovit stránku.', 'type': 'warning'})\n                }\n\n                commit('SET_TRAININGS', response.data);\n            } catch (err) {\n                if (err instanceof AppError && err.data) {\n                    store.dispatch('app/addFlashMessage', err.data)\n                } else {\n                    throw err;\n                }\n            }\n        }\n    }\n}"],"names":["namespaced","state","isMobileNavigationActive","flashMessages","alertMessages","getters","getFlashMessages","out","JSON","parse","mutations","SET_FLASH_MESSAGES","data","stringify","SET_ALERT_MESSAGES","SET_MOBILE_NAVIGATION_STATE","actions","addFlashMessage","commit","currentFlashMessages","id","Date","now","removeFlashMessage","setTimeout","addAlertMessage","removeAlertMessage","toggleMobileNavigation","answers","isStarted","isFinished","isSendingData","responseData","isError","activeQuestion","activeQuestionIndex","getQuestions","questions","getAnswers","SET_ID","SET_DATA","SET_RESPONSE_DATA","SET_STARTED","SET_FINISHED","SET_SENDING_DATA","SET_ERROR","ADD_ANSWER","push","SET_ACTIVE_QUESTION","SET_ACTIVE_INDEX","async","rootState","dispatch","page","pageId","response","assessmentsService","isApiResponseValid","AppError","date_finished","length","err","store","start","firstQuestion","nextQuestion","nextQuestionIndex","dependsOnId","depends_on_option_id","findDependencyInAnswers","find","item","question","answer_type","answer","includes","submitAnswer","toRaw","map","custom","translations","codebooks","getTranslation","placeholder","attrs","codebooksService","getCodeBookByKey","key","getCodeBookByKeyAndValue","value","SET_TRANSLATION","SET_CODEBOOKS","setAllCodebooks","endpoint","difficulty","localStorage","getItem","courses","SET_COURSES","SET_DIFFICULTY","setDifficulty","setItem","coursesService","currentPage","SET_PAGE","SET_CURRENT_PAGE","SET_PAGE_ID","setPage","setCurrentPage","setPageId","userData","loggedIn","authenticationService","getCompletedAssessments","assessments_completed","userRole","role","SET_USER","getFromStorage","userService","currentVideo","currentCourse","currentCourseId","isPlaying","SET_VIDEO","SET_COURSE","SET_COURSE_ID","SET_PLAY","SET_PAUSE","setVideo","setCourse","setCourseId","lectureId","enrollmentsService","lecture","sectionId","section_id","nextLectureId","id_next","lastVideoPosition","last_video_position","lectureDateFinished","videoSourceUrl","video","url","lectureDurationSeconds","duration_seconds","userLectureId","user_lecture_id","lectureDescription","description","lectureDescriptionShort","description_short","lectureName","name","lectureFaq","faq","play","pause","studyPrograms","SET_STUDY_PROGRAMS","studyProgramsService","createStore","plugins","modules","app","user","assessment","trainings","type","order","SET_TRAININGS","SET_TYPE","SET_ORDER","setType","setOrder","lectureService"],"sourceRoot":""}