{"version":3,"file":"CoursesItemLanding.ff37a724.js","sources":["../../src/modules/Courses/components/CoursesFlow/CoursesFlowButton.vue","../../src/modules/Courses/components/CoursesItemLanding/CoursesItemLandingHeader.vue","../../src/modules/Shared/hooks/useSmoothAnchor.ts","../../src/modules/Courses/components/CoursesItemProgram/CoursesItemProgramStage.vue","../../src/modules/Courses/components/CoursesItemProgram/CoursesItemProgramLesson.vue","../../src/modules/Courses/components/CoursesItemProgram/CoursesItemProgramTopic.vue","../../src/modules/Courses/components/CoursesItemProgram/CoursesItemProgramModule.vue","../../src/modules/Courses/components/CoursesItemProgram/CoursesItemProgram.vue","../../src/modules/Courses/components/CoursesItemProgramCompact/CoursesItemProgramCompactStage.vue","../../src/modules/Courses/components/CoursesItemProgramCompact/CoursesItemProgramCompactLesson.vue","../../src/modules/Courses/components/CoursesItemProgramCompact/CoursesItemProgramCompact.vue","../../src/modules/Courses/components/CoursesItemLanding/CoursesItemLandingAuthors/CoursesItemLandingAuthorsItem.vue","../../src/modules/Courses/components/CoursesItemLanding/CoursesItemLandingAuthors/CoursesItemLandingAuthors.vue","../../src/modules/Courses/components/CoursesItemLanding/CoursesItemLanding.vue","../../src/modules/Courses/controllers/CourseItemLanding/CoursesItemCurrentStatesController.ts","../../src/modules/Courses/controllers/CourseItemLanding/CoursesItemLandingController.ts","../../src/modules/Courses/pages/CoursesItemLanding.vue"],"sourcesContent":["\n\n\n","\n\n\n\n\n","export const useSmoothAnchor = (id: string) => {\n document.getElementById(id)?.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\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\n","\n\n\n","\n\n\n\n\n","import { computed, ref } from 'vue'\nimport useApiRequest from '@core/hooks/useApiRequest'\nimport CourseStateStudent from '@courses/models/CourseStateStudent'\nimport { fetchCurrentCourseStates } from '@courses/services/course'\n\nconst CoursesItemCurrentStatesController = (courseId: number) => {\n // Data\n const items = ref([])\n\n const statesRequest = useApiRequest(fetchCurrentCourseStates)\n\n statesRequest.$on('success', responseData => {\n items.value = responseData ? responseData.map(o => new CourseStateStudent(o)) : []\n })\n\n const request = async () => {\n await statesRequest.request(courseId)\n }\n\n return {\n items,\n isLoading: computed(() => statesRequest.isLoading),\n request\n }\n}\n\nexport default CoursesItemCurrentStatesController\n","import type { ISelectOption } from '@/components/_ui/types'\nimport { computed } from 'vue'\nimport type CoursesItemController from '../CoursesItemController'\nimport type CoursesItemStateController from '../CoursesItemStateController'\nimport type CoursesItemCurrentStatesController from './CoursesItemCurrentStatesController'\n\nexport interface LandingNavItem {\n label: string\n hash: string\n}\n\nconst CoursesItemLandingController = (\n courseController: ReturnType,\n stateController: ReturnType,\n currentStatesController: ReturnType\n) => {\n // Computed\n const course = computed(() => courseController.data.value)\n const state = computed(() => stateController.data.value)\n const states = computed(() => currentStatesController.items.value)\n\n const _currentFlowsIds = computed(() => states.value.map(s => s.flow.id))\n\n // доступные для записи потоки\n const signupFlowsOptions = computed(\n () =>\n course.value?.flows\n .filter(f => !f.isFinished)\n .filter(f => !_currentFlowsIds.value.includes(f.id))\n .map(f => ({\n label: `${f.name}: ${f.datesFormatted}`,\n value: f.id\n })) ?? []\n )\n\n const canSignup = computed(\n () => !state.value || (state.value.accessNone && !state.value.isPermitted)\n )\n // Можно записаться только если курс не начат\n // Если курс завершен или провален, то записаться на другой поток нельзя\n\n const isSignupFlowsShown = computed(() => canSignup.value && signupFlowsOptions.value.length > 0)\n const isStatesShown = computed(() => states.value.length > 1)\n\n // Navigation Items\n const navigationItems = computed(() => {\n const items = []\n if (isStatesShown.value) items.push({ label: 'Ваше обучение', hash: 'states' })\n if (course.value?.descriptionFull) items.push({ label: 'Чему научитесь', hash: 'description' })\n items.push({ label: 'Программа', hash: 'program' })\n if (course.value?.authors.length) items.push({ label: 'Лекторы курса', hash: 'authors' })\n if (course.value?.reviews.length) items.push({ label: 'Отзывы', hash: 'reviews' })\n return items\n })\n\n // Actions\n const onSignupHandler = (flowId: number) => {\n if (courseController.isSigningUp.value) return\n courseController.signup(flowId)\n }\n\n return {\n // controllers\n courseController,\n stateController,\n currentStatesController,\n\n // data\n course,\n state,\n states,\n\n navigationItems,\n canSignup,\n isSignupFlowsShown,\n signupFlowsOptions,\n isStatesShown,\n\n // actions\n onSignupHandler\n }\n}\n\nexport default CoursesItemLandingController\n","\n\n\n"],"names":["computed"],"mappings":"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"}