{"version":3,"sources":["webpack:///./infrastructure/presentation/components/application/dashboard/SearchHeader.vue?49e4","webpack:///./infrastructure/presentation/views/SearchInstructorsCourses.vue?62ed","webpack:///./infrastructure/presentation/views/SearchInstructorsCourses.vue?dda3","webpack:///./infrastructure/presentation/views/SearchInstructorsCourses.vue","webpack:///./infrastructure/presentation/views/SearchInstructorsCourses.vue?8e84","webpack:///./infrastructure/presentation/components/application/dashboard/SearchHeader.vue?fafd","webpack:///./infrastructure/presentation/components/application/dashboard/SearchHeader.vue?bf52","webpack:///./infrastructure/presentation/components/application/dashboard/SearchHeader.vue"],"names":["_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","render","_ctx","_cache","$props","$setup","$data","$options","_component_SearchHeader","_component_ModalIntroductoryContent","_component_course","_component_PaginationDefault","default","_","openModalIntroductoryContent","course","introductoryContent","key","onClose","closeModalIntroductoryContent","courses","id","onOpenIntroductoryContent","$event","openIntroductoryContent","onOpenCourse","$router","push","name","params","course_id","coursesPage","currentPage","Number","$route","query","page","onChangePage","updateQuery","components","ModalIntroductoryContent","Comment","PaginationDefault","ContentFallback","SearchHeader","props","entityID","type","String","required","setup","store","route","getters","comments","isCommentsModalOpen","commentModalTitle","loadCourses","order","dispatch","instructorID","console","error","closeCommentsModal","enableBodyOverflow","document","body","style","overflow","_course","value","loadCourseCommentsModal","title","message","toLocaleDateTime","__exports__","$slots","undefined"],"mappings":"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","file":"js/chunk-02a48a26.dedfe0ec.js","sourcesContent":["export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SearchHeader.vue?vue&type=style&index=0&id=19888e2a&scoped=true&lang=css\"","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1186d22c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"search__instructors-courses\" }\nconst _hoisted_2 = /*#__PURE__*/_createTextVNode(\"Resultados por instrutores\")\nconst _hoisted_3 = { class: \"courses-list\" }\nconst _hoisted_4 = { class: \"courses\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_SearchHeader = _resolveComponent(\"SearchHeader\")!\n const _component_ModalIntroductoryContent = _resolveComponent(\"ModalIntroductoryContent\")!\n const _component_course = _resolveComponent(\"course\")!\n const _component_PaginationDefault = _resolveComponent(\"PaginationDefault\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_SearchHeader, null, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n }),\n (_ctx.openModalIntroductoryContent && _ctx.course.introductoryContent)\n ? (_openBlock(), _createBlock(_component_ModalIntroductoryContent, {\n key: 0,\n onClose: _ctx.closeModalIntroductoryContent,\n \"introductory-content\": _ctx.course.introductoryContent\n }, null, 8, [\"onClose\", \"introductory-content\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.courses, (course) => {\n return (_openBlock(), _createBlock(_component_course, {\n key: course.id,\n course: course,\n onOpenIntroductoryContent: ($event: any) => (_ctx.openIntroductoryContent(course)),\n onOpenCourse: ($event: any) => (\r\n _ctx.$router.push({ name: 'course', params: { course_id: course.id } })\r\n )\n }, null, 8, [\"course\", \"onOpenIntroductoryContent\", \"onOpenCourse\"]))\n }), 128))\n ]),\n (_ctx.coursesPage)\n ? (_openBlock(), _createBlock(_component_PaginationDefault, {\n key: 0,\n \"qt-pages\": _ctx.coursesPage,\n currentPage: Number(_ctx.$route.query.page) || 1,\n onChangePage: _cache[0] || (_cache[0] = ($event: any) => (_ctx.updateQuery(_ctx.$router, 'page', $event)))\n }, null, 8, [\"qt-pages\", \"currentPage\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","\r\nimport {\r\n computed,\r\n ComputedRef,\r\n defineComponent,\r\n onBeforeMount,\r\n ref,\r\n watch,\r\n} from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { Course } from \"../../../domain/entities/entities\";\r\nimport { dispatchError } from \"../utils/error_handling\";\r\nimport { wrapLoading } from \"../utils/wrap_loading\";\r\nimport { updateQuery } from \"../utils/routing_utils\";\r\nimport { getOrderFromURL } from \"../utils/order_utils\";\r\nimport { dispatchErrorBox, toLocaleDateTime } from \"../components/mixins\";\r\nimport SearchHeader from \"../components/application/dashboard/SearchHeader.vue\";\r\nimport course from \"../components/application/Course.vue\";\r\nimport ModalIntroductoryContent from \"../components/application/ModalIntroductoryContent.vue\";\r\nimport ContentFallback from \"../components/application/moldure/ContentFallback.vue\";\r\nimport PaginationDefault from \"../components/application/shop/PaginationDefault.vue\";\r\nimport { RepositoryException } from \"../../../domain/exceptions/exceptions\";\r\n\r\nexport default defineComponent({\r\n components: {\r\n course,\r\n ModalIntroductoryContent,\r\n Comment,\r\n PaginationDefault,\r\n ContentFallback,\r\n SearchHeader,\r\n },\r\n\r\n props: {\r\n entityID: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n\r\n setup(props) {\r\n const store = useStore();\r\n const route = useRoute();\r\n\r\n const courses: ComputedRef = computed(\r\n () => store.getters[\"globalSearch_module/instructorCourses\"]\r\n );\r\n const coursesPage = computed(\r\n () => store.getters[\"globalSearch_module/instructorsCoursesPage\"]\r\n );\r\n\r\n const comments = computed(() => store.getters[\"course_module/comments\"]);\r\n\r\n const isCommentsModalOpen = computed(\r\n () => store.getters[\"course_module/isCommentsModalOpen\"]\r\n );\r\n\r\n const openModalIntroductoryContent = ref(false);\r\n\r\n const commentModalTitle = ref(\"\");\r\n\r\n const course = ref(new Course());\r\n\r\n onBeforeMount(async () => {\r\n await loadCourses();\r\n });\r\n\r\n async function loadCourses(): Promise {\r\n try {\r\n const order = getOrderFromURL(route);\r\n await wrapLoading(async () => {\r\n await store.dispatch(\"globalSearch_module/getCoursesByInstructors\", {\r\n order: order,\r\n instructorID: props.entityID,\r\n });\r\n });\r\n } catch (e) {\r\n await dispatchError(e);\r\n }\r\n }\r\n\r\n watch(\r\n () => route.query.page,\r\n async () => {\r\n try {\r\n if (route.name === \"details_courses_instructors\") {\r\n await loadCourses();\r\n }\r\n } catch (error) {\r\n console.error(\"Erro no watcher de mudança de página:\", error);\r\n }\r\n }\r\n );\r\n\r\n const closeCommentsModal = async () => {\r\n enableBodyOverflow();\r\n await store.dispatch(\"course_module/closeCommentsModal\");\r\n await store.dispatch(\"course_module/clearComments\");\r\n };\r\n\r\n const enableBodyOverflow = () => {\r\n document.body.style.overflow = \"auto\";\r\n };\r\n\r\n function openIntroductoryContent(_course: Course) {\r\n course.value = _course;\r\n openModalIntroductoryContent.value = true;\r\n }\r\n\r\n function closeModalIntroductoryContent() {\r\n openModalIntroductoryContent.value = false;\r\n }\r\n\r\n async function loadCourseCommentsModal(course: Course) {\r\n try {\r\n commentModalTitle.value = course.title;\r\n await store.dispatch(\"course_module/openCommentsModal\");\r\n await store.dispatch(\r\n \"course_module/loadContentCommentsById\",\r\n course.id\r\n );\r\n } catch (e) {\r\n await dispatchErrorBox(\r\n e instanceof RepositoryException\r\n ? e.message\r\n : \"Ocorreu um erro inesperado.\"\r\n );\r\n }\r\n }\r\n\r\n return {\r\n courses,\r\n coursesPage,\r\n comments,\r\n isCommentsModalOpen,\r\n openModalIntroductoryContent,\r\n commentModalTitle,\r\n course,\r\n closeCommentsModal,\r\n openIntroductoryContent,\r\n closeModalIntroductoryContent,\r\n loadCourseCommentsModal,\r\n updateQuery,\r\n toLocaleDateTime,\r\n };\r\n },\r\n});\r\n","import { render } from \"./SearchInstructorsCourses.vue?vue&type=template&id=1186d22c&scoped=true&ts=true\"\nimport script from \"./SearchInstructorsCourses.vue?vue&type=script&lang=ts\"\nexport * from \"./SearchInstructorsCourses.vue?vue&type=script&lang=ts\"\n\nimport \"./SearchInstructorsCourses.vue?vue&type=style&index=0&id=1186d22c&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\dev\\\\purple__bee\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1186d22c\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SearchInstructorsCourses.vue?vue&type=style&index=0&id=1186d22c&scoped=true&lang=css\"","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-19888e2a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"search__header\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ])\n ]))\n}","\r\nimport { defineComponent } from \"vue\";\r\n\r\nexport default defineComponent({\r\n name: \"SearchHeader\",\r\n});\r\n","import { render } from \"./SearchHeader.vue?vue&type=template&id=19888e2a&scoped=true&ts=true\"\nimport script from \"./SearchHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./SearchHeader.vue?vue&type=script&lang=ts\"\n\nimport \"./SearchHeader.vue?vue&type=style&index=0&id=19888e2a&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\dev\\\\purple__bee\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-19888e2a\"]])\n\nexport default __exports__"],"sourceRoot":""}