{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/modules/student-enroll-detail/state/index.js","webpack:///./src/store/modules/student-enroll-detail/getters/index.js","webpack:///./src/store/modules/student-enroll-detail/mutations/index.js","webpack:///./src/store/modules/student-enroll-detail/actions/index.js","webpack:///./src/store/modules/student-enroll-detail/index.js","webpack:///./src/utils/upload.js","webpack:///./src/store/modules/live-class/vdo-live-set/state/index.js","webpack:///./src/store/modules/live-class/vdo-live-set/getters/index.js","webpack:///./src/store/modules/live-class/vdo-live-set/mutations/index.js","webpack:///./src/queries/modules/live-class/vdo-live-set.js","webpack:///./src/store/modules/live-class/vdo-live-set/actions/index.js","webpack:///./src/store/modules/live-class/vdo-live-set/index.js","webpack:///./src/components/common-ui/block-group/index.vue?3f73","webpack:///./src/store/modules/common-data/assessment/state/index.js","webpack:///./src/store/modules/common-data/assessment/getters/index.js","webpack:///./src/store/modules/common-data/assessment/mutations/index.js","webpack:///./src/queries/modules/common-data/assessment.js","webpack:///./src/store/modules/common-data/assessment/actions/index.js","webpack:///./src/store/modules/common-data/assessment/index.js","webpack:///./src/components/common-ui/block/index.vue?e3e9","webpack:///src/components/common-ui/block/index.vue","webpack:///./src/components/common-ui/block/index.vue?8cee","webpack:///./src/components/common-ui/block/index.vue?e2e2","webpack:///./src/utils/notification.js","webpack:///./src/store/modules/advisor-online-schedule/state/index.js","webpack:///./src/store/modules/advisor-online-schedule/getters/index.js","webpack:///./src/store/modules/advisor-online-schedule/mutations/index.js","webpack:///./src/queries/modules/advisor-online-schedule/advisor-online-schedule.js","webpack:///./src/store/modules/advisor-online-schedule/actions/index.js","webpack:///./src/store/modules/advisor-online-schedule/index.js","webpack:///./src/store/generic/mutations/result-status.js","webpack:///./src/constants/config.js","webpack:///./src/store/modules/system/system-config/state/index.js","webpack:///./src/store/modules/system/system-config/getters/index.js","webpack:///./src/store/modules/system/system-config/mutations/index.js","webpack:///./src/queries/modules/system/system-config.js","webpack:///./src/store/modules/system/system-config/actions/index.js","webpack:///./src/store/modules/system/system-config/index.js","webpack:///./src/components/common-ui/forms/textarea/index.vue?d554","webpack:///./src/store/modules/web-board-reply/state/index.js","webpack:///./src/store/modules/web-board-reply/getters/index.js","webpack:///./src/store/modules/web-board-reply/mutations/index.js","webpack:///./src/queries/modules/web-board/web-board-reply.js","webpack:///./src/store/modules/web-board-reply/actions/index.js","webpack:///./src/store/modules/web-board-reply/index.js","webpack:///./src/queries/modules/profile/teacher.js","webpack:///./src/setup/apollo-setup.js","webpack:///./src/components/common-ui/forms/select-box/index.vue?9275","webpack:///./src/store/modules/courses/course-outline/state/index.js","webpack:///./src/store/modules/courses/course-outline/getters/index.js","webpack:///./src/store/modules/courses/course-outline/mutations/index.js","webpack:///./src/queries/modules/courses/course-outline.js","webpack:///./src/store/modules/courses/course-outline/actions/index.js","webpack:///./src/store/modules/courses/course-outline/index.js","webpack:///./src/constants/colors.js","webpack:///./src/components/common-ui/forms/select-box/index.vue?7bbc","webpack:///src/components/common-ui/forms/select-box/index.vue","webpack:///./src/components/common-ui/forms/select-box/index.vue?bb9d","webpack:///./src/components/common-ui/forms/select-box/index.vue?1351","webpack:///./src/store/modules/courses/course-outline-assessment/state/index.js","webpack:///./src/store/modules/courses/course-outline-assessment/getters/index.js","webpack:///./src/store/modules/courses/course-outline-assessment/mutations/index.js","webpack:///./src/queries/modules/courses/course-outline-assessment.js","webpack:///./src/store/modules/courses/course-outline-assessment/actions/index.js","webpack:///./src/store/modules/courses/course-outline-assessment/index.js","webpack:///./src/assets/images/portrait/small/avatar-s-11.jpg","webpack:///./src/store/modules/live-class/live-class-schedule/state/index.js","webpack:///./src/store/modules/live-class/live-class-schedule/getters/index.js","webpack:///./src/store/modules/live-class/live-class-schedule/mutations/index.js","webpack:///./src/queries/modules/live-class/live-class-schedule.js","webpack:///./src/store/modules/live-class/live-class-schedule/actions/index.js","webpack:///./src/store/modules/live-class/live-class-schedule/index.js","webpack:///./src/store/modules/common-data/academicPeriodConfig.js","webpack:///./src/store/modules/vdo-set/vdo-set-unit/state/index.js","webpack:///./src/store/modules/vdo-set/vdo-set-unit/getters/index.js","webpack:///./src/store/modules/vdo-set/vdo-set-unit/mutations/index.js","webpack:///./src/queries/modules/vdoSet/vdoSetUnit.js","webpack:///./src/store/modules/vdo-set/vdo-set-unit/actions/index.js","webpack:///./src/store/modules/vdo-set/vdo-set-unit/index.js","webpack:///./src/store/modules/common-data/subject.js","webpack:///./src/store/modules/common-data/index.js","webpack:///./src/queries/modules/profile/student.js","webpack:///./src/store/modules/profile/student.js","webpack:///./src/store/modules/profile/index.js","webpack:///./src/store/modules/courses/course-outline-registration/state/index.js","webpack:///./src/store/modules/courses/course-outline-registration/getters/index.js","webpack:///./src/store/modules/courses/course-outline-registration/mutations/index.js","webpack:///./src/queries/modules/courses/course-outline-registration.js","webpack:///./src/store/modules/courses/course-outline-registration/actions/index.js","webpack:///./src/store/modules/courses/course-outline-registration/index.js","webpack:///./src/store/modules/courses/index.js","webpack:///./src/store/modules/student-enroll/state/index.js","webpack:///./src/store/modules/student-enroll/getters/index.js","webpack:///./src/store/modules/student-enroll/mutations/index.js","webpack:///./src/queries/modules/student-enroll/student-enroll.js","webpack:///./src/store/modules/student-enroll/actions/index.js","webpack:///./src/store/modules/student-enroll/index.js","webpack:///./src/queries/modules/examination/exam-question.js","webpack:///./src/store/modules/examination/index.js","webpack:///./src/queries/modules/class-room/classRoomType.js","webpack:///./src/store/modules/class-room/classRoomType.js","webpack:///./src/queries/modules/class-room/classRoomOwned.js","webpack:///./src/store/modules/class-room/classRoomOwned.js","webpack:///./src/store/modules/profile/student/state/index.js","webpack:///./src/store/modules/profile/student/getters/index.js","webpack:///./src/store/modules/profile/student/mutations/index.js","webpack:///./src/store/modules/profile/student/actions/index.js","webpack:///./src/store/modules/profile/student/index.js","webpack:///./src/store/modules/student-score/state/index.js","webpack:///./src/store/modules/student-score/getters/index.js","webpack:///./src/store/modules/student-score/mutations/index.js","webpack:///./src/queries/modules/student-score/student-score.js","webpack:///./src/store/modules/student-score/actions/index.js","webpack:///./src/store/modules/student-score/index.js","webpack:///./src/store/modules/student-unit-learn/student-unit-learn/state/index.js","webpack:///./src/store/modules/student-unit-learn/student-unit-learn/getters/index.js","webpack:///./src/store/modules/student-unit-learn/student-unit-learn/mutations/index.js","webpack:///./src/queries/modules/student-unit-learn/student-unit-learn.js","webpack:///./src/store/modules/student-unit-learn/student-unit-learn/actions/index.js","webpack:///./src/store/modules/student-unit-learn/student-unit-learn/index.js","webpack:///./src/store/modules/student-unit-learn/student-topic-learn/state/index.js","webpack:///./src/store/modules/student-unit-learn/student-topic-learn/getters/index.js","webpack:///./src/store/modules/student-unit-learn/student-topic-learn/mutations/index.js","webpack:///./src/queries/modules/student-unit-learn/student-topic-learn.js","webpack:///./src/store/modules/student-unit-learn/student-topic-learn/actions/index.js","webpack:///./src/store/modules/student-unit-learn/student-topic-learn/index.js","webpack:///./src/store/modules/courses/course-outline-unit/state/index.js","webpack:///./src/store/modules/courses/course-outline-unit/getters/index.js","webpack:///./src/store/modules/courses/course-outline-unit/mutations/index.js","webpack:///./src/queries/modules/courses/course-outline-unit.js","webpack:///./src/store/modules/courses/course-outline-unit/actions/index.js","webpack:///./src/store/modules/courses/course-outline-unit/index.js","webpack:///./src/store/modules/university-news/info-group/state/index.js","webpack:///./src/store/modules/university-news/info-group/getters/index.js","webpack:///./src/store/modules/university-news/info-group/mutations/index.js","webpack:///./src/queries/modules/university-news/info-group.js","webpack:///./src/store/modules/university-news/info-group/actions/index.js","webpack:///./src/store/modules/university-news/info-group/index.js","webpack:///./themeConfig.js","webpack:///./src/store/modules/theme/state.js","webpack:///./src/store/modules/theme/getters.js","webpack:///./src/store/modules/theme/mutations.js","webpack:///./src/store/modules/theme/actions.js","webpack:///./src/store/index.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/common-ui/page-title/index.vue?cada","webpack:///./src/store/modules/class-room/course-faq/state/index.js","webpack:///./src/store/modules/class-room/course-faq/getters/index.js","webpack:///./src/store/modules/class-room/course-faq/mutations/index.js","webpack:///./src/queries/modules/class-room/course-faq.js","webpack:///./src/store/modules/class-room/course-faq/actions/index.js","webpack:///./src/store/modules/class-room/course-faq/index.js","webpack:///./src/components/common-ui/forms/input-box/index.vue?66d6","webpack:///./src/App.vue?1564","webpack:///./src/store/modules/theme.js","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?bff9","webpack:///./src/constants/index.js","webpack:///./src/app-context.js","webpack:///./src/cache.js","webpack:///./src/components/common-ui/page-title/index.vue?9526","webpack:///./src/components/common-ui/page-title/index.vue?6075","webpack:///./src/components/common-ui/forms/radio-box/index.vue?c4a5","webpack:///src/components/common-ui/forms/radio-box/index.vue","webpack:///./src/components/common-ui/forms/radio-box/index.vue?0212","webpack:///./src/components/common-ui/forms/radio-box/index.vue?232a","webpack:///./src/components/common-ui/forms/check-box/index.vue?3bc2","webpack:///src/components/common-ui/forms/check-box/index.vue","webpack:///./src/components/common-ui/forms/check-box/index.vue?44a4","webpack:///./src/components/common-ui/forms/check-box/index.vue","webpack:///./src/components/common-ui/forms/search-box/index.vue?581b","webpack:///src/components/common-ui/forms/search-box/index.vue","webpack:///./src/components/common-ui/forms/search-box/index.vue?6bb5","webpack:///./src/components/common-ui/forms/search-box/index.vue","webpack:///./src/components/common-ui/index.js","webpack:///./src/setup/vee-validate-setup.js","webpack:///./src/components/FeatherIcon.vue?9f0d","webpack:///./src/layouts/components/vx-tooltip/VxTooltip.vue?091f","webpack:///./src/assets/utils/index.js","webpack:///src/layouts/components/vx-tooltip/VxTooltip.vue","webpack:///./src/layouts/components/vx-tooltip/VxTooltip.vue?5823","webpack:///./src/layouts/components/vx-tooltip/VxTooltip.vue","webpack:///./src/components/vx-card/VxCard.vue?a8fc","webpack:///src/components/vx-card/VxCard.vue","webpack:///./src/components/vx-card/VxCard.vue?170f","webpack:///./src/components/vx-card/VxCard.vue?488c","webpack:///./src/components/vx-list/VxList.vue?f075","webpack:///src/components/vx-list/VxList.vue","webpack:///./src/components/vx-list/VxList.vue?fb96","webpack:///./src/components/vx-list/VxList.vue?134a","webpack:///./src/layouts/components/VxBreadcrumb.vue?3828","webpack:///src/layouts/components/VxBreadcrumb.vue","webpack:///./src/layouts/components/VxBreadcrumb.vue?63b5","webpack:///./src/layouts/components/VxBreadcrumb.vue","webpack:///src/components/FeatherIcon.vue","webpack:///./src/components/FeatherIcon.vue?dd8d","webpack:///./src/components/vx-input-group/VxInputGroup.vue?3c1f","webpack:///src/components/vx-input-group/VxInputGroup.vue","webpack:///./src/components/vx-input-group/VxInputGroup.vue?9c81","webpack:///./src/components/vx-input-group/VxInputGroup.vue?d612","webpack:///./src/setup/global-components-setup.js","webpack:///./src/setup/theme-setup.js","webpack:///./src/setup/filter-setup.js","webpack:///./src/setup/plugin-setup.js","webpack:///./src/main.js","webpack:///./src/store/modules/student-assignment/state/index.js","webpack:///./src/store/modules/student-assignment/getters/index.js","webpack:///./src/store/modules/student-assignment/mutations/index.js","webpack:///./src/queries/modules/student-assignment/student-assignment.js","webpack:///./src/store/modules/student-assignment/actions/index.js","webpack:///./src/store/modules/student-assignment/index.js","webpack:///./src/App.vue?c650","webpack:///./src/store/modules/web-board/state/index.js","webpack:///./src/store/modules/web-board/getters/index.js","webpack:///./src/store/modules/web-board/mutations/index.js","webpack:///./src/queries/modules/web-board/web-board.js","webpack:///./src/store/modules/web-board/actions/index.js","webpack:///./src/store/modules/web-board/index.js","webpack:///./src/queries/modules/common-data/subject.js","webpack:///./src/components/common-ui/forms/input-box/index.vue?8055","webpack:///src/components/common-ui/forms/input-box/index.vue","webpack:///./src/components/common-ui/forms/input-box/index.vue?5a9c","webpack:///./src/components/common-ui/forms/input-box/index.vue?6510","webpack:///./src/store/modules/private-message/state/index.js","webpack:///./src/store/modules/private-message/getters/index.js","webpack:///./src/store/modules/private-message/mutations/index.js","webpack:///./src/queries/modules/pm/private-message.js","webpack:///./src/store/modules/private-message/actions/index.js","webpack:///./src/store/modules/private-message/index.js","webpack:///./src/setup/axios-setup.js","webpack:///./src/queries/modules/user.js","webpack:///./src/store/modules/user/actions.js","webpack:///./src/store/modules/user/index.js","webpack:///./src/queries/modules/common-data/subjectGroup.js","webpack:///./src/store/modules/common-data/subject-group.js","webpack:///./src/store/modules/profile/teacher.js","webpack:///./src/queries/modules/common-data/academicPeriodConfig.js","webpack:///./src/components/common-ui/block/index.vue?78fe","webpack:///./src/store/modules/courses/class-section/state/index.js","webpack:///./src/store/modules/courses/class-section/getters/index.js","webpack:///./src/store/modules/courses/class-section/mutations/index.js","webpack:///./src/queries/modules/courses/class-section.js","webpack:///./src/store/modules/courses/class-section/actions/index.js","webpack:///./src/store/modules/courses/class-section/index.js","webpack:///./src/setup/i18n-setup.js","webpack:///./src/event-bus.js","webpack:///./src/components/vx-card/VxCard.vue?35c3","webpack:///./src/components/common-ui/forms/form-element.vue?1ab8","webpack:///./src/store/modules/vdo-set/vdo-set-topic/state/index.js","webpack:///./src/store/modules/vdo-set/vdo-set-topic/getters/index.js","webpack:///./src/store/modules/vdo-set/vdo-set-topic/mutations/index.js","webpack:///./src/queries/modules/vdoSet/vdoSetTopic.js","webpack:///./src/store/modules/vdo-set/vdo-set-topic/actions/index.js","webpack:///./src/store/modules/vdo-set/vdo-set-topic/index.js","webpack:///./src/components/FeatherIcon.vue?84fe","webpack:///./src/queries/modules/student-enroll/student-enroll-detail.js","webpack:///./src/store/modules/examination/exam-question-type/state/index.js","webpack:///./src/store/modules/examination/exam-question-type/getters/index.js","webpack:///./src/store/modules/examination/exam-question-type/mutations/index.js","webpack:///./src/queries/modules/examination/exam-question-type.js","webpack:///./src/store/modules/examination/exam-question-type/actions/index.js","webpack:///./src/store/modules/examination/exam-question-type/index.js","webpack:///./src/store/modules/profile/teacher/state/index.js","webpack:///./src/store/modules/profile/teacher/getters/index.js","webpack:///./src/store/modules/profile/teacher/mutations/index.js","webpack:///./src/store/modules/profile/teacher/actions/index.js","webpack:///./src/store/modules/profile/teacher/index.js","webpack:///./src/store/modules/live-class/vod-live-set-topic/state/index.js","webpack:///./src/store/modules/live-class/vod-live-set-topic/getters/index.js","webpack:///./src/store/modules/live-class/vod-live-set-topic/mutations/index.js","webpack:///./src/queries/modules/live-class/vdo-live-set-topic.js","webpack:///./src/store/modules/live-class/vod-live-set-topic/actions/index.js","webpack:///./src/store/modules/live-class/vod-live-set-topic/index.js","webpack:///./src/router/routes-developing.js","webpack:///./src/utils/auth-required.js","webpack:///./src/router/index.js","webpack:///./src/store/modules/courses/class-material/state/index.js","webpack:///./src/store/modules/courses/class-material/getters/index.js","webpack:///./src/store/modules/courses/class-material/mutations/index.js","webpack:///./src/queries/modules/courses/class-material.js","webpack:///./src/store/modules/courses/class-material/actions/index.js","webpack:///./src/store/modules/courses/class-material/index.js","webpack:///./src/components/vx-input-group/VxInputGroup.vue?0284","webpack:///./src/store/modules/notification/state/index.js","webpack:///./src/store/modules/notification/getters/index.js","webpack:///./src/store/modules/notification/mutations/index.js","webpack:///./src/queries/modules/notification/notification.js","webpack:///./src/store/modules/notification/actions/index.js","webpack:///./src/store/modules/notification/index.js","webpack:///./node_modules/vee-validate/dist/locale lazy ^\\.\\/.*\\.json$ namespace object","webpack:///./src/store/modules/class-room/class-room/state/index.js","webpack:///./src/store/modules/class-room/class-room/getters/index.js","webpack:///./src/store/modules/class-room/class-room/mutations/index.js","webpack:///./src/store/modules/class-room/class-room/actions/index.js","webpack:///./src/store/modules/class-room/class-room/index.js","webpack:///./src/queries/modules/common-data/academic-period.js","webpack:///./src/store/modules/common-data/academic-period.js","webpack:///./src/store/modules/courses/class-assignment/state/index.js","webpack:///./src/store/modules/courses/class-assignment/getters/index.js","webpack:///./src/store/modules/courses/class-assignment/mutations/index.js","webpack:///./src/queries/modules/courses/class-assignment.js","webpack:///./src/store/modules/courses/class-assignment/actions/index.js","webpack:///./src/store/modules/courses/class-assignment/index.js","webpack:///./src/store/modules/examination/exam/state/index.js","webpack:///./src/store/modules/examination/exam/getters/index.js","webpack:///./src/store/modules/examination/exam/mutations/index.js","webpack:///./src/store/modules/examination/exam/actions/index.js","webpack:///./src/store/modules/examination/exam/index.js","webpack:///./src/store/modules/yea-link-import-data/state/index.js","webpack:///./src/store/modules/yea-link-import-data/getters/index.js","webpack:///./src/store/modules/yea-link-import-data/mutations/index.js","webpack:///./src/queries/modules/yea-link-import-data/yea-link-import-data.js","webpack:///./src/store/modules/yea-link-import-data/actions/index.js","webpack:///./src/store/modules/yea-link-import-data/index.js","webpack:///./src/layouts/components/navbar/navbarSearchAndPinList.js","webpack:///./src/components/common-ui/forms/form-element.vue?97f7","webpack:///src/components/common-ui/forms/form-element.vue","webpack:///./src/components/common-ui/forms/form-element.vue?c2b3","webpack:///./src/components/common-ui/forms/form-element.vue?893c","webpack:///./src/store/modules/vdo-set/vdo-set/state/index.js","webpack:///./src/store/modules/vdo-set/vdo-set/getters/index.js","webpack:///./src/store/modules/vdo-set/vdo-set/mutations/index.js","webpack:///./src/queries/modules/vdoSet/vdoSet.js","webpack:///./src/store/modules/vdo-set/vdo-set/actions/index.js","webpack:///./src/store/modules/vdo-set/vdo-set/index.js","webpack:///./src/utils/auth-data.js","webpack:///./src/queries/modules/common-data/degree.js","webpack:///./src/store/modules/common-data/degree.js","webpack:///./src/store/modules/upload/state/index.js","webpack:///./src/store/modules/upload/getters/index.js","webpack:///./src/store/modules/upload/mutations/index.js","webpack:///./src/store/modules/upload/actions/index.js","webpack:///./src/store/modules/upload/index.js","webpack:///./src/utils/debugger.js","webpack:///./src/components/common-ui/forms/textarea/index.vue?3b3e","webpack:///src/components/common-ui/forms/textarea/index.vue","webpack:///./src/components/common-ui/forms/textarea/index.vue?8536","webpack:///./src/components/common-ui/forms/textarea/index.vue?69c4","webpack:///./src/components/vx-list/VxList.vue?5b58","webpack:///./src/components/common-ui/forms/radio-box/index.vue?134c","webpack:///./src/store/modules/common-data/subject/state/index.js","webpack:///./src/store/modules/common-data/subject/getters/index.js","webpack:///./src/store/modules/common-data/subject/mutations/index.js","webpack:///./src/store/modules/common-data/subject/actions/index.js","webpack:///./src/store/modules/common-data/subject/index.js","webpack:///./src/store/modules/private-message-reply/state/index.js","webpack:///./src/store/modules/private-message-reply/getters/index.js","webpack:///./src/store/modules/private-message-reply/mutations/index.js","webpack:///./src/queries/modules/pm/private-message-reply.js","webpack:///./src/store/modules/private-message-reply/actions/index.js","webpack:///./src/store/modules/private-message-reply/index.js","webpack:///./src/store/modules/university-news/info-topic/state/index.js","webpack:///./src/store/modules/university-news/info-topic/getters/index.js","webpack:///./src/store/modules/university-news/info-topic/mutations/index.js","webpack:///./src/queries/modules/university-news/info-topic.js","webpack:///./src/store/modules/university-news/info-topic/actions/index.js","webpack:///./src/store/modules/university-news/info-topic/index.js","webpack:///./src/queries/modules/class-room/classRoom.js","webpack:///./src/components/common-ui/block-group/index.vue?0bc8","webpack:///src/components/common-ui/block-group/index.vue","webpack:///./src/components/common-ui/block-group/index.vue?595d","webpack:///./src/components/common-ui/block-group/index.vue?c03f","webpack:///./src/queries/modules/examination/exam.js","webpack:///./src/assets/utils/color.js","webpack:///./src/developing/datastore/core.js","webpack:///./src/developing/datastore/notification.js","webpack:///./src/utils/index.js","webpack:///./src/developing/datastore/message.js","webpack:///./src/developing/datastore/index.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","studentEnrollDetail","id","studentEnroll","student","enrollNo","courseOutlineRegistration","classSection","sectionNo","subject","subjectCode","teacher","teacherCode","credit","learnSpanNo","examSpanNo","exams","isDrop","studentEnrollDetails","processing","success","blankGetters","clearError","state","payload","generic","setError","setSuccess","setProcessing","setStudentEnrollDetails","studentEnrolls","setStudentEnrollDetail","getStudentEnrollDetails","context","commit","apolloClient","query","GET_STUDENTENROLLDETAILS","fetchPolicy","clientName","errors","status","full","getStudentEnrollDetailsByFilter","GET_STUDENTENROLLDETAILS_BY_FILTER","variables","getStudentEnrollDetailsByFilterForHomeWork","GET_STUDENTENROLLDETAILS_BY_FILTER_FOR_HOME_WORK","getStudentEnrollDetailsStat","GET_STUDENTENROLLDETAILS_STAT","getStudentEnrollDetail","GET_STUDENTENROLLDETAIL","getStudentsInClassSectionByCodeOrName","GET_STUDENT_IN_CLASS_SECTION_BY_CODE_OR_NAME","getTeachersInStudentEnrollByCodeOrNameCurrentUser","GET_TEACHERS_IN_STUDENT_ENROLL_BY_CODE_OR_NAME_CURRENT_USER","addStudentEnrollDetails","mutate","mutation","ADD_STUDENTENROLLDETAILS","newItemSuccess","updateStudentEnrollDetail","UPDATE_STUDENTENROLLDETAIL","index","findIndex","item","updateItemSuccess","updateStudentEnrollDetailIsDrop","UPDATE_STUDENTENROLLDETAIL_IS_DROP","deleteStudentEnrollDetail","DELETE_STUDENTENROLLDETAIL","deleteItemSuccess","namespaced","getters","getField","mutations","updateField","actions","BASE_URL","process","wowzaApi","fileServer","streamServer","config","fileExtension","csv","video","images","url","vdoOnDemandApi","vdoIntroductionApi","vdoMaterialApi","liveVdoApi","uploadFiles","uploadAvatar","downloadFile","getECode","getRStage","noAvatarImage","noPhotoImage","prefixFileName","vdoOnDemand","vdoIntroduction","vdoLiveSet","operationName","teacherAvatar","studentAvatar","classAssignment","classMaterial","courseOutline","baseUrl","getAvatarUrl","picturePath","getPhotoUrl","getClassRoomUrl","liveClassScheduleId","descriptionLocal","descriptionEng","totalVdoLength","vdoLiveSetTopics","vdoLiveSets","setVdoLiveSets","setVdoLiveSet","GET_VDOLIVESET","gql","GET_VDOLIVESET_BY_LIVECLASSSCHEDULEID","GET_VDOLIVESETS_BY_FILTER","GET_VDOLIVESETS","ADD_VDOLIVESET","UPDATE_VDOLIVESET","DELETE_VDOLIVESET","getVdoLiveSets","getVdoLiveSetsByFilter","getVdoLiveSet","getVdoLiveSetByLiveClassScheduleId","addVdoLiveSet","topicLocal","updateVdoLiveSet","deleteVdoLiveSet","assessment","nameLocal","nameEng","assessments","setAssessments","setAssessment","GET_ASSESSMENTS","GET_ASSESSMENT","ADD_ASSESSMENT","UPDATE_ASSESSMENT","DELETE_ASSESSMENT","getAssessments","getAssessment","addAssessment","updateAssessment","deleteAssessment","render","_vm","this","_h","$createElement","_c","_self","staticClass","class","lift","noBorder","_t","_e","label","_v","_s","staticRenderFns","props","String","default","Number","Boolean","fit","computed","hasDefaultSlot","$slots","hasHeaderSlot","header","component","notificationType","SUCCESS","INFO","WARNING","ERROR","title","i18n","text","color","position","notificationPosition","icon","info","warning","showStateNotification","vs","localData","JSON","parse","stringify","notify","showLocalNotification","serverResponseStatusSet","GET_ADVISOR_ONLINE_SCHEDULE","GET_ADVISOR_ONLINE_SCHEDULES_BY_FILTER","GET_ADVISOR_ONLINE_SCHEDULES_BY_FILTER_FOR_TABLE","GET_ADVISOR_ONLINE_SCHEDULES","ADD_ADVISOR_ONLINE_SCHEDULE","UPDATE_ADVISOR_ONLINE_SCHEDULE","DELETE_ADVISOR_ONLINE_SCHEDULE","getAdvisorOnlineSchedules","getAdvisorOnlineSchedulesByFilter","getAdvisorOnlineSchedulesByFilterForTable","getAdvisorOnlineSchedule","addAdvisorOnlineSchedule","updateAdvisorOnlineSchedule","deleteAdvisorOnlineSchedule","objectBulkCheckProps","propList","Array","isArray","every","prop","defaultLocale","defaultDirection","localeOptions","direction","APIServer","APIServerPrisma2","graphQlUrl","graphQlUrlPrisma2","userDefaults","uid","displayName","about","photoURL","require","userRole","themeConfig","disableCustomizer","disableThemeTour","footerType","hideScrollToTop","mainLayoutType","navbarColor","navbarType","routerTransition","rtl","sidebarCollapsed","theme","userInfoLocalStorageKey","colors","SYSTEM_CONFIG_WESTERN","SYSTEM_CONFIG_NATION","SYSTEM_CONFIG","ADD_SYSTEM_CONFIG","UPDATE_SYSTEM_CONFIG","getSystemConfigWestern","systemConfigWestern","getSystemConfigNation","systemConfigNation","getSystemConfig","systemConfig","addSystemConfig","updateSystemConfig","webBoardReplies","setWebBoardReplies","GET_WEB_BOARD_REPLY","GET_WEB_BOARD_REPLY_REPLIES","GET_WEB_BOARD_REPLY_REPLIES_BY_FILTER","ADD_WEB_BOARD_REPLY","UPDATE_WEB_BOARD_REPLY","DELETE_WEB_BOARD_REPLY","getWebBoardReplyReplies","getWebBoardReply","getWebBoardReplyRepliesByFilter","addWebBoardReply","unshift","replyMessage","updateWebBoardReply","deleteWebBoardReply","GET_TEACHERS","GET_TEACHERS_DDL","GET_TEACHERS_BY_FILTER","GET_TEACHER","ADD_TEACHER","ADD_TEACHERS_UPLOAD","UPDATE_TEACHER","DELETE_TEACHER","Vue","use","VueApollo","httpLink","createHttpLink","uri","httpLinkPrisma2","middlewareLink","ApolloLink","operation","forward","localStorage","getItem","setContext","headers","authorization","app","appname","store","dispatch","errorLink","onError","graphQLErrors","networkError","log","link","concat","linkPrisma2","cache","InMemoryCache","ApolloClient","split","getContext","apolloProvider","defaultClient","totalPoint","instruction","streamIntroPath","bookName1","bookPic1","bookDescription1","bookName2","bookPic2","bookDescription2","bookName3","bookPic3","bookDescription3","degreeId","subjectGroupId","subjectId","teacherId","courseOutlineUnits","courseOutlineAssessments","vdoSets","courseOutlines","setCourseOutlines","setCourseOutlinesDDL","courseOutlinesDDL","setCourseOutline","GET_COURSEOUTLINE","GET_COURSEOUTLINE_BY_CLASS_SECTION","GET_COURSEOUTLINES","GET_COURSEOUTLINES_BY_FILTER","GET_COURSEOUTLINEUNITS_BY_COURSEOUTLINEID","GET_COURSEOUTLINES_BY_FILTER_FOR_TABLE","GET_COURSEOUTLINES_AVAILABLE","ADD_COURSEOUTLINE","UPDATE_COURSEOUTLINE","DELETE_COURSEOUTLINE","getCourseOutlines","getCourseOutlinesByClassSection","getCourseOutlinesByFilter","getCourseOutlineUnitsByCourseOutlineId","getCourseOutlinesByFilterForTable","getCourseOutlinesAvailable","getCourseOutline","addCourseOutline","updateCourseOutline","deleteCourseOutline","primary","danger","dark","slot","directives","rawName","expression","attrs","options","on","$event","$$selectedVal","filter","selected","map","val","_value","selection","multiple","handleChange","_l","option","disable","domProps","required","edata","watch","$emit","methods","extractValue","mounted","$set","$forceUpdate","beforeUpdate","courseOutlineAssessment","seq","percent","score","setCourseOutlineAssessments","setCourseOutlineAssessment","GET_COURSEOUTLINEASSESSMENT","GET_COURSEOUTLINEASSESSMENTS","ADD_COURSEOUTLINEASSESSMENT","UPDATE_COURSEOUTLINEASSESSMENT","DELETE_COURSEOUTLINEASSESSMENT","getCourseOutlineAssessments","getCourseOutlineAssessment","addCourseOutlineAssessment","updateCourseOutlineAssessment","deleteCourseOutlineAssessment","liveClassSchedule","courseOutlineId","vdoSetId","vdoSetUnitId","no","vdoLength","vdoStreamPath","isEnabled","remark","externalLink","externalPassword","liveClassSchedules","setLiveClassSchedules","setLiveClassSchedule","GET_LIVECLASSSCHEDULE","GET_LIVECLASSSCHEDULES_BY_FILTER","GET_LIVECLASSSCHEDULES_BY_FILTER_FOR_TABLE","GET_LIVECLASSSCHEDULES","ADD_LIVECLASSSCHEDULE","UPDATE_LIVECLASSSCHEDULE","DELETE_LIVECLASSSCHEDULE","getLiveClassSchedules","getLiveClassSchedulesByFilter","getLiveClassSchedulesByFilterForTable","getLiveClassSchedule","addLiveClassSchedule","updateLiveClassSchedule","deleteLiveClassSchedule","academicPeriodConfig","applyPeriod","applyPeriodCode","learnPeriod","learnPeriodCode","enrollPeriod","enrollPeriodCode","academicPeriodConfigs","setAcademicPeriodConfigs","setAcademicPeriodConfig","setSelectedAcademicPeriodConfig","clearSelectedAcademicPeriodConfig","getAcademicPeriodConfigs","GET_ACADEMICPERIODCONFIGS","catch","getAcademicPeriodConfig","GET_ACADEMICPERIODCONFIG","getCurrentAcademicPeriodConfig","useState","GET_ACADEMICPERIODCONFIGS_CURRENT","addAcademicPeriodConfig","ADD_ACADEMICPERIODCONFIG","updateAcademicPeriodConfig","UPDATE_ACADEMICPERIODCONFIG","selectedAcademicPeriodConfig","vdoSetUnit","vdoSet","courseOutlineUnit","unitSeq","vdoSetTopics","vdoSetUnits","setVdoSetUnits","setVdoSetUnit","GET_VDOSETUNITS_BY_FILTER","GET_VDOSETUNITS","GET_VDOSETUNIT","ADD_VDOSETUNIT","UPDATE_VDOSETUNIT","DELETE_VDOSETUNIT","getVdoSetUnits","getVdoSetUnitsByFilter","getVdoSetUnit","addVdoSetUnit","updateVdoSetUnit","deleteVdoSetUnit","description","creditCalGrade","creditDesc","subjects","subjectsDdl","setSubjects","setSubjectsDdl","setSubject","setSelectedSubject","clearSelectedSubject","getSubjects","GET_SUBJECTS","getSubjectsDdl","GET_SUBJECTS_DDL","getSubject","GET_SUBJECT","getSubjectBySubjectGroupID","GET_SUBJECT_BY_SUBJECTGROUP_ID","sideEffects","getSubjectsBySubjectGroup","addSubject","ADD_SUBJECT","updateSubject","UPDATE_SUBJECT","deleteSubject","DELETE_SUBJECT","selectedSubject","AcademicPeriod","Degree","SubjectGroup","Subject","GET_STUDENTS","GET_STUDENTS_BY_FILTER","GET_STUDENTS_BY_CODE__OR_NAME","GET_STUDENT","ADD_STUDENT","ADD_STUDENTS_UPLOAD","UPDATE_STUDENT","DELETE_STUDENT","getStudentsByFilter","Teacher","Student","academicPeriodId","periodCode","subjectName","classSections","courseOutlineRegistrations","setCourseOutlineRegistrations","setCourseOutlineRegistration","GET_COURSEOUTLINEREGISTRATION","GET_COURSEOUTLINEREGISTRATIONS","GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER","GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER_FOR_TABLE","GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER_ONLY_COURSEOUTLINE","ADD_COURSEOUTLINEREGISTRATION","UPDATE_COURSEOUTLINEREGISTRATION","UPDATE_TEACHER_COURSEOUTLINEREGISTRATION","DELETE_COURSEOUTLINEREGISTRATION","getCourseOutlineRegistrations","getCourseOutlineRegistrationsByFilter","getCourseOutlineRegistrationsByFilterForTable","getCourseOutlineRegistrationsByFilterOnlyCourseOutline","getCourseOutlineRegistration","addCourseOutlineRegistration","updateCourseOutlineRegistration","updateTeacherCourseOutlineRegistration","deleteCourseOutlineRegistration","CourseOutline","CourseOutlineRegistration","ClassSection","studentId","studentCode","enrollDate","totalCredit","totalDropCredit","source","setStudentEnrolls","setStudentEnroll","GET_STUDENTENROLL","GET_STUDENTENROLLS","GET_STUDENTENROLL_BY_FILTER","ADD_STUDENTENROLL","ADD_STUDENTENROLLS_UPLOAD","ADD_STUDENTENROLL_WITH_STUDENTENROLLDETAILS","UPDATE_STUDENTENROLL","DELETE_STUDENTENROLL","getStudentEnrolls","getStudentEnrollsByFilter","getStudentEnroll","addStudentEnroll","addStudentEnrollsUpload","updateStudentEnroll","deleteStudentEnroll","addStudentEnrollWithStudentEnrollDetails","errorPolicy","uploadStudentEnrollSpreadsheet","formData","FormData","append","file","substring","lastIndexOf","lastModified","axios","method","subscribeEndPoint","eventSource","EventSource","onmessage","lastEventId","close","GET_EXAMQUESTION_LIST_BY_FILTER","getExamQuestionListByFilter","getExamQuestionsByFilter","addExam","ADD_EXAM","uploadExaminationQuestionSpreadsheet","GET_CLASSROOMTYPES","GET_CLASSROOMTYPE","ADD_CLASSROOMTYPE","UPDATE_CLASSROOMTYPE","DELETE_CLASSROOMTYPE","classRoomType","capacity","classRoomTypes","setClassRoomTypes","setClassRoomType","setSelectedClassRoomType","clearSelectedClassRoomType","getClassRoomTypes","getClassRoomType","addClassRoomType","updateClassRoomType","deleteClassRoomType","selectedClassRoomType","GET_CLASSROOMSOWNED","GET_AVAILABLE_CLASSROOMSOWNED","GET_CLASSROOMOWNED","ADD_CLASSROOMOWNED","UPDATE_CLASSROOMOWNED","DELETE_CLASSROOMOWNED","classRoomOwned","inUseClassRoomQty","availableClassRoomQty","maxClassRoomQty","startDate","endDate","classRoomTypeId","classRoomsOwned","availableClassRoomsOwned","setClassRoomsOwned","setAvailableClassRoomsOwned","setClassRoomOwned","setSelectedClassRoomOwned","clearSelectedClassRoomOwned","getClassRoomsOwned","getAvailableClassRoomsOwned","getClassRoomOwned","addClassRoomOwned","updateClassRoomOwned","deleteClassRoomOwned","selectedClassRoomOwned","curriculumId","facultyId","departmentId","prefixId","firstNameLocal","lastNameLocal","firstNameEng","lastNameEng","gender","telephone","email","birthDate","citizenId","projectId","studentStatusId","examLocation","userId","students","setStudents","setStudent","getStudents","getStudentsByCodeOrName","getStudent","addStudent","addStudentsUpload","updateStudent","deleteStudent","studentScore","fullScore","totalScore","studentScoreDetails","studentScores","setStudentScores","setStudentScore","GET_STUDENTSCORE","GET_STUDENTSCORES_BY_FILTER","GET_STUDENTSCORES_FOR_TEACHER","GET_STUDENTSCORES","ADD_STUDENTSCORE","UPDATE_STUDENTSCORE","UPDATE_STUDENTSCORE_ARRAY","DELETE_STUDENTSCORE","getStudentScores","getStudentScoresByFilter","getStudentScoresForTeacher","getStudentScore","addStudentScore","updateStudentScore","updateStudentScoreArray","deleteStudentScore","studentUnitLearn","totalLearnTime","learnPercent","studentTopicLearns","studentUnitLearns","setStudentUnitLearns","setStudentUnitLearn","GET_STUDENTUNITLEARN","GET_STUDENTUNITLEARNS_BY_FILTER","GET_STUDENTUNITLEARNS","ADD_STUDENTUNITLEARN","UPDATE_STUDENTUNITLEARN","getStudentUnitLearns","getStudentUnitLearnsByFilter","getStudentUnitLearn","addStudentUnitLearn","updateStudentUnitLearn","studentTopicLearn","vdoSetTopic","learnTime","firstPlayVdo","startPlayVdo","stopPlayVdo","setStudentTopicLearns","setStudentTopicLearn","GET_STUDENTTOPICLEARN","GET_STUDENTTOPICLEARNS_BY_FILTER","GET_STUDENTTOPICLEARNS","ADD_STUDENTTOPICLEARN","UPDATE_STUDENTTOPICLEARN","getStudentTopicLearns","getStudentTopicLearnsByFilter","getStudentTopicLearn","addStudentTopicLearn","updateStudentTopicLearn","preTestExpectScore","postTestExpectScore","unitAgenda","unitObjective","unitReference","setCourseOutlineUnits","setCourseOutlineUnit","GET_COURSEOUTLINEUNIT","GET_COURSEOUTLINEUNITS","ADD_COURSEOUTLINEUNIT","UPDATE_COURSEOUTLINEUNIT","DELETE_COURSEOUTLINEUNIT","getCourseOutlineUnits","getCourseOutlineUnit","addCourseOutlineUnit","updateCourseOutlineUnit","deleteCourseOutlineUnit","GET_INFO_GROUPS","GET_INFO_GROUP","ADD_INFO_GROUP","UPDATE_INFO_GROUP","DELETE_INFO_GROUP","getInfoGroups","getInfoGroup","addInfoGroup","updateInfoGroup","deleteInfoGroup","Vuesax","AppActiveUser","bodyOverlay","isVerticalNavMenuActive","navbarSearchAndPinList","reduceButton","verticalNavMenuWidth","verticalNavMenuItemsMin","scrollY","starredPages","page","is_bookmarked","themePrimaryColor","windowWidth","windowBreakPoint","scrollbarTag","is_touch_device","TOGGLE_IS_VERTICAL_NAV_MENU_ACTIVE","TOGGLE_REDUCE_BUTTON","UPDATE_MAIN_LAYOUT_TYPE","UPDATE_VERTICAL_NAV_MENU_ITEMS_MIN","UPDATE_VERTICAL_NAV_MENU_WIDTH","width","UPDATE_STARRED_PAGE","ARRANGE_STARRED_PAGES_LIMITED","list","starredPagesMore","ARRANGE_STARRED_PAGES_MORE","downToUp","lastItemInStarredLimited","starredPagesLimited","indexOf","TOGGLE_CONTENT_OVERLAY","UPDATE_PRIMARY_COLOR","UPDATE_THEME","UPDATE_WINDOW_WIDTH","UPDATE_WINDOW_SCROLL_Y","UPDATE_USER_INFO","userInfo","keys","setItem","updateVerticalNavMenuWidth","updateStarredPage","arrangeStarredPagesLimited","arrangeStarredPagesMore","toggleContentOverlay","updateTheme","updateUserInfo","Vuex","Store","changeLanguage","$i18n","locale","currentLocale","setLanguage","register","moduleName","User","VdoSet","VdoSetUnit","VdoSetTopic","CommonData","Profile","Courses","StudentEnroll","StudentEnrollDetail","Examination","ClassRoomType","ClassRoomOwned","ClassRoom","AcademicPeriodConfig","LiveClassSchedule","VdoLiveSet","VdoLiveSetTopic","Exam","ExamQuestionType","ClassAssignment","ClassMaterial","StudentAssignment","StudentScore","StudentUnitLearn","StudentTopicLearn","Assessment","CourseOutlineAssessment","CourseOutlineUnit","Upload","CourseFaq","WebBoard","WebBoardReply","PrivateMessage","PrivateMessageReply","Notification","AdvisorOnlineSchedule","InfoGroup","InfoTopic","YeaLinkImportDate","SystemConfig","strict","webpackContext","req","webpackContextResolve","courseFaqs","setCourseFaqs","GET_COURSE_FAQ","GET_COURSE_FAQS","GET_COURSE_FAQS_BY_FILTER","GET_COURSE_FAQS_BY_FILTER_CURRENT_TEACHER","ADD_COURSE_FAQ","UPDATE_COURSE_FAQ","DELETE_COURSE_FAQ","getCourseFaqs","getCourseFAQs","getCourseFaq","getCourseFAQ","getCourseFaqsByFilter","getCourseFAQsByFilter","getCourseFaqsByFilterCurrentTeacher","getCourseFAQsByFilterCurrentTeacher","addCourseFaq","addCourseFAQ","question","updateCourseFaq","updateCourseFAQ","deleteCourseFaq","deleteCourseFAQ","vueAppClasses","setAppClasses","toggleClassInBody","documentElement","className","body","match","classList","remove","add","classesStr","handleWindowResize","$store","innerWidth","style","setProperty","handleScroll","destroyed","removeEventListener","observable","constants","envs","developing","eventbus","$flatmap","Map","restore","parent","prev","_q","components","FormElement","requires","_i","$$a","$$el","$$c","checked","$$v","$$i","searchKey","handleInput","resultList","handleSelect","input","Function","inputHandler","Block","BlockGroup","InputBox","TextArea","SelectBox","RadioBox","CheckBox","SearchBox","PageTitle","rule","ValidationProvider","ValidationObserver","rules","extend","loadLocale","localize","validate","other","params","isTarget","ref","mouseleavex","mouseenterx","destroy","positionx","noneAfter","insertBody","elx","insertBefore","firstChild","removeBody","element","bodyx","changePosition","content","conditional","topx","leftx","widthx","scrollTopx","pageYOffset","scrollTop","getBoundingClientRect","top","innerHeight","clientHeight","left","offsetWidth","cords","delay","transitionDelay","active","background","$nextTick","utils","tooltip","clientWidth","Math","sign","_g","tempHidden","noShadow","noRadius","cardBorder","cardClasses","$listeners","$props","titleClasses","subtitleClasses","subtitle","actionButtons","collapseAction","refreshContentAction","removeCardAction","codeToggler","rotate180","isContentCollapsed","toggleContent","refreshcard","removeCard","showCode","toggleCode","collapsed","$vs","codeLanguage","rtlSpecificIcon","isRTL","route","meta","breadcrumb","slots","prependClasses","appendClasses","VxTooltip","VxCard","VxList","VxBreadcrumb","FeatherIcon","VxInputGroup","vSelect","Deselect","svgClasses","OpenIndicator","VueClipboard","VueHammer","toString","arr","capitalized_array","forEach","word","capitalized","charAt","toUpperCase","join","replacer","limit","tail","is24HrFormat","moment","format","fullDate","showYear","regx","exec","replace","toFixed","lineClamp","Clipboard","productionTip","$http","$constants","$env","$developing","$debug","setDebugStatus","$features","$context","$currentUser","$cache","$eventbus","vm","router","h","App","$mount","$vm","studentAssignment","studentSendDate","isTeacherReceive","dueDate","uploadPath","uploadPathUri","uploadFileName","studentAssignments","setStudentAssignments","setStudentAssignment","GET_STUDENTASSIGNMENT","GET_STUDENTASSIGNMENTS_BY_FILTER","GET_STUDENTASSIGNMENTS","ADD_STUDENTASSIGNMENT","UPDATE_STUDENTASSIGNMENT","UPDATE_STUDENTASSIGNMENT_TEACHER_RECEIVE","DELETE_STUDENTASSIGNMENT","getStudentAssignments","getStudentAssignmentsByFilter","getStudentAssignment","addStudentAssignment","updateStudentAssignment","updateStudentAssignmentTeacherReceive","deleteStudentAssignment","webBoards","setWebBoards","GET_WEB_BOARD","GET_WEB_BOARDS","GET_WEB_BOARDS_BY_FILTER","ADD_WEB_BOARD","UPDATE_WEB_BOARD","UPDATE_REPLY_TO_WEB_BOARD","UPDATE_WEB_BOARD_ALREADY_READ","UPDATE_WEB_BOARD_HIT_RATE","DELETE_WEB_BOARD","getWebBoards","getWebBoard","getWebBoardsByFilter","addWebBoard","topic","updateWebBoard","updateReplyToWebBoard","updateWebBoardHitCount","updateWebBoardAlreadyRead","deleteWebBoard","GET_SUBJECT_BY_CODE_OR_NAME","composing","min","small","dataType","outputMode","field","multipleValues","preserveDataType","transform","parseInt","privateMessages","privateMessagesSendTo","privateMessagesSendFrom","coursesOfPrivateMessage","setPrivateMessages","setPrivateMessagesSendTo","setPrivateMessagesSendFrom","setCoursesOfPrivateMessage","GET_PRIVATE_MESSAGE","GET_PRIVATE_MESSAGES","GET_PRIVATE_MESSAGES_BY_FILTER","GET_PRIVATE_MESSAGES_SEND_TO_CURRENT_USER","GET_PRIVATE_MESSAGES_SEND_FROM_CURRENT_USER","GET_COURSES_OF_PRIVATE_MESSAGES_CURRENT_STUDENT","GET_COURSES_OF_PRIVATE_MESSAGES_CURRENT_TEACHER","ADD_PRIVATE_MESSAGE","UPDATE_PRIVATE_MESSAGE","UPDATE_PRIVATE_MESSAGE_ALREADY_READ","DELETE_PRIVATE_MESSAGE","getPrivateMessages","getPrivateMessage","getPrivateMessagesByFilter","getPrivateMessagesSendToCurrentUser","getPrivateMessagesSendFromCurrentUser","getCoursesOfPrivateMessageCurrentStudent","getCoursesOfPrivateMessagesCurrentStudent","getCourseOfPrivateMessagesCurrentTeacher","getCoursesOfPrivateMessagesCurrentTeacher","addPrivateMessage","updatePrivateMessage","updatePrivateMessageAlreadyRead","deletePrivateMessage","domain","instance","interceptors","GET_CURRENT_USER","FORGOT_PASSWORD","RESET_PASSWORD","RESET_PASSWORD_CURRENT_USER","REGISTER","GET_USER_PROFILE_SHARING_URL_ONCE","GET_USER_PUBLIC_PROFILE","selectCourseToLearn","login","forgotPassword","resetPassword","signOut","getCurrentUser","initUser","shareUserProfileOnce","getPublicProfile","resetPasswordCurrentUser","credential","response","changePassword","$router","username","changePasswordReason","oldPassword","password","token","rsc","finally","removeItem","$route","fullPath","location","pathname","user","assign","currentUser","rootState","profile","getUserProfileSharingUrlOnce","getUserPublicProfile","currentLearningCourse","loginError","loginStatus","forgotMailSuccess","resetPasswordSuccess","setCourseToLearn","setCurrentUser","setToken","setLogout","setLoginError","setLoginStatus","setForgotMailSuccess","setResetPasswordSuccess","setUser","setProfile","removeUserState","removeUserProfile","GET_SUBJECTGROUPS","GET_SUBJECTGROUP","ADD_SUBJECTGROUP","UPDATE_SUBJECTGROUP","DELETE_SUBJECTGROUP","subjectGroup","subjectGroups","searchSubjectGroupResults","setSubjectGroups","setSubjectGroup","setSelectedSubjectGroup","setSearchSubjectGroupResults","clearSelectedSubjectGroup","getSubjectGroups","getSubjectGroup","degree","faculty","searchSubjectGroups","_","addSubjectGroup","updateSubjectGroup","deleteSubjectGroup","selectedSubjectGroup","availableTime","socialMedia","isSpecialTeacher","isActive","teachers","teachersDdl","searchTeacherResults","setTeachers","setTeachersDdl","setTeacher","setSelectedTeacher","setSearchTeacherResults","clearSelectedTeacher","getTeachers","getTeachersDdl","getTeachersByFilter","getTeachersByFilterNotUseState","getTeacher","searchTeachers","addTeacher","updateTeacher","deleteTeacher","selectedTeacher","studentRegisterQty","studentQty","vdoSetCode","startClassDate","classMaterials","classAssignments","classRoom","setClassSections","setClassSection","GET_CLASSSECTION","GET_CLASSSECTIONS","GET_CLASSSECTIONS_BY_FILTER","GET_CLASSSECTIONS_BY_STUDENT_NOT_REGISTER","ADD_CLASSSECTION","UPDATE_CLASSSECTION","DELETE_CLASSSECTION","getClassSections","getClassSectionsByFilter","getClassSectionsByStudentNotRegister","getClassSection","getClassSectionForLearning","addClassSection","updateClassSection","deleteClassSection","VueI18n","messages","en","th","x","fallbackLocale","setVdoSetTopics","setVdoSetTopic","GET_VDOSETTOPIC","GET_VDOSETTOPICS_BY_FILTER","GET_VDOSETTOPICS","ADD_VDOSETTOPIC","UPDATE_VDOSETTOPIC","UPDATE_ONLY_VDOSETTOPIC","DELETE_VDOSETTOPIC","DELETE_ONLY_VIDEO","getVdoSetTopics","getVdoSetTopicsByFilter","getVdoSetTopic","addVdoSetTopic","updateVdoSetTopic","updateOnlyVdoSetTopic","deleteVdoSetTopic","deleteOnlyVideo","examQuestionType","examQuestionTypes","setExamQuestionTypes","setExamQuestionType","GET_EXAMQUESTIONTYPE","GET_EXAMQUESTIONTYPES","ADD_EXAMQUESTIONTYPE","UPDATE_EXAMQUESTIONTYPE","DELETE_EXAMQUESTIONTYPE","getExamQuestionTypes","getExamQuestionType","addExamQuestionType","updateExamQuestionType","deleteExamQuestionType","addTeachersUpload","vdoLiveSetTopic","vdoLiveSetTopicId","setVdoLiveSetTopics","setVdoLiveSetTopic","GET_VDOLIVESETTOPIC","GET_VDOLIVESETTOPICS_BY_FILTER","GET_VDOLIVESETTOPICS","ADD_VDOLIVESETTOPIC","UPDATE_VDOLIVESETTOPIC","DELETE_VDOLIVESETTOPIC","getVdoLiveSetTopics","getVdoLiveSetTopicsByFilter","getVdoLiveSetTopic","addVdoLiveSetTopic","updateVdoLiveSetTopic","deleteVdoLiveSetTopic","path","children","pageTitle","no_scroll","to","from","next","Router","base","scrollBehavior","y","routes","beforeEnter","AuthRequired","redirect","addRoutes","afterEach","appLoading","getElementById","display","classSectionId","setClassMaterials","setClassMaterial","GET_CLASSMATERIAL","GET_CLASSMATERIALS_BY_FILTER","GET_CLASSMATERIALS","ADD_CLASSMATERIAL","UPDATE_CLASSMATERIAL","DELETE_CLASSMATERIAL","getClassMaterials","getClassMaterialsByFilter","getClassMaterial","addClassMaterial","updateClassMaterial","deleteClassMaterial","uploadMaterial","entity","e_code","stage","r_stage","file1","notifications","setNotifications","GET_NOTIFICATION_CURRENT_USER","getNotificationCurrentUser","webpackAsyncContext","ids","classRoomOwnedId","courseOutlineRegistrationId","isAvailable","classRooms","setClassRooms","setClassRoom","getClassRooms","GET_CLASSROOMS","getAvailableClassRooms","GET_AVAILABLE_CLASSROOMS","getClassRoomsByFilter","GET_CLASSROOMS_BY_FILTER","getClassRoomsByFilterOnlyCanLearn","getLearningClassRooms","GET_LEARNING_CLASSROOMS","getClassRoomsByStudentNotRegister","GET_CLASSROOMS_BY_STUDENT_NOT_REGISTER","getClassRoom","GET_CLASSROOM","addClassRoom","ADD_CLASSROOM","updateClassRoom","UPDATE_CLASSROOM","deleteClassRoom","DELETE_CLASSROOM","GET_ACADEMICPERIOD","GET_ACADEMICPERIODS","ADD_ACADEMICPERIOD","UPDATE_ACADEMICPERIOD","DELETE_ACADEMICPERIOD","academicPeriod","year","semester","academicPeriods","setAcademicPeriods","setAcademicPeriod","getAcademicPeriods","getAcademicPeriod","addAcademicPeriod","updateAcademicPeriod","deleteAcademicPeriod","topicEng","setClassAssignments","setClassAssignment","GET_CLASSASSIGNMENT","GET_CLASSASSIGNMENTS_BY_FILTER","GET_CLASSASSIGNMENTS","CHECK_CAN_DELETE","ADD_CLASSASSIGNMENT","UPDATE_CLASSASSIGNMENT","DELETE_CLASSASSIGNMENT","getClassAssignments","getClassAssignmentsByFilter","getClassAssignment","checkCanDelete","addClassAssignment","updateClassAssignment","deleteClassAssignment","uploadAssignment","exam","degreeCode","subjectGroupCode","QuestionQty","QuestionMultiQty","QuestionTrueFalseQty","setExams","setExam","getExams","GET_EXAMS","getExamsByFilter","GET_EXAMS_BY_FILTER","getExam","GET_EXAM","addExamsUpload","ADD_EXAMS_UPLOAD","updateExam","UPDATE_EXAM","deleteExam","DELETE_EXAM","ADD_UPLOAD_YEALINK_IMPORT_DATA","ADD_UPLOAD_YEALINK_LEARN_TIME","addUploadYeaLinkImportData","addUploadYeaLinkLearnTime","pages","freeHeight","borderless","styles","hasControllerSlot","setVdoSets","setVdoSet","GET_VDOSETS_BY_FILTER","GET_VDOSETS","GET_VDOSET","ADD_VDOSET","UPDATE_VDOSET","DELETE_VDOSET","getVdoSets","getVdoSetsByFilter","getVdoSet","addVdoSet","updateVdoSet","deleteVdoSet","getToken","stageParser","GET_DEGREES","GET_DEGREE","ADD_DEGREE","UPDATE_DEGREE","DELETE_DEGREE","degrees","searchDegreeResults","setDegrees","setDegree","setSelectedDegree","setSearchDegreeResults","clearSelectedDegree","getDegrees","getDegree","searchDegrees","addDegree","updateDegree","deleteDegree","selectedDegree","getSubjectsByCodeOrName","privateMessageReplies","setPrivateMessageReplies","GET_PRIVATE_MESSAGE_REPLY","GET_PRIVATE_MESSAGE_REPLIES","GET_PRIVATE_MESSAGE_REPLIES_BY_FILTER","ADD_PRIVATE_MESSAGE_REPLY","UPDATE_PRIVATE_MESSAGE_REPLY","UPDATE_PRIVATE_MESSAGE_REPLY_ALREADY_READ","DELETE_PRIVATE_MESSAGE_REPLY","getPrivateMessageReplies","getPrivateMessageReplyReplies","getPrivateMessageReply","getPrivateMessageRepliesByFilter","addPrivateMessageReply","updatePrivateMessageReply","updatePrivateMessageReplyAlreadyRead","deletePrivateMessageReply","GET_INFO_TOPIC","GET_INFO_TOPICS","GET_INFO_TOPIC_BY_INFO_GROUP_ID","GET_INFO_TOPICS_STUDENT_FIRST_PAGE","GET_INFO_TOPICS_TEACHER_FIRST_PAGE","GET_RECENT_INFO_TOPICS_FOR_STUDENT","GET_RECENT_INFO_TOPICS_FOR_TEACHER","ADD_INFO_TOPIC","UPDATE_INFO_TOPIC","DELETE_INFO_TOPIC","getInfoTopics","infoTopic","getInfoTopicsStudentFirstPage","getInfoTopicsTeacherFirstPage","getRecentInfoTopicsForStudent","getRecentInfoTopicsForTeacher","getInfoTopic","getInfoTopicByInfoGroupID","getInfoTopicsByInfoGroup","addInfoTopic","updateInfoTopic","deleteInfoTopic","inline","darken","f","R","G","B","round","getColor","colorx","alphax","defaultx","test","hexToRgb","g","b","search","isColor","vscolors","includes","RandomColor","getRandomInt","max","floor","random","rColor","opacity","colorSplit","contrastColor","elementx","rgbx","rgb","yiq","setCssVariable","propertyName","hex","shorthandRegex","getVariable","getPropertyValue","trim","changeColor","colorInicial","colores","getComputedStyle","DataStore","idbName","userUUID","idb","VuexStore","createIndexedDBHelper","idbSchemaVersion","Date","getTime","idbSchema","message_list","message_topic","message_state","notification_list","notification","dexie","openIDB","dbName","Dexie","version","stores","pool","timestamp","topicId","onClient","put","channel","load","newData","save","listname","timers","throttleTimer","fn","Message","unify_id","opts","init","toArray","extra","id_escaped","_id","_data","createListData","internal_id","set","createTopicData","createMessageData","apiCallBuffer","prevData","dataAdaptorSelector","EventBus","stateOfType","checksum","update","__data","processPMTopicData","processChatTopicData","processWebboardTopicData","sendFrom","unread","date","processPMMessageData","readDate","fromUser","uuid","fromUserCode","sendDate","__typename","createDataStore"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,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BAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,i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","file":"js/app.c4f194ba.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-08e17e6f\":\"10577acc\",\"chunk-0d024e80\":\"f9bc8aef\",\"chunk-11060304\":\"3d18fd82\",\"chunk-11a95bc5\":\"5bcfd0dd\",\"chunk-1234bf71\":\"545e5d3e\",\"chunk-1af8071d\":\"87017e79\",\"chunk-1c59539a\":\"e5d7297e\",\"chunk-1eefcaa1\":\"ba3f6c89\",\"chunk-211c2128\":\"f7122c43\",\"chunk-2d0aa566\":\"f9f36ab0\",\"chunk-2d0abe09\":\"3ee41ad8\",\"chunk-2d0aed27\":\"f55f261d\",\"chunk-2d0b2954\":\"586d580b\",\"chunk-2d0b2993\":\"92c03a2a\",\"chunk-2d0b39cb\":\"6b87c101\",\"chunk-2d0b6719\":\"4c4a8bf9\",\"chunk-2d0b8ddc\":\"b5647837\",\"chunk-2d0b919c\":\"47589b46\",\"chunk-2d0ba1c4\":\"4237a243\",\"chunk-2d0ba462\":\"e70669ef\",\"chunk-2d0ba757\":\"33b88d81\",\"chunk-2d0bae13\":\"ec235866\",\"chunk-2d0bd263\":\"46ba2974\",\"chunk-2d0be317\":\"1a6659d1\",\"chunk-2d0c4c35\":\"797ea1b5\",\"chunk-2d0c7ce7\":\"728bd451\",\"chunk-2d0c7e55\":\"3716c2fe\",\"chunk-2d0c8069\":\"db9d3f6d\",\"chunk-2d0c89cb\":\"6ec8432e\",\"chunk-2d0c8c20\":\"34ebcc75\",\"chunk-2d0cbc5a\":\"808c3de7\",\"chunk-2d0ced80\":\"f19df2fe\",\"chunk-2d0cfae2\":\"7bca895a\",\"chunk-2d0d2ae8\":\"a99f9995\",\"chunk-2d0d30f4\":\"c4c43dc1\",\"chunk-2d0d3a96\":\"0b34d95e\",\"chunk-2d0d3c19\":\"70a8248e\",\"chunk-2d0d3fb6\":\"92052d7d\",\"chunk-2d0d61dc\":\"8a11dc23\",\"chunk-2d0db867\":\"a4596954\",\"chunk-2d0de343\":\"a1e3e3e1\",\"chunk-2d0de940\":\"1626cb40\",\"chunk-2d0e1459\":\"76156b8b\",\"chunk-2d0e59b3\":\"dfcaf147\",\"chunk-2d0e998d\":\"b4c8c341\",\"chunk-2d213356\":\"ff104493\",\"chunk-2d217318\":\"91024c6c\",\"chunk-2d217c5f\":\"fccafc91\",\"chunk-2d21b4cb\":\"df6bdbde\",\"chunk-2d21e012\":\"8186ed80\",\"chunk-2d21e3c8\":\"2966756e\",\"chunk-2d21e599\":\"8f7ef837\",\"chunk-2d224d0e\":\"8369b680\",\"chunk-2d2250de\":\"4d62f6af\",\"chunk-2d2254d0\":\"bbb45fee\",\"chunk-2d2259b9\":\"19af35ee\",\"chunk-2d226ccb\":\"8bf20aea\",\"chunk-2d228ff3\":\"d6fa3b95\",\"chunk-2d2299c9\":\"4461c84b\",\"chunk-2d22c341\":\"e3312f46\",\"chunk-2d22cc61\":\"f2a239b0\",\"chunk-2d22d0a1\":\"f63a40d8\",\"chunk-2d230321\":\"84f6df0a\",\"chunk-2d230445\":\"52c40fe5\",\"chunk-2d238295\":\"5dad258b\",\"chunk-33779261\":\"533c80ae\",\"chunk-3c9a7968\":\"5e1847e3\",\"chunk-3ff79914\":\"c9fc2001\",\"chunk-422a5aa3\":\"f28cff8e\",\"chunk-7d17c123\":\"1e0bc93c\",\"chunk-43e38426\":\"b3681eda\",\"chunk-2d0c4267\":\"3704d620\",\"chunk-2d20fcaa\":\"c7a7fea3\",\"chunk-4b958052\":\"0ba0dd12\",\"chunk-5809f543\":\"f92410e2\",\"chunk-58c50c4f\":\"9aa0fd13\",\"chunk-59c47205\":\"00adb8a8\",\"chunk-5f634aa5\":\"37ba724e\",\"chunk-6e83591c\":\"43f6310a\",\"chunk-074d095a\":\"aa256c05\",\"chunk-2d237151\":\"2d689be8\",\"chunk-58df1ed8\":\"36ad73cc\",\"chunk-4d1ef243\":\"0d934d3f\",\"chunk-678d85cf\":\"da85e6cd\",\"chunk-1f8eb7de\":\"664cedf3\",\"chunk-6f640aec\":\"edb3b40d\",\"chunk-43a8a956\":\"4cc89770\",\"chunk-27a72474\":\"04863113\",\"chunk-accaa826\":\"2d847abd\",\"chunk-554eed34\":\"7378c9c6\",\"chunk-701ccce2\":\"4b772d29\",\"chunk-72795c6e\":\"c03ebae5\",\"chunk-500bdad0\":\"21efd980\",\"chunk-758c5cb3\":\"9825d925\",\"chunk-835f9168\":\"be4274e6\",\"chunk-8e533722\":\"7605e2a9\",\"chunk-9c18c70a\":\"66c8400b\",\"chunk-9d207e86\":\"e52e30b0\",\"chunk-b8eeaaf8\":\"046b7603\",\"chunk-e28f3a72\":\"d2a95b0b\",\"chunk-b8205fbe\":\"403389fd\",\"chunk-10b320ba\":\"16840e49\",\"chunk-2d0b1c42\":\"daf9ea55\",\"chunk-0035fbe6\":\"593c2b71\",\"chunk-1693b4d3\":\"38e0ecae\",\"chunk-2d0d6f81\":\"3df6c246\",\"chunk-20b1bc4e\":\"ff953347\",\"chunk-2908ea5a\":\"dde5e8fa\",\"chunk-2d0a3348\":\"f79b206e\",\"chunk-2d0a3925\":\"fe09507c\",\"chunk-2d0ac37d\":\"4b19b977\",\"chunk-2d0b2186\":\"17ae4fad\",\"chunk-2d0b3a49\":\"9dd32551\",\"chunk-2d0b6c6a\":\"d794ee61\",\"chunk-2d0bdd5a\":\"9dc7444c\",\"chunk-2d0c0331\":\"dca35f99\",\"chunk-2d0d2bdb\":\"76c14d23\",\"chunk-2d0d34f0\":\"58d188e3\",\"chunk-2d0d67b2\":\"1a4941a3\",\"chunk-2d0da950\":\"30a87c1f\",\"chunk-2d0dd5ff\":\"93002a6f\",\"chunk-2d0e13df\":\"7c33a5f0\",\"chunk-2d0e5b65\":\"9077758a\",\"chunk-2d208308\":\"8a3d2c95\",\"chunk-2d2093f6\":\"0a934ba2\",\"chunk-2d216217\":\"68ba00f2\",\"chunk-2d216b08\":\"afac5824\",\"chunk-2d21e5a8\":\"06a91c93\",\"chunk-2d21ee69\":\"e2778f98\",\"chunk-2d21f46f\":\"190c7e7e\",\"chunk-2d221e06\":\"9099fa88\",\"chunk-2d22d425\":\"3d658e26\",\"chunk-2d22d93a\":\"04d27ef2\",\"chunk-2d2300b6\":\"51c49559\",\"chunk-31aed189\":\"734825e7\",\"chunk-35279913\":\"0a5d99bb\",\"chunk-1edc9853\":\"27d6d7fa\",\"chunk-2d0b28f8\":\"5fbe39fb\",\"chunk-c2f7b7ae\":\"80b1bcf4\",\"chunk-38e3a604\":\"aa3c7444\",\"chunk-2d0e5b90\":\"c01c12c7\",\"chunk-427a405f\":\"569fd1dc\",\"chunk-4670fcf2\":\"becf60b1\",\"chunk-4b6c83ec\":\"798737ea\",\"chunk-4f32c61c\":\"d643c3a2\",\"chunk-08c62c44\":\"4214b86a\",\"chunk-22206eb1\":\"78239d5e\",\"chunk-604119ed\":\"d3884a32\",\"chunk-0aac606e\":\"114f121d\",\"chunk-7c3888a6\":\"d557e2e5\",\"chunk-5332c8e6\":\"85942641\",\"chunk-43119527\":\"4e185102\",\"chunk-5a5e2751\":\"cd375556\",\"chunk-5d43f072\":\"418fba08\",\"chunk-62ee49cc\":\"4219371c\",\"chunk-6859aa07\":\"4325fe16\",\"chunk-2d0a38e6\":\"c8d2d633\",\"chunk-544a2ef7\":\"a45c0220\",\"chunk-41a104c1\":\"b566213b\",\"chunk-718bc452\":\"e2dc3fab\",\"chunk-71f4fc7a\":\"a3210d67\",\"chunk-72341d08\":\"7807f7a6\",\"chunk-73ebb3d8\":\"53f56160\",\"chunk-7704b649\":\"c857c7aa\",\"chunk-9fbf02c8\":\"3b757585\",\"chunk-a2881802\":\"e0d3c8e2\",\"chunk-a786973a\":\"c9e38553\",\"chunk-b4d7df26\":\"324d1adf\",\"chunk-b566d0d6\":\"64722aa3\",\"chunk-ef4208fa\":\"1f76eac5\",\"chunk-f2d280ca\":\"b4b347ce\",\"chunk-4dc53c5f\":\"c6d551f9\",\"chunk-5561e0f0\":\"d343b00e\",\"chunk-66ec5568\":\"5fc50455\",\"chunk-2e8daf04\":\"7893bd0c\",\"chunk-2e37e6b9\":\"d54e392d\",\"chunk-2d2268ba\":\"d240fb60\",\"chunk-2ca9ec59\":\"352cbaf0\",\"chunk-f9015892\":\"dd9db2c5\",\"chunk-2d0d76af\":\"5cef3ab0\",\"chunk-34e75a2a\":\"ab1d62df\",\"chunk-81750e58\":\"168640f5\",\"chunk-f43f0800\":\"e1984def\",\"chunk-2d0cef43\":\"7e7c455c\",\"chunk-2d0ea0f0\":\"83ca0633\",\"chunk-2d0f083e\":\"e8bd17dd\",\"chunk-2d0bac3e\":\"8517ae84\",\"chunk-2d0b2326\":\"06250a7a\",\"chunk-4fd96346\":\"d02c1777\",\"chunk-0d6bfbec\":\"ad11dada\",\"chunk-0d93ca20\":\"fab411a5\",\"chunk-393457e7\":\"246e7825\",\"chunk-2d0c46f3\":\"b47f1692\",\"chunk-3def1785\":\"e3252b29\",\"chunk-4eccc96e\":\"71a31d48\",\"chunk-684e0fca\":\"7956ae4e\",\"chunk-47415fc8\":\"e406f7ac\",\"chunk-1e10513c\":\"a5503ee0\",\"chunk-27d1be99\":\"72126951\",\"chunk-5d6fa82c\":\"17db5a09\",\"chunk-2d2375cf\":\"d5937190\",\"chunk-9da99a30\":\"c713cb7d\",\"chunk-2d0bae79\":\"415313f2\",\"chunk-5747f024\":\"3e61c620\",\"chunk-9cb1b876\":\"180341d0\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-08e17e6f\":1,\"chunk-1234bf71\":1,\"chunk-1c59539a\":1,\"chunk-1eefcaa1\":1,\"chunk-33779261\":1,\"chunk-3ff79914\":1,\"chunk-422a5aa3\":1,\"chunk-58df1ed8\":1,\"chunk-1f8eb7de\":1,\"chunk-6f640aec\":1,\"chunk-27a72474\":1,\"chunk-accaa826\":1,\"chunk-554eed34\":1,\"chunk-500bdad0\":1,\"chunk-835f9168\":1,\"chunk-8e533722\":1,\"chunk-9d207e86\":1,\"chunk-b8205fbe\":1,\"chunk-1693b4d3\":1,\"chunk-20b1bc4e\":1,\"chunk-2908ea5a\":1,\"chunk-35279913\":1,\"chunk-1edc9853\":1,\"chunk-c2f7b7ae\":1,\"chunk-38e3a604\":1,\"chunk-427a405f\":1,\"chunk-4b6c83ec\":1,\"chunk-08c62c44\":1,\"chunk-22206eb1\":1,\"chunk-0aac606e\":1,\"chunk-7c3888a6\":1,\"chunk-43119527\":1,\"chunk-5a5e2751\":1,\"chunk-5d43f072\":1,\"chunk-62ee49cc\":1,\"chunk-544a2ef7\":1,\"chunk-718bc452\":1,\"chunk-72341d08\":1,\"chunk-73ebb3d8\":1,\"chunk-f2d280ca\":1,\"chunk-4dc53c5f\":1,\"chunk-5561e0f0\":1,\"chunk-66ec5568\":1,\"chunk-2e8daf04\":1,\"chunk-2e37e6b9\":1,\"chunk-f43f0800\":1,\"chunk-4fd96346\":1,\"chunk-0d6bfbec\":1,\"chunk-0d93ca20\":1,\"chunk-393457e7\":1,\"chunk-3def1785\":1,\"chunk-4eccc96e\":1,\"chunk-684e0fca\":1,\"chunk-47415fc8\":1,\"chunk-1e10513c\":1,\"chunk-27d1be99\":1,\"chunk-5d6fa82c\":1,\"chunk-9da99a30\":1,\"chunk-5747f024\":1,\"chunk-9cb1b876\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-08e17e6f\":\"40d04d15\",\"chunk-0d024e80\":\"31d6cfe0\",\"chunk-11060304\":\"31d6cfe0\",\"chunk-11a95bc5\":\"31d6cfe0\",\"chunk-1234bf71\":\"40d04d15\",\"chunk-1af8071d\":\"31d6cfe0\",\"chunk-1c59539a\":\"e564a5f8\",\"chunk-1eefcaa1\":\"e9026ae1\",\"chunk-211c2128\":\"31d6cfe0\",\"chunk-2d0aa566\":\"31d6cfe0\",\"chunk-2d0abe09\":\"31d6cfe0\",\"chunk-2d0aed27\":\"31d6cfe0\",\"chunk-2d0b2954\":\"31d6cfe0\",\"chunk-2d0b2993\":\"31d6cfe0\",\"chunk-2d0b39cb\":\"31d6cfe0\",\"chunk-2d0b6719\":\"31d6cfe0\",\"chunk-2d0b8ddc\":\"31d6cfe0\",\"chunk-2d0b919c\":\"31d6cfe0\",\"chunk-2d0ba1c4\":\"31d6cfe0\",\"chunk-2d0ba462\":\"31d6cfe0\",\"chunk-2d0ba757\":\"31d6cfe0\",\"chunk-2d0bae13\":\"31d6cfe0\",\"chunk-2d0bd263\":\"31d6cfe0\",\"chunk-2d0be317\":\"31d6cfe0\",\"chunk-2d0c4c35\":\"31d6cfe0\",\"chunk-2d0c7ce7\":\"31d6cfe0\",\"chunk-2d0c7e55\":\"31d6cfe0\",\"chunk-2d0c8069\":\"31d6cfe0\",\"chunk-2d0c89cb\":\"31d6cfe0\",\"chunk-2d0c8c20\":\"31d6cfe0\",\"chunk-2d0cbc5a\":\"31d6cfe0\",\"chunk-2d0ced80\":\"31d6cfe0\",\"chunk-2d0cfae2\":\"31d6cfe0\",\"chunk-2d0d2ae8\":\"31d6cfe0\",\"chunk-2d0d30f4\":\"31d6cfe0\",\"chunk-2d0d3a96\":\"31d6cfe0\",\"chunk-2d0d3c19\":\"31d6cfe0\",\"chunk-2d0d3fb6\":\"31d6cfe0\",\"chunk-2d0d61dc\":\"31d6cfe0\",\"chunk-2d0db867\":\"31d6cfe0\",\"chunk-2d0de343\":\"31d6cfe0\",\"chunk-2d0de940\":\"31d6cfe0\",\"chunk-2d0e1459\":\"31d6cfe0\",\"chunk-2d0e59b3\":\"31d6cfe0\",\"chunk-2d0e998d\":\"31d6cfe0\",\"chunk-2d213356\":\"31d6cfe0\",\"chunk-2d217318\":\"31d6cfe0\",\"chunk-2d217c5f\":\"31d6cfe0\",\"chunk-2d21b4cb\":\"31d6cfe0\",\"chunk-2d21e012\":\"31d6cfe0\",\"chunk-2d21e3c8\":\"31d6cfe0\",\"chunk-2d21e599\":\"31d6cfe0\",\"chunk-2d224d0e\":\"31d6cfe0\",\"chunk-2d2250de\":\"31d6cfe0\",\"chunk-2d2254d0\":\"31d6cfe0\",\"chunk-2d2259b9\":\"31d6cfe0\",\"chunk-2d226ccb\":\"31d6cfe0\",\"chunk-2d228ff3\":\"31d6cfe0\",\"chunk-2d2299c9\":\"31d6cfe0\",\"chunk-2d22c341\":\"31d6cfe0\",\"chunk-2d22cc61\":\"31d6cfe0\",\"chunk-2d22d0a1\":\"31d6cfe0\",\"chunk-2d230321\":\"31d6cfe0\",\"chunk-2d230445\":\"31d6cfe0\",\"chunk-2d238295\":\"31d6cfe0\",\"chunk-33779261\":\"864cefa8\",\"chunk-3c9a7968\":\"31d6cfe0\",\"chunk-3ff79914\":\"a3da8beb\",\"chunk-422a5aa3\":\"279ea91d\",\"chunk-7d17c123\":\"31d6cfe0\",\"chunk-43e38426\":\"31d6cfe0\",\"chunk-2d0c4267\":\"31d6cfe0\",\"chunk-2d20fcaa\":\"31d6cfe0\",\"chunk-4b958052\":\"31d6cfe0\",\"chunk-5809f543\":\"31d6cfe0\",\"chunk-58c50c4f\":\"31d6cfe0\",\"chunk-59c47205\":\"31d6cfe0\",\"chunk-5f634aa5\":\"31d6cfe0\",\"chunk-6e83591c\":\"31d6cfe0\",\"chunk-074d095a\":\"31d6cfe0\",\"chunk-2d237151\":\"31d6cfe0\",\"chunk-58df1ed8\":\"bee3619c\",\"chunk-4d1ef243\":\"31d6cfe0\",\"chunk-678d85cf\":\"31d6cfe0\",\"chunk-1f8eb7de\":\"82a270bb\",\"chunk-6f640aec\":\"7eee7a7e\",\"chunk-43a8a956\":\"31d6cfe0\",\"chunk-27a72474\":\"3b4314f3\",\"chunk-accaa826\":\"0a8b23fb\",\"chunk-554eed34\":\"b306ebb3\",\"chunk-701ccce2\":\"31d6cfe0\",\"chunk-72795c6e\":\"31d6cfe0\",\"chunk-500bdad0\":\"17cccc8f\",\"chunk-758c5cb3\":\"31d6cfe0\",\"chunk-835f9168\":\"40d04d15\",\"chunk-8e533722\":\"cea75bec\",\"chunk-9c18c70a\":\"31d6cfe0\",\"chunk-9d207e86\":\"d65840e7\",\"chunk-b8eeaaf8\":\"31d6cfe0\",\"chunk-e28f3a72\":\"31d6cfe0\",\"chunk-b8205fbe\":\"d65840e7\",\"chunk-10b320ba\":\"31d6cfe0\",\"chunk-2d0b1c42\":\"31d6cfe0\",\"chunk-0035fbe6\":\"31d6cfe0\",\"chunk-1693b4d3\":\"83dc9a60\",\"chunk-2d0d6f81\":\"31d6cfe0\",\"chunk-20b1bc4e\":\"7d3d8dd8\",\"chunk-2908ea5a\":\"ceac1e21\",\"chunk-2d0a3348\":\"31d6cfe0\",\"chunk-2d0a3925\":\"31d6cfe0\",\"chunk-2d0ac37d\":\"31d6cfe0\",\"chunk-2d0b2186\":\"31d6cfe0\",\"chunk-2d0b3a49\":\"31d6cfe0\",\"chunk-2d0b6c6a\":\"31d6cfe0\",\"chunk-2d0bdd5a\":\"31d6cfe0\",\"chunk-2d0c0331\":\"31d6cfe0\",\"chunk-2d0d2bdb\":\"31d6cfe0\",\"chunk-2d0d34f0\":\"31d6cfe0\",\"chunk-2d0d67b2\":\"31d6cfe0\",\"chunk-2d0da950\":\"31d6cfe0\",\"chunk-2d0dd5ff\":\"31d6cfe0\",\"chunk-2d0e13df\":\"31d6cfe0\",\"chunk-2d0e5b65\":\"31d6cfe0\",\"chunk-2d208308\":\"31d6cfe0\",\"chunk-2d2093f6\":\"31d6cfe0\",\"chunk-2d216217\":\"31d6cfe0\",\"chunk-2d216b08\":\"31d6cfe0\",\"chunk-2d21e5a8\":\"31d6cfe0\",\"chunk-2d21ee69\":\"31d6cfe0\",\"chunk-2d21f46f\":\"31d6cfe0\",\"chunk-2d221e06\":\"31d6cfe0\",\"chunk-2d22d425\":\"31d6cfe0\",\"chunk-2d22d93a\":\"31d6cfe0\",\"chunk-2d2300b6\":\"31d6cfe0\",\"chunk-31aed189\":\"31d6cfe0\",\"chunk-35279913\":\"d65840e7\",\"chunk-1edc9853\":\"d799bafc\",\"chunk-2d0b28f8\":\"31d6cfe0\",\"chunk-c2f7b7ae\":\"44856fd2\",\"chunk-38e3a604\":\"ceac1e21\",\"chunk-2d0e5b90\":\"31d6cfe0\",\"chunk-427a405f\":\"13cad57f\",\"chunk-4670fcf2\":\"31d6cfe0\",\"chunk-4b6c83ec\":\"262304d2\",\"chunk-4f32c61c\":\"31d6cfe0\",\"chunk-08c62c44\":\"6e4bda3a\",\"chunk-22206eb1\":\"b1d2eefa\",\"chunk-604119ed\":\"31d6cfe0\",\"chunk-0aac606e\":\"cef766f3\",\"chunk-7c3888a6\":\"be5c8935\",\"chunk-5332c8e6\":\"31d6cfe0\",\"chunk-43119527\":\"606d6741\",\"chunk-5a5e2751\":\"faa439f4\",\"chunk-5d43f072\":\"ceac1e21\",\"chunk-62ee49cc\":\"8270a05a\",\"chunk-6859aa07\":\"31d6cfe0\",\"chunk-2d0a38e6\":\"31d6cfe0\",\"chunk-544a2ef7\":\"82a270bb\",\"chunk-41a104c1\":\"31d6cfe0\",\"chunk-718bc452\":\"ceac1e21\",\"chunk-71f4fc7a\":\"31d6cfe0\",\"chunk-72341d08\":\"f5fdef02\",\"chunk-73ebb3d8\":\"ceac1e21\",\"chunk-7704b649\":\"31d6cfe0\",\"chunk-9fbf02c8\":\"31d6cfe0\",\"chunk-a2881802\":\"31d6cfe0\",\"chunk-a786973a\":\"31d6cfe0\",\"chunk-b4d7df26\":\"31d6cfe0\",\"chunk-b566d0d6\":\"31d6cfe0\",\"chunk-ef4208fa\":\"31d6cfe0\",\"chunk-f2d280ca\":\"ceac1e21\",\"chunk-4dc53c5f\":\"1a3831bb\",\"chunk-5561e0f0\":\"03d1fd63\",\"chunk-66ec5568\":\"562d8e70\",\"chunk-2e8daf04\":\"4ab0f9e7\",\"chunk-2e37e6b9\":\"33869b33\",\"chunk-2d2268ba\":\"31d6cfe0\",\"chunk-2ca9ec59\":\"31d6cfe0\",\"chunk-f9015892\":\"31d6cfe0\",\"chunk-2d0d76af\":\"31d6cfe0\",\"chunk-34e75a2a\":\"31d6cfe0\",\"chunk-81750e58\":\"31d6cfe0\",\"chunk-f43f0800\":\"33869b33\",\"chunk-2d0cef43\":\"31d6cfe0\",\"chunk-2d0ea0f0\":\"31d6cfe0\",\"chunk-2d0f083e\":\"31d6cfe0\",\"chunk-2d0bac3e\":\"31d6cfe0\",\"chunk-2d0b2326\":\"31d6cfe0\",\"chunk-4fd96346\":\"262304d2\",\"chunk-0d6bfbec\":\"ceac1e21\",\"chunk-0d93ca20\":\"ceac1e21\",\"chunk-393457e7\":\"ceac1e21\",\"chunk-2d0c46f3\":\"31d6cfe0\",\"chunk-3def1785\":\"383e59e0\",\"chunk-4eccc96e\":\"ff5f03dd\",\"chunk-684e0fca\":\"0c4b5a33\",\"chunk-47415fc8\":\"63279c10\",\"chunk-1e10513c\":\"f9f815c3\",\"chunk-27d1be99\":\"c2fada45\",\"chunk-5d6fa82c\":\"33997c97\",\"chunk-2d2375cf\":\"31d6cfe0\",\"chunk-9da99a30\":\"3c77ce2d\",\"chunk-2d0bae79\":\"31d6cfe0\",\"chunk-5747f024\":\"650be25c\",\"chunk-9cb1b876\":\"93528cbd\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export default {\n studentEnrollDetail: {\n id: '',\n studentEnroll: '',\n student: null,\n enrollNo: '',\n courseOutlineRegistration: null,\n classSection: null,\n sectionNo: null,\n subject: null,\n subjectCode: '',\n teacher: null,\n teacherCode: '',\n credit: null,\n learnSpanNo: null,\n examSpanNo: null,\n exams: [],\n isDrop: null,\n },\n studentEnrollDetails: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setStudentEnrollDetails(state, payload) {\n state.studentEnrolls = payload ? payload : [];\n}\n\nexport function setStudentEnrollDetail(state, payload) {\n state.studentEnroll = payload;\n}\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_STUDENTENROLLDETAIL,\n GET_STUDENTENROLLDETAILS,\n GET_STUDENTENROLLDETAILS_BY_FILTER,\n GET_STUDENTENROLLDETAILS_BY_FILTER_FOR_HOME_WORK,\n GET_STUDENTENROLLDETAILS_STAT,\n GET_STUDENT_IN_CLASS_SECTION_BY_CODE_OR_NAME,\n GET_TEACHERS_IN_STUDENT_ENROLL_BY_CODE_OR_NAME_CURRENT_USER,\n ADD_STUDENTENROLLDETAILS,\n UPDATE_STUDENTENROLLDETAIL,\n UPDATE_STUDENTENROLLDETAIL_IS_DROP,\n DELETE_STUDENTENROLLDETAIL,\n} from '@/queries/modules/student-enroll/student-enroll-detail.js';\n\nexport async function getStudentEnrollDetails(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTENROLLDETAILS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.studentEnrollDetail;\n } else {\n context.commit('setStudentEnrollDetails', data.getStudentEnrollDetails);\n context.commit('setSuccess', null);\n return data.getStudentEnrollDetails\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function getStudentEnrollDetailsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTENROLLDETAILS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n\n return data.getStudentEnrollDetailsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentEnrollDetailsByFilterForHomeWork(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTENROLLDETAILS_BY_FILTER_FOR_HOME_WORK,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n\n return data.getStudentEnrollDetailsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentEnrollDetailsStat(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTENROLLDETAILS_STAT,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n\n return data.getStudentEnrollDetailsStat;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentEnrollDetail(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTENROLLDETAIL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.studentEnrollDetail;\n } else {\n context.commit('setStudentEnrollDetail', data.getStudentEnrollDetail);\n context.commit('setSuccess', null);\n return data.getStudentEnrollDetail\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\n\nexport async function getStudentsInClassSectionByCodeOrName(context, payload) {\n context.commit('setProcessing', true);\n // console.log(\"id\", payload)\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENT_IN_CLASS_SECTION_BY_CODE_OR_NAME,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n const { data } = await result;\n\n context.commit('setSuccess', null);\n return data.getStudentsInClassSectionByCodeOrName;\n\n } catch (e) {\n // console.log(e);\n context.commit('setError', error(e));\n return { status: { success: false, error: true, message: \"\", full: e }};\n }\n}\n\nexport async function getTeachersInStudentEnrollByCodeOrNameCurrentUser(context, payload) {\n context.commit('setProcessing', true);\n // console.log(\"id\", payload)\n try {\n const result = await apolloClient\n .query({\n query: GET_TEACHERS_IN_STUDENT_ENROLL_BY_CODE_OR_NAME_CURRENT_USER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n const {data} = await result;\n\n context.commit('setSuccess', null);\n return data.getTeachersInStudentEnrollByCodeOrNameCurrentUser;\n\n } catch (e) {\n // console.log(e);\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function addStudentEnrollDetails(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENTENROLLDETAILS,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const studentEnrollDetails = [...context.state.studentEnrollDetails];\n studentEnrollDetails.push(data.addStudentEnrollDetails);\n context.commit('setStudentEnrollDetails', studentEnrollDetails);\n context.commit('setSuccess', newItemSuccess(data.addStudentEnrollDetails.subjectCode));\n\n return data.addStudentEnrollDetails\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudentEnrollDetail(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENTENROLLDETAIL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.studentEnrollDetails.findIndex(item => item.id === data.updateStudentEnrollDetail.id);\n const studentEnrollDetails = [\n ...context.state.studentEnrollDetails.slice(0, index),\n data.updateStudentEnrollDetail,\n ...context.state.studentEnrollDetails.slice(index + 1)\n ];\n context.commit('setStudentEnrollDetails', studentEnrollDetails);\n context.commit('setSuccess', updateItemSuccess(data.updateStudentEnrollDetail.subjectCode));\n\n return data.updateStudentEnrollDetail\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudentEnrollDetailIsDrop(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENTENROLLDETAIL_IS_DROP,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.studentEnrollDetails.findIndex(item => item.id === data.updateStudentEnrollDetailIsDrop.id);\n const studentEnrollDetails = [\n ...context.state.studentEnrollDetails.slice(0, index),\n data.updateStudentEnrollDetailIsDrop,\n ...context.state.studentEnrollDetails.slice(index + 1)\n ];\n context.commit('setStudentEnrollDetails', studentEnrollDetails);\n context.commit('setSuccess', updateItemSuccess(data.updateStudentEnrollDetailIsDrop.subjectCode));\n\n return data.updateStudentEnrollDetailIsDrop\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteStudentEnrollDetail(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_STUDENTENROLLDETAIL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.studentEnrollDetails.findIndex(item => item.id === data.deleteStudentEnrollDetail.id);\n const studentEnrollDetails = [\n ...context.state.studentEnrollDetails.slice(0, index),\n ...context.state.studentEnrollDetails.slice(index + 1)\n ];\n context.commit('setStudentEnrollDetails', studentEnrollDetails);\n context.commit('setSuccess', deleteItemSuccess(data.deleteStudentEnrollDetail.subjectCode));\n\n return data.deleteStudentEnrollDetail\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","const BASE_URL = process.env.BASE_URL || \"/\";\nconst wowzaApi = process.env.VUE_APP_STREAMING_SERVER || \"/\";\nconst fileServer = process.env.VUE_APP_FILE_SERVER || \"/\";\nconst streamServer = process.env.VUE_APP_VDO_STREAMING_SERVER || \"/\";\nimport {getECode, getRStage} from \"@/utils/auth-data\";\n\n\nexport const config = {\n fileExtension: {\n csv: '.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel',\n video: 'video/*',\n images: 'image/*',\n document: 'image/*,' +\n ' .csv,' +\n ' application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,' +\n ' application/vnd.ms-excel,' +\n ' .doc,' +\n ' .docx,' +\n ' .pdf,' +\n ' application/vnd.ms-powerpoint,' +\n ' application/mspowerpoint,' +\n ' application/x-mspowerpoint,' +\n ' application/vnd.openxmlformats-officedocument.presentationml.presentation',\n },\n url: {\n vdoOnDemandApi: `${wowzaApi}/video-upload`,\n vdoIntroductionApi: `${wowzaApi}/video-upload`,\n vdoMaterialApi: `${wowzaApi}/upload-vdo-material`,\n liveVdoApi: `${wowzaApi}upload-vdo-live-set`,\n uploadFiles: `${fileServer}/upload`,\n uploadAvatar: `${fileServer}/upload`,\n downloadFile: `${fileServer}/${getECode}/${getRStage}/`,\n\n noAvatarImage: BASE_URL + 'static/images/no-avatar.png',\n noPhotoImage: BASE_URL + 'static/images/NoPhotoAvailable.jpg',\n },\n prefixFileName: {\n vdoOnDemand: 'ODM',\n vdoIntroduction: 'VID',\n vdoLiveSet: 'VLS'\n },\n operationName:{\n teacherAvatar: 'image-upload',\n studentAvatar: 'image-upload',\n classAssignment: 'document-upload',\n classMaterial: 'document-upload',\n courseOutline: 'image-upload',\n },\n baseUrl: BASE_URL,\n streamServer: streamServer,\n};\n\nexport function getAvatarUrl(picturePath){\n if(picturePath){\n return config.url.downloadFile + picturePath;\n }else{\n return BASE_URL + 'static/images/no-avatar.png'\n }\n}\n\nexport function getPhotoUrl(picturePath){\n if(picturePath){\n return config.url.downloadFile + picturePath;\n }else{\n return BASE_URL + 'static/images/NoPhotoAvailable.jpg'\n }\n}\n\n\n\nexport function getClassRoomUrl(picturePath){\n if(picturePath){\n return config.url.downloadFile + picturePath;\n }else{\n return BASE_URL + 'static/images/classroom-placeholder.jpg'\n }\n}\n\n\n","export default {\n vdoLiveSet: {\n id: '',\n liveClassScheduleId: '',\n sectionNo: null,\n code: '',\n descriptionLocal: 0,\n descriptionEng: '',\n totalVdoLength: 0,\n vdoLiveSetTopics: [],\n },\n vdoLiveSets: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setVdoLiveSets(state, payload) {\n state.vdoLiveSets = payload ? payload : [];\n}\n\nexport function setVdoLiveSet(state, payload) {\n state.vdoLiveSet = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_VDOLIVESET = gql`\n query getVdoLiveSet($id : ID!){\n getVdoLiveSet (\n id: $id\n ) {\n id sectionNo code descriptionLocal descriptionEng totalVdoLength remark\n liveClassSchedule{\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n telephone email socialMedia availableTime isSpecialTeacher picturePath label\n }\n courseOutlineRegistration { id }\n classSection { id sectionNo descriptionLocal descriptionEng\n startClassDate learnSpanNo examSpanNo studentRegisterQty\n classRoom{\n id\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n courseOutlineRegistration{\n id\n courseOutline {\n id courseOutlineUnits{\n id seq nameLocal nameEng\n }\n }\n }\n degree{ id code }\n subjectGroup{ id code}\n classSection{\n id sectionNo descriptionLocal descriptionEng startClassDate\n learnSpanNo examSpanNo studentQty studentRegisterQty\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n telephone email availableTime socialMedia isSpecialTeacher\n }\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSet{\n id code totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n courseOutline{\n id\n courseOutlineUnits{ id }\n }\n }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n }\n`;\n\nexport const GET_VDOLIVESET_BY_LIVECLASSSCHEDULEID = gql`\n query getVdoLiveSetByLiveClassScheduleId($liveClassScheduleId : ID!){\n getVdoLiveSetByLiveClassScheduleId (\n liveClassScheduleId: $liveClassScheduleId\n ) {\n id sectionNo code descriptionLocal descriptionEng totalVdoLength remark\n liveClassSchedule{\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n telephone email socialMedia availableTime isSpecialTeacher picturePath label\n }\n courseOutlineRegistration { id }\n classSection { id sectionNo descriptionLocal descriptionEng\n startClassDate learnSpanNo examSpanNo studentRegisterQty\n classRoom{\n id\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n courseOutlineRegistration{\n id\n courseOutline {\n id courseOutlineUnits{\n id seq nameLocal nameEng\n }\n }\n }\n degree{ id code }\n subjectGroup{ id code}\n classSection{\n id sectionNo descriptionLocal descriptionEng startClassDate\n learnSpanNo examSpanNo studentQty studentRegisterQty\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n telephone email availableTime socialMedia isSpecialTeacher\n }\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSet{\n id code totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n courseOutline{\n id\n courseOutlineUnits{ id }\n }\n }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n vdoLiveSetTopics{\n id no nameLocal nameEng vdoLength vdoStreamPath\n }\n }\n }\n`;\n\nexport const GET_VDOLIVESETS_BY_FILTER = gql`\n\n query getVdoLiveSetsByFilter($vdoLiveSetFilterInput: VdoLiveSetFilterInput){\n getVdoLiveSetsByFilter (\n vdoLiveSetFilterInput:$vdoLiveSetFilterInput\n ){\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n\n }\n }\n`;\n\nexport const GET_VDOLIVESETS = gql`\n query getVdoLiveSets {\n getVdoLiveSets {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n`;\n\nexport const ADD_VDOLIVESET = gql`\n mutation addVdoLiveSet(\n $degreeId: ID\n $subjectGroupId: ID\n $subjectId: ID\n $teacherId: ID\n $academicPeriodId: ID\n $courseOutlineRegistrationId: ID\n $classSectionId: ID\n $courseOutlineUnitId: ID\n $vdoLiveSetInput: VdoLiveSetInput!\n ) {\n addVdoLiveSet(\n degreeId: $degreeId\n subjectGroupId: $subjectGroupId\n subjectId: $subjectId\n teacherId: $teacherId\n academicPeriodId: $academicPeriodId\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n courseOutlineUnitId: $courseOutlineUnitId\n vdoLiveSetInput: $vdoLiveSetInput\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n`;\n\nexport const UPDATE_VDOLIVESET = gql`\n mutation updateVdoLiveSet(\n $id: ID!,\n $degreeId: ID\n $subjectGroupId: ID\n $subjectId: ID\n $teacherId: ID\n $academicPeriodId: ID\n $courseOutlineRegistrationId: ID\n $classSectionId: ID\n $courseOutlineUnitId: ID\n $vdoLiveSetInput: VdoLiveSetInput!\n ) {\n updateVdoLiveSet(\n id: $id\n degreeId: $degreeId\n subjectGroupId: $subjectGroupId\n subjectId: $subjectId\n teacherId: $teacherId\n academicPeriodId: $academicPeriodId\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n courseOutlineUnitId: $courseOutlineUnitId\n vdoLiveSetInput: $vdoLiveSetInput\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n`;\n\nexport const DELETE_VDOLIVESET = gql`\n mutation deleteVdoLiveSet($id: ID!) {\n deleteVdoLiveSet(\n id: $id\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_VDOLIVESET,\n GET_VDOLIVESET_BY_LIVECLASSSCHEDULEID,\n GET_VDOLIVESETS,\n GET_VDOLIVESETS_BY_FILTER,\n ADD_VDOLIVESET,\n UPDATE_VDOLIVESET,\n DELETE_VDOLIVESET\n} from '@/queries/modules/live-class/vdo-live-set.js';\n\nexport async function getVdoLiveSets(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOLIVESETS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoLiveSets', data.getVdoLiveSets);\n context.commit('setSuccess', null);\n return data.getVdoLiveSets\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getVdoLiveSetsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOLIVESETS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoLiveSets', data.getVdoLiveSetsByFilter);\n context.commit('setSuccess', null);\n\n return data.getVdoLiveSetsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getVdoLiveSet(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOLIVESET,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setVdoLiveSet', data.getVdoLiveSet);\n context.commit('setSuccess', null);\n return data.getVdoLiveSet\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getVdoLiveSetByLiveClassScheduleId(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOLIVESET_BY_LIVECLASSSCHEDULEID,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setVdoLiveSet', data.getVdoLiveSetByLiveClassScheduleId);\n context.commit('setSuccess', null);\n return data.getVdoLiveSetByLiveClassScheduleId\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addVdoLiveSet(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_VDOLIVESET,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const vdoLiveSets = [...context.state.vdoLiveSets];\n vdoLiveSets.push(data.addVdoLiveSet);\n context.commit('setVdoLiveSets', vdoLiveSets);\n context.commit('setSuccess', newItemSuccess(data.addVdoLiveSet.topicLocal));\n\n return data.addVdoLiveSet;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateVdoLiveSet(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_VDOLIVESET,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.vdoLiveSets.findIndex(item => item.id === data.updateVdoLiveSet.id);\n const vdoLiveSets = [\n ...context.state.vdoLiveSets.slice(0, index),\n data.updateVdoLiveSet,\n ...context.state.vdoLiveSets.slice(index + 1)\n ];\n context.commit('setVdoLiveSets', vdoLiveSets);\n context.commit('setSuccess', updateItemSuccess(data.updateVdoLiveSet.topicLocal));\n\n return data.updateVdoLiveSet\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteVdoLiveSet(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_VDOLIVESET,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.vdoLiveSets.findIndex(item => item.id === data.deleteVdoLiveSet.id);\n const vdoLiveSets = [\n ...context.state.vdoLiveSets.slice(0, index),\n ...context.state.vdoLiveSets.slice(index + 1)\n ];\n context.commit('setVdoLiveSets', vdoLiveSets);\n context.commit('setSuccess', deleteItemSuccess(data.deleteVdoLiveSet.topicLocal));\n\n return data.deleteVdoLiveSet\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"","export default {\n assessment: {\n id: '',\n nameLocal: '',\n nameEng: '',\n },\n assessments: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setAssessments(state, payload) {\n state.assessments = payload ? payload : [];\n}\n\nexport function setAssessment(state, payload) {\n state.assessment = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_ASSESSMENTS = gql`\n query getAssessments{\n getAssessments {\n id\n nameLocal\n nameEng\n }\n }\n`;\n\nexport const GET_ASSESSMENT = gql`\n query getAssessment($id : ID!){\n getAssessment (\n id: $id\n ) {\n id\n nameLocal\n nameEng\n }\n }\n`;\n\nexport const ADD_ASSESSMENT = gql`\n mutation addAssessment(\n $nameLocal: String!,\n $nameEng: String!,\n ) {\n addAssessment(\n nameLocal: $nameLocal\n nameEng: $nameEng\n ) {\n id\n nameLocal\n nameEng\n }\n }\n`;\n\nexport const UPDATE_ASSESSMENT = gql`\n mutation updateAssessment(\n $id: ID!,\n $nameLocal: String!,\n $nameEng: String!,\n ) {\n updateAssessment(\n id: $id\n nameLocal: $nameLocal\n nameEng: $nameEng\n ) {\n id\n nameLocal\n nameEng\n }\n }\n`;\n\nexport const DELETE_ASSESSMENT = gql`\n mutation deleteAssessment($id: ID!) {\n deleteAssessment(\n id: $id\n ) {\n id\n nameLocal\n nameEng\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_ASSESSMENT,\n GET_ASSESSMENTS,\n ADD_ASSESSMENT,\n UPDATE_ASSESSMENT,\n DELETE_ASSESSMENT\n} from '@/queries/modules/common-data/assessment';\n\nexport async function getAssessments(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_ASSESSMENTS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setAssessments', data.getAssessments);\n context.commit('setSuccess', null);\n return data.getAssessments\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getAssessment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_ASSESSMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setAssessment', data.getAssessment);\n context.commit('setSuccess', null);\n return data.getAssessment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addAssessment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_ASSESSMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const assessments = [...context.state.assessments];\n assessments.push(data.addAssessment);\n context.commit('setAssessments', assessments);\n context.commit('setSuccess', newItemSuccess(data.addAssessment.nameLocal));\n\n return data.addAssessment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateAssessment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_ASSESSMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.assessments.findIndex(item => item.id === data.updateAssessment.id);\n const assessments = [\n ...context.state.assessments.slice(0, index),\n data.updateAssessment,\n ...context.state.assessments.slice(index + 1)\n ];\n context.commit('setAssessments', assessments);\n context.commit('setSuccess', updateItemSuccess(data.updateAssessment.nameLocal));\n\n return data.updateAssessment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteAssessment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_ASSESSMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.assessments.findIndex(item => item.id === data.deleteAssessment.id);\n const assessments = [\n ...context.state.assessments.slice(0, index),\n ...context.state.assessments.slice(index + 1)\n ];\n context.commit('setAssessments', assessments);\n context.commit('setSuccess', deleteItemSuccess(data.deleteAssessment.nameLocal));\n\n return data.deleteAssessment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"blocks block\",class:[\n _vm.lift ? '_lift' : '',\n _vm.noBorder ? '_no-border' : ''\n ]},[(_vm.hasHeaderSlot)?_vm._t(\"header\"):_vm._e(),(_vm.hasDefaultSlot)?_vm._t(\"default\"):_c('div',[(_vm.label && _vm.label !== '')?_c('span',{staticClass:\"-label\"},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.data)+\" \")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=0f319c39&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=0f319c39&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0f319c39\",\n null\n \n)\n\nexport default component.exports","import {notificationPosition} from '@/constants/config';\nimport {i18n} from '@/setup/i18n-setup';\n\nexport const notificationType = {\n SUCCESS: 'success',\n INFO: 'info',\n WARNING: 'warning',\n ERROR: 'error',\n};\n\nexport const newItemSuccess = (value) => {\n return {\n title: i18n.t('notification.add-item-success-title'),\n text: i18n.t('notification.add-item-success-message', {value}),\n color: 'success',\n position: notificationPosition,\n icon:'check_circle'\n }\n};\n\nexport const updateItemSuccess = (value) => {\n return {\n title: i18n.t('notification.update-item-success-title'),\n text: i18n.t('notification.update-item-success-message', {value}),\n color: 'success',\n position: notificationPosition,\n icon:'check_circle'\n }\n};\n\nexport const deleteItemSuccess = (value) => {\n return {\n title: i18n.t('notification.delete-item-success-title'),\n text: i18n.t('notification.delete-item-success-message', {value}),\n color: 'success',\n position: notificationPosition,\n icon:'check_circle'\n }\n};\n\nexport const success = (title, message) => {\n return {\n title: i18n.t(title ? title : 'notification.general-info-title'),\n text: message,\n color: 'success',\n position: notificationPosition,\n icon: 'check_circle'\n }\n};\n\nexport const info = (title, message) => {\n return {\n title: i18n.t(title ? title : 'notification.general-info-title'),\n text: message,\n color: 'primary',\n position: notificationPosition,\n icon:'info'\n }\n};\n\nexport const warning = (title, message) => {\n return {\n title: i18n.t(title ? title : 'notification.general-warning-title'),\n text: message,\n color: 'warning',\n position: notificationPosition,\n icon:'warning'\n }\n};\n\nexport const error = (title, message) => {\n return {\n title: i18n.t(title ? title : 'notification.general-error-title'),\n text: message,\n color: 'danger',\n position: notificationPosition,\n icon:'error'\n }\n};\n\nexport const showStateNotification = (vs, data) => {\n if (data && data.title) {\n //clone state data to local data\n let localData = JSON.parse(JSON.stringify(data));\n\n vs.notify(localData);\n }\n\n};\n\nexport const showLocalNotification = (vs, title, message, type) => {\n if (type === notificationType.SUCCESS) {\n vs.notify(success(title, message));\n } else if (type === notificationType.INFO) {\n vs.notify(info(title, message));\n } else if (type === notificationType.WARNING) {\n vs.notify(warning(title, message));\n } else if (type === notificationType.ERROR) {\n vs.notify(error(title, message));\n }\n};\n\nexport const serverResponseStatusSet = (title, data) => {\n let { success, error, message } = data.status;\n\n return {\n title: i18n.t(title ? title : 'notification.general-error-title'),\n // text: value ? value.replace(\"GraphQL error: \", \"\") : i18n.t('unknown-error'),\n text: message ? message : i18n.t('unknown-error'),\n color: error ? 'danger' : success ? 'success' : 'primary',\n position: notificationPosition,\n // iconPack: 'feather',\n // icon:'icon-alert-circle',\n }\n};\n","export default {\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_ADVISOR_ONLINE_SCHEDULE = gql`\n query getAdvisorOnlineSchedule($id : ID!){\n getAdvisorOnlineSchedule (\n id: $id\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo descriptionLocal descriptionEng remark externalLink externalPassword\n isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n telephone email socialMedia availableTime isSpecialTeacher picturePath label\n }\n courseOutlineRegistration { id }\n classSection { id sectionNo descriptionLocal descriptionEng\n startClassDate learnSpanNo examSpanNo studentRegisterQty\n classRoom{\n id\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n courseOutlineRegistration{\n id\n courseOutline {\n id courseOutlineUnits{\n id seq nameLocal nameEng\n }\n }\n }\n degree{ id code }\n subjectGroup{ id code}\n classSection{\n id sectionNo descriptionLocal descriptionEng startClassDate\n learnSpanNo examSpanNo studentQty studentRegisterQty\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n telephone email availableTime socialMedia isSpecialTeacher\n }\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSet{\n id code totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n courseOutline{\n id\n courseOutlineUnits{ id }\n }\n }\n }\n }\n`;\n\nexport const GET_ADVISOR_ONLINE_SCHEDULES_BY_FILTER = gql`\n\n query getAdvisorOnlineSchedulesByFilter($advisorOnlineScheduleFilterInput: AdvisorOnlineScheduleFilterInput){\n getAdvisorOnlineSchedulesByFilter (\n advisorOnlineScheduleFilterInput:$advisorOnlineScheduleFilterInput\n ){\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo descriptionLocal descriptionEng remark externalLink externalPassword\n isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration{\n id\n courseOutline{\n id picturePath\n }\n }\n classSection { id sectionNo learnSpanNo studentRegisterQty studentQty\n classRoom{\n id capacity\n }\n }\n\n yeaLinkImportDataQty\n }\n }\n`;\n\nexport const GET_ADVISOR_ONLINE_SCHEDULES_BY_FILTER_FOR_TABLE = gql`\n\n query getAdvisorOnlineSchedulesByFilter($advisorOnlineScheduleFilterInput: AdvisorOnlineScheduleFilterInput){\n getAdvisorOnlineSchedulesByFilter (\n advisorOnlineScheduleFilterInput: $advisorOnlineScheduleFilterInput\n ){\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo descriptionLocal descriptionEng remark externalLink externalPassword\n isEnabled\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n classSection { id sectionNo }\n\n }\n }\n`;\n\nexport const GET_ADVISOR_ONLINE_SCHEDULES = gql`\n query getAdvisorOnlineSchedules {\n getAdvisorOnlineSchedules {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo descriptionLocal descriptionEng remark externalLink externalPassword\n isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n }\n }\n`;\n\nexport const ADD_ADVISOR_ONLINE_SCHEDULE = gql`\n mutation addAdvisorOnlineSchedule(\n $degreeId: ID\n $subjectGroupId: ID\n $subjectId: ID\n $teacherId: ID\n $academicPeriodId: ID\n $courseOutlineRegistrationId: ID\n $classSectionId: ID\n $advisorOnlineScheduleInput: AdvisorOnlineScheduleInput!\n ) {\n addAdvisorOnlineSchedule(\n degreeId: $degreeId\n subjectGroupId: $subjectGroupId\n subjectId: $subjectId\n teacherId: $teacherId\n academicPeriodId: $academicPeriodId\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n advisorOnlineScheduleInput: $advisorOnlineScheduleInput\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo descriptionLocal descriptionEng remark externalLink externalPassword\n isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n }\n }\n`;\n\nexport const UPDATE_ADVISOR_ONLINE_SCHEDULE = gql`\n mutation updateAdvisorOnlineSchedule(\n $id: ID!,\n $degreeId: ID\n $subjectGroupId: ID\n $subjectId: ID\n $teacherId: ID\n $academicPeriodId: ID\n $courseOutlineRegistrationId: ID\n $classSectionId: ID\n $advisorOnlineScheduleInput: AdvisorOnlineScheduleInput!\n ) {\n updateAdvisorOnlineSchedule(\n id: $id\n degreeId: $degreeId\n subjectGroupId: $subjectGroupId\n subjectId: $subjectId\n teacherId: $teacherId\n academicPeriodId: $academicPeriodId\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n advisorOnlineScheduleInput: $advisorOnlineScheduleInput\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo descriptionLocal descriptionEng remark externalLink externalPassword\n isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n }\n }\n`;\n\nexport const DELETE_ADVISOR_ONLINE_SCHEDULE = gql`\n mutation deleteAdvisorOnlineSchedule($id: ID!) {\n deleteAdvisorOnlineSchedule(\n id: $id\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo descriptionLocal descriptionEng remark externalLink externalPassword\n isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_ADVISOR_ONLINE_SCHEDULE,\n GET_ADVISOR_ONLINE_SCHEDULES,\n GET_ADVISOR_ONLINE_SCHEDULES_BY_FILTER,\n GET_ADVISOR_ONLINE_SCHEDULES_BY_FILTER_FOR_TABLE,\n ADD_ADVISOR_ONLINE_SCHEDULE,\n UPDATE_ADVISOR_ONLINE_SCHEDULE,\n DELETE_ADVISOR_ONLINE_SCHEDULE\n} from '@/queries/modules/advisor-online-schedule/advisor-online-schedule';\n\nexport async function getAdvisorOnlineSchedules(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_ADVISOR_ONLINE_SCHEDULES,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n return data.getAdvisorOnlineSchedules\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getAdvisorOnlineSchedulesByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_ADVISOR_ONLINE_SCHEDULES_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n\n return data.getAdvisorOnlineSchedulesByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getAdvisorOnlineSchedulesByFilterForTable(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_ADVISOR_ONLINE_SCHEDULES_BY_FILTER_FOR_TABLE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n\n return data.getAdvisorOnlineSchedulesByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getAdvisorOnlineSchedule(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_ADVISOR_ONLINE_SCHEDULE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.getAdvisorOnlineSchedule\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addAdvisorOnlineSchedule(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_ADVISOR_ONLINE_SCHEDULE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', newItemSuccess(data.addAdvisorOnlineSchedule.topicLocal));\n\n return data.addAdvisorOnlineSchedule;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateAdvisorOnlineSchedule(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_ADVISOR_ONLINE_SCHEDULE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n context.commit('setSuccess', updateItemSuccess(data.updateAdvisorOnlineSchedule.topicLocal));\n\n return data.updateAdvisorOnlineSchedule\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteAdvisorOnlineSchedule(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_ADVISOR_ONLINE_SCHEDULE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', deleteItemSuccess(data.deleteAdvisorOnlineSchedule.topicLocal));\n\n return data.deleteAdvisorOnlineSchedule\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export const setError = (state, payload) => {\n if (state && payload) {\n if (objectBulkCheckProps(state, ['error', 'success', 'processing'])) {\n state.error = payload;\n state.success = null;\n state.processing = false;\n }\n }\n}\n\nexport const clearError = (state) => {\n if (state) {\n if (objectBulkCheckProps(state, ['error'])) {\n state.error = null;\n }\n }\n}\n\nexport const setSuccess = (state, payload) => {\n if (state) {\n if (objectBulkCheckProps(state, ['error', 'success', 'processing'])) {\n state.error = null;\n state.success = payload;\n state.processing = false;\n }\n }\n}\n\nexport const setProcessing = (state, payload) => {\n if (state) {\n if (objectBulkCheckProps(state, ['error', 'success', 'processing'])) {\n state.processing = payload;\n }\n }\n}\n\nfunction objectBulkCheckProps(object, propList) {\n if (object && Array.isArray(propList)) {\n if (propList.length > 0) {\n const result = propList\n .every(prop => Object.prototype.hasOwnProperty.call(object, prop));\n return result;\n }\n }\n return null;\n}\n","import colors from \"./colors\";\n\nexport const defaultLocale = 'th';\nexport const defaultDirection = 'ltr';\n\nexport const localeOptions = [\n {id: 'en', name: 'English', direction: 'ltr'},\n {id: 'th', name: 'Thai', direction: 'ltr'},\n];\n\nexport const APIServer = process.env.VUE_APP_API_SERVER;\nexport const APIServerPrisma2 = process.env.VUE_APP_API_SERVER_PRISMA2\nexport const graphQlUrl = (APIServer || 'https://localhost:8088') + '/graphql';\nexport const graphQlUrlPrisma2 = (APIServerPrisma2 || 'https://localhost:8088') + '/graphql';\n\nexport const userDefaults = {\n uid: 0, // From Auth\n displayName: \"John Doe\", // From Auth\n about: \"Dessert chocolate cake lemon drops jujubes. Biscuit cupcake ice cream bear claw brownie brownie marshmallow.\",\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-11.jpg\"), // From Auth\n status: \"online\",\n userRole: \"admin\"\n};\n\nexport const notificationPosition = 'top-right';\n\nexport { colors as colors };\n\nexport const themeConfig = {\n disableCustomizer : false, // options[Boolean] : true, false(default)\n disableThemeTour : false, // options[Boolean] : true, false(default)\n footerType : \"static\", // options[String] : static(default) / sticky / hidden\n hideScrollToTop : false, // options[Boolean] : true, false(default)\n mainLayoutType : \"vertical\", // options[String] : vertical(default) / horizontal\n navbarColor : \"#fff\", // options[String] : HEX color / rgb / rgba / Valid HTML Color name - (default: #fff)\n navbarType : \"floating\", // options[String] : floating(default) / static / sticky / hidden\n routerTransition : \"zoom-fade\", // options[String] : zoom-fade / slide-fade / fade-bottom / fade / zoom-out / none(default)\n rtl : false, // options[Boolean] : true, false(default)\n sidebarCollapsed : false, // options[Boolean] : true, false(default)\n theme : \"light\", // options[String] : \"light\"(default), \"dark\", \"semi-dark\"\n\n // Not required yet - WIP\n userInfoLocalStorageKey: \"userInfo\",\n\n // NOTE: themeTour will be disabled in screens < 1200. Please refer docs for more info.\n};\n\nexport default {\n defaultLocale,\n defaultDirection,\n localeOptions,\n graphQlUrl,\n userDefaults,\n notificationPosition,\n colors,\n themeConfig,\n}\n// import Vue from 'vue'\n// import Vuesax from 'vuesax'\n// Vue.use(Vuesax, { theme:{ colors }, rtl: themeConfig.rtl })\n","export default {\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n","import {gql} from 'apollo-boost';\n\nexport const SYSTEM_CONFIG_WESTERN = gql`\n query systemConfigWestern{\n systemConfigWestern {\n id universityName welcomeMessage contactInfo\n fullWelcomePictureMobile\n }\n }\n`;\n\nexport const SYSTEM_CONFIG_NATION = gql`\n query systemConfigNation{\n systemConfigNation {\n id universityName welcomeMessage contactInfo\n fullWelcomePictureMobile\n }\n }\n`;\n\nexport const SYSTEM_CONFIG = gql`\n query systemConfig{\n systemConfig {\n id universityName logoMobile logoTablet logoDesktop\n welcomePictureMobile welcomePictureTablet welcomePictureDesktop welcomeMessage contactInfo\n }\n }\n`;\n\nexport const ADD_SYSTEM_CONFIG = gql`\n mutation addSystemConfig(\n $systemConfigInput: SystemConfigInput,\n ) {\n addSystemConfig(\n systemConfigInput: $systemConfigInput\n ) {\n id universityName logoMobile logoTablet logoDesktop\n welcomePictureMobile welcomePictureTablet welcomePictureDesktop welcomeMessage contactInfo\n }\n }\n`;\n\nexport const UPDATE_SYSTEM_CONFIG = gql`\n mutation updateSystemConfig(\n $id: ID!,\n $systemConfigInput: SystemConfigInput!\n ) {\n updateSystemConfig(\n id: $id\n systemConfigInput: $systemConfigInput\n ) {\n id universityName logoMobile logoTablet logoDesktop\n welcomePictureMobile welcomePictureTablet welcomePictureDesktop welcomeMessage contactInfo\n }\n }\n`;\n\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess} from '@/utils/notification';\nimport {\n SYSTEM_CONFIG_WESTERN,\n SYSTEM_CONFIG_NATION,\n SYSTEM_CONFIG,\n ADD_SYSTEM_CONFIG,\n UPDATE_SYSTEM_CONFIG,\n} from '@/queries/modules/system/system-config';\n\nexport async function getSystemConfigWestern(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: SYSTEM_CONFIG_WESTERN,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.systemConfigWestern\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getSystemConfigNation(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: SYSTEM_CONFIG_NATION,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.systemConfigNation\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getSystemConfig(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: SYSTEM_CONFIG,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.systemConfig\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addSystemConfig(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_SYSTEM_CONFIG,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', newItemSuccess(data.addSystemConfig.nameLocal));\n\n return data.addSystemConfig\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateSystemConfig(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_SYSTEM_CONFIG,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n context.commit('setSuccess', updateItemSuccess(data.updateSystemConfig.nameLocal));\n\n return data.updateSystemConfig\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=1d62089e&lang=scss&scoped=true&\"","export default {\n webBoardReplies: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setWebBoardReplies(state, payload) {\n state.webBoardReplies = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_WEB_BOARD_REPLY = gql`\n query getWebBoardReply($id: ID!){\n getWebBoardReply(id: $id) {\n id teacherCode studentCode\n replyMessage picturePath email\n ip hitRate replyQty updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n`;\n\nexport const GET_WEB_BOARD_REPLY_REPLIES = gql`\n query getWebBoardReplyReplies($id : ID!){\n getWebBoardReplyReplies (\n id: $id\n ) {\n id teacherCode studentCode\n replyMessage picturePath email\n ip hitRate replyQty updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n`;\n\nexport const GET_WEB_BOARD_REPLY_REPLIES_BY_FILTER = gql`\n query getWebBoardReplyRepliesByFilter($webBoardReplyFilterInput: WebBoardReplyFilterInput){\n getWebBoardReplyRepliesByFilter (\n webBoardReplyFilterInput: $webBoardReplyFilterInput\n ) {\n id teacherCode studentCode\n replyMessage picturePath email\n ip hitRate replyQty updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n`;\n\nexport const ADD_WEB_BOARD_REPLY = gql`\n mutation addWebBoardReply(\n $webBoardId: ID!,\n $postBy: String!,\n $webBoardReplyInput: WebBoardReplyInput!\n ) {\n addWebBoardReply(\n webBoardId: $webBoardId\n postBy: $postBy\n webBoardReplyInput: $webBoardReplyInput\n ) {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n`;\n\nexport const UPDATE_WEB_BOARD_REPLY = gql`\n mutation updateWebBoardReply(\n $id: ID!,\n $webBoardReplyInput: WebBoardReplyInput!\n ) {\n updateWebBoardReply(\n id: $id\n webBoardReplyInput: $webBoardReplyInput\n ) {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n`;\n\nexport const DELETE_WEB_BOARD_REPLY = gql`\n mutation deleteWebBoardReply($id: ID!) {\n deleteWebBoardReply(\n id: $id\n ) {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_WEB_BOARD_REPLY,\n GET_WEB_BOARD_REPLY_REPLIES,\n GET_WEB_BOARD_REPLY_REPLIES_BY_FILTER,\n ADD_WEB_BOARD_REPLY,\n UPDATE_WEB_BOARD_REPLY,\n DELETE_WEB_BOARD_REPLY,\n} from '../../../../queries/modules/web-board/web-board-reply';\n\nexport async function getWebBoardReplyReplies(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_WEB_BOARD_REPLY_REPLIES,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setWebBoardReplyReplies', data.getWebBoardReplyReplies);\n context.commit('setSuccess', null);\n return data.getWebBoardReplyReplies\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getWebBoardReply(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_WEB_BOARD_REPLY,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.getWebBoardReply\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getWebBoardReplyRepliesByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_WEB_BOARD_REPLY_REPLIES_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setWebBoardReplyReplies', data.getWebBoardReplyRepliesByFilter);\n context.commit('setSuccess', null);\n return data.getWebBoardReplyRepliesByFilter\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addWebBoardReply(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_WEB_BOARD_REPLY,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const webBoardReplies = [...context.state.webBoardReplies];\n webBoardReplies.unshift(data.addWebBoardReply);\n context.commit('setWebBoardReplies', webBoardReplies);\n context.commit('setSuccess', newItemSuccess(data.addWebBoardReply.replyMessage));\n\n return data.addWebBoardReply\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateWebBoardReply(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_WEB_BOARD_REPLY,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.webBoardReplies.findIndex(item => item.id === data.updateWebBoardReply.id);\n const webBoardReplies = [\n ...context.state.webBoardReplies.slice(0, index),\n data.updateWebBoardReply,\n ...context.state.webBoardReplies.slice(index + 1)\n ];\n context.commit('setWebBoardReplies', webBoardReplies);\n context.commit('setSuccess', updateItemSuccess(data.updateWebBoardReply.replyMessage));\n\n return data.updateWebBoardReply\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteWebBoardReply(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_WEB_BOARD_REPLY,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.webBoardReplies.findIndex(item => item.id === data.deleteWebBoardReply.id);\n const webBoardReplies = [\n ...context.state.webBoardReplies.slice(0, index),\n ...context.state.webBoardReplies.slice(index + 1)\n ];\n context.commit('setWebBoardReplies', webBoardReplies);\n context.commit('setSuccess', deleteItemSuccess(data.deleteWebBoardReply.replyMessage));\n\n return data.deleteWebBoardReply\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import {gql} from 'apollo-boost';\n\nexport const GET_TEACHERS = gql`\n query {\n getTeachers{\n id\n code\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n availableTime\n telephone\n email\n picturePath\n socialMedia\n isSpecialTeacher\n isActive\n curriculum{\n id\n currId\n code\n nameLocal\n nameEng\n }\n faculty{\n id\n code\n nameLocal\n nameEng\n }\n prefix{\n id\n nameLocal\n nameEng\n nameShortLocal\n nameShortEng\n }\n user{\n id\n code\n userLogin\n userGroup{\n id\n code\n nameLocal\n nameEng\n }\n email\n }\n label\n }\n }\n`;\n\nexport const GET_TEACHERS_DDL = gql`\n query {\n getTeachers{\n id\n code\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n availableTime\n telephone\n email\n picturePath\n socialMedia\n isSpecialTeacher\n isActive\n prefix{\n id\n nameLocal\n nameEng\n nameShortLocal\n nameShortEng\n }\n label\n }\n }\n`;\n\nexport const GET_TEACHERS_BY_FILTER = gql`\n query getTeachersByFilter($teacherFilterInput: TeacherFilterInput){\n getTeachersByFilter(\n teacherFilterInput : $teacherFilterInput\n ){\n id\n code\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n availableTime\n telephone\n email\n picturePath\n socialMedia\n isSpecialTeacher\n isActive\n curriculum{\n id\n currId\n code\n nameLocal\n nameEng\n }\n faculty{\n id\n code\n nameLocal\n nameEng\n }\n prefix{\n id\n nameLocal\n nameEng\n nameShortLocal\n nameShortEng\n }\n label\n }\n }\n`;\n\nexport const GET_TEACHER = gql`\n query getTeacher($id : ID!){\n getTeacher (\n id: $id\n ) {\n id\n code\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n availableTime\n telephone\n email\n picturePath\n socialMedia\n isSpecialTeacher\n isActive\n curriculum{\n id\n currId\n code\n nameLocal\n nameEng\n }\n faculty{\n id\n code\n nameLocal\n nameEng\n }\n prefix{\n id\n nameLocal\n nameEng\n nameShortLocal\n nameShortEng\n }\n user{\n id\n code\n userLogin\n userGroup{\n id\n code\n nameLocal\n nameEng\n }\n email\n }\n }\n }\n`;\n\nexport const ADD_TEACHER = gql`\n mutation addTeacher(\n $teacherInput: TeacherInput!,\n $curriculumId: ID!,\n $facultyId: ID!,\n $prefixId: ID!,\n $userId: ID,\n ) {\n addTeacher(\n teacherInput: $teacherInput\n curriculumId: $curriculumId\n facultyId: $facultyId\n prefixId: $prefixId\n userId: $userId\n ) {\n id\n code\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n availableTime\n telephone\n email\n picturePath\n socialMedia\n isSpecialTeacher\n isActive\n curriculum{\n id\n currId\n code\n nameLocal\n nameEng\n }\n faculty{\n id\n code\n nameLocal\n nameEng\n }\n prefix{\n id\n nameLocal\n nameEng\n nameShortLocal\n nameShortEng\n }\n user{\n id\n code\n userLogin\n userGroup{\n id\n code\n nameLocal\n nameEng\n }\n email\n }\n }\n }\n`;\n\nexport const ADD_TEACHERS_UPLOAD = gql`\n mutation addTeachersUpload(\n $teachersUploadInput: [TeachersUploadInput]\n ) {\n addTeachersUpload (\n teachersUploadInput: $teachersUploadInput,\n )\n {\n successCount\n failCount\n resultAddTeacherUpload{\n no curriculumCode facultyCode prefixCode code firstNameLocal lastNameLocal firstNameEng lastNameEng\n availableTime telephone email socialMedia isSpecialTeacher status remark\n }\n\n }\n }\n`;\n\nexport const UPDATE_TEACHER = gql`\n mutation updateTeacher(\n $id: ID!,\n $teacherInput: TeacherInput!,\n $curriculumId: ID,\n $facultyId: ID,\n $prefixId: ID!,\n $userId: ID,\n ) {\n updateTeacher(\n id: $id\n teacherInput: $teacherInput\n curriculumId: $curriculumId\n facultyId: $facultyId\n prefixId: $prefixId\n userId: $userId\n ) {\n id\n code\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n availableTime\n telephone\n email\n picturePath\n socialMedia\n isSpecialTeacher\n isActive\n curriculum{\n id\n currId\n code\n nameLocal\n nameEng\n }\n faculty{\n id\n code\n nameLocal\n nameEng\n }\n prefix{\n id\n nameLocal\n nameEng\n nameShortLocal\n nameShortEng\n }\n user{\n id\n code\n userLogin\n userGroup{\n id\n code\n nameLocal\n nameEng\n }\n email\n }\n }\n }\n`;\n\nexport const DELETE_TEACHER = gql`\n mutation deleteTeacher($id: ID!) {\n deleteTeacher(\n id: $id\n ) {\n id\n code\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n availableTime\n telephone\n email\n picturePath\n socialMedia\n isSpecialTeacher\n isActive\n curriculum{\n id\n currId\n code\n nameLocal\n nameEng\n }\n faculty{\n id\n code\n nameLocal\n nameEng\n }\n prefix{\n id\n nameLocal\n nameEng\n nameShortLocal\n nameShortEng\n }\n user{\n id\n code\n userLogin\n userGroup{\n id\n code\n nameLocal\n nameEng\n }\n email\n }\n }\n }\n`;\n\n","import Vue from 'vue'\nimport VueApollo from 'vue-apollo';\nimport {ApolloClient} from 'apollo-client';\nimport {ApolloLink} from 'apollo-link';\nimport {createHttpLink} from 'apollo-link-http';\nimport {onError} from 'apollo-link-error';\nimport {InMemoryCache} from 'apollo-cache-inmemory';\nimport {graphQlUrl, graphQlUrlPrisma2} from '@/constants/config';\nimport store from '@/store';\n\nVue.use(VueApollo);\n\nconst httpLink = createHttpLink({\n uri: graphQlUrl,\n // fetchOptions: {\n // credentials: 'include',\n // },\n});\n\nconst httpLinkPrisma2 = createHttpLink({\n uri: graphQlUrlPrisma2\n});\n\nconst middlewareLink = new ApolloLink((operation, forward) => {\n if (!localStorage.getItem('token') || localStorage.getItem('token') === \" \") {\n store.dispatch('User/signOut');\n } else {\n operation.setContext({\n headers: {\n authorization: localStorage.getItem('token'),\n app: process.env.VUE_APP_APP_TYPE || \"teacher\",\n appname: \"xstudi\"\n },\n });\n }\n\n return forward(operation);\n});\n\nconst errorLink = onError(({graphQLErrors, networkError}) => {\n if (networkError) {\n console.log('[networkError', networkError); // eslint-disable-line no-console\n }\n\n if (graphQLErrors) {\n for (const err of graphQLErrors) {\n if(err){\n if (err.code === 401 || err.message === 'AuthenticationError') {\n store.dispatch('User/signOut');\n }\n }\n }\n }\n});\n\nconst link = errorLink.concat(middlewareLink.concat(httpLink));\nconst linkPrisma2 = errorLink.concat(middlewareLink.concat(httpLinkPrisma2));\n\n// Cache implementation\nconst cache = new InMemoryCache();\n\n// Create the apollo client\nexport const apolloClient = new ApolloClient({\n link: ApolloLink.split(\n operation => operation.getContext().clientName === \"Prisma2\",\n linkPrisma2,\n link\n ),\n cache\n});\n\nexport const apolloProvider = new VueApollo({\n defaultClient: apolloClient,\n});\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=41c4516c&lang=scss&scoped=true&\"","export default {\n courseOutline: {\n id: '',\n subjectCode: '',\n teacherCode: '',\n totalPoint: null,\n instruction: '',\n streamIntroPath: '',\n bookName1: '',\n bookPic1: '',\n bookDescription1: '',\n bookName2: '',\n bookPic2: '',\n bookDescription2: '',\n bookName3: '',\n bookPic3: '',\n bookDescription3: '',\n degreeId: '',\n subjectGroupId: '',\n subjectId: '',\n teacherId: '',\n courseOutlineUnits: [],\n courseOutlineAssessments: [],\n vdoSets: [],\n },\n courseOutlines: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setCourseOutlines(state, payload) {\n state.courseOutlines = payload ? payload : [];\n}\n\nexport function setCourseOutlinesDDL(state, payload) {\n state.courseOutlinesDDL = payload ? payload : [];\n}\n\nexport function setCourseOutline(state, payload) {\n state.courseOutline = payload;\n}\n","import { gql } from \"apollo-boost\";\n\nexport const GET_COURSEOUTLINE = gql`\n query getCourseOutline($id: ID!) {\n getCourseOutline(\n id: $id\n ) {\n id subjectCode teacherCode totalPoint instruction streamIntroPath bookName1 picturePath verticalPicturePath\n bookPic1 bookDescription1 bookName2 bookPic2 bookDescription2 bookName3 bookPic3 bookDescription3\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng creditCalGrade creditDesc\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n courseOutlineUnits {\n id seq nameLocal nameEng descriptionLocal descriptionEng preTestExpectScore\n postTestExpectScore unitAgenda unitObjective unitReference countLearnPercent\n }\n courseOutlineAssessments {\n id seq percent score\n assessment{\n id nameLocal nameEng\n }\n }\n vdoSets {\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n courseOutlineUnit{ id nameLocal nameEng}\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled remark\n }\n }\n }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINE_BY_CLASS_SECTION = gql`\n query getCourseOutlinesByClassSection($id: ID!) {\n getCourseOutlinesByClassSection(\n id: $id\n ) {\n id subjectCode teacherCode totalPoint instruction streamIntroPath bookName1 picturePath verticalPicturePath\n bookPic1 bookDescription1 bookName2 bookPic2 bookDescription2 bookName3 bookPic3 bookDescription3\n courseOutlineUnits {\n id seq nameLocal nameEng descriptionLocal descriptionEng preTestExpectScore\n postTestExpectScore unitAgenda unitObjective unitReference\n }\n# courseOutlineAssessments {\n# id seq percent score\n# assessment{\n# id nameLocal nameEng\n# }\n# }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINES = gql`\n query getCourseOutlines {\n getCourseOutlines {\n id subjectCode teacherCode totalPoint instruction streamIntroPath bookName1 picturePath verticalPicturePath\n bookPic1 bookDescription1 bookName2 bookPic2 bookDescription2 bookName3 bookPic3 bookDescription3\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n courseOutlineAssessments {\n id seq percent score\n assessment{\n id nameLocal nameEng\n }\n }\n vdoSets {\n id code description totalVdoLength\n }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINES_BY_FILTER = gql`\n query getCourseOutlinesByFilter(\n $courseOutlineFilterInput: CourseOutlineFilterInput\n# degreeId: ID\n# subjectGroupId: ID\n# subjectId: ID\n# subjectCode: String\n# teacherId: ID\n# teacherCode: String\n )\n {\n getCourseOutlinesByFilter (\n courseOutlineFilterInput: $courseOutlineFilterInput\n )\n {\n id subjectCode teacherCode totalPoint instruction streamIntroPath bookName1 picturePath verticalPicturePath\n bookPic1 bookDescription1 bookName2 bookPic2 bookDescription2 bookName3 bookPic3 bookDescription3\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng creditCalGrade creditDesc\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n courseOutlineUnits {\n id\n seq nameLocal nameEng descriptionLocal descriptionEng preTestExpectScore\n postTestExpectScore unitAgenda unitObjective unitReference\n }\n courseOutlineAssessments {\n id seq percent score\n assessment{\n id nameLocal nameEng\n }\n }\n vdoSets {\n id code description totalVdoLength code\n vdoSetUnits{\n id\n vdoSetTopics { id vdoStreamPath }\n }\n }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINEUNITS_BY_COURSEOUTLINEID = gql`\n query getCourseOutlineUnitsByCourseOutlineId(\n $courseOutlineId: ID!\n )\n {\n getCourseOutlineUnitsByCourseOutlineId (\n courseOutlineId: $courseOutlineId\n )\n {\n id seq nameLocal nameEng descriptionLocal descriptionEng\n }\n }\n`;\n\nexport const GET_COURSEOUTLINES_BY_FILTER_FOR_TABLE = gql`\n query getCourseOutlinesByFilter(\n $courseOutlineFilterInput: CourseOutlineFilterInput\n )\n {\n getCourseOutlinesByFilter (\n courseOutlineFilterInput: $courseOutlineFilterInput\n )\n {\n id\n subject {\n id code nameLocal nameEng creditCalGrade\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n courseOutlineUnits {\n id\n }\n vdoSets {\n id\n # totalVdoLength\n # vdoSetUnits{\n # id\n # vdoSetTopics { id vdoStreamPath }\n # }\n }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINES_AVAILABLE = gql`\n query getCourseOutlinesAvailable(\n $subjectId: ID!,\n $teacherId: ID!,\n $academicPeriodId: ID!\n )\n {\n getCourseOutlinesAvailable (\n subjectId: $subjectId\n teacherId: $teacherId\n academicPeriodId: $academicPeriodId\n )\n {\n id\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const ADD_COURSEOUTLINE = gql`\n mutation addCourseOutline(\n $degreeId: ID!,\n $subjectGroupId: ID!,\n $subjectId: ID!,\n $subjectCode: String!,\n $teacherId: ID!,\n $teacherCode: String!\n ) {\n addCourseOutline (\n degreeId: $degreeId,\n subjectGroupId: $subjectGroupId,\n subjectId: $subjectId,\n subjectCode: $subjectCode,\n teacherId: $teacherId,\n teacherCode: $teacherCode\n ) {\n id subjectCode teacherCode totalPoint instruction streamIntroPath bookName1 picturePath verticalPicturePath\n bookPic1 bookDescription1 bookName2 bookPic2 bookDescription2 bookName3 bookPic3 bookDescription3\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n courseOutlineUnits {\n id seq nameLocal nameEng descriptionLocal descriptionEng preTestExpectScore\n postTestExpectScore unitAgenda unitObjective unitReference\n }\n courseOutlineAssessments {\n id seq percent score\n assessment{\n id nameLocal nameEng\n }\n }\n vdoSets {\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled remark\n }\n }\n }\n }\n }\n`;\n\nexport const UPDATE_COURSEOUTLINE = gql`\n mutation updateCourseOutline(\n $id: ID!,\n $courseOutlineInput: CourseOutlineInput!\n ) {\n updateCourseOutline (\n id: $id,\n courseOutlineInput: $courseOutlineInput,\n ) {\n id subjectCode teacherCode totalPoint instruction streamIntroPath bookName1 picturePath verticalPicturePath\n bookPic1 bookDescription1 bookName2 bookPic2 bookDescription2 bookName3 bookPic3 bookDescription3\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n courseOutlineUnits {\n id seq nameLocal nameEng descriptionLocal descriptionEng preTestExpectScore\n postTestExpectScore unitAgenda unitObjective unitReference\n }\n courseOutlineAssessments {\n id seq percent score\n assessment{\n id nameLocal nameEng\n }\n }\n vdoSets {\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled remark\n }\n }\n }\n }\n }\n`;\n\nexport const DELETE_COURSEOUTLINE = gql`\n mutation deleteCourseOutline(\n $id: ID!\n ) {\n deleteCourseOutline (\n id: $id\n ) {\n id subjectCode teacherCode totalPoint instruction streamIntroPath bookName1\n bookPic1 bookDescription1 bookName2 bookPic2 bookDescription2 bookName3 bookPic3 bookDescription3\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n courseOutlineUnits {\n id seq nameLocal nameEng descriptionLocal descriptionEng preTestExpectScore\n postTestExpectScore unitAgenda unitObjective unitReference\n }\n courseOutlineAssessments {\n id seq percent score\n assessment{\n id nameLocal nameEng\n }\n }\n vdoSets {\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled remark\n }\n }\n }\n }\n }\n`;\n\n\n/* TYPES\n\ninput CourseOutlineFilterInput {\n degreeId: ID\n subjectGroupId: ID\n subjectId: ID\n subjectCode: String\n teacherId: ID\n teacherCode: String\n}\n\ninput CourseOutlineInput {\n totalPoint: Int\n instruction: String\n streamIntroPath: String\n bookName1: String\n bookPic1: String\n bookDescription1: String\n bookName2: String\n bookPic2: String\n bookDescription2: String\n bookName3: String\n bookPic3: String\n bookDescription3: String\n}\n\ntype CourseOutline {\n id: ID!\n degree: Degree!\n subjectGroup: SubjectGroup!\n subject: Subject!\n subjectCode: String!\n teacher: Teacher!\n teacherCode: String!\n totalPoint: Int\n instruction: String\n streamIntroPath: String\n bookName1: String\n bookPic1: String\n bookDescription1: String\n bookName2: String\n bookPic2: String\n bookDescription2: String\n bookName3: String\n bookPic3: String\n bookDescription3: String\n courseOutlineUnits: [CourseOutlineUnit]\n courseOutlineAssessments: [CourseOutlineAssessment]\n isDisabled: Boolean!\n createdAt: String!\n updatedAt: String!\n createdBy: User\n updatedBy: User\n}\n\n*/\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_COURSEOUTLINE,\n GET_COURSEOUTLINES,\n GET_COURSEOUTLINES_BY_FILTER,\n GET_COURSEOUTLINEUNITS_BY_COURSEOUTLINEID,\n GET_COURSEOUTLINES_BY_FILTER_FOR_TABLE,\n GET_COURSEOUTLINES_AVAILABLE,\n ADD_COURSEOUTLINE,\n UPDATE_COURSEOUTLINE,\n DELETE_COURSEOUTLINE, GET_COURSEOUTLINE_BY_CLASS_SECTION\n} from '@/queries/modules/courses/course-outline';\n\nexport async function getCourseOutlines(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINES,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.courseOutline;\n } else {\n context.commit('setCourseOutlines', data.getCourseOutlines);\n context.commit('setSuccess', null);\n return data.getCourseOutlines\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function getCourseOutlinesByClassSection(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINE_BY_CLASS_SECTION,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n\n return data.getCourseOutlinesByClassSection;\n }\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n\n}\n\nexport async function getCourseOutlinesByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINES_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseOutlines', data.getCourseOutlinesByFilter);\n context.commit('setSuccess', null);\n\n return data.getCourseOutlinesByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseOutlineUnitsByCourseOutlineId(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEUNITS_BY_COURSEOUTLINEID,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseOutlines', data.getCourseOutlineUnitsByCourseOutlineId);\n context.commit('setSuccess', null);\n\n return data.getCourseOutlineUnitsByCourseOutlineId;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseOutlinesByFilterForTable(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINES_BY_FILTER_FOR_TABLE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseOutlines', data.getCourseOutlinesByFilter);\n context.commit('setSuccess', null);\n\n return data.getCourseOutlinesByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseOutlinesAvailable(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINES_AVAILABLE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseOutlines', data.getCourseOutlinesAvailable);\n context.commit('setSuccess', null);\n\n return data.getCourseOutlinesAvailable;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseOutline(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.courseOutline;\n } else {\n context.commit('setCourseOutline', data.getCourseOutline);\n context.commit('setSuccess', null);\n return data.getCourseOutline\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\n/**\n * Action to Add Course Outline\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {CourseOutlineInput (Array), required} courseOutlineInput : [{\n academicPeriodId: \"\", // {String} Get it from filter selection.\n periodCode: \"\", // {String} Get it from filter selection.\n degreeId: \"\", // {String} Get it from filter selection.\n subjectGroupId: \"\", // {String} Get it from filter selection.\n subjectId: \"\", // {String} Get it from Course Outline Selection.\n subjectCode: \"\", // {String} \"----------------------------------\"\n subjectName: \"\", // {String} \"----------------------------------\"\n courseOutlineId: \"\", // {String} \"----------------------------------\"\n teacherId: \"\", // {String} \"----------------------------------\"\n teacherCode: \"\", // {String} \"----------------------------------\"\n }]\n * @param {Boolean} useState boolean if true method will set state will return data, Default: true\n *\n */\nexport async function addCourseOutline(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_COURSEOUTLINE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const courseOutlines = [...context.state.courseOutlines];\n courseOutlines.push(data.addCourseOutline);\n context.commit('setCourseOutlines', courseOutlines);\n context.commit('setSuccess', newItemSuccess(data.addCourseOutline.subject.code));\n\n return data.addCourseOutline\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateCourseOutline(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_COURSEOUTLINE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.courseOutlines.findIndex(item => item.id === data.updateCourseOutline.id);\n const courseOutlines = [\n ...context.state.courseOutlines.slice(0, index),\n data.updateCourseOutline,\n ...context.state.courseOutlines.slice(index + 1)\n ];\n context.commit('setCourseOutlines', courseOutlines);\n context.commit('setSuccess', updateItemSuccess(data.updateCourseOutline.subject.code));\n\n return data.updateCourseOutline\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n/**\n * Action to Delete Course Outline\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {ID (String), required} id : \"ID of a Course Outline \"\n *\n */\nexport async function deleteCourseOutline(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_COURSEOUTLINE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.courseOutlines.findIndex(item => item.id === data.deleteCourseOutline.id);\n const courseOutlines = [\n ...context.state.courseOutlines.slice(0, index),\n ...context.state.courseOutlines.slice(index + 1)\n ];\n context.commit('setCourseOutlines', courseOutlines);\n context.commit('setSuccess', deleteItemSuccess(data.deleteCourseOutline.subject.code));\n\n return data.deleteCourseOutline\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n primary : '#7367F0',\n success : '#28C76F',\n danger : '#EA5455',\n warning : '#FF9F43',\n dark : '#1E1E1E',\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FormElement',[_c('template',{slot:\"label\"},[_c('span',[_vm._v(_vm._s(_vm.label))])]),_c('template',{slot:\"warning\"},[(_vm.required)?_c('span',{staticClass:\"-require\"},[_vm._v(\"*ต้องเลือกข้อมูล\")]):_vm._e()]),_c('div',{staticClass:\"select-box\"},[_c('div',{staticClass:\"-input\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selection),expression:\"selection\"}],attrs:{\"disabled\":_vm.options.length < 1},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selection=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.handleChange({ options: _vm.options, selection: _vm.selection })}]}},[_vm._l((_vm.options),function(option,index){return [_c('option',{key:index,staticClass:\"--option\",attrs:{\"disabled\":option.disable},domProps:{\"value\":option.id}},[_vm._v(\" \"+_vm._s(option.title)+\" \")])]})],2)])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=41c4516c&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=41c4516c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"41c4516c\",\n null\n \n)\n\nexport default component.exports","export default {\n courseOutlineAssessment: {\n id: '',\n courseOutline: null,\n assessment: null,\n seq: null,\n percent: null,\n score: null,\n },\n courseOutlineAssessments: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setCourseOutlineAssessments(state, payload) {\n state.courseOutlineAssessments = payload ? payload : [];\n}\n\nexport function setCourseOutlineAssessment(state, payload) {\n state.courseOutlineAssessment = payload;\n}\n","import { gql } from \"apollo-boost\";\n\nexport const GET_COURSEOUTLINEASSESSMENT = gql`\n query getCourseOutlineAssessment($id: ID!) {\n getCourseOutlineAssessment(\n id: $id\n ) {\n id seq percent score\n courseOutline{ id }\n assessment{ id nameLocal nameEng }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINEASSESSMENTS = gql`\n query getCourseOutlineAssessments {\n getCourseOutlineAssessments {\n id seq percent score\n courseOutline{ id }\n assessment{ id nameLocal nameEng }\n }\n }\n`;\n\nexport const ADD_COURSEOUTLINEASSESSMENT = gql`\n mutation addCourseOutlineAssessment(\n $courseOutlineId: ID,\n $assessmentId: ID,\n $seq: Int,\n $percent: Float,\n $score: Float\n ) {\n addCourseOutlineAssessment (\n courseOutlineId: $courseOutlineId,\n assessmentId: $assessmentId,\n seq: $seq\n percent: $percent\n score: $score\n ) {\n id seq percent score\n courseOutline{ id }\n assessment{ id nameLocal nameEng }\n }\n }\n`;\n\nexport const UPDATE_COURSEOUTLINEASSESSMENT = gql`\n mutation updateCourseOutlineAssessment(\n $id: ID!,\n $assessmentId: ID,\n $seq: Int,\n $percent: Float,\n $score: Float\n ) {\n updateCourseOutlineAssessment (\n id: $id,\n assessmentId: $assessmentId,\n seq: $seq\n percent: $percent\n score: $score\n ) {\n id seq percent score\n courseOutline{ id }\n assessment{ id nameLocal nameEng }\n }\n }\n`;\n\nexport const DELETE_COURSEOUTLINEASSESSMENT = gql`\n mutation deleteCourseOutlineAssessment(\n $id: ID!\n ) {\n deleteCourseOutlineAssessment (\n id: $id\n ) {\n id seq percent score\n courseOutline{ id }\n assessment{ id nameLocal nameEng }\n }\n }\n`;\n\n\n/* TYPES\n\ntype CourseOutlineAssessment {\n id: ID!\n periodCode: String!\n year: String!\n semester: Int!\n isDisabled: Boolean!\n createdAt: String!\n updatedAt: String!\n createdBy: User\n updatedBy: User\n}\n\n*/\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_COURSEOUTLINEASSESSMENT,\n GET_COURSEOUTLINEASSESSMENTS,\n ADD_COURSEOUTLINEASSESSMENT,\n UPDATE_COURSEOUTLINEASSESSMENT,\n DELETE_COURSEOUTLINEASSESSMENT\n} from '@/queries/modules/courses/course-outline-assessment';\n\nexport async function getCourseOutlineAssessments(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEASSESSMENTS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseOutlineAssessments', data.getCourseOutlineAssessments);\n context.commit('setSuccess', null);\n return data.getCourseOutlineAssessments\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseOutlineAssessment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEASSESSMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setCourseOutlineAssessment', data.getCourseOutlineAssessment);\n context.commit('setSuccess', null);\n return data.getCourseOutlineAssessment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addCourseOutlineAssessment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_COURSEOUTLINEASSESSMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const courseOutlineAssessments = [...context.state.courseOutlineAssessments];\n courseOutlineAssessments.push(data.addCourseOutlineAssessment);\n context.commit('setCourseOutlineAssessments', courseOutlineAssessments);\n context.commit('setSuccess', newItemSuccess(data.addCourseOutlineAssessment.seq));\n\n return data.addCourseOutlineAssessment;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateCourseOutlineAssessment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_COURSEOUTLINEASSESSMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.courseOutlineAssessments.findIndex(item => item.id === data.updateCourseOutlineAssessment.id);\n const courseOutlineAssessments = [\n ...context.state.courseOutlineAssessments.slice(0, index),\n data.updateCourseOutlineAssessment,\n ...context.state.courseOutlineAssessments.slice(index + 1)\n ];\n context.commit('setCourseOutlineAssessments', courseOutlineAssessments);\n context.commit('setSuccess', updateItemSuccess(data.updateCourseOutlineAssessment.seq));\n\n return data.updateCourseOutlineAssessment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteCourseOutlineAssessment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_COURSEOUTLINEASSESSMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.courseOutlineAssessments.findIndex(item => item.id === data.deleteCourseOutlineAssessment.id);\n const courseOutlineAssessments = [\n ...context.state.courseOutlineAssessments.slice(0, index),\n ...context.state.courseOutlineAssessments.slice(index + 1)\n ];\n context.commit('setCourseOutlineAssessments', courseOutlineAssessments);\n context.commit('setSuccess', deleteItemSuccess(data.deleteCourseOutlineAssessment.seq));\n\n return data.deleteCourseOutlineAssessment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","module.exports = __webpack_public_path__ + \"img/avatar-s-11.1a620230.jpg\";","export default {\n liveClassSchedule: {\n id: \"\",\n courseOutlineId: \"\",\n vdoSetId: \"\",\n vdoSetUnitId: \"\",\n no: 0,\n nameLocal: \"\",\n nameEng: \"\",\n vdoLength: 0,\n vdoStreamPath: \"\",\n teacherId: \"\",\n isEnabled: true,\n remark: \"\",\n externalLink: \"\",\n externalPassword: \"\",\n },\n liveClassSchedules: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setLiveClassSchedules(state, payload) {\n state.liveClassSchedules = payload ? payload : [];\n}\n\nexport function setLiveClassSchedule(state, payload) {\n state.liveClassSchedule = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_LIVECLASSSCHEDULE = gql`\n query getLiveClassSchedule($id : ID!){\n getLiveClassSchedule (\n id: $id\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark externalLink externalPassword\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n telephone email socialMedia availableTime isSpecialTeacher picturePath label\n }\n courseOutlineRegistration { id }\n classSection { id sectionNo descriptionLocal descriptionEng\n startClassDate learnSpanNo examSpanNo studentRegisterQty\n classRoom{\n id\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n courseOutlineRegistration{\n id\n courseOutline {\n id courseOutlineUnits{\n id seq nameLocal nameEng\n }\n }\n }\n degree{ id code }\n subjectGroup{ id code}\n classSection{\n id sectionNo descriptionLocal descriptionEng startClassDate\n learnSpanNo examSpanNo studentQty studentRegisterQty\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n telephone email availableTime socialMedia isSpecialTeacher\n }\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSet{\n id code totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n courseOutline{\n id\n courseOutlineUnits{ id }\n }\n }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n`;\n\nexport const GET_LIVECLASSSCHEDULES_BY_FILTER = gql`\n\n query getLiveClassSchedulesByFilter($liveClassScheduleFilterInput: LiveClassScheduleFilterInput){\n getLiveClassSchedulesByFilter (\n liveClassScheduleFilterInput:$liveClassScheduleFilterInput\n ){\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark externalLink externalPassword\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration{\n id\n courseOutline{\n id picturePath\n }\n }\n classSection { id sectionNo learnSpanNo studentRegisterQty studentQty\n classRoom{\n id capacity\n }\n }\n yeaLinkImportDataQty\n }\n }\n`;\n\nexport const GET_LIVECLASSSCHEDULES_BY_FILTER_FOR_TABLE = gql`\n\n query getLiveClassSchedulesByFilter($liveClassScheduleFilterInput: LiveClassScheduleFilterInput){\n getLiveClassSchedulesByFilter (\n liveClassScheduleFilterInput:$liveClassScheduleFilterInput\n ){\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark externalLink externalPassword\n rtmpServer rtmpStream isEnabled\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n\n }\n }\n`;\n\nexport const GET_LIVECLASSSCHEDULES = gql`\n query getLiveClassSchedules {\n getLiveClassSchedules {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark externalLink externalPassword\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n`;\n\nexport const ADD_LIVECLASSSCHEDULE = gql`\n mutation addLiveClassSchedule(\n $degreeId: ID\n $subjectGroupId: ID\n $subjectId: ID\n $teacherId: ID\n $academicPeriodId: ID\n $courseOutlineRegistrationId: ID\n $classSectionId: ID\n $courseOutlineUnitId: ID\n $liveClassScheduleInput: LiveClassScheduleInput!\n ) {\n addLiveClassSchedule(\n degreeId: $degreeId\n subjectGroupId: $subjectGroupId\n subjectId: $subjectId\n teacherId: $teacherId\n academicPeriodId: $academicPeriodId\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n courseOutlineUnitId: $courseOutlineUnitId\n liveClassScheduleInput: $liveClassScheduleInput\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark externalLink externalPassword\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n`;\n\nexport const UPDATE_LIVECLASSSCHEDULE = gql`\n mutation updateLiveClassSchedule(\n $id: ID!,\n $degreeId: ID\n $subjectGroupId: ID\n $subjectId: ID\n $teacherId: ID\n $academicPeriodId: ID\n $courseOutlineRegistrationId: ID\n $classSectionId: ID\n $courseOutlineUnitId: ID\n $liveClassScheduleInput: LiveClassScheduleInput!\n ) {\n updateLiveClassSchedule(\n id: $id\n degreeId: $degreeId\n subjectGroupId: $subjectGroupId\n subjectId: $subjectId\n teacherId: $teacherId\n academicPeriodId: $academicPeriodId\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n courseOutlineUnitId: $courseOutlineUnitId\n liveClassScheduleInput: $liveClassScheduleInput\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark externalLink externalPassword\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n`;\n\nexport const DELETE_LIVECLASSSCHEDULE = gql`\n mutation deleteLiveClassSchedule($id: ID!) {\n deleteLiveClassSchedule(\n id: $id\n ) {\n id periodCode degreeCode subjectGroupCode subjectCode subjectName\n teacherCode teacherFullName sectionNo topicLocal topicEng\n dateTimeFrom dateTimeTo liveFrom contract remark externalLink externalPassword\n rtmpServer rtmpStream isEnabled\n academicPeriod { id periodCode }\n degree { id code nameLocal nameEng }\n subjectGroup { id code nameLocal nameEng }\n subject { id code nameLocal nameEng }\n teacher { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n courseOutlineRegistration { id }\n classSection { id sectionNo }\n courseOutlineUnit { id seq nameLocal nameEng }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_LIVECLASSSCHEDULE,\n GET_LIVECLASSSCHEDULES,\n GET_LIVECLASSSCHEDULES_BY_FILTER,\n GET_LIVECLASSSCHEDULES_BY_FILTER_FOR_TABLE,\n ADD_LIVECLASSSCHEDULE,\n UPDATE_LIVECLASSSCHEDULE,\n DELETE_LIVECLASSSCHEDULE\n} from '@/queries/modules/live-class/live-class-schedule.js';\n\nexport async function getLiveClassSchedules(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_LIVECLASSSCHEDULES,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setLiveClassSchedules', data.getLiveClassSchedules);\n context.commit('setSuccess', null);\n return data.getLiveClassSchedules\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getLiveClassSchedulesByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_LIVECLASSSCHEDULES_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setLiveClassSchedules', data.getLiveClassSchedulesByFilter);\n context.commit('setSuccess', null);\n\n return data.getLiveClassSchedulesByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getLiveClassSchedulesByFilterForTable(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_LIVECLASSSCHEDULES_BY_FILTER_FOR_TABLE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setLiveClassSchedules', data.getLiveClassSchedulesByFilter);\n context.commit('setSuccess', null);\n\n return data.getLiveClassSchedulesByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getLiveClassSchedule(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_LIVECLASSSCHEDULE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setLiveClassSchedule', data.getLiveClassSchedule);\n context.commit('setSuccess', null);\n return data.getLiveClassSchedule\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addLiveClassSchedule(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_LIVECLASSSCHEDULE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const liveClassSchedules = [...context.state.liveClassSchedules];\n liveClassSchedules.push(data.addLiveClassSchedule);\n context.commit('setLiveClassSchedules', liveClassSchedules);\n context.commit('setSuccess', newItemSuccess(data.addLiveClassSchedule.topicLocal));\n\n return data.addLiveClassSchedule;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateLiveClassSchedule(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_LIVECLASSSCHEDULE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.liveClassSchedules.findIndex(item => item.id === data.updateLiveClassSchedule.id);\n const liveClassSchedules = [\n ...context.state.liveClassSchedules.slice(0, index),\n data.updateLiveClassSchedule,\n ...context.state.liveClassSchedules.slice(index + 1)\n ];\n context.commit('setLiveClassSchedules', liveClassSchedules);\n context.commit('setSuccess', updateItemSuccess(data.updateLiveClassSchedule.topicLocal));\n\n return data.updateLiveClassSchedule\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteLiveClassSchedule(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_LIVECLASSSCHEDULE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.liveClassSchedules.findIndex(item => item.id === data.deleteLiveClassSchedule.id);\n const liveClassSchedules = [\n ...context.state.liveClassSchedules.slice(0, index),\n ...context.state.liveClassSchedules.slice(index + 1)\n ];\n context.commit('setLiveClassSchedules', liveClassSchedules);\n context.commit('setSuccess', deleteItemSuccess(data.deleteLiveClassSchedule.topicLocal));\n\n return data.deleteLiveClassSchedule\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {getField, updateField} from 'vuex-map-fields';\nimport {error, newItemSuccess, updateItemSuccess} from '@/utils/notification';\n\nimport {\n ADD_ACADEMICPERIODCONFIG,\n GET_ACADEMICPERIODCONFIGS,\n GET_ACADEMICPERIODCONFIGS_CURRENT,\n GET_ACADEMICPERIODCONFIG,\n UPDATE_ACADEMICPERIODCONFIG,\n} from '@/queries/modules/common-data/academicPeriodConfig';\n\n//\n// initial state\nconst state = {\n academicPeriodConfig: {\n id: '',\n applyPeriod: '',\n applyPeriodCode: '',\n learnPeriod: '',\n learnPeriodCode: '',\n enrollPeriod: '',\n enrollPeriodCode: '',\n },\n academicPeriodConfigs: [],\n processing: false,\n error: null,\n success: null,\n};\n\n//\n// getters\nconst getters = {\n getField\n};\n\n//\n// mutations\nconst mutations = {\n updateField,\n clearError: (state) => {\n state.error = null;\n },\n setError: (state, payload) => {\n state.error = payload;\n state.success = null;\n state.processing = false;\n },\n setSuccess: (state, payload) => {\n state.error = null;\n state.success = payload;\n state.processing = false;\n },\n setProcessing: (state, payload) => {\n state.processing = payload;\n },\n setAcademicPeriodConfigs: (state, payload) => {\n state.academicPeriodConfigs = payload ? payload : [];\n },\n setAcademicPeriodConfig: (state, payload) => {\n state.academicPeriodConfig = payload;\n },\n setSelectedAcademicPeriodConfig: (state, payload) => {\n state.academicPeriodConfig = {...payload};\n },\n clearSelectedAcademicPeriodConfig: (state) => {\n state.academicPeriodConfig = {\n id: '',\n applyPeriod: '',\n applyPeriodCode: '',\n learnPeriod: '',\n learnPeriodCode: '',\n enrollPeriod: '',\n enrollPeriodCode: '',\n }\n }\n};\n\n//\n// actions\nconst actions = {\n getAcademicPeriodConfigs: async ({commit}) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_ACADEMICPERIODCONFIGS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setAcademicPeriodConfigs', data.getAcademicPeriodConfigs);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n getAcademicPeriodConfig: async ({commit}, id) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_ACADEMICPERIODCONFIG,\n variables: {\n id: id\n },\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setAcademicPeriodConfig', data.getAcademicPeriodConfig);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n getCurrentAcademicPeriodConfig: async ({commit}, useState = true) => {\n commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_ACADEMICPERIODCONFIGS_CURRENT,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n if (errors) {\n commit('setError', error(errors));\n return state.academicPeriodConfig;\n } else {\n if (useState) {\n commit('setAcademicPeriodConfig', data.getCurrentAcademicPeriodConfig);\n }\n commit('setSuccess', null);\n return data.getCurrentAcademicPeriodConfig\n }\n\n } catch (e) {\n commit('setError', error(e));\n return state.academicPeriodConfig;\n }\n },\n addAcademicPeriodConfig: async ({commit}, payload) => {\n commit('setProcessing', true);\n await apolloClient\n .mutate({\n mutation: ADD_ACADEMICPERIODCONFIG,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const academicPeriodConfigs = [...state.academicPeriodConfigs];\n academicPeriodConfigs.push(data.addAcademicPeriodConfig);\n commit('setAcademicPeriodConfigs', academicPeriodConfigs);\n commit('setSuccess', newItemSuccess(data.addAcademicPeriodConfig.learnPeriodCode));\n })\n .catch((err) => {\n commit('setError', error(err));\n });\n },\n updateAcademicPeriodConfig: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: UPDATE_ACADEMICPERIODCONFIG,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.academicPeriodConfigs.findIndex(academicPeriodConfig => academicPeriodConfig.id === data.updateAcademicPeriodConfig.id);\n const academicPeriodConfigs = [\n ...state.academicPeriodConfigs.slice(0, index),\n data.updateAcademicPeriodConfig,\n ...state.academicPeriodConfigs.slice(index + 1)\n ];\n\n commit('setAcademicPeriodConfigs', academicPeriodConfigs);\n commit('setSuccess', updateItemSuccess(data.updateAcademicPeriodConfig.learnPeriodCode));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n selectedAcademicPeriodConfig: async ({commit}, payload) => {\n commit('setSelectedAcademicPeriodConfig', payload);\n },\n clearSelectedAcademicPeriodConfig: async ({commit}) => {\n commit('clearSelectedAcademicPeriodConfig');\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","export default {\n vdoSetUnit: {\n id: '',\n vdoSet: null,\n courseOutline: null,\n courseOutlineUnit: null,\n teacher: null,\n unitSeq: null,\n code: '',\n totalVdoLength: null,\n status: '',\n remark: '',\n vdoSetTopics: [],\n },\n vdoSetUnits: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setVdoSetUnits(state, payload) {\n state.vdoSetUnits = payload ? payload : [];\n}\n\nexport function setVdoSetUnit(state, payload) {\n state.vdoSetUnit = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_VDOSETUNITS_BY_FILTER = gql`\n\n query getVdoSetUnitsByFilter($vdoSetUnitFilterInput: VdoSetUnitFilterInput){\n getVdoSetUnitsByFilter (\n vdoSetUnitFilterInput:$vdoSetUnitFilterInput\n # รับข้อมูลตามนี้จะใส่หรือไม่ใส่ก็ได้\n # input VdoSetUnitFilterInput {\n # vdoSetId: ID\n # courseOutlineId: ID\n # courseOutlineUnitId: ID\n # teacherId: ID\n # unitSeq: Int\n # code: String\n # status: String\n # }\n ){\n id\n vdoSet{\n id\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal picturePath\n prefix{\n id nameLocal nameShortLocal\n }\n }\n }\n unitSeq\n code\n totalVdoLength\n courseOutline{\n id\n }\n courseOutlineUnit{\n id\n seq\n nameLocal\n nameEng\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n\n }\n }\n`;\n\nexport const GET_VDOSETUNITS = gql`\n query getVdoSetUnits {\n getVdoSetUnits {\n\n id\n vdoSet{\n id\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal picturePath\n prefix{\n id nameLocal nameShortLocal\n }\n }\n }\n unitSeq\n code\n totalVdoLength\n courseOutline{\n id\n }\n courseOutlineUnit{\n id\n seq\n nameLocal\n nameEng\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n }\n }\n`;\n\nexport const GET_VDOSETUNIT = gql`\n query getVdoSetUnit($id : ID!){\n getVdoSetUnit (\n id: $id\n ) {\n\n id\n vdoSet{\n id\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal picturePath\n prefix{\n id nameLocal nameShortLocal\n }\n }\n }\n unitSeq\n code\n totalVdoLength\n courseOutline{\n id\n }\n courseOutlineUnit{\n id\n seq\n nameLocal\n nameEng\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n }\n }\n`;\n\nexport const ADD_VDOSETUNIT = gql`\n mutation addVdoSetUnit(\n $vdoSetId: ID!,\n $vdoSetUnitId: ID!,\n $courseOutlineId: ID!,\n $teacherId: ID!,\n $vdoSetUnitInput: VdoSetUnitInput!\n ) {\n addVdoSetUnit(\n vdoSetId: $vdoSetId\n vdoSetUnitId: $vdoSetUnitId\n courseOutlineId: $courseOutlineId\n teacherId: $teacherId\n vdoSetUnitInput: $vdoSetUnitInput\n ) {\n\n id\n vdoSet{\n id\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal picturePath\n prefix{\n id nameLocal nameShortLocal\n }\n }\n }\n unitSeq\n code\n totalVdoLength\n courseOutline{\n id\n }\n courseOutlineUnit{\n id\n seq\n nameLocal\n nameEng\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n }\n }\n`;\n\nexport const UPDATE_VDOSETUNIT = gql`\n mutation updateVdoSetUnit(\n $id: ID!,\n $teacherId: ID!,\n $vdoSetUnitInput: VdoSetUnitInput!\n ) {\n updateVdoSetUnit(\n id: $id\n teacherId: $teacherId\n vdoSetUnitInput: $vdoSetUnitInput\n ) {\n\n id\n vdoSet{\n id\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal picturePath\n prefix{\n id nameLocal nameShortLocal\n }\n }\n }\n unitSeq\n code\n totalVdoLength\n courseOutline{\n id\n }\n courseOutlineUnit{\n id\n seq\n nameLocal\n nameEng\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n }\n }\n`;\n\nexport const DELETE_VDOSETUNIT = gql`\n mutation deleteVdoSetUnit($id: ID!) {\n deleteVdoSetUnit(\n id: $id\n ) {\n\n id\n vdoSet{\n id\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal picturePath\n prefix{\n id nameLocal nameShortLocal\n }\n }\n }\n unitSeq\n code\n totalVdoLength\n courseOutline{\n id\n }\n courseOutlineUnit{\n id\n seq\n nameLocal\n nameEng\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_VDOSETUNIT,\n GET_VDOSETUNITS,\n GET_VDOSETUNITS_BY_FILTER,\n ADD_VDOSETUNIT,\n UPDATE_VDOSETUNIT,\n DELETE_VDOSETUNIT\n} from '@/queries/modules/vdoSet/vdoSetUnit.js';\n\nexport async function getVdoSetUnits(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOSETUNITS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setVdoSetUnits', data.getVdoSetUnits);\n context.commit('setSuccess', null);\n return data.getVdoSetUnits\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getVdoSetUnitsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOSETUNITS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoSetUnits', data.getVdoSetUnitsByFilter);\n context.commit('setSuccess', null);\n\n return data.getVdoSetUnitsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getVdoSetUnit(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOSETUNIT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoSetUnit', data.getVdoSetUnit);\n context.commit('setSuccess', null);\n return data.getVdoSetUnit\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function addVdoSetUnit(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_VDOSETUNIT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const vdoSetUnits = [...context.state.vdoSetUnits];\n vdoSetUnits.push(data.addVdoSetUnit);\n context.commit('setVdoSetUnits', vdoSetUnits);\n context.commit('setSuccess', newItemSuccess(data.addVdoSetUnit.sectionNo));\n\n return data.addVdoSetUnit;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateVdoSetUnit(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_VDOSETUNIT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.vdoSetUnits.findIndex(item => item.id === data.updateVdoSetUnit.id);\n const vdoSetUnits = [\n ...context.state.vdoSetUnits.slice(0, index),\n data.updateVdoSetUnit,\n ...context.state.vdoSetUnits.slice(index + 1)\n ];\n context.commit('setVdoSetUnits', vdoSetUnits);\n context.commit('setSuccess', updateItemSuccess(data.updateVdoSetUnit.sectionNo));\n\n return data.updateVdoSetUnit\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteVdoSetUnit(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_VDOSETUNIT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.vdoSetUnits.findIndex(item => item.id === data.deleteVdoSetUnit.id);\n const vdoSetUnits = [\n ...context.state.vdoSetUnits.slice(0, index),\n ...context.state.vdoSetUnits.slice(index + 1)\n ];\n context.commit('setVdoSetUnits', vdoSetUnits);\n context.commit('setSuccess', deleteItemSuccess(data.deleteVdoSetUnit.sectionNo));\n\n return data.deleteVdoSetUnit\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {getField, updateField} from 'vuex-map-fields';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\n\nimport {\n ADD_SUBJECT,\n DELETE_SUBJECT,\n GET_SUBJECTS,\n GET_SUBJECTS_DDL,\n GET_SUBJECT_BY_SUBJECTGROUP_ID,\n GET_SUBJECT,\n UPDATE_SUBJECT,\n} from '@/queries/modules/common-data/subject';\n\n//\n// initial state\nconst state = {\n subject: {\n id: '',\n degreeId: null,\n subjectGroupId: null,\n code: '',\n nameLocal: '',\n nameEng: '',\n description: '',\n creditCalGrade: null,\n creditDesc: '',\n },\n subjects: [],\n subjectsDdl: [],\n processing: false,\n error: null,\n success: null,\n};\n\n//\n// getters\nconst getters = {\n getField\n};\n\n//\n// mutations\nconst mutations = {\n updateField,\n clearError: (state) => {\n state.error = null;\n },\n setError: (state, payload) => {\n state.error = payload;\n state.success = null;\n state.processing = false;\n },\n setSuccess: (state, payload) => {\n state.error = null;\n state.success = payload;\n state.processing = false;\n },\n setProcessing: (state, payload) => {\n state.processing = payload;\n },\n setSubjects: (state, payload) => {\n state.subjects = payload ? payload : [];\n },\n setSubjectsDdl: (state, payload) => {\n state.subjectsDdl = payload ? payload : [];\n },\n setSubject: (state, payload) => {\n state.subject = payload;\n },\n setSelectedSubject: (state, payload) => {\n state.subject = {...payload};\n },\n clearSelectedSubject: (state) => {\n state.subject = {\n id: '',\n degreeId: null,\n subjectGroupId: null,\n code: '',\n nameLocal: '',\n nameEng: '',\n description: '',\n creditCalGrade: null,\n creditDesc: '',\n }\n }\n};\n\n//\n// actions\nconst actions = {\n getSubjects: async ({commit}, useState = true) => {\n commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_SUBJECTS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const { data, errors } = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return state.subjects;\n }else{\n if(useState){\n commit('setSubjects', data.getSubjects);\n }\n commit('setSuccess', null);\n return data.getSubjects\n }\n\n } catch (e) {\n commit('setError', error(e));\n return state.subjects;\n }\n\n },\n getSubjectsDdl: async ({commit}, useState = true) => {\n commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_SUBJECTS_DDL,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const { data, errors } = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return state.subjectsDdl;\n }else{\n if(useState){\n commit('setSubjectsDdl', data.getSubjects);\n }\n commit('setSuccess', null);\n return data.getSubjects\n }\n\n } catch (e) {\n commit('setError', error(e));\n return state.subjectsDdl;\n }\n\n },\n getSubject: async ({commit}, id) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_SUBJECT,\n variables: {\n id: id\n },\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setSubject', data.getSubject);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n getSubjectBySubjectGroupID: async ({ commit }, payload) => {\n let sideEffects;\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n query: GET_SUBJECT_BY_SUBJECTGROUP_ID,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n const { data } = await result;\n\n // TODO: Handle after success;\n sideEffects = {\n status: { success: true, error: false, message: \"\" },\n data: [ ...data.getSubjectsBySubjectGroup ]\n };\n\n commit('setSubjects', data.getSubjectsBySubjectGroup);\n commit('setSuccess', null);\n return sideEffects;\n\n } catch (err) {\n commit('setError', error(err));\n return { status: { success: false, error: true, message: \"\", full: err }};\n }\n },\n addSubject: async ({commit}, payload) => {\n commit('setProcessing', true);\n await apolloClient\n .mutate({\n mutation: ADD_SUBJECT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const subjects = [...state.subjects];\n subjects.push(data.addSubject);\n commit('setSubjects', subjects);\n commit('setSuccess', newItemSuccess(data.addSubject.nameLocal));\n })\n .catch((err) => {\n commit('setError', error(err));\n });\n },\n updateSubject: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: UPDATE_SUBJECT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.subjects.findIndex(subject => subject.id === data.updateSubject.id);\n const subjects = [\n ...state.subjects.slice(0, index),\n data.updateSubject,\n ...state.subjects.slice(index + 1)\n ];\n\n commit('setSubjects', subjects);\n commit('setSuccess', updateItemSuccess(data.updateSubject.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n deleteSubject: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: DELETE_SUBJECT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.subjects.findIndex(subject => subject.id === data.deleteSubject.id);\n const subjects = [\n ...state.subjects.slice(0, index),\n ...state.subjects.slice(index + 1)\n ];\n\n commit('setSubjects', subjects);\n commit('setSuccess', deleteItemSuccess(data.deleteSubject.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n selectedSubject: async ({commit}, payload) => {\n commit('setSelectedSubject', payload);\n },\n clearSelectedSubject: async ({commit}) => {\n commit('clearSelectedSubject');\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","import AcademicPeriod from \"./academic-period\";\nimport Degree from \"./degree\";\nimport SubjectGroup from \"./subject-group\";\nimport Subject from \"./subject\";\n\nexport default {\n namespaced: true,\n modules: {\n AcademicPeriod,\n Degree,\n SubjectGroup,\n Subject\n }\n}\n","import {gql} from \"apollo-boost\";\n\nexport const GET_STUDENTS = gql`\n query {\n getStudents{\n\n id\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n gender\n telephone\n email\n birthDate\n citizenId\n }\n }\n`;\n\nexport const GET_STUDENTS_BY_FILTER = gql`\n query getStudentsByFilter ($studentFilterInput: StudentFilterInput) {\n getStudentsByFilter(\n studentFilterInput: $studentFilterInput\n ) {\n id\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n gender\n telephone\n email\n birthDate\n citizenId\n }\n }\n`;\n\nexport const GET_STUDENTS_BY_CODE__OR_NAME = gql`\n query getStudentsByCodeOrName ($codeOrName: String!, $limit: Int) {\n getStudentsByCodeOrName(\n codeOrName: $codeOrName,\n limit: $limit,\n ) {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n email telephone picturePath\n curriculum { id nameLocal nameEng}\n studentStatus { id nameLocal nameEng}\n label\n }\n }\n`;\n\nexport const GET_STUDENT = gql`\n query getStudent($id : ID!){\n getStudent (\n id: $id\n ) {\n id\n degree{id code nameLocal nameEng}\n curriculum{id code nameLocal nameEng}\n faculty{id code nameLocal nameEng}\n department{id code nameLocal nameEng}\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n gender\n telephone\n email\n birthDate\n citizenId\n project{id nameLocal nameEng}\n studentStatus{id nameLocal nameEng}\n examLocation\n user{id userLogin }\n }\n }\n`;\n\nexport const ADD_STUDENT = gql`\n mutation addStudent(\n $studentInput: StudentInput!,\n $curriculumId: ID!,\n $facultyId: ID!,\n $prefixId: ID!,\n $userId: ID,\n ) {\n addStudent(\n studentInput: $studentInput\n curriculumId: $curriculumId\n facultyId: $facultyId\n prefixId: $prefixId\n userId: $userId\n ) {\n id\n degree{id code nameLocal nameEng}\n curriculum{id code nameLocal nameEng}\n faculty{id code nameLocal nameEng}\n department{id code nameLocal nameEng}\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n gender\n telephone\n email\n birthDate\n citizenId\n project{id nameLocal nameEng}\n studentStatus{id nameLocal nameEng}\n examLocation\n user{id userLogin }\n }\n }\n`;\n\nexport const ADD_STUDENTS_UPLOAD = gql`\n mutation addStudentsUpload(\n $studentsUploadInput: [StudentsUploadInput]\n ) {\n addStudentsUpload (\n studentsUploadInput: $studentsUploadInput,\n )\n {\n successCount\n failCount\n resultAddStudentUpload{\n no degreeCode curriculumCode facultyCode departmentCode code firstNameLocal lastNameLocal firstNameEng lastNameEng\n gender telephone email citizenId status remark\n }\n }\n }\n`;\n\nexport const UPDATE_STUDENT = gql`\n mutation updateStudent(\n $id: ID!,\n $studentInput: StudentInput!,\n $curriculumId: ID!,\n $facultyId: ID!,\n $prefixId: ID!,\n $userId: ID,\n ) {\n updateStudent(\n id: $id\n studentInput: $studentInput\n curriculumId: $curriculumId\n facultyId: $facultyId\n prefixId: $prefixId\n userId: $userId\n ) {\n id\n degree{id code nameLocal nameEng}\n curriculum{id code nameLocal nameEng}\n faculty{id code nameLocal nameEng}\n department{id code nameLocal nameEng}\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n gender\n telephone\n email\n birthDate\n citizenId\n project{id nameLocal nameEng}\n studentStatus{id nameLocal nameEng}\n examLocation\n user{id userLogin }\n }\n }\n`;\n\nexport const DELETE_STUDENT = gql`\n mutation deleteStudent($id: ID!) {\n deleteStudent(\n id: $id\n ) {\n id\n degree{id code nameLocal nameEng}\n curriculum{id code nameLocal nameEng}\n faculty{id code nameLocal nameEng}\n department{id code nameLocal nameEng}\n code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal\n lastNameLocal\n firstNameEng\n lastNameEng\n gender\n telephone\n email\n birthDate\n citizenId\n project{id nameLocal nameEng}\n studentStatus{id nameLocal nameEng}\n examLocation\n user{id userLogin }\n }\n }\n`;\n\n","/* eslint-disabled no-unused-vars */\nimport { apolloClient } from '@/setup/apollo-setup';\nimport { error } from '@/utils/notification';\n\nimport {\n // ADD_STUDENT,\n // DELETE_STUDENT,\n // GET_STUDENTS,\n GET_STUDENTS_BY_FILTER,\n // GET_STUDENT,\n // UPDATE_STUDENT,\n} from '@/queries/modules/profile/student';\n\n//\n// initial state\nconst state = {\n processing: false,\n error: null,\n success: null,\n};\n\n//\n// getters\nconst getters = {\n // getField\n};\n\n//\n// mutations\nconst mutations = {\n // updateField,\n clearError: (state) => {\n state.error = null;\n },\n setError: (state, payload) => {\n state.error = payload;\n state.success = null;\n state.processing = false;\n },\n setSuccess: (state, payload) => {\n state.error = null;\n state.success = payload;\n state.processing = false;\n },\n setProcessing: (state, payload) => {\n state.processing = payload;\n },\n /* setTeachers: (state, payload) => {\n state.teachers = payload ? payload : [];\n state.searchTeacherResults = payload ? payload : [];\n }, */\n /* setTeacher: (state, payload) => {\n state.teacher = payload;\n }, */\n /* setSelectedTeacher: (state, payload) => {\n state.teacher = {...payload};\n }, */\n /* setSearchTeacherResults: (state, payload) => {\n state.searchTeacherResults = payload;\n }, */\n /* clearSelectedTeacher: (state) => {\n state.teacher = {\n id: \"\",\n code: \"\",\n facultyId: \"\",\n curriculumId: \"\",\n prefixId: \"\",\n firstNameLocal: \"\",\n lastNameLocal: \"\",\n firstNameEng: \"\",\n lastNameEng: \"\",\n availableTime: \"\",\n telephone: \"\",\n email: \"\",\n picturePath: \"\",\n socialMedia: \"\",\n isSpecialTeacher: null,\n isActive: null,\n userId: \"\",\n }\n } */\n};\n\n//\n// actions\nconst actions = {\n async getStudentsByFilter ({commit}, payload) {\n commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n })\n const { data } = await result;\n if (data) {\n // TODO: Handle after success;\n commit('setSuccess', true);\n return { status: { success: true, error: false, message: \"\" }, data: [...data.getStudentsByFilter] }\n } else {\n return { status: { success: false, error: true, code: 400, message: \"no-result\" }}\n }\n } catch (e) {\n commit('setError', error(e));\n return { status: { success: false, error: true, message: \"\", full: e }}\n }\n },\n // getTeachersByFilterNotUseState: async ({commit}, payload) => {\n // commit('setProcessing', true);\n // try {\n // const result = await apolloClient\n // .query({\n // query: GET_TEACHERS_BY_FILTER,\n // variables: payload\n // });\n // const { data } = await result;\n // commit('setSuccess', null);\n // if (data && data.getTeachersByFilter.length > 0) {\n // // TODO: Handle after success;\n // return { status: { success: true, error: false, message: \"\" }, data: [...data.getTeachersByFilter] }\n // } else {\n // return { status: { success: false, error: true, code: 400, message: \"no-result\" }, data: []}\n // }\n // } catch (e) {\n // console.log(e);\n // commit('setError', error(e));\n // return { status: { success: false, error: true, message: \"\", full: e }}\n // }\n // },\n // getTeacher: async ({commit}, id) => {\n // commit('setProcessing', true);\n\n // apolloClient\n // .query({\n // query: GET_TEACHER,\n // variables: {\n // id: id\n // }\n // })\n // .then(({data}) => {\n // commit('setTeacher', data.getTeacher);\n // commit('setSuccess', null);\n // })\n // .catch(({err}) => {\n // commit('setError', error(err));\n // });\n // },\n // searchTeachers: async ({commit}, payload) => {\n // commit('setProcessing', true);\n\n // try {\n // commit('setSearchTeacherResults', _.filter(state.teachers, (teacher) => _.some(teacher, value => _.includes(_.toLower(value), _.toLower(payload)))));\n // commit('setProcessing', false);\n // } catch (err) {\n // console.log(err);\n // commit('setError', error(err));\n // }\n // },\n // addTeacher: async ({commit}, payload) => {\n // commit('setProcessing', true);\n\n // await apolloClient\n // .mutate({\n // mutation: ADD_TEACHER,\n // variables: payload,\n // })\n // .then(({data}) => {\n // const teachers = [...state.teachers];\n // teachers.push(data.addTeacher);\n // commit('setTeachers', teachers);\n // commit('setSuccess', newItemSuccess(data.addTeacher.nameLocal));\n // })\n // .catch((err) => {\n // commit('setError', error(err));\n // });\n // },\n // updateTeacher: async ({commit}, payload) => {\n // commit('setProcessing', true);\n\n // apolloClient\n // .mutate({\n // mutation: UPDATE_TEACHER,\n // variables: payload\n // })\n // .then(({data}) => {\n // const index = state.teachers.findIndex(teacher => teacher.id === data.updateTeacher.id);\n // const teachers = [\n // ...state.teachers.slice(0, index),\n // data.updateTeacher,\n // ...state.teachers.slice(index + 1)\n // ];\n\n // commit('setTeachers', teachers);\n // commit('setSuccess', updateItemSuccess(data.updateTeacher.nameLocal));\n // })\n // .catch(({err}) => {\n // commit('setError', error(err));\n // });\n // },\n // deleteTeacher: async ({commit}, payload) => {\n // commit('setProcessing', true);\n\n // apolloClient\n // .mutate({\n // mutation: DELETE_TEACHER,\n // variables: payload\n // })\n // .then(({data}) => {\n // const index = state.teachers.findIndex(teacher => teacher.id === data.deleteTeacher.id);\n // const teachers = [\n // ...state.teachers.slice(0, index),\n // ...state.teachers.slice(index + 1)\n // ];\n\n // commit('setTeachers', teachers);\n // commit('setSuccess', deleteItemSuccess(data.deleteTeacher.nameLocal));\n // })\n // .catch(({err}) => {\n // commit('setError', error(err));\n // });\n // },\n // selectedTeacher: async ({commit}, payload) => {\n // commit('setSelectedTeacher', payload);\n // },\n // clearSelectedTeacher: async ({commit}) => {\n // commit('clearSelectedTeacher');\n // }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","import Student from \"./student\";\nimport Teacher from \"./teacher\";\n\nexport default {\n namespaced: true,\n modules: {\n Teacher,\n Student\n }\n}\n","export default {\n courseOutlineRegistration: {\n id: '',\n academicPeriodId: '',\n periodCode: '',\n courseOutlineId: '',\n degreeId: '',\n subjectGroupId: '',\n subjectId: '',\n subjectCode: '',\n subjectName: '',\n teacherId: '',\n teacherCode: '',\n classSections: [],\n },\n courseOutlineRegistrations: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setCourseOutlineRegistrations(state, payload) {\n state.courseOutlineRegistrations = payload ? payload : [];\n}\n\nexport function setCourseOutlineRegistration(state, payload) {\n state.courseOutlineRegistration = payload;\n}\n","import { gql } from \"apollo-boost\";\n\nexport const GET_COURSEOUTLINEREGISTRATION = gql`\n query getCourseOutlineRegistration($id: ID!) {\n getCourseOutlineRegistration(\n id: $id\n ) {\n id subjectCode subjectName teacherCode periodCode\n academicPeriod{\n id periodCode\n }\n courseOutline {\n id\n }\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng creditCalGrade creditDesc\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSections {\n id sectionNo descriptionLocal descriptionEng studentQty\n vdoSetCode startClassDate learnSpanNo examSpanNo\n vdoSet{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled\n }\n }\n }\n }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINEREGISTRATIONS = gql`\n query getCourseOutlineRegistrations {\n getCourseOutlineRegistrations {\n id subjectCode subjectName teacherCode periodCode\n academicPeriod{\n id periodCode\n }\n courseOutline {\n id\n }\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSections {\n id sectionNo descriptionLocal descriptionEng studentQty\n vdoSetCode startClassDate learnSpanNo examSpanNo\n vdoSet{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled\n }\n }\n }\n }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER = gql`\n query getCourseOutlineRegistrationsByFilter(\n $courseOutlineRegistrationFilterInput: CourseOutlineRegistrationFilterInput\n ) {\n getCourseOutlineRegistrationsByFilter(\n courseOutlineRegistrationFilterInput: $courseOutlineRegistrationFilterInput\n ) {\n id subjectCode subjectName teacherCode periodCode\n academicPeriod{\n id periodCode\n }\n courseOutline {\n id\n }\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSections {\n id sectionNo descriptionLocal descriptionEng studentQty\n vdoSetCode startClassDate learnSpanNo examSpanNo\n vdoSet{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled\n }\n }\n }\n classRoom{\n id\n }\n }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER_FOR_TABLE = gql`\n query getCourseOutlineRegistrationsByFilter(\n $courseOutlineRegistrationFilterInput: CourseOutlineRegistrationFilterInput\n ) {\n getCourseOutlineRegistrationsByFilter(\n courseOutlineRegistrationFilterInput: $courseOutlineRegistrationFilterInput\n ) {\n id subjectCode subjectName teacherCode periodCode\n subject {\n id code nameLocal nameEng creditCalGrade\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath picturePath\n }\n classSections {\n id\n }\n courseOutline{\n id\n }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER_ONLY_COURSEOUTLINE = gql`\n query getCourseOutlineRegistrationsByFilter(\n $courseOutlineRegistrationFilterInput: CourseOutlineRegistrationFilterInput\n ) {\n getCourseOutlineRegistrationsByFilter(\n courseOutlineRegistrationFilterInput: $courseOutlineRegistrationFilterInput\n ) {\n id\n courseOutline{\n id\n }\n }\n }\n`;\n\nexport const ADD_COURSEOUTLINEREGISTRATION = gql`\n mutation addCourseOutlineRegistration(\n $courseOutlineRegistrationInput: [CourseOutlineRegistrationInput!]\n ) {\n addCourseOutlineRegistration (\n courseOutlineRegistrationInput: $courseOutlineRegistrationInput\n )\n {\n id subjectCode subjectName teacherCode periodCode\n academicPeriod{\n id periodCode\n }\n courseOutline {\n id\n }\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSections {\n id sectionNo descriptionLocal descriptionEng studentQty\n vdoSetCode startClassDate learnSpanNo examSpanNo\n vdoSet{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled\n }\n }\n }\n }\n }\n }\n`;\n\nexport const UPDATE_COURSEOUTLINEREGISTRATION = gql`\n mutation updateCourseOutlineRegistration(\n $id: ID!,\n $courseOutlineRegistrationInput: CourseOutlineRegistrationInput!\n ) {\n updateCourseOutlineRegistration (\n id: $id\n courseOutlineRegistrationInput: $courseOutlineRegistrationInput\n ) {\n id subjectCode subjectName teacherCode periodCode\n academicPeriod{\n id periodCode\n }\n courseOutline {\n id\n }\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSections {\n id sectionNo descriptionLocal descriptionEng studentQty\n vdoSetCode startClassDate learnSpanNo examSpanNo\n vdoSet{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled\n }\n }\n }\n }\n }\n }\n`;\n\nexport const UPDATE_TEACHER_COURSEOUTLINEREGISTRATION = gql`\n mutation updateTeacherCourseOutlineRegistration(\n $id: ID!,\n $courseOutlineId: ID!,\n $teacherId: ID!,\n $teacherCode: String!,\n ) {\n updateTeacherCourseOutlineRegistration (\n id: $id\n courseOutlineId: $courseOutlineId\n teacherId: $teacherId\n teacherCode: $teacherCode\n ) {\n id subjectCode subjectName teacherCode periodCode\n academicPeriod{\n id periodCode\n }\n courseOutline {\n id\n }\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSections {\n id sectionNo descriptionLocal descriptionEng studentQty\n vdoSetCode startClassDate learnSpanNo examSpanNo\n vdoSet{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled\n }\n }\n }\n }\n }\n }\n`;\n\nexport const DELETE_COURSEOUTLINEREGISTRATION = gql`\n mutation deleteCourseOutlineRegistration(\n $id: ID!\n ) {\n deleteCourseOutlineRegistration (\n id: $id\n ) {\n id subjectCode subjectName teacherCode periodCode\n academicPeriod{\n id periodCode\n }\n courseOutline {\n id\n }\n degree {\n id code nameLocal nameEng\n }\n subjectGroup {\n id code nameLocal nameEng\n }\n subject {\n id code nameLocal nameEng\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSections {\n id sectionNo descriptionLocal descriptionEng studentQty\n vdoSetCode startClassDate learnSpanNo examSpanNo\n vdoSet{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq code totalVdoLength status remark\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath isEnabled\n }\n }\n }\n }\n }\n }\n`;\n\n/* TYPES\ninput CourseOutlineRegistrationFilterInput {\n academicPeriodId: ID\n periodCode: String\n courseOutlineId: ID\n degreeId: ID\n subjectGroupId: ID\n subjectId: ID\n subjectCode: String\n teacherId: ID\n teacherCode: String\n}\n\ninput CourseOutlineRegistrationInput {\n academicPeriodId: ID!\n periodCode: String\n courseOutlineId: ID!\n degreeId: ID!\n subjectGroupId: ID!\n subjectId: ID!\n subjectCode: String\n subjectName: String\n teacherId: ID!\n teacherCode: String\n}\n\ntype CourseOutlineRegistration {\n id: ID!\n academicPeriod: AcademicPeriod!\n periodCode: String\n courseOutline: CourseOutline!\n degree: Degree!\n subjectGroup: SubjectGroup!\n subject: Subject!\n subjectCode: String\n subjectName: String\n teacher: Teacher!\n teacherCode: String\n classSections: [ClassSection]\n isDisabled: Boolean!\n createdAt: String!\n updatedAt: String!\n createdBy: User\n updatedBy: User\n*/\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_COURSEOUTLINEREGISTRATION,\n GET_COURSEOUTLINEREGISTRATIONS,\n GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER,\n GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER_FOR_TABLE,\n GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER_ONLY_COURSEOUTLINE,\n ADD_COURSEOUTLINEREGISTRATION,\n UPDATE_COURSEOUTLINEREGISTRATION,\n UPDATE_TEACHER_COURSEOUTLINEREGISTRATION,\n DELETE_COURSEOUTLINEREGISTRATION\n} from '@/queries/modules/courses/course-outline-registration.js';\n\nexport async function getCourseOutlineRegistrations(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEREGISTRATIONS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.courseOutlineRegistration;\n } else {\n context.commit('setCourseOutlineRegistrations', data.getCourseOutlineRegistrations);\n context.commit('setSuccess', null);\n return data.getCourseOutlineRegistrations\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function getCourseOutlineRegistrationsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseOutlineRegistrations', data.getCourseOutlineRegistrationsByFilter);\n context.commit('setSuccess', null);\n\n return data.getCourseOutlineRegistrationsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseOutlineRegistrationsByFilterForTable(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER_FOR_TABLE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseOutlineRegistrations', data.getCourseOutlineRegistrationsByFilter);\n context.commit('setSuccess', null);\n\n return data.getCourseOutlineRegistrationsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseOutlineRegistrationsByFilterOnlyCourseOutline(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEREGISTRATIONS_BY_FILTER_ONLY_COURSEOUTLINE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseOutlineRegistrations', data.getCourseOutlineRegistrationsByFilter);\n context.commit('setSuccess', null);\n\n return data.getCourseOutlineRegistrationsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseOutlineRegistration(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEREGISTRATION,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.courseOutlineRegistration;\n } else {\n context.commit('setCourseOutlineRegistration', data.getCourseOutlineRegistration);\n context.commit('setSuccess', null);\n return data.getCourseOutlineRegistration\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\n/**\n * Action to Add Course Outline Registration\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {CourseOutlineRegistrationInput (Array), required} courseOutlineRegistrationInput : [{\n academicPeriodId: \"\", // {String} Get it from filter selection.\n periodCode: \"\", // {String} Get it from filter selection.\n degreeId: \"\", // {String} Get it from filter selection.\n subjectGroupId: \"\", // {String} Get it from filter selection.\n subjectId: \"\", // {String} Get it from Course Outline Selection.\n subjectCode: \"\", // {String} \"----------------------------------\"\n subjectName: \"\", // {String} \"----------------------------------\"\n courseOutlineId: \"\", // {String} \"----------------------------------\"\n teacherId: \"\", // {String} \"----------------------------------\"\n teacherCode: \"\", // {String} \"----------------------------------\"\n }]\n * @param {Boolean} useState boolean if true method will set state will return data, Default: true\n *\n */\nexport async function addCourseOutlineRegistration(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_COURSEOUTLINEREGISTRATION,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const courseOutlineRegistrations = [...context.state.courseOutlineRegistrations];\n courseOutlineRegistrations.push(data.addCourseOutlineRegistration);\n context.commit('setCourseOutlineRegistrations', courseOutlineRegistrations);\n context.commit('setSuccess', newItemSuccess(data.addCourseOutlineRegistration.enrollNo));\n\n return data.addCourseOutlineRegistration\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateCourseOutlineRegistration(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_COURSEOUTLINEREGISTRATION,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.courseOutlineRegistrations.findIndex(item => item.id === data.updateCourseOutlineRegistration.id);\n const courseOutlineRegistrations = [\n ...context.state.courseOutlineRegistrations.slice(0, index),\n data.updateCourseOutlineRegistration,\n ...context.state.courseOutlineRegistrations.slice(index + 1)\n ];\n context.commit('setCourseOutlineRegistrations', courseOutlineRegistrations);\n context.commit('setSuccess', updateItemSuccess(data.updateCourseOutlineRegistration.enrollNo));\n\n return data.updateCourseOutlineRegistration\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateTeacherCourseOutlineRegistration(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_TEACHER_COURSEOUTLINEREGISTRATION,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.courseOutlineRegistrations.findIndex(item => item.id === data.updateTeacherCourseOutlineRegistration.id);\n const courseOutlineRegistrations = [\n ...context.state.courseOutlineRegistrations.slice(0, index),\n data.updateTeacherCourseOutlineRegistration,\n ...context.state.courseOutlineRegistrations.slice(index + 1)\n ];\n context.commit('setCourseOutlineRegistrations', courseOutlineRegistrations);\n context.commit('setSuccess', updateItemSuccess(data.updateTeacherCourseOutlineRegistration.enrollNo));\n\n return data.updateTeacherCourseOutlineRegistration\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n/**\n * Action to Delete Course Outline Registration\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {ID (String), required} id : \"ID of a Course Outline Registration\"\n *\n */\nexport async function deleteCourseOutlineRegistration(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_COURSEOUTLINEREGISTRATION,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.courseOutlineRegistrations.findIndex(item => item.id === data.deleteCourseOutlineRegistration.id);\n const courseOutlineRegistrations = [\n ...context.state.courseOutlineRegistrations.slice(0, index),\n ...context.state.courseOutlineRegistrations.slice(index + 1)\n ];\n context.commit('setCourseOutlineRegistrations', courseOutlineRegistrations);\n context.commit('setSuccess', deleteItemSuccess(data.deleteCourseOutlineRegistration.enrollNo));\n\n return data.deleteCourseOutlineRegistration\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import CourseOutline from \"./course-outline\";\nimport CourseOutlineRegistration from \"./course-outline-registration\";\nimport ClassSection from \"./class-section\";\n\nexport default {\n namespaced: true,\n modules: {\n CourseOutline,\n CourseOutlineRegistration,\n ClassSection\n }\n}\n","export default {\n studentEnroll: {\n id: '',\n enrollNo: '',\n academicPeriodId: '',\n periodCode: '',\n studentId: '',\n studentCode: '',\n enrollDate: '',\n totalCredit: null,\n totalDropCredit: null,\n studentEnrollDetails: [],\n source: '',\n },\n studentEnrolls: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setStudentEnrolls(state, payload) {\n state.studentEnrolls = payload ? payload : [];\n}\n\nexport function setStudentEnroll(state, payload) {\n state.studentEnroll = payload;\n}\n","import { gql } from \"apollo-boost\";\n\nexport const GET_STUDENTENROLL = gql`\n query getStudentEnroll($id: ID!) {\n getStudentEnroll(\n id: $id\n ) {\n id enrollNo periodCode studentCode enrollDate\n totalCredit totalDropCredit source\n academicPeriod{\n id periodCode\n }\n student{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n }\n studentEnrollDetails{\n id sectionNo subjectCode teacherCode credit\n learnSpanNo examSpanNo isDrop\n courseOutlineRegistration{\n id\n }\n classSection{\n id studentRegisterQty studentQty\n }\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n\n }\n\n }\n }\n`;\n\nexport const GET_STUDENTENROLLS = gql`\n query getStudentEnrolls {\n getStudentEnrolls {\n id\n enrollNo\n academicPeriod {\n id\n }\n periodCode\n student {\n id\n firstNameLocal\n lastNameLocal\n }\n studentCode\n enrollDate\n totalCredit\n totalDropCredit\n source\n }\n }\n`;\n\nexport const GET_STUDENTENROLL_BY_FILTER = gql`\n query getStudentEnrollsByFilter(\n $studentEnrollFilterInput: StudentEnrollFilterInput!\n ) {\n getStudentEnrollsByFilter(\n studentEnrollFilterInput: $studentEnrollFilterInput\n ) {\n id enrollNo\n academicPeriod { id }\n periodCode\n student{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n prefix{\n id nameLocal nameEng\n }\n degree{\n id code nameLocal nameEng\n }\n curriculum{\n id code nameLocal nameEng\n }\n faculty{\n id code nameLocal nameEng\n }\n department{\n id code nameLocal nameEng\n }\n }\n studentCode\n enrollDate\n totalCredit\n totalDropCredit\n studentEnrollDetails{\n id sectionNo subjectCode teacherCode\n credit learnSpanNo examSpanNo isDrop\n subject{\n id nameLocal nameEng\n }\n teacher{\n id firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection{\n id studentRegisterQty studentQty\n }\n }\n }\n }\n`;\n\nexport const ADD_STUDENTENROLL = gql`\n mutation addStudentEnroll(\n $studentEnrollInput: StudentEnrollInput!,\n $academicPeriodId: String!,\n $studentId: String!\n $studentEnrollDetailArrayInput: [StudentEnrollDetailArrayInput]\n ) {\n addStudentEnroll (\n studentEnrollInput: $studentEnrollInput\n academicPeriodId: $academicPeriodId,\n studentId: $studentId\n studentEnrollDetailArrayInput: $studentEnrollDetailArrayInput\n )\n {id enrollNo periodCode studentCode enrollDate\n totalCredit totalDropCredit source\n academicPeriod{\n id periodCode\n }\n student{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n }\n studentEnrollDetails{\n id sectionNo subjectCode teacherCode credit\n learnSpanNo examSpanNo isDrop\n courseOutlineRegistration{\n id\n }\n classSection{\n id studentRegisterQty studentQty\n }\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n\n }\n\n }\n }\n`;\n\nexport const ADD_STUDENTENROLLS_UPLOAD = gql`\n mutation addStudentEnrollsUpload(\n $studentEnrollsUploadInput: [StudentEnrollsUploadInput]\n ) {\n addStudentEnrollsUpload (\n studentEnrollsUploadInput: $studentEnrollsUploadInput,\n )\n {\n successCount\n failCount\n resultAddStudentEnrollUpload{\n no periodCode studentCode studentName subjectCode sectionNo learnSpanNo isDrop status remark\n }\n }\n }\n`;\n\nexport const ADD_STUDENTENROLL_WITH_STUDENTENROLLDETAILS = gql`\n mutation addStudentEnrollWithStudentEnrollDetails(\n $studentEnrollInput: StudentEnrollInput!\n $studentId: String!\n $academicPeriodId: String!\n $subjects: [String]!\n ) {\n addStudentEnrollWithStudentEnrollDetails (\n academicPeriodId: $academicPeriodId,\n studentId: $studentId,\n studentEnrollInput: $studentEnrollInput,\n subjects: $subjects\n )\n {\n studentEnrollDetails {\n success\n error\n message\n }\n result {\n success\n error\n code\n message\n subjectId\n }\n }\n }\n`;\n\nexport const UPDATE_STUDENTENROLL = gql`\n mutation updateStudentEnroll(\n $id: ID!,\n $studentEnrollInput: StudentEnrollInput!\n ) {\n updateStudentEnroll (\n id: $id\n studentEnrollInput: $studentEnrollInput\n ) {\n id\n }\n }\n`;\n\nexport const DELETE_STUDENTENROLL = gql`\n mutation deleteStudentEnroll(\n $id: ID!\n ) {\n deleteStudentEnroll (\n id: $id\n ) {\n id\n }\n }\n`;\n\nexport const UPLOAD_STUDENTENROLL_SPREADSHEET = gql`\n mutation uploadStudentEnrollSpreadsheet(\n $file: Upload!\n ) {\n uploadStudentEnrollSpreadsheet (\n file: $file\n ) {\n filename\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\n// import axios from \"axios\";\nimport axios from \"@/setup/axios-setup\";\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_STUDENTENROLL,\n GET_STUDENTENROLLS,\n GET_STUDENTENROLL_BY_FILTER,\n ADD_STUDENTENROLL,\n ADD_STUDENTENROLL_WITH_STUDENTENROLLDETAILS,\n ADD_STUDENTENROLLS_UPLOAD,\n // UPLOAD_STUDENTENROLL_SPREADSHEET,\n UPDATE_STUDENTENROLL,\n DELETE_STUDENTENROLL,\n} from '@/queries/modules/student-enroll/student-enroll.js';\n\nexport async function getStudentEnrolls(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTENROLLS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.studentEnroll;\n } else {\n context.commit('setStudentEnrolls', data.getStudentEnrolls);\n context.commit('setSuccess', null);\n return data.getStudentEnrolls\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function getStudentEnrollsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTENROLL_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentEnrolls', data.getStudentEnrollsByFilter);\n context.commit('setSuccess', null);\n\n return data.getStudentEnrollsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentEnroll(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTENROLL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.studentEnroll;\n } else {\n context.commit('setStudentEnroll', data.getStudentEnroll);\n context.commit('setSuccess', null);\n return data.getStudentEnroll\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function addStudentEnroll(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENTENROLL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const studentEnrolls = [...context.state.studentEnrolls];\n studentEnrolls.push(data.addStudentEnroll);\n context.commit('setStudentEnrolls', studentEnrolls);\n context.commit('setSuccess', newItemSuccess(data.addStudentEnroll.enrollNo));\n\n return data.addStudentEnroll\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addStudentEnrollsUpload(context, payload) {\n context.commit('setProcessing', true);\n try {\n\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENTENROLLS_UPLOAD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', updateItemSuccess(data.addStudentEnrollsUpload.length));\n\n return data.addStudentEnrollsUpload\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudentEnroll(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENTENROLL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.studentEnrolls.findIndex(item => item.id === data.updateStudentEnroll.id);\n const studentEnrolls = [\n ...context.state.studentEnrolls.slice(0, index),\n data.updateStudentEnroll,\n ...context.state.studentEnrolls.slice(index + 1)\n ];\n context.commit('setStudentEnrolls', studentEnrolls);\n context.commit('setSuccess', updateItemSuccess(data.updateStudentEnroll.enrollNo));\n\n return data.updateStudentEnroll\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteStudentEnroll(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_STUDENTENROLL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.studentEnrolls.findIndex(item => item.id === data.deleteStudentEnroll.id);\n const studentEnrolls = [\n ...context.state.studentEnrolls.slice(0, index),\n ...context.state.studentEnrolls.slice(index + 1)\n ];\n context.commit('setStudentEnrolls', studentEnrolls);\n context.commit('setSuccess', deleteItemSuccess(data.deleteStudentEnroll.enrollNo));\n\n return data.deleteStudentEnroll\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addStudentEnrollWithStudentEnrollDetails(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENTENROLL_WITH_STUDENTENROLLDETAILS,\n variables: payload,\n errorPolicy: \"all\",\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return {status: {success: false, error: true, message: \"\", full: errors}}\n } else {\n context.commit('setStudentEnrolls', data.addStudentEnrollWithStudentEnrollDetails);\n context.commit('setSuccess', newItemSuccess(data.addStudentEnrollWithStudentEnrollDetails.length));\n\n return {\n status: {success: true, error: false, message: \"\"},\n data: data.addStudentEnrollWithStudentEnrollDetails\n };\n }\n\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}}\n }\n\n}\n\nexport async function uploadStudentEnrollSpreadsheet(context, payload) {\n context.commit('setProcessing', true);\n\n const formData = new FormData();\n formData.append('file', payload.file);\n formData.append('ext', payload.file.name.substring([payload.file.name.lastIndexOf('.') + 1]));\n formData.append('timestamp', payload.file.lastModified);\n formData.append('operationName', 'student-enroll');\n\n try {\n const result = await axios({\n url: 'http://localhost:8082/upload',\n method: 'post',\n headers: {\n 'content-type': 'multipart/form-data'\n },\n data: formData\n });\n\n\n const {subscribeEndPoint} = result.data;\n //:TODO change url to domain name\n // const eventSource = new EventSource(`http://localhost:8082/upload${subscribeEndPoint}`);\n const eventSource = new EventSource(`http://localhost:8082/upload${subscribeEndPoint}`);\n\n eventSource.onmessage = (e) => {\n if (e.lastEventId === \"10\") {\n eventSource.close();\n }\n };\n\n /*\n // Upload with Apollo and GraphQL (still not working)\n const result = await apolloClient\n .mutate({\n mutation: UPLOAD_STUDENTENROLL_SPREADSHEET,\n // variables: payload\n variables: { file }\n });\n */\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return {status: {success: false, error: true, message: \"\", full: errors}}\n } else {\n context.commit('setSuccess', null);\n return data;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}}\n }\n\n}\n\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import { gql } from \"apollo-boost\";\n\n\n/*\n * extend type Query {\n * getExamQuestionsByFilter(examQuestionsFilterInput: ExamQuestionFilterInput)\n * : [ExamQuestion]\n * }\n */\nexport const GET_EXAMQUESTION_LIST_BY_FILTER = gql`\n query getExamQuestionsByFilter (\n $examQuestionsFilterInput: ExamQuestionFilterInput\n ) {\n getExamQuestionsByFilter (\n examQuestionsFilterInput: $examQuestionsFilterInput\n )\n {\n id\n subject {\n id\n nameLocal\n }\n subjectCode\n teacher {\n id picturePath\n }\n teacherCode\n unitSeq\n questionTypeCode\n nameLocal\n nameEng\n score\n isRandomChoice\n # questionType {\n # code\n # nameLocal\n # nameEng\n # }\n examAnswers {\n id\n }\n }\n }\n`;\n","/* eslint-disable no-unused-vars */\nimport { apolloClient } from \"@/setup/apollo-setup\";\n// import axios from \"axios\";\nimport axios from \"@/setup/axios-setup\";\n\nimport * as generic from \"@/store/generic/mutations/result-status.js\";\nimport { error } from '@/utils/notification';\n\nimport {\n GET_EXAM_LIST,\n ADD_EXAM,\n BULK_ADD_EXAMQUESTION\n} from '@/queries/modules/examination/exam.js';\n\nimport {\n GET_EXAMQUESTION_LIST_BY_FILTER\n} from \"@/queries/modules/examination/exam-question\";\n\nconst state = {\n processing: false,\n error: null,\n success: null,\n};\n\nconst getters = {};\n\nconst mutations = {\n setError: generic.setError,\n setSuccess: (state, payload) => {\n state.error = null;\n state.success = payload;\n state.processing = false;\n },\n setProcessing: generic.setProcessing,\n};\n\nconst actions = {\n\n /**\n * Action to Get Exam List\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n */\n\n // async getExamList({commit}) {\n // // commit('setProcessing', true);\n // try {\n // const result = await apolloClient\n // .query({\n // query: GET_EXAM_LIST,\n // fetchPolicy: 'network-only',\n // context: { clientName: 'Prisma2' }\n // })\n // const { data } = await result;\n\n // // TODO: Handle after success;\n // return { status: { success: true, error: false, message: \"\" }, data: [ ...data.getExams ] };\n\n // } catch (e) {\n // // commit('setError', error(e));\n // return { status: { success: false, error: true, message: \"\", full: e }};\n // }\n // },\n\n /**\n * Action to Get Exam List\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n */\n\n async getExamQuestionListByFilter({ commit }, payload) {\n // commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_EXAMQUESTION_LIST_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n })\n const { data } = await result;\n\n // TODO: Handle after success;\n return { status: { success: true, error: false, message: \"\" }, data: [ ...data.getExamQuestionsByFilter ] };\n\n } catch (e) {\n // commit('setError', error(e));\n return { status: { success: false, error: true, message: \"\", full: e }};\n }\n },\n\n\n /**\n * Action to Add Exam\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {CourseOutlineRegistrationInput (Array), required} courseOutlineRegistrationInput : [{\n academicPeriodId: \"\", // {String} Get it from filter selection.\n periodCode: \"\", // {String} Get it from filter selection.\n degreeId: \"\", // {String} Get it from filter selection.\n subjectGroupId: \"\", // {String} Get it from filter selection.\n subjectId: \"\", // {String} Get it from Course Outline Selection.\n subjectCode: \"\", // {String} \"----------------------------------\"\n subjectName: \"\", // {String} \"----------------------------------\"\n courseOutlineId: \"\", // {String} \"----------------------------------\"\n teacherId: \"\", // {String} \"----------------------------------\"\n teacherCode: \"\", // {String} \"----------------------------------\"\n }]\n *\n */\n\n async addExam({ commit }, payload) {\n commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_EXAM,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n const { data } = await result;\n return {\n status: { success: true, error: false, message: \"\",\n data: data.addExam\n }};\n\n } catch (e) {\n // commit('setError', error(e));\n return { status: { success: false, error: true, message: \"\", full: e }}\n }\n },\n\n\n /**\n * Action to Delete Course Outline Registration\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {ID (String), required} id : \"ID of a Course Outline Registration\"\n *\n */\n\n// async deleteCourseOutlineRegistration({ commit }, payload) {\n// // commit('setProcessing', true);\n// console.log(payload);\n// try {\n// const result = await apolloClient\n// .mutate({\n// mutation: DELETE_COURSEOUTLINEREGISTRATION,\n// variables: payload\n// })\n// const { data } = await result;\n// console.log(data);\n// // const data = await getCourseOutlineById(payload);\n// // TODO: Handle after success;\n// // return data;\n// } catch (e) {\n// console.log(e);\n// // commit('setError', error(e));\n// return { status: { success: false, error: true, message: \"\", full: e }}\n// }\n// },\n\n\n /**\n * Action to Delete Course Outline Registration\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {ID (String), required} id : \"ID of a Course Outline Registration\"\n *\n */\n\n // async bulkAddExamQuestion({ commit }, payload) {\n // commit('setProcessing', true);\n\n // try {\n\n // // Upload with Apollo and GraphQL (still not working)\n // const result = await apolloClient\n // .mutate({\n // mutation: BULK_ADD_EXAMQUESTION,\n // // variables: payload\n // variables: payload,\n // context: { clientName: 'Prisma2' }\n // });\n\n\n // const {data} = await result;\n // commit('setSuccess', true);\n // return data;\n // // const data = await getCourseOutlineById(payload);\n // // TODO: Handle after success;\n // // return data;\n // } catch (e) {\n // commit('setError', error(e));\n // return { status: { success: false, error: true, message: \"\", full: e }}\n // }\n // },\n\n /**\n * Action to Delete Course Outline Registration\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {ID (String), required} id : \"ID of a Course Outline Registration\"\n *\n */\n\n async uploadExaminationQuestionSpreadsheet({ commit }, payload) {\n // commit('setProcessing', true);\n const formData = new FormData();\n formData.append('file', payload.file);\n formData.append('ext', payload.file.name.substring([payload.file.name.lastIndexOf('.') + 1]));\n formData.append('timestamp', payload.file.lastModified);\n formData.append('operationName', 'exam-question');\n formData.append('id', payload.id);\n\n try {\n const result = await axios({\n url: 'http://localhost:8082/upload',\n method: 'post',\n headers: {\n 'content-type': 'multipart/form-data'\n },\n data: formData\n });\n const {subscribeEndPoint} = result.data;\n const eventSource = new EventSource(`http://localhost:8082/upload${subscribeEndPoint}`);\n\n eventSource.onmessage = (e) => {\n if (e.lastEventId === \"10\") {\n eventSource.close();\n }\n }\n\n /*\n // Upload with Apollo and GraphQL (still not working)\n const result = await apolloClient\n .mutate({\n mutation: UPLOAD_STUDENTENROLL_SPREADSHEET,\n // variables: payload\n variables: { file }\n });\n */\n\n const {data} = await result;\n // const data = await getCourseOutlineById(payload);\n // TODO: Handle after success;\n return data;\n } catch (e) {\n // commit('setError', error(e));\n return { status: { success: false, error: true, message: \"\", full: e }}\n }\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_CLASSROOMTYPES = gql`\n query getClassRoomTypes{\n getClassRoomTypes {\n id\n nameLocal\n nameEng\n capacity\n label\n }\n }\n`;\n\nexport const GET_CLASSROOMTYPE = gql`\n query getClassRoomType($id : ID!){\n getClassRoomType (\n id: $id\n ) {\n id\n nameLocal\n nameEng\n capacity\n label\n }\n }\n`;\n\nexport const ADD_CLASSROOMTYPE = gql`\n mutation addClassRoomType(\n $classRoomTypeInput: ClassRoomTypeInput!\n ) {\n addClassRoomType(\n classRoomTypeInput: $classRoomTypeInput\n ) {\n id\n nameLocal\n nameEng\n capacity\n }\n }\n`;\n\nexport const UPDATE_CLASSROOMTYPE = gql`\n mutation updateClassRoomType(\n $id: ID!,\n $classRoomTypeInput: ClassRoomTypeInput!\n ) {\n updateClassRoomType(\n id: $id\n classRoomTypeInput: $classRoomTypeInput\n ) {\n id\n nameLocal\n nameEng\n capacity\n }\n }\n`;\n\nexport const DELETE_CLASSROOMTYPE = gql`\n mutation deleteClassRoomType($id: ID!) {\n deleteClassRoomType(\n id: $id\n ) {\n id\n nameLocal\n nameEng\n capacity\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {getField, updateField} from 'vuex-map-fields';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\n\nimport {\n ADD_CLASSROOMTYPE,\n DELETE_CLASSROOMTYPE,\n GET_CLASSROOMTYPES,\n GET_CLASSROOMTYPE,\n UPDATE_CLASSROOMTYPE,\n} from '@/queries/modules/class-room/classRoomType';\n\n//\n// initial state\nconst state = {\n classRoomType: {\n id: '',\n capacity: null,\n nameLocal: '',\n nameEng: '',\n },\n classRoomTypes: [],\n processing: false,\n error: null,\n success: null,\n};\n\n//\n// getters\nconst getters = {\n getField\n};\n\n//\n// mutations\nconst mutations = {\n updateField,\n clearError: (state) => {\n state.error = null;\n },\n setError: (state, payload) => {\n state.error = payload;\n state.success = null;\n state.processing = false;\n },\n setSuccess: (state, payload) => {\n state.error = null;\n state.success = payload;\n state.processing = false;\n },\n setProcessing: (state, payload) => {\n state.processing = payload;\n },\n setClassRoomTypes: (state, payload) => {\n state.classRoomTypes = payload ? payload : [];\n },\n setClassRoomType: (state, payload) => {\n state.classRoomType = payload;\n },\n setSelectedClassRoomType: (state, payload) => {\n state.classRoomType = {...payload};\n },\n clearSelectedClassRoomType: (state) => {\n state.classRoomType = {\n id: '',\n capacity: null,\n nameLocal: '',\n nameEng: '',\n }\n }\n};\n\n//\n// actions\nconst actions = {\n getClassRoomTypes: async ({commit}) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_CLASSROOMTYPES,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setClassRoomTypes', data.getClassRoomTypes);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n getClassRoomType: async ({commit}, id) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_CLASSROOMTYPE,\n variables: {\n id: id\n },\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setClassRoomType', data.getClassRoomType);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n addClassRoomType: async ({commit}, payload) => {\n commit('setProcessing', true);\n await apolloClient\n .mutate({\n mutation: ADD_CLASSROOMTYPE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const classRoomTypes = [...state.classRoomTypes];\n classRoomTypes.push(data.addClassRoomType);\n commit('setClassRoomTypes', classRoomTypes);\n commit('setSuccess', newItemSuccess(data.addClassRoomType.nameLocal));\n })\n .catch((err) => {\n commit('setError', error(err));\n });\n },\n updateClassRoomType: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: UPDATE_CLASSROOMTYPE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.classRoomTypes.findIndex(classRoomType => classRoomType.id === data.updateClassRoomType.id);\n const classRoomTypes = [\n ...state.classRoomTypes.slice(0, index),\n data.updateClassRoomType,\n ...state.classRoomTypes.slice(index + 1)\n ];\n\n commit('setClassRoomTypes', classRoomTypes);\n commit('setSuccess', updateItemSuccess(data.updateClassRoomType.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n deleteClassRoomType: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: DELETE_CLASSROOMTYPE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.classRoomTypes.findIndex(classRoomType => classRoomType.id === data.deleteClassRoomType.id);\n const classRoomTypes = [\n ...state.classRoomTypes.slice(0, index),\n ...state.classRoomTypes.slice(index + 1)\n ];\n\n commit('setClassRoomTypes', classRoomTypes);\n commit('setSuccess', deleteItemSuccess(data.deleteClassRoomType.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n selectedClassRoomType: async ({commit}, payload) => {\n commit('setSelectedClassRoomType', payload);\n },\n clearSelectedClassRoomType: async ({commit}) => {\n commit('clearSelectedClassRoomType');\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_CLASSROOMSOWNED = gql`\n query getClassRoomsOwned{\n getClassRoomsOwned {\n id\n inUseClassRoomQty\n availableClassRoomQty\n maxClassRoomQty\n capacity\n startDate\n endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n }\n }\n`;\n\nexport const GET_AVAILABLE_CLASSROOMSOWNED = gql`\n query getAvailableClassRoomsOwned{\n getAvailableClassRoomsOwned {\n id\n inUseClassRoomQty\n availableClassRoomQty\n maxClassRoomQty\n capacity\n startDate\n endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n label\n }\n }\n`;\n\nexport const GET_CLASSROOMOWNED = gql`\n query getClassRoomOwned($id : ID!){\n getClassRoomOwned (\n id: $id\n ) {\n id\n inUseClassRoomQty\n availableClassRoomQty\n maxClassRoomQty\n capacity\n startDate\n endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n }\n }\n`;\n\nexport const ADD_CLASSROOMOWNED = gql`\n mutation addClassRoomOwned(\n $classRoomTypeId: ID!\n $classRoomOwnedInput: ClassRoomOwnedInput!\n ) {\n addClassRoomOwned(\n classRoomTypeId: $classRoomTypeId\n classRoomOwnedInput: $classRoomOwnedInput\n ) {\n id\n inUseClassRoomQty\n availableClassRoomQty\n maxClassRoomQty\n capacity\n startDate\n endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n }\n }\n`;\n\nexport const UPDATE_CLASSROOMOWNED = gql`\n mutation updateClassRoomOwned(\n $id: ID!,\n $classRoomTypeId: ID!\n $classRoomOwnedInput: ClassRoomOwnedInput!\n ) {\n updateClassRoomOwned(\n id: $id\n classRoomTypeId: $classRoomTypeId\n classRoomOwnedInput: $classRoomOwnedInput\n ) {\n id\n inUseClassRoomQty\n availableClassRoomQty\n maxClassRoomQty\n capacity\n startDate\n endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n }\n }\n`;\n\nexport const DELETE_CLASSROOMOWNED = gql`\n mutation deleteClassRoomOwned($id: ID!) {\n deleteClassRoomOwned(\n id: $id\n ) {\n id\n inUseClassRoomQty\n availableClassRoomQty\n maxClassRoomQty\n capacity\n startDate\n endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {getField, updateField} from 'vuex-map-fields';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\n\nimport {\n ADD_CLASSROOMOWNED,\n DELETE_CLASSROOMOWNED,\n GET_CLASSROOMSOWNED,\n GET_AVAILABLE_CLASSROOMSOWNED,\n GET_CLASSROOMOWNED,\n UPDATE_CLASSROOMOWNED,\n} from '@/queries/modules/class-room/classRoomOwned';\n\n//\n// initial state\nconst state = {\n classRoomOwned: {\n id: '',\n inUseClassRoomQty: null,\n availableClassRoomQty: null,\n maxClassRoomQty: null,\n capacity: null,\n startDate: '',\n endDate: '',\n classRoomTypeId: '',\n },\n classRoomsOwned: [],\n availableClassRoomsOwned: [],\n processing: false,\n error: null,\n success: null,\n};\n\n//\n// getters\nconst getters = {\n getField\n};\n\n//\n// mutations\nconst mutations = {\n updateField,\n clearError: (state) => {\n state.error = null;\n },\n setError: (state, payload) => {\n state.error = payload;\n state.success = null;\n state.processing = false;\n },\n setSuccess: (state, payload) => {\n state.error = null;\n state.success = payload;\n state.processing = false;\n },\n setProcessing: (state, payload) => {\n state.processing = payload;\n },\n setClassRoomsOwned: (state, payload) => {\n state.classRoomsOwned = payload ? payload : [];\n },\n setAvailableClassRoomsOwned: (state, payload) => {\n state.availableClassRoomsOwned = payload ? payload : [];\n },\n setClassRoomOwned: (state, payload) => {\n state.classRoomOwned = payload;\n },\n setSelectedClassRoomOwned: (state, payload) => {\n state.classRoomOwned = {...payload};\n },\n clearSelectedClassRoomOwned: (state) => {\n state.classRoomOwned = {\n id: '',\n inUseClassRoomQty: null,\n availableClassRoomQty: null,\n maxClassRoomQty: null,\n capacity: null,\n startDate: '',\n endDate: '',\n classRoomTypeId: '',\n }\n }\n};\n\n//\n// actions\nconst actions = {\n getClassRoomsOwned: async ({commit}) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_CLASSROOMSOWNED,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setClassRoomsOwned', data.getClassRoomsOwned);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n getAvailableClassRoomsOwned: async ({commit}, useState = true) => {\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n query: GET_AVAILABLE_CLASSROOMSOWNED,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return state.availableClassRoomsOwned;\n }else{\n if(useState){\n commit('setAvailableClassRoomsOwned', data.getAvailableClassRoomsOwned);\n }\n commit('setSuccess', null);\n return data.getAvailableClassRoomsOwned\n }\n\n } catch (e) {\n commit('setError', error(e));\n return state.availableClassRoomsOwned;\n }\n\n },\n getClassRoomOwned: async ({commit}, id) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_CLASSROOMOWNED,\n variables: {\n id: id\n },\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setClassRoomOwned', data.getClassRoomOwned);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n addClassRoomOwned: async ({commit}, payload) => {\n commit('setProcessing', true);\n await apolloClient\n .mutate({\n mutation: ADD_CLASSROOMOWNED,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const classRoomsOwned = [...state.classRoomsOwned];\n classRoomsOwned.push(data.addClassRoomOwned);\n commit('setClassRoomsOwned', classRoomsOwned);\n commit('setSuccess', newItemSuccess(data.addClassRoomOwned.classRoomType.nameLocal));\n })\n .catch((err) => {\n commit('setError', error(err));\n });\n },\n updateClassRoomOwned: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: UPDATE_CLASSROOMOWNED,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.classRoomsOwned.findIndex(classRoomOwned => classRoomOwned.id === data.updateClassRoomOwned.id);\n const classRoomsOwned = [\n ...state.classRoomsOwned.slice(0, index),\n data.updateClassRoomOwned,\n ...state.classRoomsOwned.slice(index + 1)\n ];\n\n commit('setClassRoomsOwned', classRoomsOwned);\n commit('setSuccess', updateItemSuccess(data.updateClassRoomOwned.classRoomType.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n deleteClassRoomOwned: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: DELETE_CLASSROOMOWNED,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.classRoomsOwned.findIndex(classRoomOwned => classRoomOwned.id === data.deleteClassRoomOwned.id);\n const classRoomsOwned = [\n ...state.classRoomsOwned.slice(0, index),\n ...state.classRoomsOwned.slice(index + 1)\n ];\n\n commit('setClassRoomsOwned', classRoomsOwned);\n commit('setSuccess', deleteItemSuccess(data.deleteClassRoomOwned.classRoomType.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n selectedClassRoomOwned: async ({commit}, payload) => {\n commit('setSelectedClassRoomOwned', payload);\n },\n clearSelectedClassRoomOwned: async ({commit}) => {\n commit('clearSelectedClassRoomOwned');\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","export default {\n student: {\n id: '',\n degreeId: '',\n curriculumId: '',\n facultyId: '',\n departmentId: '',\n code: '',\n prefixId: '',\n firstNameLocal: '',\n lastNameLocal: '',\n firstNameEng: '',\n lastNameEng: '',\n gender: '',\n telephone: '',\n email: '',\n picturePath: '',\n birthDate: '',\n citizenId: '',\n projectId: '',\n studentStatusId: '',\n examLocation: '',\n userId: '',\n },\n students: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setStudents(state, payload) {\n state.students = payload ? payload : [];\n}\n\nexport function setStudent(state, payload) {\n state.student = payload;\n}\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_STUDENT,\n GET_STUDENTS,\n GET_STUDENTS_BY_FILTER,\n GET_STUDENTS_BY_CODE__OR_NAME,\n ADD_STUDENT,\n ADD_STUDENTS_UPLOAD,\n UPDATE_STUDENT,\n DELETE_STUDENT,\n} from '@/queries/modules/profile/student.js';\n\nexport async function getStudents(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.student;\n } else {\n context.commit('setStudents', data.getStudents);\n context.commit('setSuccess', null);\n return data.getStudents\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function getStudentsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudents', data.getStudentsByFilter);\n context.commit('setSuccess', null);\n\n return data.getStudentsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentsByCodeOrName(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTS_BY_CODE__OR_NAME,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudents', data.getStudentsByCodeOrName);\n context.commit('setSuccess', null);\n\n return data.getStudentsByCodeOrName;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudent(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.student;\n } else {\n context.commit('setStudent', data.getStudent);\n context.commit('setSuccess', null);\n return data.getStudent\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function addStudent(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const students = [...context.state.students];\n students.push(data.addStudent);\n context.commit('setStudents', students);\n context.commit('setSuccess', newItemSuccess(data.addStudent.code));\n\n return data.addStudent\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addStudentsUpload(context, payload) {\n context.commit('setProcessing', true);\n try {\n\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENTS_UPLOAD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', updateItemSuccess(data.addStudentsUpload.length));\n\n return data.addStudentsUpload\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudent(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.students.findIndex(item => item.id === data.updateStudent.id);\n const students = [\n ...context.state.students.slice(0, index),\n data.updateStudent,\n ...context.state.students.slice(index + 1)\n ];\n context.commit('setStudents', students);\n context.commit('setSuccess', updateItemSuccess(data.updateStudent.code));\n\n return data.updateStudent\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteStudent(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_STUDENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.students.findIndex(item => item.id === data.deleteStudent.id);\n const students = [\n ...context.state.students.slice(0, index),\n ...context.state.students.slice(index + 1)\n ];\n context.commit('setStudents', students);\n context.commit('setSuccess', deleteItemSuccess(data.deleteStudent.code));\n\n return data.deleteStudent\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n studentScore: {\n id: \"\",\n studentEnrollDetail: null,\n subject: null,\n subjectCode: null,\n student: null,\n studentCode: null,\n teacher: null,\n teacherCode: null,\n classSection: null,\n sectionNo: null,\n fullScore: null,\n totalScore: null,\n studentScoreDetails: []\n },\n\n studentScores: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setStudentScores(state, payload) {\n state.studentScores = payload ? payload : [];\n}\n\nexport function setStudentScore(state, payload) {\n state.studentScore = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_STUDENTSCORE = gql`\n query getStudentScore($id : ID!){\n getStudentScore (\n id: $id\n ) {\n id studentCode teacherCode sectionNo fullScore totalScore subjectCode\n studentEnrollDetail {\n id\n }\n subject{ id code nameLocal nameEng }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection {\n id sectionNo\n }\n studentScoreDetails{\n id assessmentSeq fullScore score\n classSection {\n id sectionNo\n }\n assessment {\n id nameLocal nameEng\n }\n\n }\n\n }\n }\n`;\n\nexport const GET_STUDENTSCORES_BY_FILTER = gql`\n\n query getStudentScoresByFilter($studentScoreFilterInput: StudentScoreFilterInput){\n getStudentScoresByFilter (\n studentScoreFilterInput:$studentScoreFilterInput\n ){\n id studentCode teacherCode sectionNo fullScore totalScore subjectCode\n studentEnrollDetail {\n id\n courseOutlineRegistration {\n id\n courseOutline {\n id\n }\n }\n }\n subject{ id code nameLocal nameEng }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection {\n id sectionNo\n }\n studentScoreDetails{\n id assessmentSeq fullScore score\n classSection {\n id sectionNo\n }\n assessment {\n id nameLocal nameEng\n }\n }\n }\n }\n`;\n\nexport const GET_STUDENTSCORES_FOR_TEACHER = gql`\n\n query getStudentScoresForTeacher($studentScoreFilterInput: StudentScoreFilterInput){\n getStudentScoresForTeacher (\n studentScoreFilterInput:$studentScoreFilterInput\n ){\n id studentCode teacherCode sectionNo fullScore totalScore subjectCode\n studentEnrollDetail {\n id\n courseOutlineRegistration {\n id\n courseOutline {\n id\n }\n }\n }\n subject{ id code nameLocal nameEng }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection {\n id sectionNo\n }\n studentScoreDetails{\n id assessmentSeq fullScore score\n classSection {\n id sectionNo\n }\n assessment {\n id nameLocal nameEng\n }\n }\n }\n }\n`;\n\nexport const GET_STUDENTSCORES = gql`\n query getStudentScores {\n getStudentScores {\n\n id studentCode teacherCode sectionNo fullScore totalScore subjectCode\n studentEnrollDetail {\n id\n }\n subject{ id code nameLocal nameEng }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection {\n id sectionNo\n }\n studentScoreDetails{\n id assessmentSeq fullScore score\n classSection {\n id sectionNo\n }\n assessment {\n id nameLocal nameEng\n }\n\n }\n }\n }\n`;\n\nexport const ADD_STUDENTSCORE = gql`\n mutation addStudentScore(\n $classSectionId: ID!\n $studentScoreInput: StudentScoreInput!\n ) {\n addStudentScore(\n classSectionId: $classSectionId\n studentScoreInput: $studentScoreInput\n ) {\n id studentCode teacherCode sectionNo fullScore totalScore subjectCode\n studentEnrollDetail {\n id\n }\n subject{ id code nameLocal nameEng }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection {\n id sectionNo\n }\n studentScoreDetails{\n id assessmentSeq fullScore score\n classSection {\n id sectionNo\n }\n assessment {\n id nameLocal nameEng\n }\n\n }\n }\n }\n`;\n\nexport const UPDATE_STUDENTSCORE = gql`\n mutation updateStudentScore(\n $id: ID!,\n $studentScoreInput: StudentScoreInput!\n $studentScoreDetailsInput: [StudentScoreDetailsInput]\n ) {\n updateStudentScore(\n id: $id\n studentScoreInput: $studentScoreInput\n studentScoreDetailsInput: $studentScoreDetailsInput\n ) {\n id studentCode teacherCode sectionNo fullScore totalScore subjectCode\n studentEnrollDetail {\n id\n }\n subject{ id code nameLocal nameEng }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection {\n id sectionNo\n }\n studentScoreDetails{\n id assessmentSeq fullScore score\n classSection {\n id sectionNo\n }\n assessment {\n id nameLocal nameEng\n }\n\n }\n }\n }\n`;\n\nexport const UPDATE_STUDENTSCORE_ARRAY = gql`\n\n mutation updateStudentScoreArray(\n $studentScoreArrayInput: [StudentScoreArrayInput]\n ) {\n updateStudentScoreArray(\n studentScoreArrayInput: $studentScoreArrayInput\n ) {\n id studentCode teacherCode sectionNo fullScore totalScore subjectCode\n studentEnrollDetail {\n id\n }\n subject{ id code nameLocal nameEng }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection {\n id sectionNo\n }\n studentScoreDetails{\n id assessmentSeq fullScore score\n classSection {\n id sectionNo\n }\n assessment {\n id nameLocal nameEng\n }\n\n }\n }\n }\n`;\n\nexport const DELETE_STUDENTSCORE = gql`\n mutation deleteStudentScore($id: ID!) {\n deleteStudentScore(\n id: $id\n ) {\n id studentCode teacherCode sectionNo fullScore totalScore subjectCode\n studentEnrollDetail {\n id\n }\n subject{ id code nameLocal nameEng }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection {\n id sectionNo\n }\n studentScoreDetails{\n id assessmentSeq fullScore score\n classSection {\n id sectionNo\n }\n assessment {\n id nameLocal nameEng\n }\n\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_STUDENTSCORE,\n GET_STUDENTSCORES,\n GET_STUDENTSCORES_BY_FILTER,\n GET_STUDENTSCORES_FOR_TEACHER,\n ADD_STUDENTSCORE,\n UPDATE_STUDENTSCORE,\n UPDATE_STUDENTSCORE_ARRAY,\n DELETE_STUDENTSCORE\n} from '@/queries/modules/student-score/student-score.js';\n\nexport async function getStudentScores(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTSCORES,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentScores', data.getStudentScores);\n context.commit('setSuccess', null);\n return data.getStudentScores\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentScoresByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTSCORES_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentScores', data.getStudentScoresByFilter);\n context.commit('setSuccess', null);\n\n return data.getStudentScoresByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentScoresForTeacher(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTSCORES_FOR_TEACHER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentScores', data.getStudentScoresForTeacher);\n context.commit('setSuccess', null);\n\n return data.getStudentScoresForTeacher;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentScore(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTSCORE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setStudentScore', data.getStudentScore);\n context.commit('setSuccess', null);\n return data.getStudentScore\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addStudentScore(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENTSCORE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const studentScores = [...context.state.studentScores];\n studentScores.push(data.addStudentScore);\n context.commit('setStudentScores', studentScores);\n context.commit('setSuccess', newItemSuccess(data.addStudentScore.student.code));\n\n return data.addStudentScore;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudentScore(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENTSCORE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.studentScores.findIndex(item => item.id === data.updateStudentScore.id);\n const studentScores = [\n ...context.state.studentScores.slice(0, index),\n data.updateStudentScore,\n ...context.state.studentScores.slice(index + 1)\n ];\n context.commit('setStudentScores', studentScores);\n context.commit('setSuccess', updateItemSuccess(data.updateStudentScore.student.code));\n\n return data.updateStudentScore\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudentScoreArray(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENTSCORE_ARRAY,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n context.commit('setStudentScores', data.updateStudentScoreArray);\n context.commit('setSuccess', updateItemSuccess(data.updateStudentScoreArray.length));\n\n return data.updateStudentScoreArray\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteStudentScore(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_STUDENTSCORE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.studentScores.findIndex(item => item.id === data.deleteStudentScore.id);\n const studentScores = [\n ...context.state.studentScores.slice(0, index),\n ...context.state.studentScores.slice(index + 1)\n ];\n context.commit('setStudentScores', studentScores);\n context.commit('setSuccess', deleteItemSuccess(data.deleteStudentScore.student.code));\n\n return data.deleteStudentScore\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n studentUnitLearn: {\n id: \"\",\n studentEnroll: null,\n studentEnrollDetail: null,\n courseOutlineUnit: null,\n vdoSetUnit: null,\n unitSeq: null,\n totalVdoLength: null,\n totalLearnTime: null,\n learnPercent: null,\n studentTopicLearns: [],\n },\n\n studentUnitLearns: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setStudentUnitLearns(state, payload) {\n state.studentUnitLearns = payload ? payload : [];\n}\n\nexport function setStudentUnitLearn(state, payload) {\n state.studentUnitLearn = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_STUDENTUNITLEARN = gql`\n query getStudentUnitLearn($id : ID!){\n getStudentUnitLearn (\n id: $id\n ) {\n id unitSeq totalVdoLength totalLearnTime learnPercent\n studentEnroll { id }\n studentEnrollDetail {\n id\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection { id }\n }\n courseOutlineUnit { id }\n vdoSetUnit { id }\n\n studentTopicLearns { id }\n\n }\n }\n`;\n\nexport const GET_STUDENTUNITLEARNS_BY_FILTER = gql`\n\n query getStudentUnitLearnsByFilter($studentUnitLearnFilterInput: StudentUnitLearnFilterInput){\n getStudentUnitLearnsByFilter (\n studentUnitLearnFilterInput:$studentUnitLearnFilterInput\n ){\n id unitSeq totalVdoLength totalLearnTime learnPercent\n studentEnroll { id }\n studentEnrollDetail {\n id\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection { id }\n }\n courseOutlineUnit { id }\n vdoSetUnit { id }\n\n studentTopicLearns { id }\n\n }\n }\n`;\n\nexport const GET_STUDENTUNITLEARNS = gql`\n query getStudentUnitLearns {\n getStudentUnitLearns {\n id unitSeq totalVdoLength totalLearnTime learnPercent\n studentEnroll { id }\n studentEnrollDetail {\n id\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection { id }\n }\n courseOutlineUnit { id }\n vdoSetUnit { id }\n\n studentTopicLearns { id }\n }\n }\n`;\n\nexport const ADD_STUDENTUNITLEARN = gql`\n mutation addStudentUnitLearn(\n $classSectionId: ID!\n $studentUnitLearnInput: StudentUnitLearnInput!\n ) {\n addStudentUnitLearn(\n classSectionId: $classSectionId\n studentUnitLearnInput: $studentUnitLearnInput\n ) {\n id unitSeq totalVdoLength totalLearnTime learnPercent\n studentEnroll { id }\n studentEnrollDetail {\n id\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection { id }\n }\n courseOutlineUnit { id }\n vdoSetUnit { id }\n\n studentTopicLearns { id }\n }\n }\n`;\n\nexport const UPDATE_STUDENTUNITLEARN = gql`\n mutation updateStudentUnitLearn(\n $id: ID!,\n $studentUnitLearnInput: StudentUnitLearnInput!\n ) {\n updateStudentUnitLearn(\n id: $id\n studentUnitLearnInput: $studentUnitLearnInput\n ) {\n id unitSeq totalVdoLength totalLearnTime learnPercent\n studentEnroll { id }\n studentEnrollDetail {\n id\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection { id }\n }\n courseOutlineUnit { id }\n vdoSetUnit { id }\n\n studentTopicLearns { id }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess} from '@/utils/notification';\nimport {\n GET_STUDENTUNITLEARN,\n GET_STUDENTUNITLEARNS,\n GET_STUDENTUNITLEARNS_BY_FILTER,\n ADD_STUDENTUNITLEARN,\n UPDATE_STUDENTUNITLEARN,\n} from '@/queries/modules/student-unit-learn/student-unit-learn.js';\n\nexport async function getStudentUnitLearns(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTUNITLEARNS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentUnitLearns', data.getStudentUnitLearns);\n context.commit('setSuccess', null);\n return data.getStudentUnitLearns\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentUnitLearnsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTUNITLEARNS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentUnitLearns', data.getStudentUnitLearnsByFilter);\n context.commit('setSuccess', null);\n\n return data.getStudentUnitLearnsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentUnitLearn(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTUNITLEARN,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setStudentUnitLearn', data.getStudentUnitLearn);\n context.commit('setSuccess', null);\n return data.getStudentUnitLearn\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addStudentUnitLearn(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENTUNITLEARN,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const studentUnitLearns = [...context.state.studentUnitLearns];\n studentUnitLearns.push(data.addStudentUnitLearn);\n context.commit('setStudentUnitLearns', studentUnitLearns);\n context.commit('setSuccess', newItemSuccess(data.addStudentUnitLearn.unitSeq));\n\n return data.addStudentUnitLearn;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudentUnitLearn(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENTUNITLEARN,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.studentUnitLearns.findIndex(item => item.id === data.updateStudentUnitLearn.id);\n const studentUnitLearns = [\n ...context.state.studentUnitLearns.slice(0, index),\n data.updateStudentUnitLearn,\n ...context.state.studentUnitLearns.slice(index + 1)\n ];\n context.commit('setStudentUnitLearns', studentUnitLearns);\n context.commit('setSuccess', updateItemSuccess(data.updateStudentUnitLearn.unitSeq));\n\n return data.updateStudentUnitLearn\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n studentTopicLearn: {\n id: \"\",\n studentUnitLearn: null,\n studentEnrollDetail: null,\n vdoSetUnit: null,\n vdoSetTopic: null,\n vdoLength: null,\n learnTime: null,\n firstPlayVdo: null,\n startPlayVdo: null,\n stopPlayVdo: null,\n learnPercent: null,\n },\n\n studentTopicLearns: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setStudentTopicLearns(state, payload) {\n state.studentTopicLearns = payload ? payload : [];\n}\n\nexport function setStudentTopicLearn(state, payload) {\n state.studentTopicLearn = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_STUDENTTOPICLEARN = gql`\n query getStudentTopicLearn($id : ID!){\n getStudentTopicLearn (\n id: $id\n ) {\n id vdoLength learnTime firstPlayVdo startPlayVdo stopPlayVdo learnPercent\n studentUnitLearn { id }\n studentEnrollDetail {\n id\n student { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n classSection { id }\n }\n vdoSetUnit { id }\n vdoSetTopic { id }\n }\n }\n`;\n\nexport const GET_STUDENTTOPICLEARNS_BY_FILTER = gql`\n\n query getStudentTopicLearnsByFilter($studentTopicLearnFilterInput: StudentTopicLearnFilterInput){\n getStudentTopicLearnsByFilter (\n studentTopicLearnFilterInput:$studentTopicLearnFilterInput\n ){\n id vdoLength learnTime firstPlayVdo startPlayVdo stopPlayVdo learnPercent\n studentUnitLearn { id }\n studentEnrollDetail {\n id\n student { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n classSection { id }\n }\n vdoSetUnit { id }\n vdoSetTopic { id }\n\n }\n }\n`;\n\nexport const GET_STUDENTTOPICLEARNS = gql`\n query getStudentTopicLearns {\n getStudentTopicLearns {\n id vdoLength learnTime firstPlayVdo startPlayVdo stopPlayVdo learnPercent\n studentUnitLearn { id }\n studentEnrollDetail {\n id\n student { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n classSection { id }\n }\n vdoSetUnit { id }\n vdoSetTopic { id }\n }\n }\n`;\n\nexport const ADD_STUDENTTOPICLEARN = gql`\n mutation addStudentTopicLearn(\n $classSectionId: ID!\n $studentTopicLearnInput: StudentTopicLearnInput!\n ) {\n addStudentTopicLearn(\n classSectionId: $classSectionId\n studentTopicLearnInput: $studentTopicLearnInput\n ) {\n id vdoLength learnTime firstPlayVdo startPlayVdo stopPlayVdo learnPercent\n studentUnitLearn { id }\n studentEnrollDetail {\n id\n student { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n classSection { id }\n }\n vdoSetUnit { id }\n vdoSetTopic { id }\n }\n }\n`;\n\nexport const UPDATE_STUDENTTOPICLEARN = gql`\n mutation updateStudentTopicLearn(\n $id: ID!,\n $studentTopicLearnInput: StudentTopicLearnInput!\n ) {\n updateStudentTopicLearn(\n id: $id\n studentTopicLearnInput: $studentTopicLearnInput\n ) {\n id vdoLength learnTime firstPlayVdo startPlayVdo stopPlayVdo learnPercent\n studentUnitLearn { id }\n studentEnrollDetail {\n id\n student { id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n classSection { id }\n }\n vdoSetUnit { id }\n vdoSetTopic { id }\n }\n }\n`;\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess} from '@/utils/notification';\nimport {\n GET_STUDENTTOPICLEARN,\n GET_STUDENTTOPICLEARNS,\n GET_STUDENTTOPICLEARNS_BY_FILTER,\n ADD_STUDENTTOPICLEARN,\n UPDATE_STUDENTTOPICLEARN,\n} from '@/queries/modules/student-unit-learn/student-topic-learn.js';\n\nexport async function getStudentTopicLearns(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTTOPICLEARNS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentTopicLearns', data.getStudentTopicLearns);\n context.commit('setSuccess', null);\n return data.getStudentTopicLearns\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentTopicLearnsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTTOPICLEARNS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentTopicLearns', data.getStudentTopicLearnsByFilter);\n context.commit('setSuccess', null);\n\n return data.getStudentTopicLearnsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentTopicLearn(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTTOPICLEARN,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setStudentTopicLearn', data.getStudentTopicLearn);\n context.commit('setSuccess', null);\n return data.getStudentTopicLearn\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addStudentTopicLearn(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENTTOPICLEARN,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const studentTopicLearns = [...context.state.studentTopicLearns];\n studentTopicLearns.push(data.addStudentTopicLearn);\n context.commit('setStudentTopicLearns', studentTopicLearns);\n context.commit('setSuccess', newItemSuccess(data.addStudentTopicLearn.id));\n\n return data.addStudentTopicLearn;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudentTopicLearn(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENTTOPICLEARN,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.studentTopicLearns.findIndex(item => item.id === data.updateStudentTopicLearn.id);\n const studentTopicLearns = [\n ...context.state.studentTopicLearns.slice(0, index),\n data.updateStudentTopicLearn,\n ...context.state.studentTopicLearns.slice(index + 1)\n ];\n context.commit('setStudentTopicLearns', studentTopicLearns);\n context.commit('setSuccess', updateItemSuccess(data.updateStudentTopicLearn.id));\n\n return data.updateStudentTopicLearn\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n courseOutlineUnit: {\n id: '',\n courseOutline: null,\n seq: null,\n nameLocal: null,\n nameEng: null,\n descriptionLocal: null,\n descriptionEng: null,\n preTestExpectScore: null,\n postTestExpectScore: null,\n unitAgenda: null,\n unitObjective: null,\n unitReference: null,\n },\n courseOutlineUnits: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setCourseOutlineUnits(state, payload) {\n state.courseOutlineUnits = payload ? payload : [];\n}\n\nexport function setCourseOutlineUnit(state, payload) {\n state.courseOutlineUnit = payload;\n}\n","import { gql } from \"apollo-boost\";\n\nexport const GET_COURSEOUTLINEUNIT = gql`\n query getCourseOutlineUnit($id: ID!) {\n getCourseOutlineUnit(\n id: $id\n ) {\n id\n seq nameLocal nameEng descriptionLocal descriptionEng\n preTestExpectScore postTestExpectScore\n unitAgenda unitObjective unitReference\n courseOutline { id }\n }\n }\n`;\n\nexport const GET_COURSEOUTLINEUNITS = gql`\n query getCourseOutlineUnits {\n getCourseOutlineUnits {\n id\n seq nameLocal nameEng descriptionLocal descriptionEng\n preTestExpectScore postTestExpectScore\n unitAgenda unitObjective unitReference\n courseOutline { id }\n }\n }\n`;\n\nexport const ADD_COURSEOUTLINEUNIT = gql`\n mutation addCourseOutlineUnit(\n $courseOutlineId: ID!,\n $courseOutlineUnitInput: CourseOutlineUnitInput!\n ) {\n addCourseOutlineUnit (\n courseOutlineId: $courseOutlineId,\n courseOutlineUnitInput: $courseOutlineUnitInput,\n ) {\n id\n seq nameLocal nameEng descriptionLocal descriptionEng\n preTestExpectScore postTestExpectScore\n unitAgenda unitObjective unitReference\n courseOutline { id }\n }\n }\n`;\n\nexport const UPDATE_COURSEOUTLINEUNIT = gql`\n mutation updateCourseOutlineUnit(\n $id: ID!,\n $courseOutlineUnitInput: CourseOutlineUnitInput!\n ) {\n updateCourseOutlineUnit (\n id: $id,\n courseOutlineUnitInput: $courseOutlineUnitInput\n ) {\n id\n seq nameLocal nameEng descriptionLocal descriptionEng\n preTestExpectScore postTestExpectScore\n unitAgenda unitObjective unitReference\n courseOutline { id }\n }\n }\n`;\n\nexport const DELETE_COURSEOUTLINEUNIT = gql`\n mutation deleteCourseOutlineUnit(\n $id: ID!\n ) {\n deleteCourseOutlineUnit (\n id: $id\n ) {\n id\n seq nameLocal nameEng descriptionLocal descriptionEng\n preTestExpectScore postTestExpectScore\n unitAgenda unitObjective unitReference\n courseOutline { id }\n }\n }\n`;\n\n\n/* TYPES\n\ntype CourseOutlineUnit {\n id: ID!\n periodCode: String!\n year: String!\n semester: Int!\n isDisabled: Boolean!\n createdAt: String!\n updatedAt: String!\n createdBy: User\n updatedBy: User\n}\n\n*/\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_COURSEOUTLINEUNIT,\n GET_COURSEOUTLINEUNITS,\n ADD_COURSEOUTLINEUNIT,\n UPDATE_COURSEOUTLINEUNIT,\n DELETE_COURSEOUTLINEUNIT\n} from '@/queries/modules/courses/course-outline-unit';\n\nexport async function getCourseOutlineUnits(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEUNITS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseOutlineUnits', data.getCourseOutlineUnits);\n context.commit('setSuccess', null);\n return data.getCourseOutlineUnits\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseOutlineUnit(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSEOUTLINEUNIT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setCourseOutlineUnit', data.getCourseOutlineUnit);\n context.commit('setSuccess', null);\n return data.getCourseOutlineUnit\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addCourseOutlineUnit(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_COURSEOUTLINEUNIT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const courseOutlineUnits = [...context.state.courseOutlineUnits];\n courseOutlineUnits.push(data.addCourseOutlineUnit);\n context.commit('setCourseOutlineUnits', courseOutlineUnits);\n context.commit('setSuccess', newItemSuccess(data.addCourseOutlineUnit.seq));\n\n return data.addCourseOutlineUnit;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateCourseOutlineUnit(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_COURSEOUTLINEUNIT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.courseOutlineUnits.findIndex(item => item.id === data.updateCourseOutlineUnit.id);\n const courseOutlineUnits = [\n ...context.state.courseOutlineUnits.slice(0, index),\n data.updateCourseOutlineUnit,\n ...context.state.courseOutlineUnits.slice(index + 1)\n ];\n context.commit('setCourseOutlineUnits', courseOutlineUnits);\n context.commit('setSuccess', updateItemSuccess(data.updateCourseOutlineUnit.seq));\n\n return data.updateCourseOutlineUnit\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteCourseOutlineUnit(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_COURSEOUTLINEUNIT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.courseOutlineUnits.findIndex(item => item.id === data.deleteCourseOutlineUnit.id);\n const courseOutlineUnits = [\n ...context.state.courseOutlineUnits.slice(0, index),\n ...context.state.courseOutlineUnits.slice(index + 1)\n ];\n context.commit('setCourseOutlineUnits', courseOutlineUnits);\n context.commit('setSuccess', deleteItemSuccess(data.deleteCourseOutlineUnit.seq));\n\n return data.deleteCourseOutlineUnit\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_INFO_GROUPS = gql`\n query getInfoGroups{\n getInfoGroups {\n id color nameLocal nameEng isShow isFix\n }\n }\n`;\n\nexport const GET_INFO_GROUP = gql`\n query getInfoGroup($id : ID!){\n getInfoGroup (\n id: $id\n ) {\n id color nameLocal nameEng isShow isFix\n }\n }\n`;\n\nexport const ADD_INFO_GROUP = gql`\n mutation addInfoGroup(\n $infoGroupInput: InfoGroupInput,\n ) {\n addInfoGroup(\n infoGroupInput: $infoGroupInput\n ) {\n id color nameLocal nameEng isShow isFix\n }\n }\n`;\n\nexport const UPDATE_INFO_GROUP = gql`\n mutation updateInfoGroup(\n $id: ID!,\n $infoGroupInput: InfoGroupInput!\n ) {\n updateInfoGroup(\n id: $id\n infoGroupInput: $infoGroupInput\n ) {\n id color nameLocal nameEng isShow isFix\n }\n }\n`;\n\nexport const DELETE_INFO_GROUP = gql`\n mutation deleteInfoGroup($id: ID!) {\n deleteInfoGroup(\n id: $id\n ) {\n id color nameLocal nameEng isShow isFix\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_INFO_GROUP,\n GET_INFO_GROUPS,\n ADD_INFO_GROUP,\n UPDATE_INFO_GROUP,\n DELETE_INFO_GROUP\n} from '@/queries/modules/university-news/info-group';\n\nexport async function getInfoGroups(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_INFO_GROUPS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n return data.getInfoGroups\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getInfoGroup(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_INFO_GROUP,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.getInfoGroup\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addInfoGroup(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_INFO_GROUP,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', newItemSuccess(data.addInfoGroup.nameLocal));\n\n return data.addInfoGroup\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateInfoGroup(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_INFO_GROUP,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n context.commit('setSuccess', updateItemSuccess(data.updateInfoGroup.nameLocal));\n\n return data.updateInfoGroup\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteInfoGroup(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_INFO_GROUP,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', deleteItemSuccess(data.deleteInfoGroup.nameLocal));\n\n return data.deleteInfoGroup\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","/*=========================================================================================\n File Name: themeConfig.js\n Description: Theme configuration\n ----------------------------------------------------------------------------------------\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\n Author: Pixinvent\n Author URL: hhttp://www.themeforest.net/user/pixinvent\n==========================================================================================*/\n\n// MAIN COLORS - VUESAX THEME COLORS\nlet colors = {\n primary: '#7367F0',\n success: '#28C76F',\n danger: '#EA5455',\n warning: '#FF9F43',\n dark: '#1E1E1E',\n};\n\n// CONFIGS\nconst themeConfig = {\n disableCustomizer: false, // options[Boolean] : true, false(default)\n disableThemeTour: false, // options[Boolean] : true, false(default)\n footerType: \"static\", // options[String] : static(default) / sticky / hidden\n hideScrollToTop: false, // options[Boolean] : true, false(default)\n mainLayoutType: \"vertical\", // options[String] : vertical(default) / horizontal\n navbarColor: \"#fff\", // options[String] : HEX color / rgb / rgba / Valid HTML Color name - (default: #fff)\n navbarType: \"floating\", // options[String] : floating(default) / static / sticky / hidden\n routerTransition: \"zoom-fade\", // options[String] : zoom-fade / slide-fade / fade-bottom / fade / zoom-out / none(default)\n rtl: false, // options[Boolean] : true, false(default)\n sidebarCollapsed: false, // options[Boolean] : true, false(default)\n theme: \"light\", // options[String] : \"light\"(default), \"dark\", \"semi-dark\"\n\n // Not required yet - WIP\n userInfoLocalStorageKey: \"userInfo\",\n\n // NOTE: themeTour will be disabled in screens < 1200. Please refer docs for more info.\n};\n\nimport Vue from 'vue'\nimport Vuesax from 'vuesax'\n\nVue.use(Vuesax, {theme: {colors}, rtl: themeConfig.rtl});\n\nexport default themeConfig\n","/*=========================================================================================\n File Name: state.js\n Description: Vuex Store - state\n ----------------------------------------------------------------------------------------\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\n Author: Pixinvent\n Author URL: http://www.themeforest.net/user/pixinvent\n==========================================================================================*/\n\nimport navbarSearchAndPinList from \"@/layouts/components/navbar/navbarSearchAndPinList\";\nimport themeConfig from \"../../../../themeConfig.js\";\nimport colors from \"../../../../themeConfig.js\";\n\n\n// /////////////////////////////////////////////\n// Variables\n// /////////////////////////////////////////////\n\nconst userDefaults = {\n uid: 0, // From Auth\n displayName: \"John Doe\", // From Auth\n about: \"Dessert chocolate cake lemon drops jujubes. Biscuit cupcake ice cream bear claw brownie brownie marshmallow.\",\n photoURL: require(\"@/assets/images/portrait/small/avatar-s-11.jpg\"), // From Auth\n status: \"online\",\n userRole: \"admin\"\n};\n\n// /////////////////////////////////////////////\n// State\n// /////////////////////////////////////////////\n\nconst state = {\n AppActiveUser : userDefaults,\n bodyOverlay : false,\n isVerticalNavMenuActive : true,\n mainLayoutType : themeConfig.mainLayoutType || \"vertical\",\n navbarSearchAndPinList : navbarSearchAndPinList,\n reduceButton : themeConfig.sidebarCollapsed,\n verticalNavMenuWidth: \"default\",\n verticalNavMenuItemsMin: false,\n scrollY: 0,\n starredPages: navbarSearchAndPinList[\"pages\"].data.filter((page) => page.is_bookmarked),\n theme: themeConfig.theme || \"light\",\n themePrimaryColor: colors.primary,\n\n // Can be used to get current window with\n // Note: Above breakpoint state is for internal use of sidebar & navbar component\n windowWidth: null,\n};\n\nexport default state\n","/*=========================================================================================\n File Name: getters.js\n Description: Vuex Store - getters\n ----------------------------------------------------------------------------------------\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\n Author: Pixinvent\n Author URL: http://www.themeforest.net/user/pixinvent\n==========================================================================================*/\n\n// added so later we can keep breakpoint in sync automatically using this config file\n// import tailwindConfig from \"../../tailwind.config.js\"\n\nconst getters = {\n\n\t// COMPONENT\n\t\t// vx-autosuggest\n\t// starredPages: state => state.navbarSearchAndPinList.data.filter((page) => page.highlightAction),\n windowBreakPoint: state => {\n\n // This should be same as tailwind. So, it stays in sync with tailwind utility classes\n if (state.windowWidth >= 1200) return \"xl\"\n else if (state.windowWidth >= 992) return \"lg\"\n else if (state.windowWidth >= 768) return \"md\"\n else if (state.windowWidth >= 576) return \"sm\"\n else return \"xs\"\n },\n scrollbarTag: state => {\n return state.is_touch_device ? 'div' : 'VuePerfectScrollbar'\n }\n}\n\nexport default getters\n","/*=========================================================================================\n File Name: mutations.js\n Description: Vuex Store - mutations\n ----------------------------------------------------------------------------------------\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\n Author: Pixinvent\n Author URL: http://www.themeforest.net/user/pixinvent\n==========================================================================================*/\n\n\nconst mutations = {\n\n\n // /////////////////////////////////////////////\n // COMPONENTS\n // /////////////////////////////////////////////\n\n // Vertical NavMenu\n\n TOGGLE_IS_VERTICAL_NAV_MENU_ACTIVE(state, value) {\n state.isVerticalNavMenuActive = value\n },\n TOGGLE_REDUCE_BUTTON(state, val) {\n state.reduceButton = val\n },\n UPDATE_MAIN_LAYOUT_TYPE(state, val) {\n state.mainLayoutType = val\n },\n UPDATE_VERTICAL_NAV_MENU_ITEMS_MIN(state, val) {\n state.verticalNavMenuItemsMin = val\n },\n UPDATE_VERTICAL_NAV_MENU_WIDTH(state, width) {\n state.verticalNavMenuWidth = width\n },\n\n\n // VxAutoSuggest\n\n UPDATE_STARRED_PAGE(state, payload) {\n\n // find item index in search list state\n const index = state.navbarSearchAndPinList[\"pages\"].data.findIndex((item) => item.url == payload.url)\n\n // update the main list\n state.navbarSearchAndPinList[\"pages\"].data[index].is_bookmarked = payload.val\n\n // if val is true add it to starred else remove\n if (payload.val) {\n state.starredPages.push(state.navbarSearchAndPinList[\"pages\"].data[index])\n }\n else {\n // find item index from starred pages\n const index = state.starredPages.findIndex((item) => item.url == payload.url)\n\n // remove item using index\n state.starredPages.splice(index, 1)\n }\n },\n\n // Navbar-Vertical\n\n ARRANGE_STARRED_PAGES_LIMITED(state, list) {\n const starredPagesMore = state.starredPages.slice(10)\n state.starredPages = list.concat(starredPagesMore)\n },\n ARRANGE_STARRED_PAGES_MORE(state, list) {\n let downToUp = false\n let lastItemInStarredLimited = state.starredPages[10]\n const starredPagesLimited = state.starredPages.slice(0, 10)\n state.starredPages = starredPagesLimited.concat(list)\n\n state.starredPages.slice(0, 10).map((i) => {\n if (list.indexOf(i) > -1) downToUp = true\n })\n\n if (!downToUp) {\n state.starredPages.splice(10, 0, lastItemInStarredLimited)\n }\n },\n\n\n // ////////////////////////////////////////////\n // UI\n // ////////////////////////////////////////////\n\n TOGGLE_CONTENT_OVERLAY(state, val) { state.bodyOverlay = val },\n UPDATE_PRIMARY_COLOR(state, val) { state.themePrimaryColor = val },\n UPDATE_THEME(state, val) { state.theme = val },\n UPDATE_WINDOW_WIDTH(state, width) { state.windowWidth = width },\n UPDATE_WINDOW_SCROLL_Y(state, val) { state.scrollY = val },\n\n\n // /////////////////////////////////////////////\n // User/Account\n // /////////////////////////////////////////////\n\n // Updates user info in state and localstorage\n UPDATE_USER_INFO(state, payload) {\n\n // Get Data localStorage\n let userInfo = JSON.parse(localStorage.getItem(\"userInfo\")) || state.AppActiveUser\n\n for (const property of Object.keys(payload)) {\n\n if (payload[property] != null) {\n // If some of user property is null - user default property defined in state.AppActiveUser\n state.AppActiveUser[property] = payload[property]\n\n // Update key in localStorage\n userInfo[property] = payload[property]\n }\n\n\n }\n // Store data in localStorage\n localStorage.setItem(\"userInfo\", JSON.stringify(userInfo))\n },\n}\n\nexport default mutations\n\n","/*=========================================================================================\n File Name: actions.js\n Description: Vuex Store - actions\n ----------------------------------------------------------------------------------------\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\n Author: Pixinvent\n Author URL: http://www.themeforest.net/user/pixinvent\n==========================================================================================*/\n\nconst actions = {\n\n // /////////////////////////////////////////////\n // COMPONENTS\n // /////////////////////////////////////////////\n\n // Vertical NavMenu\n updateVerticalNavMenuWidth({ commit }, width) {\n commit('UPDATE_VERTICAL_NAV_MENU_WIDTH', width)\n },\n\n // VxAutoSuggest\n updateStarredPage({ commit }, payload) {\n commit('UPDATE_STARRED_PAGE', payload)\n },\n\n // The Navbar\n arrangeStarredPagesLimited({ commit }, list) {\n commit('ARRANGE_STARRED_PAGES_LIMITED', list)\n },\n arrangeStarredPagesMore({ commit }, list) {\n commit('ARRANGE_STARRED_PAGES_MORE', list)\n },\n\n // /////////////////////////////////////////////\n // UI\n // /////////////////////////////////////////////\n\n toggleContentOverlay({ commit }) {\n commit('TOGGLE_CONTENT_OVERLAY')\n },\n updateTheme({ commit }, val) {\n commit('UPDATE_THEME', val)\n },\n\n // /////////////////////////////////////////////\n // User/Account\n // /////////////////////////////////////////////\n\n updateUserInfo({ commit }, payload) {\n commit('UPDATE_USER_INFO', payload)\n },\n}\n\nexport default actions\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport app from '@/main';\n\n\nimport User from '../store/modules/user';\n// import MasterData from './master_data';\nimport VdoSet from '../store/modules/vdo-set/vdo-set/index';\nimport VdoSetUnit from '../store/modules/vdo-set/vdo-set-unit/index';\nimport VdoSetTopic from '../store/modules/vdo-set/vdo-set-topic/index';\nimport CommonData from '../store/modules/common-data/index';\nimport Profile from '../store/modules/profile';\nimport Courses from '../store/modules/courses';\nimport StudentEnroll from '../store/modules/student-enroll';\nimport StudentEnrollDetail from '../store/modules/student-enroll-detail';\nimport Examination from '../store/modules/examination';\nimport ClassRoomType from '../store/modules/class-room/classRoomType';\nimport ClassRoomOwned from '../store/modules/class-room/classRoomOwned';\nimport ClassRoom from '../store/modules/class-room/class-room/index';\nimport Degree from '../store/modules/common-data/degree';\nimport Subject from '../store/modules/common-data/subject/index';\nimport SubjectGroup from '../store/modules/common-data/subject-group';\nimport Student from '../store/modules/profile/student/index';\nimport Teacher from '../store/modules/profile/teacher/index';\nimport CourseOutline from '../store/modules/courses/course-outline/index';\nimport CourseOutlineRegistration from '../store/modules/courses/course-outline-registration/index';\nimport AcademicPeriod from '../store/modules/common-data/academic-period';\nimport AcademicPeriodConfig from '../store/modules/common-data/academicPeriodConfig';\nimport ClassSection from '../store/modules/courses/class-section/index';\nimport LiveClassSchedule from '../store/modules/live-class/live-class-schedule/index';\nimport VdoLiveSet from '../store/modules/live-class/vdo-live-set/index';\nimport VdoLiveSetTopic from '../store/modules/live-class/vod-live-set-topic/index';\nimport Exam from '../store/modules/examination/exam/index';\nimport ExamQuestionType from '../store/modules/examination/exam-question-type/index';\nimport ClassAssignment from '../store/modules/courses/class-assignment/index';\nimport ClassMaterial from '../store/modules/courses/class-material/index';\nimport StudentAssignment from '../store/modules/student-assignment/index';\nimport StudentScore from '../store/modules/student-score/index';\nimport StudentUnitLearn from '../store/modules/student-unit-learn/student-unit-learn/index';\nimport StudentTopicLearn from '../store/modules/student-unit-learn/student-topic-learn/index';\nimport Assessment from '../store/modules/common-data/assessment/index';\nimport CourseOutlineAssessment from '../store/modules/courses/course-outline-assessment/index';\nimport CourseOutlineUnit from '../store/modules/courses/course-outline-unit/index';\nimport Upload from '../store/modules/upload/index';\nimport CourseFaq from '../store/modules/class-room/course-faq/index';\nimport WebBoard from \"../store/modules/web-board\";\nimport WebBoardReply from \"../store/modules/web-board-reply\";\nimport PrivateMessage from \"../store/modules/private-message\";\nimport PrivateMessageReply from \"../store/modules/private-message-reply\";\nimport Notification from \"../store/modules/notification\";\nimport AdvisorOnlineSchedule from \"../store/modules/advisor-online-schedule\";\nimport InfoGroup from \"../store/modules/university-news/info-group\";\nimport InfoTopic from \"../store/modules/university-news/info-topic\";\nimport YeaLinkImportDate from \"../store/modules/yea-link-import-data/index\";\nimport SystemConfig from '@/store/modules/system/system-config/index';\n\nimport state from \"./modules/theme/state\"\nimport getters from \"./modules/theme/getters\"\nimport mutations from \"./modules/theme/mutations\"\nimport actions from \"./modules/theme/actions\"\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n getters,\n state,\n mutations:\n {\n ...mutations,\n changeLanguage(state, payload) {\n app.$i18n.locale = payload;\n localStorage.setItem('currentLanguage', payload)\n state.currentLocale = payload\n },\n },\n actions: {\n setLanguage({commit}, payload) {\n if (process.env.NODE_ENV === \"development\") {\n console.log(\"$store/setLanguage\", payload); // eslint-disable-line no-console\n }\n commit('changeLanguage', payload)\n },\n register(context, payload = {}) {\n const { moduleName } = payload;\n if (moduleName) {\n if (!this.state[moduleName]) {\n // console.log(this, moduleName);\n }\n }\n },\n ...actions\n },\n modules: {\n User,\n // MasterData,\n VdoSet,\n VdoSetUnit,\n VdoSetTopic,\n CommonData,\n Profile,\n Courses,\n StudentEnroll,\n StudentEnrollDetail,\n Examination,\n ClassRoomType,\n ClassRoomOwned,\n ClassRoom,\n Degree,\n SubjectGroup,\n Subject,\n Student,\n Teacher,\n CourseOutline,\n CourseOutlineRegistration,\n AcademicPeriodConfig,\n AcademicPeriod,\n ClassSection,\n LiveClassSchedule,\n VdoLiveSet,\n VdoLiveSetTopic,\n Exam,\n ExamQuestionType,\n ClassAssignment,\n ClassMaterial,\n StudentAssignment,\n StudentScore,\n StudentUnitLearn,\n StudentTopicLearn,\n Assessment,\n CourseOutlineAssessment,\n CourseOutlineUnit,\n Upload,\n CourseFaq,\n WebBoard,\n WebBoardReply,\n PrivateMessage,\n PrivateMessageReply,\n Notification,\n AdvisorOnlineSchedule,\n InfoGroup,\n InfoTopic,\n YeaLinkImportDate,\n SystemConfig,\n },\n strict: process.env.NODE_ENV !== 'production'\n})\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","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/lib/loaders/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/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","export default {\n courseFaqs: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setCourseFaqs(state, payload) {\n state.courseFaqs = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_COURSE_FAQ = gql`\n query getCourseFAQ($id: ID!){\n getCourseFAQ(id: $id) {\n id unitSeq\n periodCode question answer\n hitRateCount hitRateDate postDate\n courseOutline { id }\n courseOutlineUnit { id }\n courseOutlineRegistration { id }\n classSection { id }\n academicPeriod { id }\n postByTeacher { id }\n postByUser { id }\n updatedAt\n }\n }\n`;\n\nexport const GET_COURSE_FAQS = gql`\n query getCourseFAQs($id : ID!){\n getCourseFAQs (\n id: $id\n ) {\n id unitSeq\n periodCode question answer\n hitRateCount hitRateDate postDate\n courseOutline { id }\n courseOutlineUnit { id }\n courseOutlineRegistration { id }\n classSection { id }\n academicPeriod { id }\n postByTeacher { id }\n postByUser { id }\n updatedAt\n }\n }\n`;\n\nexport const GET_COURSE_FAQS_BY_FILTER = gql`\n query getCourseFAQsByFilter($courseFAQFilterInput: CourseFAQFilterInput){\n getCourseFAQsByFilter (\n courseFAQFilterInput: $courseFAQFilterInput\n ) {\n id unitSeq\n periodCode question answer\n hitRateCount hitRateDate postDate\n courseOutline { id }\n courseOutlineUnit { id }\n courseOutlineRegistration { id }\n classSection { id }\n academicPeriod { id }\n postByTeacher { id }\n postByUser { id }\n updatedAt\n }\n }\n`;\n\nexport const GET_COURSE_FAQS_BY_FILTER_CURRENT_TEACHER = gql`\n query getCourseFAQsByFilterCurrentTeacher($courseFAQFilterInput: CourseFAQFilterInput){\n getCourseFAQsByFilterCurrentTeacher (\n courseFAQFilterInput: $courseFAQFilterInput\n ) {\n id unitSeq\n periodCode question answer\n hitRateCount hitRateDate postDate\n courseOutline { id }\n courseOutlineUnit { id }\n courseOutlineRegistration { id }\n classSection { id }\n academicPeriod { id }\n postByTeacher { id }\n postByUser { id }\n updatedAt\n }\n }\n`;\n\nexport const ADD_COURSE_FAQ = gql`\n mutation addCourseFAQ(\n $courseOutlineUnitId: ID!,\n $classSectionId: ID!,\n $courseFAQInput: CourseFAQInput!\n ) {\n addCourseFAQ(\n courseOutlineUnitId: $courseOutlineUnitId\n classSectionId: $classSectionId\n courseFAQInput: $courseFAQInput\n ) {\n id unitSeq\n periodCode question answer\n hitRateCount hitRateDate postDate\n courseOutline { id }\n courseOutlineUnit { id }\n courseOutlineRegistration { id }\n classSection { id }\n academicPeriod { id }\n postByTeacher { id }\n postByUser { id }\n updatedAt\n }\n }\n`;\n\nexport const UPDATE_COURSE_FAQ = gql`\n mutation updateCourseFAQ(\n $id: ID!,\n $courseOutlineUnitId: ID!,\n $courseFAQInput: CourseFAQInput!\n ) {\n updateCourseFAQ(\n id: $id\n courseOutlineUnitId: $courseOutlineUnitId\n courseFAQInput: $courseFAQInput\n ) {\n id\n id unitSeq\n periodCode question answer\n hitRateCount hitRateDate postDate\n courseOutline { id }\n courseOutlineUnit { id }\n courseOutlineRegistration { id }\n classSection { id }\n academicPeriod { id }\n postByTeacher { id }\n postByUser { id }\n updatedAt\n }\n }\n`;\n\nexport const DELETE_COURSE_FAQ = gql`\n mutation deleteCourseFAQ($id: ID!) {\n deleteCourseFAQ(\n id: $id\n ) {\n id\n id unitSeq\n periodCode question answer\n hitRateCount hitRateDate postDate\n courseOutline { id }\n courseOutlineUnit { id }\n courseOutlineRegistration { id }\n classSection { id }\n academicPeriod { id }\n postByTeacher { id }\n postByUser { id }\n updatedAt\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_COURSE_FAQ,\n GET_COURSE_FAQS,\n GET_COURSE_FAQS_BY_FILTER,\n GET_COURSE_FAQS_BY_FILTER_CURRENT_TEACHER,\n ADD_COURSE_FAQ,\n UPDATE_COURSE_FAQ,\n DELETE_COURSE_FAQ,\n} from '../../../../../queries/modules/class-room/course-faq';\n\nexport async function getCourseFaqs(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSE_FAQS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setCourseFaqs', data.getCourseFaqs);\n context.commit('setSuccess', null);\n return data.getCourseFAQs\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getCourseFaq(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSE_FAQ,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.getCourseFAQ\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getCourseFaqsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSE_FAQS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setCourseFaqs', data.getCourseFAQsByFilter);\n context.commit('setSuccess', null);\n return data.getCourseFAQsByFilter\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getCourseFaqsByFilterCurrentTeacher(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSE_FAQS_BY_FILTER_CURRENT_TEACHER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setCourseFaqs', data.getCourseFAQsByFilterCurrentTeacher);\n context.commit('setSuccess', null);\n return data.getCourseFAQsByFilterCurrentTeacher\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addCourseFaq(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_COURSE_FAQ,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const courseFaqs = [...context.state.courseFaqs];\n courseFaqs.unshift(data.addCourseFAQ);\n context.commit('setCourseFaqs', courseFaqs);\n context.commit('setSuccess', newItemSuccess(data.addCourseFAQ.question));\n\n return data.addCourseFAQ\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateCourseFaq(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_COURSE_FAQ,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.courseFaqs.findIndex(item => item.id === data.updateCourseFAQ.id);\n const courseFaqs = [\n ...context.state.courseFaqs.slice(0, index),\n data.updateCourseFAQ,\n ...context.state.courseFaqs.slice(index + 1)\n ];\n context.commit('setCourseFaqs', courseFaqs);\n context.commit('setSuccess', updateItemSuccess(data.updateCourseFAQ.question));\n\n return data.updateCourseFAQ\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteCourseFaq(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_COURSE_FAQ,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.courseFaqs.findIndex(item => item.id === data.deleteCourseFAQ.id);\n const courseFaqs = [\n ...context.state.courseFaqs.slice(0, index),\n ...context.state.courseFaqs.slice(index + 1)\n ];\n context.commit('setCourseFaqs', courseFaqs);\n context.commit('setSuccess', deleteItemSuccess(data.deleteCourseFAQ.question));\n\n return data.deleteCourseFAQ\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=a3a86f00&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.vueAppClasses,attrs:{\"id\":\"app\"}},[_c('transition',{attrs:{\"name\":\"pages\"}},[_c('router-view',{on:{\"setAppClasses\":_vm.setAppClasses}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import navbarSearchAndPinList from \"@/layouts/components/navbar/navbarSearchAndPinList\";\nimport {userDefaults, themeConfig, colors} from '@/constants/config';\n\nexport default {\n namespaced: true,\n state: {\n AppActiveUser: userDefaults,\n bodyOverlay: false,\n isVerticalNavMenuActive: true,\n mainLayoutType: themeConfig.mainLayoutType || \"vertical\",\n navbarSearchAndPinList: navbarSearchAndPinList,\n reduceButton: themeConfig.sidebarCollapsed,\n verticalNavMenuWidth: \"default\",\n verticalNavMenuItemsMin: false,\n scrollY: 0,\n starredPages: navbarSearchAndPinList[\"pages\"].data.filter((page) => page.is_bookmarked),\n theme: themeConfig.theme || \"light\",\n themePrimaryColor: colors.primary,\n\n // Can be used to get current window with\n // Note: Above breakpoint state is for internal use of sidebar & navbar component\n windowWidth: null,\n },\n getters: {\n // COMPONENT\n // vx-autosuggest\n // starredPages: state => state.navbarSearchAndPinList.data.filter((page) => page.highlightAction),\n windowBreakPoint: state => {\n\n // This should be same as tailwind. So, it stays in sync with tailwind utility classes\n if (state.windowWidth >= 1200) return \"xl\";\n else if (state.windowWidth >= 992) return \"lg\";\n else if (state.windowWidth >= 768) return \"md\";\n else if (state.windowWidth >= 576) return \"sm\";\n else return \"xs\"\n },\n scrollbarTag: state => {\n return state.is_touch_device ? 'div' : 'VuePerfectScrollbar'\n }\n },\n mutations: {\n // /////////////////////////////////////////////\n // COMPONENTS\n // /////////////////////////////////////////////\n\n // Vertical NavMenu\n\n TOGGLE_IS_VERTICAL_NAV_MENU_ACTIVE(state, value) {\n state.isVerticalNavMenuActive = value\n },\n TOGGLE_REDUCE_BUTTON(state, val) {\n state.reduceButton = val\n },\n UPDATE_MAIN_LAYOUT_TYPE(state, val) {\n state.mainLayoutType = val\n },\n UPDATE_VERTICAL_NAV_MENU_ITEMS_MIN(state, val) {\n state.verticalNavMenuItemsMin = val\n },\n UPDATE_VERTICAL_NAV_MENU_WIDTH(state, width) {\n state.verticalNavMenuWidth = width\n },\n\n\n // VxAutoSuggest\n\n UPDATE_STARRED_PAGE(state, payload) {\n\n // find item index in search list state\n const index = state.navbarSearchAndPinList[\"pages\"].data.findIndex((item) => item.url == payload.url);\n\n // update the main list\n state.navbarSearchAndPinList[\"pages\"].data[index].is_bookmarked = payload.val;\n\n // if val is true add it to starred else remove\n if (payload.val) {\n state.starredPages.push(state.navbarSearchAndPinList[\"pages\"].data[index])\n } else {\n // find item index from starred pages\n const index = state.starredPages.findIndex((item) => item.url == payload.url);\n\n // remove item using index\n state.starredPages.splice(index, 1)\n }\n },\n\n // Navbar-Vertical\n\n ARRANGE_STARRED_PAGES_LIMITED(state, list) {\n const starredPagesMore = state.starredPages.slice(10);\n state.starredPages = list.concat(starredPagesMore)\n },\n ARRANGE_STARRED_PAGES_MORE(state, list) {\n let downToUp = false;\n let lastItemInStarredLimited = state.starredPages[10];\n const starredPagesLimited = state.starredPages.slice(0, 10);\n state.starredPages = starredPagesLimited.concat(list);\n\n state.starredPages.slice(0, 10).map((i) => {\n if (list.indexOf(i) > -1) downToUp = true\n });\n\n if (!downToUp) {\n state.starredPages.splice(10, 0, lastItemInStarredLimited)\n }\n },\n\n\n // ////////////////////////////////////////////\n // UI\n // ////////////////////////////////////////////\n\n TOGGLE_CONTENT_OVERLAY(state, val) {\n state.bodyOverlay = val\n },\n UPDATE_PRIMARY_COLOR(state, val) {\n state.themePrimaryColor = val\n },\n UPDATE_THEME(state, val) {\n state.theme = val\n },\n UPDATE_WINDOW_WIDTH(state, width) {\n state.windowWidth = width\n },\n UPDATE_WINDOW_SCROLL_Y(state, val) {\n state.scrollY = val\n },\n\n\n // /////////////////////////////////////////////\n // User/Account\n // /////////////////////////////////////////////\n\n // Updates user info in state and localstorage\n UPDATE_USER_INFO(state, payload) {\n\n // Get Data localStorage\n let userInfo = JSON.parse(localStorage.getItem(\"userInfo\")) || state.AppActiveUser;\n\n for (const property of Object.keys(payload)) {\n\n if (payload[property] != null) {\n // If some of user property is null - user default property defined in state.AppActiveUser\n state.AppActiveUser[property] = payload[property];\n\n // Update key in localStorage\n userInfo[property] = payload[property]\n }\n\n\n }\n // Store data in localStorage\n localStorage.setItem(\"userInfo\", JSON.stringify(userInfo))\n },\n },\n actions: {\n // /////////////////////////////////////////////\n // COMPONENTS\n // /////////////////////////////////////////////\n\n // Vertical NavMenu\n updateVerticalNavMenuWidth({commit}, width) {\n commit('UPDATE_VERTICAL_NAV_MENU_WIDTH', width)\n },\n\n // VxAutoSuggest\n updateStarredPage({commit}, payload) {\n commit('UPDATE_STARRED_PAGE', payload)\n },\n\n // The Navbar\n arrangeStarredPagesLimited({commit}, list) {\n commit('ARRANGE_STARRED_PAGES_LIMITED', list)\n },\n arrangeStarredPagesMore({commit}, list) {\n commit('ARRANGE_STARRED_PAGES_MORE', list)\n },\n\n // /////////////////////////////////////////////\n // UI\n // /////////////////////////////////////////////\n\n toggleContentOverlay({commit}) {\n commit('TOGGLE_CONTENT_OVERLAY')\n },\n updateTheme({commit}, val) {\n commit('UPDATE_THEME', val)\n },\n\n // /////////////////////////////////////////////\n // User/Account\n // /////////////////////////////////////////////\n\n updateUserInfo({commit}, payload) {\n commit('UPDATE_USER_INFO', payload)\n },\n }\n}\n","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4b96c346&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import config from \"./config\";\nimport colors from \"./colors\";\n\nexport { config as config };\nexport { colors as colors };\n\nexport default {\n config,\n colors\n}\n","import Vue from \"vue\";\n\n// GLOBAL CONSTANTS\nimport constants from \"@/constants\";\n\n// DEFAULT FEATURE FLAGS\n// import features from \"@/features\";\n\n// SUBSCRIPTION OBJECTS\n// import subscription from \"@/subscription\";\n\nimport eventbus from \"@/event-bus\";\n\n// DEPENDENCIES\nimport axios from \"./setup/axios-setup\";\n\n// UTILITIES\n\nexport default Vue.observable({\n axios,\n constants,\n envs: process.env,\n developing: process.env.NODE_ENV === \"development\",\n // features,\n // subscription,\n eventbus\n});\n","export const $flatmap = new Map();\n\nexport default {\n $flatmap\n}\n\n$flatmap.store = () => {\n\n}\n\n$flatmap.restore = () => {\n\n}\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"title\"},[_c('span',{style:({ color: _vm.props.color || _vm.parent.constants.colors.primary + ' !important' })},[_vm._v(_vm._s(_vm.props.title))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2465a289&functional=true&\"\nvar script = {}\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FormElement',{attrs:{\"type\":\"radio\"}},[_c('template',{slot:\"label\"},[_c('span',[_vm._v(_vm._s(_vm.label))])]),_c('template',{slot:\"warning\"},[(_vm.requires)?_c('span',{staticClass:\"-require\"},[_vm._v(\"*ต้องกรอกข้อมูล\")]):_vm._e()]),_c('template',{slot:\"controller\"},[_vm._t(\"controller\"),_c('button',{attrs:{\"id\":\"restore-button\"},on:{\"click\":function($event){_vm.selection = _vm.prev}}},[_c('vs-icon',{attrs:{\"icon\":\"restore\",\"size\":\"small\"}})],1)],2),(_vm.options.length > 0)?_c('div',{staticClass:\"radio-box\"},[_c('div',{staticClass:\"-input\"},[_vm._l((_vm.options),function(option,index){return [_c('div',{key:index,staticClass:\"--each\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selection),expression:\"selection\"}],attrs:{\"type\":\"radio\",\"id\":option.value},domProps:{\"value\":option.value,\"checked\":_vm._q(_vm.selection,option.value)},on:{\"change\":function($event){_vm.selection=option.value}}}),_c('label',{attrs:{\"for\":option.value}},[_vm._v(_vm._s(option.title))])])]})],2)]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4eb200b4&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=4eb200b4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4eb200b4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.options.length > 0)?_c('div',{staticClass:\"vs-checkbox\"},[_c('span',{staticClass:\"-label\"},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"-input\"},[_vm._l((_vm.options),function(option,index){return [_c('div',{key:index,staticClass:\"--each\"},[_c('label',{attrs:{\"for\":option.value}},[_vm._v(_vm._s(option.title))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selection),expression:\"selection\"}],attrs:{\"type\":\"checkbox\",\"id\":option.value},domProps:{\"value\":option.value,\"checked\":Array.isArray(_vm.selection)?_vm._i(_vm.selection,option.value)>-1:(_vm.selection)},on:{\"change\":function($event){var $$a=_vm.selection,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=option.value,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.selection=$$a.concat([$$v]))}else{$$i>-1&&(_vm.selection=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.selection=$$c}}}})])]})],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2473ebcf&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2473ebcf\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('InputBox',{attrs:{\"label\":_vm.label,\"prop\":_vm.searchKey,\"outputMode\":\"flat\"},on:{\"input\":_vm.handleInput}}),(_vm.resultList.length > 0)?_c('SelectBox',{attrs:{\"options\":_vm.resultList,\"prop\":_vm.prop},on:{\"input\":_vm.handleSelect}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=17ac4127&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Created common UI to be registered and work across app without to be imported.\nimport Vue from \"vue\";\n\nimport PageTitle from \"./page-title/index.vue\";\nexport { PageTitle as PageTitle };\n\nimport Block from \"./block\";\nexport { Block as Block };\n\nimport BlockGroup from \"./block-group\";\nexport { BlockGroup as BlockGroup };\n\nimport InputBox from \"./forms/input-box/index.vue\";\nexport { InputBox as InputBox };\n\nimport TextArea from \"./forms/textarea/index.vue\";\nexport { TextArea as TextArea };\n\nimport SelectBox from \"./forms/select-box/index.vue\";\nexport { SelectBox as SelectBox };\n\nimport RadioBox from \"./forms/radio-box/index.vue\";\nexport { RadioBox as RadioBox };\n\nimport CheckBox from \"./forms/check-box/index.vue\";\nexport { CheckBox as CheckBox };\n\nimport SearchBox from \"./forms/search-box/index.vue\";\nexport { SearchBox as SearchBox };\n\n// export { default as Block } from \"./block\";\n\nVue.component('Block', Block);\nVue.component('BlockGroup', BlockGroup);\nVue.component('InputBox', InputBox);\nVue.component('TextArea', TextArea);\nVue.component('SelectBox', SelectBox);\nVue.component('RadioBox', RadioBox);\nVue.component('CheckBox', CheckBox);\nVue.component('SearchBox', SearchBox);\nVue.component('ui-page-title', PageTitle);\nVue.component('PageTitle', PageTitle);\n","import Vue from 'vue';\nimport {extend, localize, ValidationObserver, ValidationProvider} from 'vee-validate';\nimport * as rules from 'vee-validate/dist/rules';\nimport {i18n} from '@/setup/i18n-setup';\n\nVue.component('ValidationProvider', ValidationProvider);\nVue.component('ValidationObserver', ValidationObserver);\n\n// loop over all rules\nfor (let rule in rules) {\n // add the rule\n extend(rule, rules[rule]);\n}\n\nextend('password', {\n validate: (value, {other}) => value === other,\n message: 'The password confirmation does not match.',\n params: [{name: 'other', isTarget: true}]\n});\n\nfunction loadLocale() {\n const code = i18n.locale;\n\n return import(`vee-validate/dist/locale/${code}.json`).then(locale => {\n localize(code, locale);\n });\n}\n\nloadLocale();","var render, staticRenderFns\nimport script from \"./FeatherIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./FeatherIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FeatherIcon.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"convstooltip\",staticClass:\"con-vs-tooltip\",on:{\"mouseleave\":_vm.mouseleavex,\"mouseenter\":_vm.mouseenterx,\"mouseup\":_vm.destroy}},[_c('transition',{attrs:{\"name\":\"tooltip-fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.active),expression:\"active\"}],ref:\"vstooltip\",staticClass:\"vs-tooltip\",class:[(\"vs-tooltip-\" + (_vm.positionx || _vm.position)),(\"vs-tooltip-\" + _vm.color), {'after-none': _vm.noneAfter}],style:(_vm.style)},[(_vm.title)?_c('h4',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.text)+\" \")])]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n insertBody(elx){\n document.body.insertBefore(elx, document.body.firstChild)\n },\n removeBody(element) {\n let bodyx = document.body\n bodyx.removeChild(element);\n },\n changePosition(elx,content,conditional){\n let topx = 0\n let leftx = 0\n let widthx = 0\n let scrollTopx = window.pageYOffset || document.documentElement.scrollTop;\n if(elx.getBoundingClientRect().top + 300 >= window.innerHeight) {\n setTimeout( ()=> {\n if(conditional){\n topx = (elx.getBoundingClientRect().top - content.clientHeight) + scrollTopx\n } else {\n topx = (elx.getBoundingClientRect().top - content.clientHeight + elx.clientHeight) + scrollTopx\n }\n }, 1);\n\n } else {\n topx = conditional?(elx.getBoundingClientRect().top + elx.clientHeight) + scrollTopx + 5:elx.getBoundingClientRect().top + scrollTopx\n }\n\n leftx = elx.getBoundingClientRect().left\n widthx = elx.offsetWidth\n\n let cords = {\n left: `${leftx}px`,\n top: `${topx}px`,\n width: `${widthx}px`\n }\n\n return cords\n },\n}\n","\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxTooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxTooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxTooltip.vue?vue&type=template&id=fe9d75cc&\"\nimport script from \"./VxTooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./VxTooltip.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g({ref:\"card\",staticClass:\"vx-card\",class:[\n {'overflow-hidden': _vm.tempHidden},\n {'no-shadow': _vm.noShadow},\n {'rounded-none': _vm.noRadius},\n {'card-border': _vm.cardBorder},\n _vm.cardClasses ],style:(_vm.cardStyles)},_vm.$listeners),[(_vm.hasHeader)?_c('div',{staticClass:\"vx-card__header\"},[_c('div',{staticClass:\"vx-card__title\"},[(this.$props.title)?_c('h4',{class:_vm.titleClasses,style:(_vm.titleStyles)},[_vm._v(_vm._s(_vm.title))]):_vm._e(),(this.$props.subtitle)?_c('h6',{class:_vm.subtitleClasses,style:(_vm.subtitleStyles)},[_vm._v(_vm._s(_vm.subtitle))]):_vm._e()]),(_vm.hasAction)?_c('div',{staticClass:\"vx-card__actions\"},[_vm._t(\"actions\",[((_vm.actionButtons || _vm.collapseAction || _vm.refreshContentAction || _vm.removeCardAction) && !_vm.codeToggler)?_c('div',{staticClass:\"vx-card__action-buttons\"},[(_vm.actionButtons || _vm.collapseAction)?_c('feather-icon',{staticClass:\"ml-4\",class:{rotate180: !_vm.isContentCollapsed},attrs:{\"icon\":\"ChevronUpIcon\"},on:{\"click\":_vm.toggleContent}}):_vm._e(),(_vm.actionButtons || _vm.refreshContentAction)?_c('feather-icon',{staticClass:\"ml-4\",attrs:{\"icon\":\"RotateCwIcon\"},on:{\"click\":_vm.refreshcard}}):_vm._e(),(_vm.actionButtons || _vm.removeCardAction)?_c('feather-icon',{staticClass:\"ml-4\",attrs:{\"icon\":\"XIcon\"},on:{\"click\":_vm.removeCard}}):_vm._e()],1):_vm._e(),(_vm.codeToggler && !_vm.actionButtons)?_c('div',{staticClass:\"vx-card__code-toggler sm:block hidden\"},[_c('feather-icon',{class:{'border border-solid border-primary border-t-0 border-r-0 border-l-0': _vm.showCode},attrs:{\"icon\":\"CodeIcon\"},on:{\"click\":_vm.toggleCode}})],1):_vm._e()])],2):_vm._e()]):_vm._e(),_c('div',{ref:\"content\",staticClass:\"vx-card__collapsible-content vs-con-loading__container\",class:[{collapsed: _vm.isContentCollapsed}, {'overflow-hidden': _vm.tempHidden}],style:(_vm.StyleItems)},[_vm._t(\"no-body\"),(this.$slots.default)?_c('div',{staticClass:\"vx-card__body\"},[_vm._t(\"default\")],2):_vm._e(),_vm._t(\"no-body-bottom\"),(this.$slots.footer)?_c('div',{staticClass:\"vx-card__footer\"},[_vm._t(\"footer\")],2):_vm._e()],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.$slots.codeContainer),expression:\"this.$slots.codeContainer\"}],ref:\"codeContainer\",staticClass:\"vx-card__code-container\",class:{collapsed: !_vm.showCode},style:(_vm.codeContainerStyles)},[_c('div',{staticClass:\"code-content\"},[_c('prism',{key:_vm.$vs.rtl,attrs:{\"language\":_vm.codeLanguage}},[_vm._t(\"codeContainer\")],2)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n \n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxCard.vue?vue&type=template&id=4fd031fe&\"\nimport script from \"./VxCard.vue?vue&type=script&lang=js&\"\nexport * from \"./VxCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VxCard.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"list\"},_vm._l((_vm.list),function(item,index){return _c('li',{key:index,staticClass:\"list__item\"},[_c('feather-icon',{staticClass:\"w-5 h-5 mr-1\",attrs:{\"icon\":_vm.rtlSpecificIcon}}),_c('span',{domProps:{\"innerHTML\":_vm._s(item)}})],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxList.vue?vue&type=template&id=31982c17&\"\nimport script from \"./VxList.vue?vue&type=script&lang=js&\"\nexport * from \"./VxList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VxList.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"vx-breadcrumb\",class:_vm.data.staticClass},[_c('ul',{staticClass:\"flex flex-wrap items-center\"},[_c('li',{staticClass:\"inline-flex items-end\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('feather-icon',{attrs:{\"icon\":\"HomeIcon\",\"svgClasses\":\"h-5 w-5 mb-1 stroke-current text-primary\"}})],1),_c('span',{staticClass:\"breadcrumb-separator mx-2\"},[_c('feather-icon',{attrs:{\"icon\":_vm.props.isRTL ? 'ChevronsLeftIcon' : 'ChevronsRightIcon',\"svgClasses\":\"w-4 h-4\"}})],1)],1),_vm._l((_vm.props.route.meta.breadcrumb.slice(1,-1)),function(link,index){return _c('li',{key:index,staticClass:\"inline-flex items-center\"},[(link.url)?_c('router-link',{attrs:{\"to\":link.url}},[_vm._v(\" \"+_vm._s(typeof link.title === \"object\" ? ( !(_vm.props.i18n(link.title.i18n) === link.title.i18n) ? _vm.props.i18n(link.title.i18n) : link.title.default ) : link.title)+\" \")]):_c('span',{staticClass:\"text-primary cursor-default\"},[_vm._v(\" \"+_vm._s(typeof link.title === \"object\" ? ( !(_vm.props.i18n(link.title.i18n) === link.title.i18n) ? _vm.props.i18n(link.title.i18n) : link.title.default ) : link.title)+\" \")]),_c('span',{staticClass:\"breadcrumb-separator mx-2 flex items-start\"},[_c('feather-icon',{attrs:{\"icon\":_vm.props.isRTL ? 'ChevronsLeftIcon' : 'ChevronsRightIcon',\"svgClasses\":\"w-4 h-4\"}})],1)],1)}),_c('li',{staticClass:\"inline-flex\"},[(_vm.props.route.meta.breadcrumb.slice(-1)[0].active)?_c('span',{staticClass:\"cursor-default\"},[_vm._v(\" \"+_vm._s(typeof _vm.props.route.meta.breadcrumb.slice(-1)[0].title === \"object\" ? ( !(_vm.props.i18n(_vm.props.route.meta.breadcrumb.slice(-1)[0].title.i18n) === _vm.props.route.meta.breadcrumb.slice(-1)[0].title.i18n) ? _vm.props.i18n(_vm.props.route.meta.breadcrumb.slice(-1)[0].title.i18n) : _vm.props.route.meta.breadcrumb.slice(-1)[0].title.default || false ) : _vm.props.route.meta.breadcrumb.slice(-1)[0].title))]):_vm._e()])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxBreadcrumb.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxBreadcrumb.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxBreadcrumb.vue?vue&type=template&id=7f2bd901&functional=true&\"\nimport script from \"./VxBreadcrumb.vue?vue&type=script&lang=js&\"\nexport * from \"./VxBreadcrumb.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=script&lang=js&\"","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"vx-input-group flex\",class:_vm.data.staticClass},[(_vm.slots().prepend)?_c('div',{staticClass:\"vx-input-group-prepend flex\",class:_vm.props.prependClasses},[_vm._t(\"prepend\")],2):_vm._e(),_c('div',{staticClass:\"vx-input-group-default flex-grow\"},[_vm._t(\"default\")],2),(_vm.slots().append)?_c('div',{staticClass:\"vx-input-group-append flex\",class:_vm.props.appendClasses},[_vm._t(\"append\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxInputGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxInputGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VxInputGroup.vue?vue&type=template&id=769852af&functional=true&\"\nimport script from \"./VxInputGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./VxInputGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VxInputGroup.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VxTooltip from '@/layouts/components/vx-tooltip/VxTooltip.vue';\nimport VxCard from '@/components/vx-card/VxCard.vue';\nimport VxList from '@/components/vx-list/VxList.vue';\nimport VxBreadcrumb from '@/layouts/components/VxBreadcrumb.vue';\nimport FeatherIcon from '@/components/FeatherIcon.vue';\nimport VxInputGroup from '@/components/vx-input-group/VxInputGroup.vue';\n// v-select component\nimport vSelect from 'vue-select';\n\nVue.component(VxTooltip.name, VxTooltip);\nVue.component(VxCard.name, VxCard);\nVue.component(VxList.name, VxList);\nVue.component(VxBreadcrumb.name, VxBreadcrumb);\nVue.component(FeatherIcon.name, FeatherIcon);\nVue.component(VxInputGroup.name, VxInputGroup);\n\n// Set the components prop default to return our fresh components\nvSelect.props.components.default = () => ({\n Deselect: {\n render: createElement => createElement('feather-icon', {\n props: {\n icon: 'XIcon',\n svgClasses: 'w-4 h-4 mt-1'\n }\n }),\n },\n OpenIndicator: {\n render: createElement => createElement('feather-icon', {\n props: {\n icon: 'ChevronDownIcon',\n svgClasses: 'w-5 h-5'\n }\n }),\n },\n});\n\nVue.component(vSelect);\n","import 'material-icons/iconfont/material-icons.css'; //Material Icons\nimport 'vuesax/dist/vuesax.css'; // Vuesax\n// Styles: SCSS\nimport '@/assets/scss/main.scss';\n// Tailwind\nimport '@/assets/css/main.css';\n// PrismJS\nimport 'prismjs';\nimport 'prismjs/themes/prism-tomorrow.css';\n// Feather font icon\nrequire('@/assets/css/iconfont.css');\n\nimport {themeConfig} from '@/constants/config';\n\nimport Vue from 'vue';\n\n// Vuesax Component Framework\nimport Vuesax from 'vuesax';\nimport {colors} from '@/constants/config';\nVue.use(Vuesax, { theme:{ colors }, rtl: themeConfig.rtl });\n\n// Clipboard\nimport VueClipboard from 'vue-clipboard2'\nVue.use(VueClipboard);\n\n// Vuejs - Vue wrapper for hammerjs\nimport {VueHammer} from 'vue2-hammer';\nVue.use(VueHammer);\n","import Vue from 'vue'\nimport moment from 'moment';\nimport {i18n} from './i18n-setup'\n\nVue.filter('capitalize', function (value) {\n if (!value) return '';\n value = value.toString()\n let arr = value.split(\" \")\n let capitalized_array = []\n arr.forEach((word) => {\n let capitalized = word.charAt(0).toUpperCase() + word.slice(1)\n capitalized_array.push(capitalized)\n })\n return capitalized_array.join(\" \");\n})\n\nVue.filter('title', function (value, replacer=\"_\") {\n if (!value) return '';\n value = value.toString()\n\n let arr = value.split(replacer)\n let capitalized_array = []\n arr.forEach((word) => {\n let capitalized = word.charAt(0).toUpperCase() + word.slice(1)\n capitalized_array.push(capitalized)\n })\n return capitalized_array.join(\" \");\n})\n\nVue.filter('truncate', function(value, limit) {\n return value.substring(0, limit)\n})\n\nVue.filter('tailing', function(value, tail) {\n return value + tail;\n})\n\nVue.filter('time', function(value, is24HrFormat = false) {\n if(value) {\n if(is24HrFormat){\n return moment(value).locale(i18n.locale).format('H:mm');\n }else{\n return moment(value).locale(i18n.locale).format('LT');\n }\n }\n})\n\nVue.filter('date', function(value, fullDate = false) {\n if (!value) return '';\n value = String(value)\n // const date = value.slice(8,10).trim();\n // const month = value.slice(4,7).trim();\n // const year = value.slice(11,15);\n\n // if(!fullDate) return date + ' ' + month;\n // else return date + ' ' + month + ' ' + year;\n if(fullDate){\n return moment(value).locale(i18n.locale).format('D MMM');\n }else{\n return moment(value).locale(i18n.locale).format('D MM');\n }\n})\n\nVue.filter('datetime', function(value) {\n if (!value) return '';\n value = String(value)\n // const date = value.slice(8,10).trim();\n // const month = value.slice(4,7).trim();\n // const year = value.slice(11,15);\n\n // if(!fullDate) return date + ' ' + month;\n // else return date + ' ' + month + ' ' + year;\n return moment(value).locale(i18n.locale).format('DD/MM/YYYY HH:mm:ss');\n})\nVue.filter('month', function(value, showYear = true) {\n if (!value) return '';\n value = String(value)\n\n const regx = /\\w+\\s(\\w+)\\s\\d+\\s(\\d+)./;\n if(!showYear) {\n return regx.exec(value)[1];\n }else {\n return regx.exec(value)[1] + ' ' + regx.exec(value)[2];\n }\n\n})\n\nVue.filter('csv', function(value) {\n if (!value) return '';\n return value.join(', ')\n})\n\nVue.filter('filter_tags', function(value) {\n if (!value) return '';\n return value.replace(/<\\/?[^>]+(>|$)/g, \"\")\n})\n\nVue.filter('k_formatter', function(value) {\n if (!value) return '';\n return value > 999 ? (value/1000).toFixed(1) + 'k' : value\n})\n","import Vue from 'vue'\nimport lineClamp from 'v-line-clamp'\nimport Clipboard from 'vue-clipboard2'\n\n\nVue.use(lineClamp, {\n // plugin options\n})\nVue.use(Clipboard)\n","import Vue from 'vue';\n\nimport App from './App.vue';\n// Vue Router\nimport router from '@/router';\n// Vuex Store\nimport store from '@/store';\n// Global Constants\nimport constants from '@/constants';\n\nimport $context from \"./app-context\";\nimport $cache from \"./cache\";\n\nimport '@/components/common-ui';\n\n\n// ========================================\n//\n// Setup Add\n//\n// ========================================\n// axios Add\nimport axios from \"./setup/axios-setup\";\n// Multi Language Add\nimport { i18n } from './setup/i18n-setup';\n// Apollo Add\nimport { apolloProvider } from './setup/apollo-setup';\n// Form Validation Add\nimport '@/setup/vee-validate-setup';\n// Global Components Add\nimport '@/setup/global-components-setup';\n// Theme Add\nimport '@/setup/theme-setup';\n// Filter Add\nimport './setup/filter-setup';\n// import store_ from './store/store'\nimport { setDebugStatus } from '@/utils/debugger';\n// Plugin Add\nimport '@/setup/plugin-setup'\n\nVue.config.productionTip = false;\nVue.prototype.$http = axios;\nVue.prototype.$constants = constants;\nVue.prototype.$env = process.env;\nVue.prototype.$developing = process.env.NODE_ENV === \"development\";\nVue.prototype.$debug = setDebugStatus();\nVue.prototype.$features = $context.$features;\n\nVue.prototype.$context = $context;\nVue.prototype.$currentUser = { active: false };\nVue.prototype.$flatmap = $cache.$flatmap;\nVue.prototype.$cache = $cache;\nVue.prototype.$eventbus = $context.eventbus;\n\n// Theme Configurations\n// import '../themeConfig.js'\n\n// import Vuex from 'vuex'\n\nconst vm = new Vue({\n i18n,\n apolloProvider,\n router,\n store,\n // features: $context.features,\n render: h => h(App)\n}).$mount('#app');\n\n// Shared instances of tools to global object.\n// window.subscription = $context.subscription;\nwindow.eventbus = $context.eventbus;\n\nexport default vm;\n\n/*\n For help debugging on development or local environment, don't remove\n*/\nif (process.env.VUE_APP_DEPLOYMENT_STAGE === \"development\"\n || process.env.VUE_APP_LOCAL_SERVER === \"true\") {\n\n // console.log(\"DEBUG: Environment Variables\", process.env) // eslint-disable-line no-console\n\n // Added Vue instance to Global object for development only\n window.$vm = vm;\n}\n","export default {\n studentAssignment: {\n id: \"\",\n classSection: null,\n studentAssignment: null,\n studentEnrollDetail: null,\n student: null,\n sectionNo: null,\n studentCode: null,\n remark: null,\n studentSendDate: null,\n isTeacherReceive: null,\n score: null,\n dueDate: null,\n uploadPath: null,\n uploadPathUri: null,\n uploadFileName: null,\n },\n\n studentAssignments: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setStudentAssignments(state, payload) {\n state.studentAssignments = payload ? payload : [];\n}\n\nexport function setStudentAssignment(state, payload) {\n state.studentAssignment = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_STUDENTASSIGNMENT = gql`\n query getStudentAssignment($id : ID!){\n getStudentAssignment (\n id: $id\n ) {\n id studentCode remark studentSendDate teacherReceiveDate isTeacherReceive\n uploadPath uploadPathUri uploadFileName latitude longitude\n classSection {\n id sectionNo\n }\n classAssignment {\n id topicLocal topicEng descriptionLocal descriptionEng score dueDate\n }\n studentEnrollDetail {\n id\n }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n\n }\n }\n`;\n\nexport const GET_STUDENTASSIGNMENTS_BY_FILTER = gql`\n\n query getStudentAssignmentsByFilter($studentAssignmentFilterInput: StudentAssignmentFilterInput){\n getStudentAssignmentsByFilter (\n studentAssignmentFilterInput:$studentAssignmentFilterInput\n ){\n id studentCode remark studentSendDate teacherReceiveDate isTeacherReceive\n uploadPath uploadPathUri uploadFileName latitude longitude\n classSection {\n id sectionNo\n }\n classAssignment {\n id topicLocal topicEng descriptionLocal descriptionEng score dueDate\n }\n studentEnrollDetail {\n id\n }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n\n }\n }\n`;\n\nexport const GET_STUDENTASSIGNMENTS = gql`\n query getStudentAssignments {\n getStudentAssignments {\n id studentCode remark studentSendDate teacherReceiveDate isTeacherReceive\n uploadPath uploadPathUri uploadFileName latitude longitude\n classSection {\n id sectionNo\n }\n classAssignment {\n id topicLocal topicEng descriptionLocal descriptionEng score dueDate\n }\n studentEnrollDetail {\n id\n }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const ADD_STUDENTASSIGNMENT = gql`\n mutation addStudentAssignment(\n $classSectionId: ID!\n $studentAssignmentInput: StudentAssignmentInput!\n ) {\n addStudentAssignment(\n classSectionId: $classSectionId\n studentAssignmentInput: $studentAssignmentInput\n ) {\n id studentCode remark studentSendDate teacherReceiveDate isTeacherReceive\n uploadPath uploadPathUri uploadFileName latitude longitude\n classSection {\n id sectionNo\n }\n classAssignment {\n id topicLocal topicEng descriptionLocal descriptionEng score dueDate\n }\n studentEnrollDetail {\n id\n }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const UPDATE_STUDENTASSIGNMENT = gql`\n mutation updateStudentAssignment(\n $id: ID!,\n $studentAssignmentInput: StudentAssignmentInput!\n ) {\n updateStudentAssignment(\n id: $id\n studentAssignmentInput: $studentAssignmentInput\n ) {\n id studentCode remark studentSendDate teacherReceiveDate isTeacherReceive\n uploadPath uploadPathUri uploadFileName latitude longitude\n classSection {\n id sectionNo\n }\n classAssignment {\n id topicLocal topicEng descriptionLocal descriptionEng score dueDate\n }\n studentEnrollDetail {\n id\n }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const UPDATE_STUDENTASSIGNMENT_TEACHER_RECEIVE = gql`\n mutation updateStudentAssignmentTeacherReceive(\n $id: ID!,\n $studentAssignmentInput: StudentAssignmentInput!\n ) {\n updateStudentAssignmentTeacherReceive(\n id: $id\n studentAssignmentInput: $studentAssignmentInput\n ) {\n id studentCode remark studentSendDate teacherReceiveDate isTeacherReceive\n uploadPath uploadPathUri uploadFileName latitude longitude\n classSection {\n id sectionNo\n }\n classAssignment {\n id topicLocal topicEng descriptionLocal descriptionEng score dueDate\n }\n studentEnrollDetail {\n id\n }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const DELETE_STUDENTASSIGNMENT = gql`\n mutation deleteStudentAssignment($id: ID!) {\n deleteStudentAssignment(\n id: $id\n ) {\n id studentCode remark studentSendDate teacherReceiveDate isTeacherReceive\n uploadPath uploadPathUri uploadFileName latitude longitude\n classSection {\n id sectionNo\n }\n classAssignment {\n id topicLocal topicEng descriptionLocal descriptionEng score dueDate\n }\n studentEnrollDetail {\n id\n }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_STUDENTASSIGNMENT,\n GET_STUDENTASSIGNMENTS,\n GET_STUDENTASSIGNMENTS_BY_FILTER,\n ADD_STUDENTASSIGNMENT,\n UPDATE_STUDENTASSIGNMENT,\n UPDATE_STUDENTASSIGNMENT_TEACHER_RECEIVE,\n DELETE_STUDENTASSIGNMENT\n} from '@/queries/modules/student-assignment/student-assignment.js';\n\nexport async function getStudentAssignments(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTASSIGNMENTS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentAssignments', data.getStudentAssignments);\n context.commit('setSuccess', null);\n return data.getStudentAssignments\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentAssignmentsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTASSIGNMENTS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setStudentAssignments', data.getStudentAssignmentsByFilter);\n context.commit('setSuccess', null);\n\n return data.getStudentAssignmentsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getStudentAssignment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_STUDENTASSIGNMENT,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setStudentAssignment', data.getStudentAssignment);\n context.commit('setSuccess', null);\n return data.getStudentAssignment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addStudentAssignment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_STUDENTASSIGNMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const studentAssignments = [...context.state.studentAssignments];\n studentAssignments.push(data.addStudentAssignment);\n context.commit('setStudentAssignments', studentAssignments);\n context.commit('setSuccess', newItemSuccess(data.addStudentAssignment.student.code));\n\n return data.addStudentAssignment;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudentAssignment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENTASSIGNMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.studentAssignments.findIndex(item => item.id === data.updateStudentAssignment.id);\n const studentAssignments = [\n ...context.state.studentAssignments.slice(0, index),\n data.updateStudentAssignment,\n ...context.state.studentAssignments.slice(index + 1)\n ];\n context.commit('setStudentAssignments', studentAssignments);\n context.commit('setSuccess', updateItemSuccess(data.updateStudentAssignment.student.code));\n\n return data.updateStudentAssignment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateStudentAssignmentTeacherReceive(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_STUDENTASSIGNMENT_TEACHER_RECEIVE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n // const index = context.state.studentAssignments.findIndex(item => item.id === data.updateStudentAssignmentTeacherReceive.id);\n // const studentAssignments = [\n // ...context.state.studentAssignments.slice(0, index),\n // data.updateStudentAssignment,\n // ...context.state.studentAssignments.slice(index + 1)\n // ];\n // context.commit('setStudentAssignments', studentAssignments);\n context.commit('setSuccess', updateItemSuccess(data.updateStudentAssignmentTeacherReceive.student.code));\n\n return data.updateStudentAssignmentTeacherReceive\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteStudentAssignment(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_STUDENTASSIGNMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.studentAssignments.findIndex(item => item.id === data.deleteStudentAssignment.id);\n const studentAssignments = [\n ...context.state.studentAssignments.slice(0, index),\n ...context.state.studentAssignments.slice(index + 1)\n ];\n context.commit('setStudentAssignments', studentAssignments);\n context.commit('setSuccess', deleteItemSuccess(data.deleteStudentAssignment.student.code));\n\n return data.deleteStudentAssignment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","export default {\n webBoards: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setWebBoards(state, payload) {\n state.webBoards = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_WEB_BOARD = gql`\n query getWebBoard($id: ID!){\n getWebBoard(id: $id) {\n id sectionNo periodCode teacherCode studentCode\n topic topicDetail picturePath email\n ip hitRate replyQty hasNewReply updatedAt\n courseOutlineRegistration{ id }\n classSection{ id }\n academicPeriod{ id }\n teacher{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n webBoardReplies {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n }\n`;\n\nexport const GET_WEB_BOARDS = gql`\n query getWebBoards($id : ID!){\n getWebBoards (\n id: $id\n ) {\n id sectionNo periodCode teacherCode studentCode\n topic topicDetail picturePath email\n ip hitRate replyQty hasNewReply updatedAt\n courseOutlineRegistration{ id }\n classSection{ id }\n academicPeriod{ id }\n teacher{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n webBoardReplies {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n }\n`;\n\nexport const GET_WEB_BOARDS_BY_FILTER = gql`\n query getWebBoardsByFilter($webBoardFilterInput: WebBoardFilterInput){\n getWebBoardsByFilter (\n webBoardFilterInput: $webBoardFilterInput\n ) {\n id sectionNo periodCode teacherCode studentCode\n topic topicDetail picturePath email\n ip hitRate replyQty hasNewReply updatedAt\n courseOutlineRegistration{ id }\n classSection{ id }\n academicPeriod{ id }\n teacher{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n webBoardReplies {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n }\n`;\n\nexport const ADD_WEB_BOARD = gql`\n mutation addWebBoard(\n $courseOutlineRegistrationId: ID!,\n $classSectionId: ID!,\n $academicPeriodId: ID!,\n $postBy: String!,\n $studentId: ID,\n $webBoardInput: WebBoardInput!\n ) {\n addWebBoard(\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n academicPeriodId: $academicPeriodId\n postBy: $postBy\n studentId: $studentId\n webBoardInput: $webBoardInput\n ) {\n id sectionNo periodCode teacherCode studentCode\n topic topicDetail picturePath email\n ip hitRate replyQty hasNewReply updatedAt\n courseOutlineRegistration{ id }\n classSection{ id }\n academicPeriod{ id }\n teacher{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n webBoardReplies {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n }\n`;\n\nexport const UPDATE_WEB_BOARD = gql`\n mutation updateWebBoard(\n $id: ID!,\n $courseOutlineUnitId: ID!,\n $webBoardInput: WebBoardInput!\n ) {\n updateWebBoard(\n id: $id\n webBoardInput: $webBoardInput\n ) {\n id sectionNo periodCode teacherCode studentCode\n topic topicDetail picturePath email\n ip hitRate replyQty hasNewReply updatedAt\n courseOutlineRegistration{ id }\n classSection{ id }\n academicPeriod{ id }\n teacher{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n webBoardReplies {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n }\n`;\n\nexport const UPDATE_REPLY_TO_WEB_BOARD = gql`\n mutation updateReplyToWebBoard(\n $id: ID!,\n $postBy: String!,\n $webBoardReplyInput: WebBoardReplyInput!\n ) {\n updateReplyToWebBoard(\n id: $id\n postBy: $postBy\n webBoardReplyInput: $webBoardReplyInput\n ) {\n id sectionNo periodCode teacherCode studentCode\n topic topicDetail picturePath email\n ip hitRate replyQty hasNewReply updatedAt\n courseOutlineRegistration{ id }\n classSection{ id }\n academicPeriod{ id }\n teacher{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n webBoardReplies {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n }\n`;\n\nexport const UPDATE_WEB_BOARD_ALREADY_READ = gql`\n mutation updateWebBoardAlreadyRead(\n $id: ID!,\n ) {\n updateWebBoardAlreadyRead(\n id: $id\n ) {\n id sectionNo periodCode teacherCode studentCode\n topic topicDetail picturePath email\n ip hitRate replyQty hasNewReply updatedAt\n courseOutlineRegistration{ id }\n classSection{ id }\n academicPeriod{ id }\n teacher{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n webBoardReplies {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n }\n`;\n\nexport const UPDATE_WEB_BOARD_HIT_RATE = gql`\n mutation updateWebBoardHitCount(\n $id: ID!,\n ) {\n updateWebBoardHitCount(\n id: $id\n ) {\n id sectionNo periodCode teacherCode studentCode\n topic topicDetail picturePath email\n ip hitRate replyQty hasNewReply updatedAt\n courseOutlineRegistration{ id }\n classSection{ id }\n academicPeriod{ id }\n teacher{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n webBoardReplies {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n }\n`;\n\nexport const DELETE_WEB_BOARD = gql`\n mutation deleteWebBoard($id: ID!) {\n deleteWebBoard(\n id: $id\n ) {\n id sectionNo periodCode teacherCode studentCode\n topic topicDetail picturePath email\n ip hitRate replyQty hasNewReply updatedAt\n courseOutlineRegistration{ id }\n classSection{ id }\n academicPeriod{ id }\n teacher{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student{\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n webBoardReplies {\n id teacherCode studentCode\n replyMessage picturePath email\n ip updatedAt\n teacher {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n student {\n id code picturePath\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng\n }\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_WEB_BOARD,\n GET_WEB_BOARDS,\n GET_WEB_BOARDS_BY_FILTER,\n ADD_WEB_BOARD,\n UPDATE_WEB_BOARD,\n UPDATE_REPLY_TO_WEB_BOARD,\n UPDATE_WEB_BOARD_ALREADY_READ,\n UPDATE_WEB_BOARD_HIT_RATE,\n DELETE_WEB_BOARD,\n} from '../../../../queries/modules/web-board/web-board';\n\nexport async function getWebBoards(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_WEB_BOARDS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setWebBoards', data.getWebBoards);\n context.commit('setSuccess', null);\n return data.getWebBoards\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getWebBoard(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_WEB_BOARD,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.getWebBoard\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getWebBoardsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_WEB_BOARDS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setWebBoards', data.getWebBoardsByFilter);\n context.commit('setSuccess', null);\n return data.getWebBoardsByFilter\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addWebBoard(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_WEB_BOARD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const webBoards = [...context.state.webBoards];\n webBoards.unshift(data.addWebBoard);\n context.commit('setWebBoards', webBoards);\n context.commit('setSuccess', newItemSuccess(data.addWebBoard.topic));\n\n return data.addWebBoard\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateWebBoard(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_WEB_BOARD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.webBoards.findIndex(item => item.id === data.updateWebBoard.id);\n const webBoards = [\n ...context.state.webBoards.slice(0, index),\n data.updateWebBoard,\n ...context.state.webBoards.slice(index + 1)\n ];\n context.commit('setWebBoards', webBoards);\n context.commit('setSuccess', updateItemSuccess(data.updateWebBoard.topic));\n\n return data.updateWebBoard\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateReplyToWebBoard(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_REPLY_TO_WEB_BOARD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.webBoards.findIndex(item => item.id === data.updateReplyToWebBoard.id);\n const webBoards = [\n ...context.state.webBoards.slice(0, index),\n data.updateReplyToWebBoard,\n ...context.state.webBoards.slice(index + 1)\n ];\n context.commit('setWebBoards', webBoards);\n context.commit('setSuccess', updateItemSuccess(data.updateReplyToWebBoard.topic));\n\n return data.updateReplyToWebBoard\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateWebBoardHitCount(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_WEB_BOARD_HIT_RATE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.webBoards.findIndex(item => item.id === data.updateWebBoardHitCount.id);\n const webBoards = [\n ...context.state.webBoards.slice(0, index),\n data.updateWebBoardHitCount,\n ...context.state.webBoards.slice(index + 1)\n ];\n context.commit('setWebBoards', webBoards);\n context.commit('setSuccess', updateItemSuccess(data.updateWebBoardHitCount.topic));\n\n return data.updateWebBoardHitCount\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateWebBoardAlreadyRead(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_WEB_BOARD_ALREADY_READ,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.webBoards.findIndex(item => item.id === data.updateWebBoardAlreadyRead.id);\n const webBoards = [\n ...context.state.webBoards.slice(0, index),\n data.updateWebBoardAlreadyRead,\n ...context.state.webBoards.slice(index + 1)\n ];\n context.commit('setWebBoards', webBoards);\n context.commit('setSuccess', updateItemSuccess(data.updateWebBoardAlreadyRead.topic));\n\n return data.updateWebBoardAlreadyRead\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteWebBoard(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_WEB_BOARD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.webBoards.findIndex(item => item.id === data.deleteWebBoard.id);\n const webBoards = [\n ...context.state.webBoards.slice(0, index),\n ...context.state.webBoards.slice(index + 1)\n ];\n context.commit('setWebBoards', webBoards);\n context.commit('setSuccess', deleteItemSuccess(data.deleteWebBoard.topic));\n\n return data.deleteWebBoard\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import { gql } from \"apollo-boost\";\n\nexport const GET_SUBJECT = gql`\n query getSubject($id: ID!) {\n getSubject(\n id: $id\n ) {\n id\n degree{\n id code nameLocal nameEng\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n code\n nameLocal\n nameEng\n description\n creditCalGrade\n creditDesc\n }\n }\n`;\n\nexport const GET_SUBJECTS = gql`\n query getSubjects {\n getSubjects {\n id\n degree{\n id code nameLocal nameEng\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n code\n nameLocal\n nameEng\n description\n creditCalGrade\n creditDesc\n label\n }\n }\n`;\n\nexport const GET_SUBJECTS_DDL = gql`\n query getSubjects {\n getSubjects {\n id\n degree{\n id\n }\n subjectGroup{\n id\n }\n code\n nameLocal\n nameEng\n creditCalGrade\n creditDesc\n label\n }\n }\n`;\n\nexport const GET_SUBJECT_BY_SUBJECTGROUP_ID = gql`\n query getSubjectsBySubjectGroup($subjectGroupId: ID!) {\n getSubjectsBySubjectGroup(\n subjectGroupId: $subjectGroupId\n ) {\n id\n degree{\n id code nameLocal nameEng\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n code\n nameLocal\n nameEng\n description\n creditCalGrade\n creditDesc\n label\n }\n }\n`;\n\nexport const GET_SUBJECT_BY_CODE_OR_NAME = gql`\n query getSubjectsByCodeOrName($codeOrName: String!) {\n getSubjectsByCodeOrName(\n codeOrName: $codeOrName\n ) {\n id\n degree{\n id code nameLocal nameEng\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n code\n nameLocal\n nameEng\n creditCalGrade\n creditDesc\n label\n }\n }\n`;\n\nexport const ADD_SUBJECT = gql`\n mutation addSubject(\n $subjectInput: SubjectInput,\n $degreeId: ID!,\n $subjectGroupId: ID!\n ) {\n addSubject (\n subjectInput: $subjectInput,\n degreeId: $degreeId,\n subjectGroupId: $subjectGroupId\n ) {\n id\n degree{\n id code nameLocal nameEng\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n code\n nameLocal\n nameEng\n description\n creditCalGrade\n creditDesc\n }\n }\n`;\n\nexport const UPDATE_SUBJECT = gql`\n mutation updateSubject(\n $id: ID!,\n $subjectInput: SubjectInput!,\n $degreeId: ID!,\n $subjectGroupId: ID!\n ) {\n updateSubject (\n id: $id,\n subjectInput: $subjectInput,\n degreeId: $degreeId,\n subjectGroupId: $subjectGroupId\n ) {\n id\n degree{\n id code nameLocal nameEng\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n code\n nameLocal\n nameEng\n description\n creditCalGrade\n creditDesc\n }\n }\n`;\n\nexport const DELETE_SUBJECT = gql`\n mutation deleteSubject(\n $id: ID!\n ) {\n deleteSubject (\n id: $id\n ) {\n id\n degree{\n id code nameLocal nameEng\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n code\n nameLocal\n nameEng\n description\n creditCalGrade\n creditDesc\n }\n }\n`;\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FormElement',{attrs:{\"type\":\"input\",\"small\":\"\"}},[_c('template',{slot:\"label\"},[_c('span',[_vm._v(_vm._s(_vm.label))])]),_c('template',{slot:\"warning\"},[(_vm.required)?_c('span',{staticClass:\"-require\"},[_vm._v(\"*ต้องกรอกข้อมูล\")]):_vm._e()]),_c('template',{slot:\"controller\"},[_vm._t(\"controller\"),_c('button',{staticClass:\"--input-clear\",on:{\"click\":function($event){_vm.input = _vm.prev}}},[_c('vs-icon',{attrs:{\"icon\":\"restore\",\"size\":\"small\"}})],1),_c('button',{staticClass:\"--input-clear\",on:{\"click\":function($event){_vm.input = ''}}},[_c('vs-icon',{attrs:{\"icon\":\"delete_forever\",\"size\":\"small\"}})],1)],2),_c('div',{staticClass:\"input-box\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.input)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.input=$event.target.value}}})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=a3a86f00&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=a3a86f00&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a3a86f00\",\n null\n \n)\n\nexport default component.exports","export default {\n privateMessages: [],\n privateMessagesSendTo: [],\n privateMessagesSendFrom: [],\n coursesOfPrivateMessage: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setPrivateMessages(state, payload) {\n state.privateMessages = payload;\n}\n\nexport function setPrivateMessagesSendTo(state, payload) {\n state.privateMessagesSendTo = payload;\n}\n\nexport function setPrivateMessagesSendFrom(state, payload) {\n state.privateMessagesSendFrom = payload;\n}\nexport function setCoursesOfPrivateMessage(state, payload) {\n state.coursesOfPrivateMessage = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_PRIVATE_MESSAGE = gql`\n query getPrivateMessage($id: ID!){\n getPrivateMessage(id: $id) {\n id toUserCode fromUserCode\n topic message sendDate hasNewReply newReplyDate readDate\n ip isFromTeacher isFromStudent\n academicPeriod {id periodCode}\n courseOutlineRegistration { id }\n classSection { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n privateMessageReplies {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n }\n`;\n\nexport const GET_PRIVATE_MESSAGES = gql`\n query getPrivateMessages($id : ID!){\n getPrivateMessages (\n id: $id\n ) {\n id toUserCode fromUserCode\n topic message sendDate hasNewReply newReplyDate readDate\n ip isFromTeacher isFromStudent\n academicPeriod {id periodCode}\n courseOutlineRegistration { id }\n classSection { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n privateMessageReplies {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n }\n`;\n\nexport const GET_PRIVATE_MESSAGES_BY_FILTER = gql`\n query getPrivateMessagesByFilter($privateMessageFilterInput: PrivateMessageFilterInput){\n getPrivateMessagesByFilter (\n privateMessageFilterInput: $privateMessageFilterInput\n ) {\n id toUserCode fromUserCode\n topic message sendDate hasNewReply newReplyDate readDate\n ip isFromTeacher isFromStudent\n academicPeriod {id periodCode}\n courseOutlineRegistration { id }\n classSection { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n privateMessageReplies {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n }\n`;\n\nexport const GET_PRIVATE_MESSAGES_SEND_TO_CURRENT_USER = gql`\n query getPrivateMessagesSendToCurrentUser($academicPeriodId: ID!){\n getPrivateMessagesSendToCurrentUser (\n academicPeriodId: $academicPeriodId\n ) {\n id toUserCode fromUserCode\n topic message sendDate hasNewReply newReplyDate readDate\n ip isFromTeacher isFromStudent\n academicPeriod {id periodCode}\n courseOutlineRegistration { id subjectCode }\n classSection { id sectionNo}\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n privateMessageReplies {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n updatedAt\n updatedBy { id }\n }\n }\n`;\n\nexport const GET_PRIVATE_MESSAGES_SEND_FROM_CURRENT_USER = gql`\n query getPrivateMessagesSendFromCurrentUser($academicPeriodId: ID!){\n getPrivateMessagesSendFromCurrentUser (\n academicPeriodId: $academicPeriodId\n ) {\n id toUserCode fromUserCode\n topic message sendDate hasNewReply newReplyDate readDate\n ip isFromTeacher isFromStudent\n academicPeriod {id periodCode}\n courseOutlineRegistration { id subjectCode }\n classSection { id sectionNo}\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n privateMessageReplies {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n updatedAt\n updatedBy { id }\n }\n }\n`;\n\nexport const GET_COURSES_OF_PRIVATE_MESSAGES_CURRENT_STUDENT = gql`\n query getCoursesOfPrivateMessagesCurrentStudent($academicPeriodId: ID!){\n getCoursesOfPrivateMessagesCurrentStudent (\n academicPeriodId: $academicPeriodId\n ) {\n id\n classSection { id sectionNo }\n subjectCode\n }\n }\n`;\n\nexport const GET_COURSES_OF_PRIVATE_MESSAGES_CURRENT_TEACHER = gql`\n query getCoursesOfPrivateMessagesCurrentTeacher($academicPeriodId: ID!){\n getCoursesOfPrivateMessagesCurrentTeacher (\n academicPeriodId: $academicPeriodId\n ) {\n id sectionNo\n courseOutlineRegistration { id subjectCode }\n }\n }\n`;\n\nexport const ADD_PRIVATE_MESSAGE = gql`\n mutation addPrivateMessage(\n $courseOutlineRegistrationId: ID!,\n $classSectionId: ID!,\n $academicPeriodId: ID!,\n $toUserId: ID!,\n $privateMessageInput: PrivateMessageInput!\n ) {\n addPrivateMessage(\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n academicPeriodId: $academicPeriodId\n toUserId: $toUserId\n privateMessageInput: $privateMessageInput\n ) {\n id toUserCode fromUserCode\n topic message sendDate hasNewReply newReplyDate readDate\n ip isFromTeacher isFromStudent\n academicPeriod {id periodCode}\n courseOutlineRegistration { id subjectCode }\n classSection { id sectionNo }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n privateMessageReplies {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n updatedAt\n updatedBy { id }\n }\n }\n`;\n\nexport const UPDATE_PRIVATE_MESSAGE = gql`\n mutation updatePrivateMessage(\n $id: ID!,\n $courseOutlineUnitId: ID!,\n $privateMessageInput: PrivateMessageInput!\n ) {\n updatePrivateMessage(\n id: $id\n privateMessageInput: $privateMessageInput\n ) {\n id toUserCode fromUserCode\n topic message sendDate hasNewReply newReplyDate readDate\n ip isFromTeacher isFromStudent\n academicPeriod {id periodCode}\n courseOutlineRegistration { id }\n classSection { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n privateMessageReplies {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n }\n`;\n\nexport const UPDATE_PRIVATE_MESSAGE_ALREADY_READ = gql`\n mutation updatePrivateMessageAlreadyRead(\n $id: ID!,\n ) {\n updatePrivateMessageAlreadyRead(\n id: $id\n ) {\n id toUserCode fromUserCode\n topic message sendDate hasNewReply newReplyDate readDate\n ip isFromTeacher isFromStudent\n academicPeriod {id periodCode}\n courseOutlineRegistration { id subjectCode }\n classSection { id sectionNo}\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n privateMessageReplies {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n updatedAt\n updatedBy { id }\n }\n }\n`;\n\nexport const DELETE_PRIVATE_MESSAGE = gql`\n mutation deletePrivateMessage($id: ID!) {\n deletePrivateMessage(\n id: $id\n ) {\n id toUserCode fromUserCode\n topic message sendDate hasNewReply newReplyDate readDate\n ip isFromTeacher isFromStudent\n academicPeriod {id periodCode}\n courseOutlineRegistration { id }\n classSection { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n privateMessageReplies {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_PRIVATE_MESSAGE,\n GET_PRIVATE_MESSAGES,\n GET_PRIVATE_MESSAGES_BY_FILTER,\n GET_PRIVATE_MESSAGES_SEND_TO_CURRENT_USER,\n GET_PRIVATE_MESSAGES_SEND_FROM_CURRENT_USER,\n GET_COURSES_OF_PRIVATE_MESSAGES_CURRENT_STUDENT,\n GET_COURSES_OF_PRIVATE_MESSAGES_CURRENT_TEACHER,\n ADD_PRIVATE_MESSAGE,\n UPDATE_PRIVATE_MESSAGE,\n UPDATE_PRIVATE_MESSAGE_ALREADY_READ,\n DELETE_PRIVATE_MESSAGE,\n} from '../../../../queries/modules/pm/private-message';\n\nexport async function getPrivateMessages(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_PRIVATE_MESSAGES,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setPrivateMessages', data.getPrivateMessages);\n context.commit('setSuccess', null);\n return data.getPrivateMessages\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getPrivateMessage(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_PRIVATE_MESSAGE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.getPrivateMessage\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getPrivateMessagesByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_PRIVATE_MESSAGES_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setPrivateMessages', data.getPrivateMessagesByFilter);\n context.commit('setSuccess', null);\n return data.getPrivateMessagesByFilter\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getPrivateMessagesSendToCurrentUser(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_PRIVATE_MESSAGES_SEND_TO_CURRENT_USER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n // context.commit('setPrivateMessagesSendTo', data.getPrivateMessagesSendToCurrentUser);\n context.commit('setSuccess', null);\n return data.getPrivateMessagesSendToCurrentUser\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getPrivateMessagesSendFromCurrentUser(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_PRIVATE_MESSAGES_SEND_FROM_CURRENT_USER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n // context.commit('setPrivateMessagesSendFrom', data.getPrivateMessagesSendFromCurrentUser);\n context.commit('setSuccess', null);\n return data.getPrivateMessagesSendFromCurrentUser\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getCoursesOfPrivateMessageCurrentStudent(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSES_OF_PRIVATE_MESSAGES_CURRENT_STUDENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setCoursesOfPrivateMessage', data.getCoursesOfPrivateMessagesCurrentStudent);\n context.commit('setSuccess', null);\n return data.getCoursesOfPrivateMessagesCurrentStudent\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getCourseOfPrivateMessagesCurrentTeacher(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_COURSES_OF_PRIVATE_MESSAGES_CURRENT_TEACHER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setCoursesOfPrivateMessage', data.getCoursesOfPrivateMessagesCurrentTeacher);\n context.commit('setSuccess', null);\n return data.getCoursesOfPrivateMessagesCurrentTeacher\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addPrivateMessage(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_PRIVATE_MESSAGE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const privateMessages = [...context.state.privateMessagesSendFrom];\n privateMessages.unshift(data.addPrivateMessage);\n context.commit('setPrivateMessagesSendFrom', privateMessages);\n context.commit('setSuccess', newItemSuccess(data.addPrivateMessage.topic));\n\n return data.addPrivateMessage\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updatePrivateMessage(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_PRIVATE_MESSAGE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.privateMessages.findIndex(item => item.id === data.updatePrivateMessage.id);\n const privateMessages = [\n ...context.state.privateMessages.slice(0, index),\n data.updatePrivateMessage,\n ...context.state.privateMessages.slice(index + 1)\n ];\n context.commit('setPrivateMessages', privateMessages);\n context.commit('setSuccess', updateItemSuccess(data.updatePrivateMessage.topic));\n\n return data.updatePrivateMessage\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updatePrivateMessageAlreadyRead(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_PRIVATE_MESSAGE_ALREADY_READ,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.privateMessages.findIndex(item => item.id === data.updatePrivateMessageAlreadyRead.id);\n const privateMessages = [\n ...context.state.privateMessages.slice(0, index),\n data.updatePrivateMessageAlreadyRead,\n ...context.state.privateMessages.slice(index + 1)\n ];\n context.commit('setPrivateMessages', privateMessages);\n context.commit('setSuccess', updateItemSuccess(data.updatePrivateMessageAlreadyRead.topic));\n\n return data.updatePrivateMessageAlreadyRead\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deletePrivateMessage(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_PRIVATE_MESSAGE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.privateMessages.findIndex(item => item.id === data.deletePrivateMessage.id);\n const privateMessages = [\n ...context.state.privateMessages.slice(0, index),\n ...context.state.privateMessages.slice(index + 1)\n ];\n context.commit('setPrivateMessages', privateMessages);\n context.commit('setSuccess', deleteItemSuccess(data.deletePrivateMessage.topic));\n\n return data.deletePrivateMessage\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","// axios\nimport axios from 'axios'\n\nconst domain = \"\";\n\nlet instance = axios.create({\n domain,\n})\n\n// Add a request interceptor\ninstance.interceptors.request.use(function (config) {\n // config.domain = domain;\n // config.headers['Access-Control-Allow-Origin'] = '*';\n config.headers['authorization'] = localStorage.getItem('token');\n\n return config;\n});\n\nexport default instance\n\n","import {gql} from 'apollo-boost';\n\nexport const GET_USER = gql`\n query getUser($id: ID!){\n getUser(\n id: $id\n ) {\n id\n photo\n prefix\n name\n surname\n email\n userType\n isDisabled\n }\n }\n`;\n\nexport const GET_USERS = gql`\n query {\n getUsers {\n id\n photo\n prefix\n name\n surname\n email\n userType\n isDisabled\n }\n }\n`;\n\nexport const GET_CURRENT_USER = gql`\n query {\n getCurrentUser {\n id\n uuid\n userGroup {\n id\n code\n nameLocal\n nameEng\n }\n photo\n code\n userLogin\n nameLocal\n surnameLocal\n nameEng\n surnameLocal\n email\n isActive\n isOnline\n lastChangePasswordDate\n lastLoginDate\n lastLogOutDate\n accessFailedCount\n profile\n meta\n }\n }\n`;\n\nexport const ADD_USER = gql`\n mutation addUser($payload: UserInput!) {\n addUser(\n payload: $payload\n ) {\n id\n photo\n prefix\n name\n surname\n email\n userType\n isDisabled\n }\n }\n`;\n\nexport const UPDATE_USER = gql`\n mutation updateUser($id: ID!, $payload: UserInput!) {\n updateUser(\n id: $id,\n payload: $payload\n ) {\n id\n photo\n prefix\n name\n surname\n email\n userType\n isDisabled\n }\n }\n`;\n\nexport const DELETE_USER = gql`\n mutation deleteUser($id: ID!) {\n deleteUser(\n id: $id\n ) {\n id\n photo\n prefix\n name\n surname\n email\n userType\n isDisabled\n }\n }\n`;\n\nexport const CURRENT = gql`\n query {\n getCurrentUser {\n id\n photo\n prefix\n name\n surname\n email\n userType\n }\n }\n`;\n\nexport const LOGIN = gql`\n mutation signIn($email: String!, $password: String!) {\n signIn(\n email: $email,\n password: $password\n ) {\n token\n user {\n id\n photo\n prefix\n name\n surname\n email\n userType\n }\n }\n }\n`;\n\nexport const FORGOT_PASSWORD = gql`\n mutation forgotPassword($email: String!) {\n forgotPassword(\n email: $email\n ) {\n id\n photo\n prefix\n name\n surname\n email\n userType\n }\n }\n`;\n\nexport const RESET_PASSWORD = gql`\n mutation resetPassword($resetPasswordCode: String!, $newPassword: String!) {\n resetPassword(\n resetPasswordCode: $resetPasswordCode\n newPassword: $newPassword\n ) {\n id\n photo\n prefix\n name\n surname\n email\n userType\n }\n }\n`;\n\nexport const RESET_PASSWORD_CURRENT_USER = gql`\n mutation resetPasswordCurrentUser($oldPassword: String!, $newPassword: String!) {\n resetPasswordCurrentUser(\n oldPassword: $oldPassword\n newPassword: $newPassword\n ) {\n error\n message\n }\n }\n`;\n\nexport const SIGN_OUT = gql`\n mutation signOut {\n signOut\n }\n`;\n\nexport const REGISTER = gql`\n mutation signUp($name: String!, $surname: String!, $email: String!, $password: String!) {\n signUp(\n name: $name\n surname: $surname\n email: $email\n password: $password\n ) {\n token\n user {\n id\n photo\n prefix\n name\n surname\n email\n userType\n }\n }\n }\n`;\n//\n// export const FIND_USER_FROM_EMAIL = gql`\n// query findUserFromEmail($email: String!) {\n// findUserFromEmail(\n// email: $email\n// ) {\n// id\n// email\n// photo\n// prefix\n// name\n// surname\n// userType\n// }\n// }\n// `;\nexport const GET_USER_PROFILE_SHARING_URL_ONCE = gql`\n query getUserProfileSharingUrlOnce($mode: String)\n {\n getUserProfileSharingUrlOnce(\n mode: $mode\n )\n }\n`;\n\nexport const GET_USER_PUBLIC_PROFILE = gql`\n query getUserPublicProfile($userUUID: String!) {\n getUserPublicProfile(\n userUUID: $userUUID\n ) {\n nameLocal\n surnameLocal\n nameEng\n surnameEng\n isActive\n photo\n }\n }\n`;\n","import { apolloClient } from '@/setup/apollo-setup';\n\n// Import defined GraphQL Query or Mutation\nimport {\n FORGOT_PASSWORD,\n REGISTER,\n RESET_PASSWORD,\n GET_CURRENT_USER,\n GET_USER_PROFILE_SHARING_URL_ONCE,\n GET_USER_PUBLIC_PROFILE,\n RESET_PASSWORD_CURRENT_USER,\n} from '@/queries/modules/user';\n\n// import axios from 'axios';\nimport axios from \"@/setup/axios-setup\";\n\nimport { setDebugStatus } from '@/utils/debugger';\nconst $debug = setDebugStatus();\n\nimport {\n error,\n // newItemSuccess,\n // updateItemSuccess,\n // deleteItemSuccess,\n serverResponseStatusSet\n} from '@/utils/notification';\n\nexport default {\n selectCourseToLearn,\n login,\n forgotPassword,\n resetPassword,\n signOut,\n register,\n getCurrentUser,\n initUser,\n shareUserProfileOnce,\n getPublicProfile,\n resetPasswordCurrentUser,\n}\n\nfunction selectCourseToLearn(context, payload) {\n context.commit(\"setCourseToLearn\", payload);\n}\n\nasync function login({commit}, payload) {\n\n // console.log(\"Logging In\", payload, \"to Server:\", process.env.VUE_APP_AUTH_SERVER);\n // localStorage.removeItem(\"token\");\n\n commit('clearError');\n commit('setProcessing', true);\n try {\n const response = await axios({\n method: \"post\",\n url: process.env.VUE_APP_AUTH_SERVER + \"/signin\",\n data: {\n ...payload.credential\n },\n // withCredentials: true\n });\n\n // console.log(response);\n\n if (response.status >= 200 && response.status < 400) {\n if(response.data.changePassword){\n //redirect to change password page\n payload.vm.$router.push({\n name: 'user-change-password',\n params: {\n username: payload.credential.username,\n changePasswordReason: response.data.changePasswordReason,\n oldPassword: payload.credential.password,\n }\n });\n return\n }\n\n localStorage.setItem('token', response.data.token);\n localStorage.setItem('rsc', JSON.stringify(response.data.rsc));\n commit('setLoginStatus', serverResponseStatusSet(\"Authentication Success\", response.data));\n payload.vm.$router.push(\"/\");\n }\n\n\n } catch (e) {\n if ($debug === true) {\n // eslint-disabled no-colsole\n // console.log(e.response.status);\n // console.log(e.response.data);\n }\n if (e.response) {\n commit('setLoginStatus', serverResponseStatusSet(\"Authentication Error\", e.response.data));\n // commit(\"setLoginError\", e.response.data);\n // commit('setError', error(e.response.data.message));\n // notifyError(e.response.data, \"Authentication Error\");\n }\n }\n\n // apolloClient\n // .mutate({\n // mutation: LOGIN,\n // variables: payload\n // })\n // .then(({data}) => {\n // localStorage.setItem('user', JSON.stringify(data.signIn.user));\n // localStorage.setItem('token', data.signIn.token);\n\n // commit('setToken', data.signIn.token);\n // commit('setCurrentUser', data.signIn.user);\n // })\n // .catch((err) => {\n // localStorage.removeItem('user');\n // localStorage.removeItem('token');\n\n // commit('setLoginError', error(err.message, 'notification.login-error-title'));\n\n // setTimeout(() => {\n // commit('clearError');\n // }, 3000);\n // });\n}\n\nfunction forgotPassword({commit}, payload) {\n commit('clearError');\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: FORGOT_PASSWORD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(() => {\n commit('clearError');\n commit('setForgotMailSuccess');\n })\n .catch((err) => {\n commit('setError', error(err.message));\n\n setTimeout(() => {\n commit('clearError');\n }, 3000);\n });\n}\n\nfunction resetPassword({commit}, payload) {\n commit('clearError');\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: RESET_PASSWORD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(() => {\n commit('clearError');\n commit('setResetPasswordSuccess');\n })\n .catch((err) => {\n commit('setError', error(err.message));\n\n setTimeout(() => {\n commit('clearError');\n }, 3000);\n });\n}\n\nfunction signOut({ commit }, vm) { // eslint-disable-line no-unused-vars\n // Unsubscribe user session on back-end.\n\n axios({\n url: process.env.VUE_APP_AUTH_SERVER + \"/signout\",\n data: {\n token: localStorage.getItem(\"token\")\n }\n // }).then(r => {\n\n // // TODO: Commit successfully signout result to inform user.\n\n\n // }).catch(e => {\n\n // // TODO: Send error log for stats\n\n\n }).finally(() => {\n // Removed token\n localStorage.removeItem('token');\n\n if (vm) {\n if (vm.$router && vm.$route.fullPath !== \"/user/login\") {\n vm.$router.push(\"/user/login\");\n }\n } else if (window.location.pathname !== process.env.BASE_URL + 'user/login') {\n window.location = process.env.BASE_URL + 'user/login';\n }\n })\n\n}\n\nfunction register({commit}, payload) {\n commit('clearError');\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: REGISTER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n localStorage.setItem('user', JSON.stringify(data.register.user));\n localStorage.setItem('token', data.register.token);\n\n commit('setToken', data.register.token);\n commit('setCurrentUser', data.register.user);\n })\n .catch((err) => {\n localStorage.removeItem('user');\n localStorage.removeItem('token');\n\n commit('setError', error(err.message));\n\n setTimeout(() => {\n commit('clearError');\n }, 3000);\n });\n}\n\nasync function getCurrentUser(context) {\n // console.log(\"Store: getCurrentUser action\");\n // context.commit('setProcessing', true);\n try {\n\n // console.log(\"try to query GET_CURRENT_USER\")\n const result = await apolloClient\n .query({\n query: GET_CURRENT_USER,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n })\n\n const { data } = result;\n\n context.commit('setCurrentUser', data.getCurrentUser);\n\n this._vm.$context.$currentUser = Object.assign(this._vm.$currentUser, this.state.User.currentUser);\n this._vm.$currentUser = this._vm.$context.$currentUser;\n this._vm.$context.$currentUser.active = true;\n\n // Interaction on Subscription succeeded.\n // this._vm.$context.subscription.subscriber(\"user\", this._vm.$currentUser);\n\n return data.getCurrentUser\n\n } catch (e) {\n // console.log(\"getCurrentUser Error\", e);\n context.commit('setError', error(e));\n return null;\n }\n}\n\n/*\n Initialize User State\n*/\nasync function initUser (context,/* payload */) {\n\n const token = localStorage.getItem(\"token\");\n const { User } = context.rootState;\n const { currentUser, profile } = User;\n\n if (token\n && (!currentUser || !profile)\n ) {\n // console.log(\"User data is initializing\");\n // console.log(\"Initializing User\");\n context.commit('setProcessing', true);\n try {\n\n const currentUser = await context.dispatch(\"getCurrentUser\");\n\n const data = currentUser;\n\n if (data) {\n if (data.getCurrentUser) {\n if (typeof data.getCurrentUser.profile === \"string\") {\n data.getCurrentUser.profile = JSON.parse(data.getCurrentUser.profile);\n }\n if (typeof data.getCurrentUser.meta === \"string\") {\n data.getCurrentUser.meta = JSON.parse(data.getCurrentUser.meta);\n }\n context.commit(\"setUser\", data.getCurrentUser);\n context.commit(\"setProfile\", data.getCurrentUser.profile);\n\n return { status: { success: true, error: false, message: \"\" }}\n }\n }\n } catch (e) {\n // console.log(e);\n context.commit('setError', error(e));\n return { status: { success: false, error: true, message: \"\", full: e }}\n }\n }\n}\n\nasync function shareUserProfileOnce(context, payload) { // eslint-disable-line no-unused-vars\n const { commit } = context;\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n query: GET_USER_PROFILE_SHARING_URL_ONCE,\n variables: {\n \"mode\": \"teacher\"\n },\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const { data } = await result;\n return data.getUserProfileSharingUrlOnce;\n\n } catch (e) {\n // console.log(e);\n\n commit('setError', error(e));\n return null;\n\n }\n}\n\nasync function getPublicProfile(context, payload) {\n // const $location = \"VuexStore/UserModule/Actions/getPublicProfile()\";\n\n context.commit('setProcessing', true);\n try {\n const variables = payload;\n\n const response = await apolloClient\n .query({\n query: GET_USER_PUBLIC_PROFILE,\n variables,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n // console.log($location, response);\n\n const { data } = await response;\n return data.getUserPublicProfile;\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nasync function resetPasswordCurrentUser(context, payload) {\n context.commit('clearError');\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: RESET_PASSWORD_CURRENT_USER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setProcessing', false);\n\n return data.resetPasswordCurrentUser\n }\n }catch (e){\n context.commit('setError', error(e));\n return {error: true, message: e.message};\n }\n\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\nimport actions from \"./actions\";\n\n// Import any requires library\n/* eslint-disable no-unused-vars */\nimport { getField, updateField } from 'vuex-map-fields';\n\n// Initial states\nconst state = {\n processing: false,\n error: null,\n success: null,\n currentLearningCourse: null,\n currentUser: localStorage.getItem('user') != null ? JSON.parse(localStorage.getItem('user')) : null,\n profile: {},\n token: localStorage.getItem('token') != null ? localStorage.getItem('token') : null,\n loginError: null,\n loginStatus: null,\n forgotMailSuccess: null,\n resetPasswordSuccess: null,\n};\n\n// getters\nconst getters = {\n getField\n};\n\n// mutations\nconst mutations = {\n updateField,\n clearError: generic.clearError,\n /* clearError: (state) => {\n state.error = null;\n }, */\n\n setError: generic.setError,\n /* setError: (state, payload) => {\n state.error = payload;\n state.success = null;\n state.processing = false;\n }, */\n\n setProcessing: generic.setProcessing,\n /* setProcessing: (state, payload) => {\n state.processing = payload;\n }, */\n\n setSuccess: generic.setSuccess,\n // setSuccess: (state, payload) => {\n // state.error = null;\n // state.success = payload;\n // state.processing = false;\n // },\n\n setCourseToLearn: (state, payload) => {\n state.currentLearningCourse = payload;\n },\n\n setCurrentUser(state, payload) {\n state.currentUser = payload;\n state.processing = false;\n state.loginError = null;\n state.error = null;\n },\n\n setToken(state, payload) {\n state.token = payload;\n state.processing = false;\n state.loginError = null;\n state.error = null;\n },\n\n setLogout(state) {\n state.currentUser = null;\n state.token = null;\n state.processing = false;\n state.loginError = null;\n state.error = null;\n },\n\n setLoginError(state, payload) {\n state.loginError = payload;\n state.currentUser = null;\n state.processing = false;\n },\n\n setLoginStatus(state, payload) {\n state.loginStatus = payload;\n state.currentUser = null;\n state.processing = false;\n },\n\n setForgotMailSuccess(state) {\n state.loginError = null;\n state.currentUser = null;\n state.token = null;\n state.processing = false;\n state.forgotMailSuccess = true;\n },\n\n setResetPasswordSuccess(state) {\n state.loginError = null;\n state.currentUser = null;\n state.token = null;\n state.processing = false;\n state.resetPasswordSuccess = true;\n },\n\n setUser: (state, payload) => {\n state.currentUser = payload;\n },\n\n setProfile: (state, payload) => {\n state.profile = payload.teacher;\n },\n\n removeUserState: (state) => {\n state.currentUser = null;\n },\n\n removeUserProfile: (state) => {\n state.profile = null;\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_SUBJECTGROUPS = gql`\n query getSubjectGroups{\n getSubjectGroups {\n id\n code\n nameLocal\n nameEng\n label\n degree{\n id code nameLocal nameEng\n }\n faculty{\n id code nameLocal nameEng\n }\n }\n }\n`;\n\nexport const GET_SUBJECTGROUP = gql`\n query getSubjectGroup($id: ID!){\n getSubjectGroup (\n id: $id\n ) {\n id\n code\n nameLocal\n nameEng\n label\n degree{\n id code nameLocal nameEng\n }\n faculty{\n id code nameLocal nameEng\n }\n }\n }\n`;\n\nexport const ADD_SUBJECTGROUP = gql`\n mutation addSubjectGroup(\n $degreeId: ID,\n $facultyId: ID,\n $code: String!,\n $nameLocal: String!,\n $nameEng: String!,\n ) {\n addSubjectGroup(\n degreeId: $degreeId\n facultyId: $facultyId\n code: $code\n nameLocal: $nameLocal\n nameEng: $nameEng\n ) {\n id\n code\n nameLocal\n nameEng\n degree{\n id code nameLocal nameEng\n }\n faculty{\n id code nameLocal nameEng\n }\n }\n }\n`;\n\nexport const UPDATE_SUBJECTGROUP = gql`\n mutation updateSubjectGroup(\n $degreeId: ID,\n $facultyId: ID,\n $id: ID!,\n $code: String!,\n $nameLocal: String!,\n $nameEng: String!,\n ) {\n updateSubjectGroup(\n id: $id\n degreeId: $degreeId\n facultyId: $facultyId\n code: $code\n nameLocal: $nameLocal\n nameEng: $nameEng\n ) {\n id\n code\n nameLocal\n nameEng\n degree{\n id code nameLocal nameEng\n }\n faculty{\n id code nameLocal nameEng\n }\n }\n }\n`;\n\nexport const DELETE_SUBJECTGROUP = gql`\n mutation deleteSubjectGroup($id: ID!) {\n deleteSubjectGroup(\n id: $id\n ) {\n id\n code\n nameLocal\n nameEng\n degree{\n id code nameLocal nameEng\n }\n faculty{\n id code nameLocal nameEng\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {getField, updateField} from \"vuex-map-fields\";\nimport * as _ from 'lodash';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\n\nimport {\n ADD_SUBJECTGROUP,\n DELETE_SUBJECTGROUP,\n GET_SUBJECTGROUP,\n GET_SUBJECTGROUPS,\n UPDATE_SUBJECTGROUP,\n} from '@/queries/modules/common-data/subjectGroup';\n\n//\n// initial state\nconst state = {\n subjectGroup: {\n id: \"\",\n degreeId: \"\",\n facultyId: \"\",\n code: \"\",\n nameLocal: \"\",\n nameEng: \"\",\n },\n subjectGroups: [],\n searchSubjectGroupResults: [],\n processing: false,\n error: null,\n success: null,\n};\n\n//\n// getters\nconst getters = {\n getField\n};\n\n//\n// mutations\nconst mutations = {\n updateField,\n clearError: (state) => {\n state.error = null;\n },\n setError: (state, payload) => {\n state.error = payload;\n state.success = null;\n state.processing = false;\n },\n setSuccess: (state, payload) => {\n state.error = null;\n state.success = payload;\n state.processing = false;\n },\n setProcessing: (state, payload) => {\n state.processing = payload;\n },\n setSubjectGroups: (state, payload) => {\n state.subjectGroups = payload ? payload : [];\n state.searchSubjectGroupResults = payload ? payload : [];\n },\n setSubjectGroup: (state, payload) => {\n state.subjectGroup = payload;\n },\n setSelectedSubjectGroup: (state, payload) => {\n state.subjectGroup = {...payload};\n },\n setSearchSubjectGroupResults: (state, payload) => {\n state.searchSubjectGroupResults = payload;\n },\n clearSelectedSubjectGroup: (state) => {\n state.subjectGroup = {\n id: \"\",\n degreeId: \"\",\n facultyId: \"\",\n code: \"\",\n nameLocal: \"\",\n nameEng: \"\",\n }\n }\n};\n\n//\n// actions\nconst actions = {\n getSubjectGroups: async ({commit}) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_SUBJECTGROUPS,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setSubjectGroups', data.getSubjectGroups);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n getSubjectGroup: async ({commit}, id) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_SUBJECTGROUP,\n variables: {\n id: id\n },\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n //set Id for relation filed\n let subjectGroup = {\n ...data.getSubjectGroup,\n degreeId: data.getSubjectGroup.degree.id,\n facultyId: data.getSubjectGroup.faculty.id,\n };\n commit('setSubjectGroup', subjectGroup);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n searchSubjectGroups: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n try {\n commit('setSearchSubjectGroupResults', _.filter(state.subjectGroups, (subjectGroup) => _.some(subjectGroup, value => _.includes(_.toLower(value), _.toLower(payload)))));\n commit('setProcessing', false);\n } catch (err) {\n commit('setError', error(err));\n }\n },\n addSubjectGroup: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n await apolloClient\n .mutate({\n mutation: ADD_SUBJECTGROUP,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const subjectGroups = [...state.subjectGroups];\n subjectGroups.push(data.addSubjectGroup);\n commit('setSubjectGroups', subjectGroups);\n commit('setSuccess', newItemSuccess(data.addSubjectGroup.nameLocal));\n })\n .catch((err) => {\n commit('setError', error(err));\n });\n },\n updateSubjectGroup: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: UPDATE_SUBJECTGROUP,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.subjectGroups.findIndex(subjectGroup => subjectGroup.id === data.updateSubjectGroup.id);\n const subjectGroups = [\n ...state.subjectGroups.slice(0, index),\n data.updateSubjectGroup,\n ...state.subjectGroups.slice(index + 1)\n ];\n\n commit('setSubjectGroups', subjectGroups);\n commit('setSuccess', updateItemSuccess(data.updateSubjectGroup.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n deleteSubjectGroup: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: DELETE_SUBJECTGROUP,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.subjectGroups.findIndex(subjectGroup => subjectGroup.id === data.deleteSubjectGroup.id);\n const subjectGroups = [\n ...state.subjectGroups.slice(0, index),\n ...state.subjectGroups.slice(index + 1)\n ];\n\n commit('setSubjectGroups', subjectGroups);\n commit('setSuccess', deleteItemSuccess(data.deleteSubjectGroup.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n selectedSubjectGroup: async ({commit}, payload) => {\n commit('setSelectedSubjectGroup', payload);\n },\n clearSelectedSubjectGroup: async ({commit}) => {\n commit('clearSelectedSubjectGroup');\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {getField, updateField} from \"vuex-map-fields\";\nimport * as _ from 'lodash';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\n\nimport {\n ADD_TEACHER,\n DELETE_TEACHER,\n GET_TEACHERS,\n GET_TEACHERS_DDL,\n GET_TEACHERS_BY_FILTER,\n GET_TEACHER,\n UPDATE_TEACHER,\n} from '@/queries/modules/profile/teacher';\n\n//\n// initial state\nconst state = {\n teacher: {\n id: \"\",\n code: \"\",\n facultyId: \"\",\n curriculumId: \"\",\n prefixId: \"\",\n firstNameLocal: \"\",\n lastNameLocal: \"\",\n firstNameEng: \"\",\n lastNameEng: \"\",\n availableTime: \"\",\n telephone: \"\",\n email: \"\",\n picturePath: \"\",\n socialMedia: \"\",\n isSpecialTeacher: null,\n isActive: null,\n userId: \"\",\n },\n teachers: [],\n teachersDdl: [],\n searchTeacherResults: [],\n processing: false,\n error: null,\n success: null,\n};\n\n//\n// getters\nconst getters = {\n getField\n};\n\n//\n// mutations\nconst mutations = {\n updateField,\n clearError: (state) => {\n state.error = null;\n },\n setError: (state, payload) => {\n state.error = payload;\n state.success = null;\n state.processing = false;\n },\n setSuccess: (state, payload) => {\n state.error = null;\n state.success = payload;\n state.processing = false;\n },\n setProcessing: (state, payload) => {\n state.processing = payload;\n },\n setTeachers: (state, payload) => {\n state.teachers = payload ? payload : [];\n state.searchTeacherResults = payload ? payload : [];\n },\n setTeachersDdl: (state, payload) => {\n state.teachersDdl = payload ? payload : [];\n },\n setTeacher: (state, payload) => {\n state.teacher = payload;\n },\n setSelectedTeacher: (state, payload) => {\n state.teacher = {...payload};\n },\n setSearchTeacherResults: (state, payload) => {\n state.searchTeacherResults = payload;\n },\n clearSelectedTeacher: (state) => {\n state.teacher = {\n id: \"\",\n code: \"\",\n facultyId: \"\",\n curriculumId: \"\",\n prefixId: \"\",\n firstNameLocal: \"\",\n lastNameLocal: \"\",\n firstNameEng: \"\",\n lastNameEng: \"\",\n availableTime: \"\",\n telephone: \"\",\n email: \"\",\n picturePath: \"\",\n socialMedia: \"\",\n isSpecialTeacher: null,\n isActive: null,\n userId: \"\",\n }\n }\n};\n\n//\n// actions\nconst actions = {\n getTeachers: async ({commit}, useState = true) => {\n commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_TEACHERS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const { data, errors } = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return state.teachers;\n }else{\n if(useState){\n commit('setTeachers', data.getTeachers);\n }\n commit('setSuccess', null);\n return data.getTeachers\n }\n\n } catch (e) {\n commit('setError', error(e));\n return state.teachers;\n }\n },\n getTeachersDdl: async ({commit}, useState = true) => {\n commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_TEACHERS_DDL,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const { data, errors } = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return state.teachersDdl;\n }else{\n if(useState){\n commit('setTeachersDdl', data.getTeachers);\n }\n commit('setSuccess', null);\n return data.getTeachers\n }\n\n } catch (e) {\n commit('setError', error(e));\n return state.teachersDdl;\n }\n },\n getTeachersByFilter: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_TEACHERS_BY_FILTER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setTeachers', data.getTeachersByFilter);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n getTeachersByFilterNotUseState: async ({commit}, payload) => {\n commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_TEACHERS_BY_FILTER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n const { data } = await result;\n commit('setSuccess', null);\n if (data && data.getTeachersByFilter.length > 0) {\n // TODO: Handle after success;\n return { status: { success: true, error: false, message: \"\" }, data: [...data.getTeachersByFilter] }\n } else {\n return { status: { success: false, error: true, code: 400, message: \"no-result\" }, data: []}\n }\n } catch (e) {\n commit('setError', error(e));\n return { status: { success: false, error: true, message: \"\", full: e }}\n }\n },\n getTeacher: async ({commit}, id) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_TEACHER,\n variables: {\n id: id\n },\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setTeacher', data.getTeacher);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n searchTeachers: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n try {\n commit('setSearchTeacherResults', _.filter(state.teachers, (teacher) => _.some(teacher, value => _.includes(_.toLower(value), _.toLower(payload)))));\n commit('setProcessing', false);\n } catch (err) {\n commit('setError', error(err));\n }\n },\n addTeacher: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n await apolloClient\n .mutate({\n mutation: ADD_TEACHER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const teachers = [...state.teachers];\n teachers.push(data.addTeacher);\n commit('setTeachers', teachers);\n commit('setSuccess', newItemSuccess(data.addTeacher.nameLocal));\n })\n .catch((err) => {\n commit('setError', error(err));\n });\n },\n updateTeacher: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: UPDATE_TEACHER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.teachers.findIndex(teacher => teacher.id === data.updateTeacher.id);\n const teachers = [\n ...state.teachers.slice(0, index),\n data.updateTeacher,\n ...state.teachers.slice(index + 1)\n ];\n\n commit('setTeachers', teachers);\n commit('setSuccess', updateItemSuccess(data.updateTeacher.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n deleteTeacher: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: DELETE_TEACHER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.teachers.findIndex(teacher => teacher.id === data.deleteTeacher.id);\n const teachers = [\n ...state.teachers.slice(0, index),\n ...state.teachers.slice(index + 1)\n ];\n\n commit('setTeachers', teachers);\n commit('setSuccess', deleteItemSuccess(data.deleteTeacher.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n selectedTeacher: async ({commit}, payload) => {\n commit('setSelectedTeacher', payload);\n },\n clearSelectedTeacher: async ({commit}) => {\n commit('clearSelectedTeacher');\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","import {gql} from \"apollo-boost\";\n\nexport const GET_ACADEMICPERIODCONFIGS_CURRENT = gql`\n query getCurrentAcademicPeriodConfig{\n getCurrentAcademicPeriodConfig {\n id applyPeriodCode learnPeriodCode enrollPeriodCode\n applyPeriod{\n id periodCode year semester\n }\n learnPeriod{\n id periodCode year semester\n }\n enrollPeriod{\n id periodCode year semester\n }\n }\n }\n`;\n\nexport const GET_ACADEMICPERIODCONFIG = gql`\n query getAcademicPeriodConfig($id: ID!) {\n getAcademicPeriodConfig(\n id: $id\n ) {\n id applyPeriodCode learnPeriodCode enrollPeriodCode\n applyPeriod{\n id periodCode year semester\n }\n learnPeriod{\n id periodCode year semester\n }\n enrollPeriod{\n id periodCode year semester\n }\n }\n }\n`;\n\n\nexport const GET_ACADEMICPERIODCONFIGS = gql`\n query getAcademicPeriodConfigs {\n getAcademicPeriodConfigs {\n id applyPeriodCode learnPeriodCode enrollPeriodCode\n applyPeriod{\n id periodCode year semester\n }\n learnPeriod{\n id periodCode year semester\n }\n enrollPeriod{\n id periodCode year semester\n }\n }\n }\n`;\n\nexport const ADD_ACADEMICPERIODCONFIG = gql`\n mutation addAcademicPeriodConfig(\n $applyPeriodId: ID!,\n $applyPeriodCode: String!,\n $learnPeriodId: ID!,\n $learnPeriodCode: String!,\n $enrollPeriodId: ID!,\n $enrollPeriodCode: String!\n ) {\n addAcademicPeriodConfig (\n applyPeriodId: $applyPeriodId,\n applyPeriodCode: $applyPeriodCode,\n learnPeriodId: $learnPeriodId,\n learnPeriodCode: $learnPeriodCode,\n enrollPeriodId: $enrollPeriodId,\n enrollPeriodCode: $enrollPeriodCode\n ) {\n id applyPeriodCode learnPeriodCode enrollPeriodCode\n applyPeriod{\n id periodCode year semester\n }\n learnPeriod{\n id periodCode year semester\n }\n enrollPeriod{\n id periodCode year semester\n }\n }\n }\n`;\n\nexport const UPDATE_ACADEMICPERIODCONFIG = gql`\n mutation updateAcademicPeriodConfig(\n $id: ID!,\n $applyPeriodId: ID!,\n $applyPeriodCode: String!,\n $learnPeriodId: ID!,\n $learnPeriodCode: String!,\n $enrollPeriodId: ID!,\n $enrollPeriodCode: String!\n ) {\n updateAcademicPeriodConfig (\n id: $id,\n applyPeriodId: $applyPeriodId,\n applyPeriodCode: $applyPeriodCode,\n learnPeriodId: $learnPeriodId,\n learnPeriodCode: $learnPeriodCode,\n enrollPeriodId: $enrollPeriodId,\n enrollPeriodCode: $enrollPeriodCode\n ) {\n id applyPeriodCode learnPeriodCode enrollPeriodCode\n applyPeriod{\n id periodCode year semester\n }\n learnPeriod{\n id periodCode year semester\n }\n enrollPeriod{\n id periodCode year semester\n }\n }\n }\n`;\n\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=0f319c39&lang=scss&scoped=true&\"","export default {\n classSection: {\n id: '',\n courseOutline: null,\n courseOutlineRegistration: null,\n sectionNo: null,\n descriptionLocal: '',\n descriptionEng: '',\n studentRegisterQty: null,\n studentQty: null,\n vdoSet: null,\n vdoSetCode: '',\n startClassDate: null,\n learnSpanNo: null,\n examSpanNo: null,\n classMaterials: [],\n classAssignments: [],\n classRoom: null\n },\n classSections: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setClassSections(state, payload) {\n state.classSections = payload ? payload : [];\n}\n\nexport function setClassSection(state, payload) {\n state.classSection = payload;\n}\n","import { gql } from \"apollo-boost\";\n\n/*\n * extend type Query {\n * getClassSection (\n * id: ID!\n * ): ClassSection\n * }\n */\nexport const GET_CLASSSECTION = gql`\n query getClassSection($id: ID!) {\n getClassSection(\n id: $id\n ) {\n id\n courseOutline {\n id\n courseOutlineUnits{\n id seq\n }\n }\n courseOutlineRegistration {\n id periodCode\n courseOutline {\n id instruction picturePath\n courseOutlineUnits {\n id seq nameLocal nameEng descriptionLocal descriptionEng\n preTestExpectScore postTestExpectScore unitAgenda unitObjective unitReference\n countLearnPercent\n }\n }\n subject {\n id code nameLocal description creditCalGrade creditDesc\n }\n teacher {\n id code firstNameLocal lastNameLocal telephone email availableTime socialMedia picturePath\n prefix {\n id nameLocal\n }\n }\n academicPeriod{\n id\n }\n }\n sectionNo\n descriptionLocal\n descriptionEng\n studentQty\n vdoSet {\n id totalVdoLength\n vdoSetUnits {\n id totalVdoLength\n courseOutlineUnit {\n id countLearnPercent\n }\n vdoSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath\n }\n }\n }\n vdoSetCode\n startClassDate\n learnSpanNo\n examSpanNo\n classMaterials {\n id\n }\n classAssignments {\n id\n }\n classRoom{\n id capacity\n }\n }\n }\n`;\n\n/*\n * extend type Query {\n * getClassSections\n * : [ClassSection]\n * }\n */\nexport const GET_CLASSSECTIONS = gql`\n query getClassSections {\n getClassSections {\n id\n courseOutline {\n id\n }\n courseOutlineRegistration {\n id\n }\n sectionNo\n descriptionLocal\n descriptionEng\n studentQty\n vdoSet {\n id\n }\n vdoSetCode\n startClassDate\n learnSpanNo\n examSpanNo\n classMaterials {\n id\n }\n classAssignments {\n id\n }\n }\n }\n`;\n\n/*\n * extend type Query {\n * getClassSectionsByFilter(\n * classSectionFilterInput: ClassSectionFilterInput\n * ) : [ClassSection]\n * }\n */\nexport const GET_CLASSSECTIONS_BY_FILTER = gql`\n query getClassSectionsByFilter(\n $classSectionFilterInput: ClassSectionFilterInput\n ) {\n getClassSectionsByFilter(\n classSectionFilterInput: $classSectionFilterInput\n )\n {\n id\n courseOutline {\n id\n }\n courseOutlineRegistration {\n id\n }\n sectionNo\n descriptionLocal\n descriptionEng\n studentRegisterQty\n studentQty\n vdoSet {\n id code totalVdoLength\n vdoSetUnits {\n id\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n vdoSetCode\n startClassDate\n learnSpanNo\n examSpanNo\n classMaterials {\n id\n }\n classAssignments {\n id\n }\n classRoom {\n id nameLocal nameEng studentRegisterQty capacity startDate endDate\n }\n }\n }\n`;\n\nexport const GET_CLASSSECTIONS_BY_STUDENT_NOT_REGISTER = gql`\n query getClassSectionsByStudentNotRegister(\n $studentId: ID!,\n $academicPeriodId: ID!,\n $studentEnrollId: ID\n ) {\n getClassSectionsByStudentNotRegister(\n studentId: $studentId,\n academicPeriodId: $academicPeriodId,\n studentEnrollId: $studentEnrollId\n )\n {\n id sectionNo descriptionLocal descriptionEng studentRegisterQty\n studentQty learnSpanNo examSpanNo\n courseOutlineRegistration{\n id\n periodCode\n subject {\n id code nameLocal nameEng creditCalGrade\n }\n teacher {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSections {\n id sectionNo descriptionLocal descriptionEng studentRegisterQty\n studentQty learnSpanNo examSpanNo\n }\n }\n\n }\n }\n`;\n\n/*\n * extend type Mutation {\n * addClassSection(\n * courseOutlineId: ID!,\n * courseOutlineRegistrationId: ID!,\n * vdoSetId: ID,\n * classSectionInput: ClassSectionInput!\n * ) : ClassSection!\n * }\n */\nexport const ADD_CLASSSECTION = gql`\n mutation addClassSection(\n $courseOutlineId: ID!,\n $courseOutlineRegistrationId: ID!,\n $vdoSetId: ID,\n $classRoomId: ID,\n $classRoomOwnedId: ID,\n $classRoomCreateInput: ClassRoomCreateInput\n $classSectionInput: ClassSectionInput!\n ) {\n addClassSection (\n courseOutlineId: $courseOutlineId,\n courseOutlineRegistrationId: $courseOutlineRegistrationId,\n vdoSetId: $vdoSetId,\n classRoomId: $classRoomId,\n classRoomOwnedId: $classRoomOwnedId,\n classRoomCreateInput: $classRoomCreateInput\n classSectionInput: $classSectionInput\n )\n {\n id\n courseOutline {\n id\n }\n courseOutlineRegistration {\n id\n }\n sectionNo\n descriptionLocal\n descriptionEng\n studentQty\n vdoSet {\n id code totalVdoLength\n vdoSetUnits {\n id\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n vdoSetCode\n startClassDate\n learnSpanNo\n examSpanNo\n classMaterials {\n id\n }\n classAssignments {\n id\n }\n classRoom {\n id nameLocal nameEng studentRegisterQty capacity startDate endDate\n }\n }\n }\n`;\n\n/*\n * extend type Mutation {\n * updateClassSection(\n * id: ID!,\n * vdoSetId: ID,\n * classSectionInput: ClassSectionInput!\n * ) : ClassSection!\n * }\n */\nexport const UPDATE_CLASSSECTION = gql`\n mutation updateClassSection(\n $id: ID!,\n $vdoSetId: ID,\n $courseOutlineRegistrationId: ID!,\n $classRoomId: ID,\n $classRoomOwnedId: ID,\n $classRoomCreateInput: ClassRoomCreateInput\n $classSectionInput: ClassSectionInput!\n ) {\n updateClassSection (\n id: $id,\n vdoSetId: $vdoSetId,\n courseOutlineRegistrationId: $courseOutlineRegistrationId,\n classRoomId: $classRoomId,\n classRoomOwnedId: $classRoomOwnedId,\n classRoomCreateInput: $classRoomCreateInput\n classSectionInput: $classSectionInput\n )\n {\n id\n courseOutline {\n id\n }\n courseOutlineRegistration {\n id\n }\n sectionNo\n descriptionLocal\n descriptionEng\n studentQty\n vdoSet {\n id code totalVdoLength\n vdoSetUnits {\n id\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n vdoSetCode\n startClassDate\n learnSpanNo\n examSpanNo\n classMaterials {\n id\n }\n classAssignments {\n id\n }\n classRoom {\n id nameLocal nameEng studentRegisterQty capacity startDate endDate\n }\n }\n }\n`;\n\n/*\n * extend type Mutation {\n * deleteClassSection(\n * id: ID!\n * ) : ClassSection!\n * }\n */\nexport const DELETE_CLASSSECTION = gql`\n mutation deleteClassSection(\n $id: ID!\n ) {\n deleteClassSection (\n id: $id\n ) {\n id\n courseOutline {\n id\n }\n courseOutlineRegistration {\n id\n }\n sectionNo\n descriptionLocal\n descriptionEng\n studentQty\n vdoSet {\n id code totalVdoLength\n vdoSetUnits {\n id\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n vdoSetCode\n startClassDate\n learnSpanNo\n examSpanNo\n classMaterials {\n id\n }\n classAssignments {\n id\n }\n classRoom {\n id nameLocal nameEng studentRegisterQty capacity startDate endDate\n }\n }\n }\n`;\n\n\n/* TYPES\ninput ClassSectionFilterInput {\n courseOutlineId: ID\n courseOutlineRegistrationId: ID\n sectionNo: Int\n vdoSetId: ID\n vdoSetCode: String\n startClassDate: String\n learnSpanNo: Int\n examSpanNo: Int\n}\n\ninput ClassSectionInput {\n sectionNo: Int\n descriptionLocal: String\n descriptionEng: String\n studentQty: Int\n vdoSetCode: String\n startClassDate: String\n learnSpanNo: Int\n examSpanNo: Int\n}\n\ntype ClassSection {\n id: ID!\n courseOutline: CourseOutline!\n courseOutlineRegistration: CourseOutlineRegistration!\n sectionNo: Int\n descriptionLocal: String\n descriptionEng: String\n studentQty: Int\n vdoSet: VdoSet\n vdoSetCode: String\n startClassDate: String\n learnSpanNo: Int\n examSpanNo: Int\n classMaterials: [ClassMaterial]\n classAssignments: [ClassAssignment]\n isDisabled: Boolean!\n createdAt: String!\n updatedAt: String!\n createdBy: User\n updatedBy: User\n}\n*/\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_CLASSSECTION,\n GET_CLASSSECTIONS,\n GET_CLASSSECTIONS_BY_FILTER,\n GET_CLASSSECTIONS_BY_STUDENT_NOT_REGISTER,\n ADD_CLASSSECTION,\n UPDATE_CLASSSECTION,\n DELETE_CLASSSECTION\n} from '../../../../../queries/modules/courses/class-section.js';\n\nexport async function getClassSections(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSSECTIONS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.classSection;\n } else {\n context.commit('setClassSections', data.getClassSections);\n context.commit('setSuccess', null);\n return data.getClassSections\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function getClassSectionsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSSECTIONS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassSections', data.getClassSectionsByFilter);\n context.commit('setSuccess', null);\n\n return data.getClassSectionsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassSectionsByStudentNotRegister(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSSECTIONS_BY_STUDENT_NOT_REGISTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassSections', data.getClassSectionsByStudentNotRegister);\n context.commit('setSuccess', null);\n\n return data.getClassSectionsByStudentNotRegister;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassSection(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSSECTION,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.classSection;\n } else {\n context.commit('setClassSection', data.getClassSection);\n context.commit('setSuccess', null);\n return data.getClassSection\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function getClassSectionForLearning(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSSECTION,\n variables: payload,\n context: { clientName: 'Prisma2' },\n fetchPolicy: 'network-only'\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.getClassSection\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n/**\n * Action to Add Course Outline Registration\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {ClassSectionInput (Array), required} classSectionInput : [{\n academicPeriodId: \"\", // {String} Get it from filter selection.\n periodCode: \"\", // {String} Get it from filter selection.\n degreeId: \"\", // {String} Get it from filter selection.\n subjectGroupId: \"\", // {String} Get it from filter selection.\n subjectId: \"\", // {String} Get it from Course Outline Selection.\n subjectCode: \"\", // {String} \"----------------------------------\"\n subjectName: \"\", // {String} \"----------------------------------\"\n courseOutlineId: \"\", // {String} \"----------------------------------\"\n teacherId: \"\", // {String} \"----------------------------------\"\n teacherCode: \"\", // {String} \"----------------------------------\"\n }]\n * @param {Boolean} useState boolean if true method will set state will return data, Default: true\n *\n */\nexport async function addClassSection(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_CLASSSECTION,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const classSections = [...context.state.classSections];\n classSections.push(data.addClassSection);\n context.commit('setClassSections', classSections);\n context.commit('setSuccess', newItemSuccess('Section ' + data.addClassSection.sectionNo));\n\n return data.addClassSection\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateClassSection(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_CLASSSECTION,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.classSections.findIndex(item => item.id === data.updateClassSection.id);\n const classSections = [\n ...context.state.classSections.slice(0, index),\n data.updateClassSection,\n ...context.state.classSections.slice(index + 1)\n ];\n context.commit('setClassSections', classSections);\n context.commit('setSuccess', updateItemSuccess('Section ' + data.updateClassSection.sectionNo));\n\n return data.updateClassSection\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n/**\n * Action to Delete Course Outline Registration\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n * @param {Object} payload Contain requires inputs for adding data\n * @property {ID (String), required} id : \"ID of a Course Outline Registration\"\n *\n */\nexport async function deleteClassSection(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_CLASSSECTION,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.classSections.findIndex(item => item.id === data.deleteClassSection.id);\n const classSections = [\n ...context.state.classSections.slice(0, index),\n ...context.state.classSections.slice(index + 1)\n ];\n context.commit('setClassSections', classSections);\n context.commit('setSuccess', deleteItemSuccess('Section ' + data.deleteClassSection.sectionNo));\n\n return data.deleteClassSection\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import Vue from 'vue'\nimport VueI18n from 'vue-i18n';\n\nimport en from '@/locales/en.json';\nimport th from '@/locales/th.json';\n\nimport { defaultLocale, localeOptions } from '@/constants/config';\n\nVue.use(VueI18n);\n\nconst messages = {\n en: en,\n th: th\n};\n\nif (!localStorage.getItem('currentLanguage') && localeOptions.filter(x => x.id === localStorage.getItem('currentLanguage')).length <= 0) {\n localStorage.setItem('currentLanguage', defaultLocale);\n}\n\nconst locale = (localStorage.getItem('currentLanguage') && localeOptions.filter(x => x.id === localStorage.getItem('currentLanguage')).length > 0) ? localStorage.getItem('currentLanguage') : defaultLocale;\n\nexport const i18n = new VueI18n({\n locale: locale,\n fallbackLocale: 'th',\n messages\n});\n\nexport function language() {\n let local = '';\n\n if (i18n.locale === 'en') {\n local = 'Eng';\n } else {\n local = 'Local';\n }\n\n return local;\n}\n","// Global Event Bus\n\nimport Vue from \"vue\";\nexport default new Vue();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxCard.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-element.vue?vue&type=style&index=0&id=0bf8a440&lang=scss&scoped=true&\"","export default {\n vdoSetTopic: {\n id: \"\",\n courseOutlineId: \"\",\n vdoSetId: \"\",\n vdoSetUnitId: \"\",\n no: 0,\n nameLocal: \"\",\n nameEng: \"\",\n vdoLength: 0,\n vdoStreamPath: \"\",\n teacherId: \"\",\n isEnabled: true,\n remark: \"\",\n },\n vdoSetTopics: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setVdoSetTopics(state, payload) {\n state.vdoSetTopics = payload ? payload : [];\n}\n\nexport function setVdoSetTopic(state, payload) {\n state.vdoSetTopic = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_VDOSETTOPIC = gql`\n query getVdoSetTopic($id : ID!){\n getVdoSetTopic (\n id: $id\n ) {\n id\n no\n nameLocal\n nameEng\n vdoLength\n vdoStreamPath\n isEnabled\n remark\n courseOutline{\n id\n }\n vdoSet{\n id code description totalVdoLength\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSetUnit{\n id unitSeq code totalVdoLength\n courseOutlineUnit{\n id nameLocal nameEng\n }\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const GET_VDOSETTOPICS_BY_FILTER = gql`\n\n query getVdoSetTopicsByFilter($vdoSetTopicFilterInput: VdoSetTopicFilterInput){\n getVdoSetTopicsByFilter (\n vdoSetTopicFilterInput:$vdoSetTopicFilterInput\n # รับข้อมูลตามนี้จะใส่หรือไม่ใส่ก็ได้\n # input VdoSetTopicFilterInput {\n # courseOutlineId: ID\n # vdoSetId: ID\n # vdoSetUnitId: ID\n # teacherId: ID\n # no: Int\n # nameLocal: String\n # nameEng: String\n # isEnabled: Boolean\n # }\n ){\n id\n no\n nameLocal\n nameEng\n vdoLength\n vdoStreamPath\n isEnabled\n remark\n courseOutline{\n id\n }\n vdoSet{\n id code description totalVdoLength\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSetUnit{\n id unitSeq code\n courseOutlineUnit{\n id nameLocal nameEng\n }\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n\n }\n }\n`;\n\nexport const GET_VDOSETTOPICS = gql`\n query getVdoSetTopics {\n getVdoSetTopics {\n id\n no\n nameLocal\n nameEng\n vdoLength\n vdoStreamPath\n isEnabled\n remark\n courseOutline{\n id\n }\n vdoSet{\n id code description totalVdoLength\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSetUnit{\n id unitSeq code\n courseOutlineUnit{\n id nameLocal nameEng\n }\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const ADD_VDOSETTOPIC = gql`\n mutation addVdoSetTopic(\n $vdoSetId: ID!,\n $vdoSetUnitId: ID!,\n $courseOutlineId: ID!,\n $teacherId: ID!,\n $vdoSetTopicInput: VdoSetTopicInput!\n ) {\n addVdoSetTopic(\n vdoSetId: $vdoSetId\n vdoSetUnitId: $vdoSetUnitId\n courseOutlineId: $courseOutlineId\n teacherId: $teacherId\n vdoSetTopicInput: $vdoSetTopicInput\n ) {\n id\n no\n nameLocal\n nameEng\n vdoLength\n vdoStreamPath\n isEnabled\n remark\n descriptionLocal\n descriptionEng\n thumbnail\n courseOutline{\n id\n }\n vdoSet{\n id code description totalVdoLength\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSetUnit{\n id unitSeq code totalVdoLength\n courseOutlineUnit{\n id nameLocal nameEng\n }\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const UPDATE_VDOSETTOPIC = gql`\n mutation updateVdoSetTopic(\n $id: ID!,\n $teacherId: ID!,\n $vdoSetTopicInput: VdoSetTopicInput!\n ) {\n updateVdoSetTopic(\n id: $id\n teacherId: $teacherId\n vdoSetTopicInput: $vdoSetTopicInput\n ) {\n id\n no\n nameLocal\n nameEng\n vdoLength\n vdoStreamPath\n isEnabled\n remark\n descriptionLocal\n descriptionEng\n thumbnail\n courseOutline{\n id\n }\n vdoSet{\n id code description totalVdoLength\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSetUnit{\n id unitSeq code totalVdoLength\n courseOutlineUnit{\n id nameLocal nameEng\n }\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const UPDATE_ONLY_VDOSETTOPIC = gql`\n mutation updateOnlyVdoSetTopic(\n $id: ID!,\n $teacherId: ID!,\n $vdoSetTopicInput: VdoSetTopicInput!\n ) {\n updateOnlyVdoSetTopic(\n id: $id\n teacherId: $teacherId\n vdoSetTopicInput: $vdoSetTopicInput\n ) {\n id\n no\n nameLocal\n nameEng\n vdoLength\n vdoStreamPath\n isEnabled\n remark\n descriptionLocal\n descriptionEng\n thumbnail\n courseOutline{\n id\n }\n vdoSet{\n id code description totalVdoLength\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSetUnit{\n id unitSeq code totalVdoLength\n courseOutlineUnit{\n id nameLocal nameEng\n }\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const DELETE_VDOSETTOPIC = gql`\n mutation deleteVdoSetTopic($id: ID!) {\n deleteVdoSetTopic(\n id: $id\n ) {\n id\n no\n nameLocal\n nameEng\n vdoLength\n vdoStreamPath\n isEnabled\n remark\n courseOutline{\n id\n }\n vdoSet{\n id code description totalVdoLength\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSetUnit{\n id unitSeq code totalVdoLength\n courseOutlineUnit{\n id nameLocal nameEng\n }\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\nexport const DELETE_ONLY_VIDEO = gql`\n mutation deleteOnlyVideo($id: ID!) {\n deleteOnlyVideo(\n id: $id\n ) {\n id\n no\n nameLocal\n nameEng\n vdoLength\n vdoStreamPath\n isEnabled\n remark\n courseOutline{\n id\n }\n vdoSet{\n id code description totalVdoLength\n subject{\n id code nameLocal nameEng\n }\n }\n vdoSetUnit{\n id unitSeq code totalVdoLength\n courseOutlineUnit{\n id nameLocal nameEng\n }\n }\n teacher{\n id\n code\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_VDOSETTOPIC,\n GET_VDOSETTOPICS,\n GET_VDOSETTOPICS_BY_FILTER,\n ADD_VDOSETTOPIC,\n UPDATE_VDOSETTOPIC,\n DELETE_VDOSETTOPIC,\n DELETE_ONLY_VIDEO, UPDATE_ONLY_VDOSETTOPIC\n} from '@/queries/modules/vdoSet/vdoSetTopic.js';\n\nexport async function getVdoSetTopics(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOSETTOPICS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoSetTopics', data.getVdoSetTopics);\n context.commit('setSuccess', null);\n return data.getVdoSetTopics\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getVdoSetTopicsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOSETTOPICS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoSetTopics', data.getVdoSetTopicsByFilter);\n context.commit('setSuccess', null);\n\n return data.getVdoSetTopicsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getVdoSetTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOSETTOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setVdoSetTopic', data.getVdoSetTopic);\n context.commit('setSuccess', null);\n return data.getVdoSetTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addVdoSetTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_VDOSETTOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const vdoSetTopics = [...context.state.vdoSetTopics];\n vdoSetTopics.push(data.addVdoSetTopic);\n context.commit('setVdoSetTopics', vdoSetTopics);\n context.commit('setSuccess', newItemSuccess(data.addVdoSetTopic.nameLocal));\n\n return data.addVdoSetTopic;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateVdoSetTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_VDOSETTOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.vdoSetTopics.findIndex(item => item.id === data.updateVdoSetTopic.id);\n const vdoSetTopics = [\n ...context.state.vdoSetTopics.slice(0, index),\n data.updateVdoSetTopic,\n ...context.state.vdoSetTopics.slice(index + 1)\n ];\n context.commit('setVdoSetTopics', vdoSetTopics);\n context.commit('setSuccess', updateItemSuccess(data.updateVdoSetTopic.nameLocal));\n\n return data.updateVdoSetTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateOnlyVdoSetTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_ONLY_VDOSETTOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n // const index = context.state.vdoSetTopics.findIndex(item => item.id === data.updateVdoSetTopic.id);\n // const vdoSetTopics = [\n // ...context.state.vdoSetTopics.slice(0, index),\n // data.updateVdoSetTopic,\n // ...context.state.vdoSetTopics.slice(index + 1)\n // ];\n // context.commit('setVdoSetTopics', vdoSetTopics);\n context.commit('setSuccess', updateItemSuccess(data.updateOnlyVdoSetTopic.nameLocal));\n\n return data.updateOnlyVdoSetTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteVdoSetTopic(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_VDOSETTOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else if(data && data.deleteVdoSetTopic){\n const index = context.state.vdoSetTopics.findIndex(item => item.id === data.deleteVdoSetTopic.id);\n const vdoSetTopics = [\n ...context.state.vdoSetTopics.slice(0, index),\n ...context.state.vdoSetTopics.slice(index + 1)\n ];\n context.commit('setVdoSetTopics', vdoSetTopics);\n context.commit('setSuccess', deleteItemSuccess(data.deleteVdoSetTopic.nameLocal));\n\n return data.deleteVdoSetTopic\n }else{\n context.commit('setProcessing', false);\n return null\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteOnlyVideo(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_ONLY_VIDEO,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else if(data && data.deleteOnlyVideo){\n const index = context.state.vdoSetTopics.findIndex(item => item.id === data.deleteOnlyVideo.id);\n const vdoSetTopics = [\n ...context.state.vdoSetTopics.slice(0, index),\n data.updateVdoSetTopic,\n ...context.state.vdoSetTopics.slice(index + 1)\n ];\n context.commit('setVdoSetTopics', vdoSetTopics);\n context.commit('setSuccess', deleteItemSuccess(data.deleteOnlyVideo.nameLocal));\n\n return data.deleteOnlyVideo\n }else{\n context.commit('setProcessing', false);\n return null\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=style&index=0&lang=scss&\"","import {gql} from \"apollo-boost\";\n\nexport const GET_STUDENTENROLLDETAIL = gql`\n query getStudentEnrollDetail($id: ID!) {\n getStudentEnrollDetail(\n id: $id\n ) {\n id enrollNo studentCode sectionNo subjectCode teacherCode\n credit learnSpanNo examSpanNo isDrop\n courseOutlineRegistration{\n id periodCode\n academicPeriod{\n id\n }\n }\n classSection{\n id studentRegisterQty studentQty\n }\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n student{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n }\n studentEnroll{\n id enrollNo periodCode studentCode enrollDate\n totalCredit totalDropCredit source\n academicPeriod{\n id periodCode\n }\n }\n }\n }\n`;\n\nexport const GET_STUDENTENROLLDETAILS = gql`\n query getStudentEnrollDetails {\n getStudentEnrollDetails {\n id enrollNo studentCode sectionNo\n subjectCode teacherCode credit learnSpanNo examSpanNo isDrop\n studentEnroll {\n id\n }\n subject{\n id nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n picturePath isSpecialTeacher\n }\n }\n }\n`;\n\nexport const GET_STUDENTENROLLDETAILS_BY_FILTER = gql`\n query getStudentEnrollDetailsByFilter(\n $studentEnrollDetailFilterInput: StudentEnrollDetailFilterInput\n ) {\n getStudentEnrollDetailsByFilter(\n studentEnrollDetailFilterInput: $studentEnrollDetailFilterInput\n ) {\n id enrollNo studentCode sectionNo\n subjectCode teacherCode credit learnSpanNo examSpanNo isDrop\n courseOutlineRegistration{\n id\n courseOutline {\n id\n }\n }\n studentEnroll {\n id\n }\n subject{\n id nameLocal nameEng creditCalGrade creditDesc\n }\n classSection{\n id\n classAssignments{\n id\n }\n }\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n studentAssignments{\n id remark studentSendDate teacherReceiveDate isTeacherReceive\n uploadPath uploadPathUri uploadFileName\n classSection {\n id sectionNo\n }\n classAssignment {\n id topicLocal topicEng descriptionLocal descriptionEng score dueDate\n }\n }\n }\n }\n`;\n\n\nexport const GET_STUDENTENROLLDETAILS_BY_FILTER_FOR_HOME_WORK = gql`\n query getStudentEnrollDetailsByFilter(\n $studentEnrollDetailFilterInput: StudentEnrollDetailFilterInput\n ) {\n getStudentEnrollDetailsByFilter(\n studentEnrollDetailFilterInput: $studentEnrollDetailFilterInput\n ) {\n id isDrop dropType\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n studentAssignments{\n id remark studentSendDate teacherReceiveDate isTeacherReceive\n uploadPath uploadPathUri uploadFileName studentCode latitude longitude\n classAssignment {\n id\n }\n }\n }\n }\n`;\n\nexport const GET_STUDENT_IN_CLASS_SECTION_BY_CODE_OR_NAME = gql`\n query getStudentsInClassSectionByCodeOrName(\n $academicPeriodId: ID!\n ) {\n getStudentsInClassSectionByCodeOrName(\n academicPeriodId: $academicPeriodId\n ) {\n id studentCode\n classSection { id sectionNo }\n courseOutlineRegistration {\n id subjectCode\n academicPeriod { id }\n }\n student {\n id code firstNameLocal lastNameLocal\n user { id code }\n }\n\n }\n }\n`;\n\nexport const GET_TEACHERS_IN_STUDENT_ENROLL_BY_CODE_OR_NAME_CURRENT_USER = gql`\n query getTeachersInStudentEnrollByCodeOrNameCurrentUser(\n $academicPeriodId: ID!\n ) {\n getTeachersInStudentEnrollByCodeOrNameCurrentUser(\n academicPeriodId: $academicPeriodId\n ) {\n id teacherCode\n classSection { id sectionNo }\n courseOutlineRegistration {\n id subjectCode\n academicPeriod { id }\n }\n teacher {\n id code firstNameLocal lastNameLocal\n user { id code }\n }\n subjectCode\n\n }\n }\n`;\n\nexport const GET_STUDENTENROLLDETAILS_STAT = gql`\n query getStudentEnrollDetailsStat(\n $studentEnrollDetailFilterInput: StudentEnrollDetailFilterInput\n ) {\n getStudentEnrollDetailsStat(\n studentEnrollDetailFilterInput: $studentEnrollDetailFilterInput\n ) {\n id enrollNo studentCode sectionNo\n subjectCode teacherCode credit learnSpanNo examSpanNo isDrop\n student {\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath telephone\n }\n #manual data\n expandData {\n seq totalVdoLength totalLearnTime learnPercent\n pretestMaxScore pretestScore posttestMaxScore posttestScore\n }\n studentAssignmentQty\n totalVdoLength\n totalLearnTime\n totalLearnPercent\n }\n }\n`;\n\nexport const ADD_STUDENTENROLLDETAILS = gql`\n mutation addStudentEnrollDetailss(\n $studentEnrollDetailsInput: [StudentEnrollDetailsInput!]\n )\n {\n addStudentEnrollDetails ( studentEnrollDetailsInput: $studentEnrollDetailsInput ){\n id enrollNo studentCode sectionNo subjectCode teacherCode\n credit learnSpanNo examSpanNo isDrop\n courseOutlineRegistration{\n id periodCode\n }\n classSection{\n id studentRegisterQty studentQty\n }\n subject{\n id code nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n student{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n }\n studentEnroll{\n id enrollNo periodCode studentCode enrollDate\n totalCredit totalDropCredit source\n academicPeriod{\n id periodCode\n }\n }\n }\n }\n`;\n\nexport const UPDATE_STUDENTENROLLDETAIL = gql`\n mutation updateStudentEnrollDetail(\n $id: ID!,\n $studentEnrollDetailInput: StudentEnrollDetailInput!,\n $studentEnrollId: ID,\n $studentId: ID,\n $courseOutlineRegistrationId: ID,\n $classSectionId: ID,\n $subjectId: ID,\n $teacherId: ID\n ) {\n updateStudentEnrollDetail (\n id: $id\n studentEnrollDetailInput: $studentEnrollDetailInput\n ) {\n id enrollNo studentCode sectionNo\n subjectCode teacherCode credit learnSpanNo examSpanNo isDrop\n studentEnroll {\n id\n }\n subject{\n id nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n picturePath isSpecialTeacher\n }\n }\n }\n`;\n\nexport const UPDATE_STUDENTENROLLDETAIL_IS_DROP = gql`\n mutation updateStudentEnrollDetailIsDrop(\n $id: ID!, $isDrop: Boolean!\n ) {\n updateStudentEnrollDetailIsDrop (\n id: $id, isDrop: $isDrop\n ) {\n id enrollNo studentCode sectionNo\n subjectCode teacherCode credit learnSpanNo examSpanNo isDrop\n studentEnroll {\n id\n }\n subject{\n id nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n picturePath isSpecialTeacher\n }\n }\n }\n`;\n\nexport const DELETE_STUDENTENROLLDETAIL = gql`\n mutation deleteStudentEnrollDetail(\n $id: ID!\n ) {\n deleteStudentEnrollDetail (\n id: $id\n ) {\n id enrollNo studentCode sectionNo\n subjectCode teacherCode credit learnSpanNo examSpanNo isDrop\n studentEnroll {\n id\n }\n subject{\n id nameLocal nameEng\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng\n picturePath isSpecialTeacher\n }\n }\n }\n`;\n\n\n","export default {\n examQuestionType: {\n id: '',\n code: '',\n nameLocal: '',\n nameEng: '',\n },\n examQuestionTypes: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setExamQuestionTypes(state, payload) {\n state.examQuestionTypes = payload ? payload : [];\n}\n\nexport function setExamQuestionType(state, payload) {\n state.examQuestionType = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_EXAMQUESTIONTYPE = gql`\n query getExamQuestionType($id : ID!){\n getExamQuestionType (\n id: $id\n ) {\n id code nameLocal nameEng\n }\n }\n`;\n\nexport const GET_EXAMQUESTIONTYPES = gql`\n query getExamQuestionTypes {\n getExamQuestionTypes {\n id code nameLocal nameEng\n }\n }\n`;\n\nexport const ADD_EXAMQUESTIONTYPE = gql`\n mutation addExamQuestionType(\n $vdoLiveSetId: ID!\n $examQuestionTypeInput: ExamQuestionTypeInput!\n ) {\n addExamQuestionType(\n vdoLiveSetId: $vdoLiveSetId\n examQuestionTypeInput: $examQuestionTypeInput\n ) {\n id code nameLocal nameEng\n }\n }\n`;\n\nexport const UPDATE_EXAMQUESTIONTYPE = gql`\n mutation updateExamQuestionType(\n $id: ID!,\n $examQuestionTypeInput: ExamQuestionTypeInput!\n ) {\n updateExamQuestionType(\n id: $id\n examQuestionTypeInput: $examQuestionTypeInput\n ) {\n id code nameLocal nameEng\n }\n }\n`;\n\nexport const DELETE_EXAMQUESTIONTYPE = gql`\n mutation deleteExamQuestionType($id: ID!) {\n deleteExamQuestionType(\n id: $id\n ) {\n id code nameLocal nameEng\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_EXAMQUESTIONTYPE,\n GET_EXAMQUESTIONTYPES,\n ADD_EXAMQUESTIONTYPE,\n UPDATE_EXAMQUESTIONTYPE,\n DELETE_EXAMQUESTIONTYPE\n} from '@/queries/modules/examination/exam-question-type.js';\n\nexport async function getExamQuestionTypes(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_EXAMQUESTIONTYPES,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setExamQuestionTypes', data.getExamQuestionTypes);\n context.commit('setSuccess', null);\n return data.getExamQuestionTypes\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getExamQuestionType(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_EXAMQUESTIONTYPE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setExamQuestionType', data.getExamQuestionType);\n context.commit('setSuccess', null);\n return data.getExamQuestionType\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addExamQuestionType(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_EXAMQUESTIONTYPE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const examQuestionTypes = [...context.state.examQuestionTypes];\n examQuestionTypes.push(data.addExamQuestionType);\n context.commit('setExamQuestionTypes', examQuestionTypes);\n context.commit('setSuccess', newItemSuccess(data.addExamQuestionType.nameLocal));\n\n return data.addExamQuestionType;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateExamQuestionType(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_EXAMQUESTIONTYPE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.examQuestionTypes.findIndex(item => item.id === data.updateExamQuestionType.id);\n const examQuestionTypes = [\n ...context.state.examQuestionTypes.slice(0, index),\n data.updateExamQuestionType,\n ...context.state.examQuestionTypes.slice(index + 1)\n ];\n context.commit('setExamQuestionTypes', examQuestionTypes);\n context.commit('setSuccess', updateItemSuccess(data.updateExamQuestionType.nameLocal));\n\n return data.updateExamQuestionType\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteExamQuestionType(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_EXAMQUESTIONTYPE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.examQuestionTypes.findIndex(item => item.id === data.deleteExamQuestionType.id);\n const examQuestionTypes = [\n ...context.state.examQuestionTypes.slice(0, index),\n ...context.state.examQuestionTypes.slice(index + 1)\n ];\n context.commit('setExamQuestionTypes', examQuestionTypes);\n context.commit('setSuccess', deleteItemSuccess(data.deleteExamQuestionType.nameLocal));\n\n return data.deleteExamQuestionType\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n teacher: {\n id: \"\",\n code: \"\",\n facultyId: \"\",\n curriculumId: \"\",\n prefixId: \"\",\n firstNameLocal: \"\",\n lastNameLocal: \"\",\n firstNameEng: \"\",\n lastNameEng: \"\",\n availableTime: \"\",\n telephone: \"\",\n email: \"\",\n picturePath: \"\",\n socialMedia: \"\",\n isSpecialTeacher: null,\n isActive: null,\n userId: \"\",\n },\n teachers: [],\n teachersDdl: [],\n processing: false,\n error: null,\n success: null,\n}\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setTeachers(state, payload) {\n state.teachers = payload ? payload : [];\n}\n\nexport function setTeacher(state, payload) {\n state.teacher = payload;\n}\n\nexport function setTeachersDdl(state, payload) {\n state.teachersDdl = payload ? payload : [];\n}\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_TEACHER,\n GET_TEACHERS,\n GET_TEACHERS_DDL,\n GET_TEACHERS_BY_FILTER,\n ADD_TEACHER,\n ADD_TEACHERS_UPLOAD,\n UPDATE_TEACHER,\n DELETE_TEACHER,\n} from '@/queries/modules/profile/teacher';\n\nexport async function getTeachers(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_TEACHERS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setTeachers', data.getTeachers);\n context.commit('setSuccess', null);\n return data.getTeachers\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getTeachersDdl(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_TEACHERS_DDL,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setTeachersDdl', data.getTeachers);\n context.commit('setSuccess', null);\n return data.getTeachers\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getTeachersByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_TEACHERS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setTeachers', data.getTeachersByFilter);\n context.commit('setSuccess', null);\n\n return data.getTeachersByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getTeacher(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_TEACHER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setTeacher', data.getTeacher);\n context.commit('setSuccess', null);\n return data.getTeacher\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addTeacher(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_TEACHER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const teachers = [...context.state.teachers];\n teachers.push(data.addTeacher);\n context.commit('setTeachers', teachers);\n context.commit('setSuccess', newItemSuccess(data.addTeacher.code));\n\n return data.addTeacher\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addTeachersUpload(context, payload) {\n context.commit('setProcessing', true);\n try {\n\n const result = await apolloClient\n .mutate({\n mutation: ADD_TEACHERS_UPLOAD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', updateItemSuccess(data.addTeachersUpload.length));\n\n return data.addTeachersUpload\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateTeacher(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_TEACHER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.teachers.findIndex(item => item.id === data.updateTeacher.id);\n const teachers = [\n ...context.state.teachers.slice(0, index),\n data.updateTeacher,\n ...context.state.teachers.slice(index + 1)\n ];\n context.commit('setTeachers', teachers);\n context.commit('setSuccess', updateItemSuccess(data.updateTeacher.code));\n\n return data.updateTeacher\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteTeacher(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_TEACHER,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.teachers.findIndex(item => item.id === data.deleteTeacher.id);\n const teachers = [\n ...context.state.teachers.slice(0, index),\n ...context.state.teachers.slice(index + 1)\n ];\n context.commit('setTeachers', teachers);\n context.commit('setSuccess', deleteItemSuccess(data.deleteTeacher.code));\n\n return data.deleteTeacher\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n vdoLiveSetTopic: {\n id: '',\n vdoLiveSetTopicId: '',\n no: null,\n nameLocal: '',\n nameEng: '',\n vdoLength: 0,\n vdoStreamPath: '',\n\n },\n vdoLiveSetTopics: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setVdoLiveSetTopics(state, payload) {\n state.vdoLiveSetTopics = payload ? payload : [];\n}\n\nexport function setVdoLiveSetTopic(state, payload) {\n state.vdoLiveSetTopic = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_VDOLIVESETTOPIC = gql`\n query getVdoLiveSetTopic($id : ID!){\n getVdoLiveSetTopic (\n id: $id\n ) {\n id no nameLocal nameEng vdoLength vdoStreamPath\n vdoLiveSet {\n id sectionNo code descriptionLocal descriptionEng totalVdoLength remark\n }\n }\n }\n`;\n\nexport const GET_VDOLIVESETTOPICS_BY_FILTER = gql`\n\n query getVdoLiveSetTopicsByFilter($vdoLiveSetFilterInput: VdoLiveSetTopicFilterInput){\n getVdoLiveSetTopicsByFilter (\n vdoLiveSetTopicFilterInput:$vdoLiveSetFilterInput\n ){\n id no nameLocal nameEng vdoLength vdoStreamPath\n vdoLiveSet {\n id sectionNo code descriptionLocal descriptionEng totalVdoLength remark\n }\n }\n }\n`;\n\nexport const GET_VDOLIVESETTOPICS = gql`\n query getVdoLiveSetTopics {\n getVdoLiveSetTopics {\n id no nameLocal nameEng vdoLength vdoStreamPath\n vdoLiveSet {\n id sectionNo code descriptionLocal descriptionEng totalVdoLength remark\n }\n }\n }\n`;\n\nexport const ADD_VDOLIVESETTOPIC = gql`\n mutation addVdoLiveSetTopic(\n $vdoLiveSetId: ID!\n $vdoLiveSetTopicInput: VdoLiveSetTopicInput!\n ) {\n addVdoLiveSetTopic(\n vdoLiveSetId: $vdoLiveSetId\n vdoLiveSetTopicInput: $vdoLiveSetTopicInput\n ) {\n id no nameLocal nameEng vdoLength vdoStreamPath\n vdoLiveSet {\n id sectionNo code descriptionLocal descriptionEng totalVdoLength remark\n }\n }\n }\n`;\n\nexport const UPDATE_VDOLIVESETTOPIC = gql`\n mutation updateVdoLiveSetTopic(\n $id: ID!,\n $vdoLiveSetTopicInput: VdoLiveSetTopicInput!\n ) {\n updateVdoLiveSetTopic(\n id: $id\n vdoLiveSetTopicInput: $vdoLiveSetTopicInput\n ) {\n id no nameLocal nameEng vdoLength vdoStreamPath\n vdoLiveSet {\n id sectionNo code descriptionLocal descriptionEng totalVdoLength remark\n }\n }\n }\n`;\n\nexport const DELETE_VDOLIVESETTOPIC = gql`\n mutation deleteVdoLiveSetTopic($id: ID!) {\n deleteVdoLiveSetTopic(\n id: $id\n ) {\n id no nameLocal nameEng vdoLength vdoStreamPath\n vdoLiveSet {\n id sectionNo code descriptionLocal descriptionEng totalVdoLength remark\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_VDOLIVESETTOPIC,\n GET_VDOLIVESETTOPICS,\n GET_VDOLIVESETTOPICS_BY_FILTER,\n ADD_VDOLIVESETTOPIC,\n UPDATE_VDOLIVESETTOPIC,\n DELETE_VDOLIVESETTOPIC\n} from '@/queries/modules/live-class/vdo-live-set-topic.js';\n\nexport async function getVdoLiveSetTopics(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOLIVESETTOPICS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoLiveSetTopics', data.getVdoLiveSetTopics);\n context.commit('setSuccess', null);\n return data.getVdoLiveSetTopics\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getVdoLiveSetTopicsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOLIVESETTOPICS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoLiveSetTopics', data.getVdoLiveSetTopicsByFilter);\n context.commit('setSuccess', null);\n\n return data.getVdoLiveSetTopicsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getVdoLiveSetTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOLIVESETTOPIC,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setVdoLiveSetTopic', data.getVdoLiveSetTopic);\n context.commit('setSuccess', null);\n return data.getVdoLiveSetTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addVdoLiveSetTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_VDOLIVESETTOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const vdoLiveSetTopics = [...context.state.vdoLiveSetTopics];\n vdoLiveSetTopics.push(data.addVdoLiveSetTopic);\n context.commit('setVdoLiveSetTopics', vdoLiveSetTopics);\n context.commit('setSuccess', newItemSuccess(data.addVdoLiveSetTopic.nameLocal));\n\n return data.addVdoLiveSetTopic;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateVdoLiveSetTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_VDOLIVESETTOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.vdoLiveSetTopics.findIndex(item => item.id === data.updateVdoLiveSetTopic.id);\n const vdoLiveSetTopics = [\n ...context.state.vdoLiveSetTopics.slice(0, index),\n data.updateVdoLiveSetTopic,\n ...context.state.vdoLiveSetTopics.slice(index + 1)\n ];\n context.commit('setVdoLiveSetTopics', vdoLiveSetTopics);\n context.commit('setSuccess', updateItemSuccess(data.updateVdoLiveSetTopic.nameLocal));\n\n return data.updateVdoLiveSetTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteVdoLiveSetTopic(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_VDOLIVESETTOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.vdoLiveSetTopics.findIndex(item => item.id === data.deleteVdoLiveSetTopic.id);\n const vdoLiveSetTopics = [\n ...context.state.vdoLiveSetTopics.slice(0, index),\n ...context.state.vdoLiveSetTopics.slice(index + 1)\n ];\n context.commit('setVdoLiveSetTopics', vdoLiveSetTopics);\n context.commit('setSuccess', deleteItemSuccess(data.deleteVdoLiveSetTopic.nameLocal));\n\n return data.deleteVdoLiveSetTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","// =============================================================================\n// All route (page/component under development phase using development layout with developer and debuging tools.\n// Will be moved out on development complete.\n//\n// =============================================================================\n\nexport default [\n {\n path: '/dev',\n component: () => import('@/developing/index.vue'),\n children: [\n //\n {\n path: 'classroom-stats/:classroomId',\n name: 'dev-classroom-stats',\n props: true,\n component: () => import('@/developing/views/pages/ClassroomStats/dev.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.class-stats.page-title', default: \"สถิติห้องเรียน\"},\n active: true\n }\n ],\n pageTitle: 'sections.class-stats.page-title',\n },\n },\n //\n {\n path: 'liveclass',\n name: 'dev-liveclass',\n props: true,\n component: () => import('@/developing/views/pages/LiveClass/dev.vue'),\n meta: {\n breadcrumb: [\n {title: 'LiveClass', url: '/'},\n {\n title: { i18n: 'sections.liveclass.page-title', default: \"Live Class\"},\n active: true\n }\n ],\n pageTitle: 'sections.liveclass.page-title',\n },\n },\n //\n {\n path: 'advisor',\n name: 'dev-advisor',\n props: true,\n component: () => import('@/developing/views/pages/Advisor/dev.vue'),\n meta: {\n breadcrumb: [\n {title: 'Advisor', url: '/'},\n {\n title: { i18n: 'sections.advisor.page-title', default: \"Advisor\"},\n active: true\n }\n ],\n pageTitle: 'sections.advisor.page-title',\n },\n },\n // Off-route matcher for developing a single component.\n {\n path: ':filter',\n component: () => import('@/developing/views/Main/index.vue'),\n meta: {\n // rule: 'editor',\n // parent: 'email',\n no_scroll: true\n }\n },\n ]\n },\n];\n","export default (to, from, next) => {\n // if (localStorage.getItem('user') != null && localStorage.getItem('user').length > 0) {\n if (localStorage.getItem('token') != null) {\n // verify with firebase or jwt\n next();\n } else {\n localStorage.removeItem('token');\n next('/user/login');\n }\n}\n","import Vue from \"vue\";\nimport Router from \"vue-router\";\nVue.use(Router);\n\n// Routes\nimport developing from \"./routes-developing\";\nimport AuthRequired from \"@/utils/auth-required\";\n\nconst router = new Router({\n mode: 'history',\n base: process.env.BASE_URL,\n scrollBehavior() {\n return {x: 0, y: 0}\n }\n});\n\n// Vue app instance;\n// eslint-disable-next-line no-unused-vars\nconst $vm = router.app;\n\nconst routes = [\n ...developing,\n {\n // =============================================================================\n // MAIN LAYOUT ROUTES\n // =============================================================================\n path: '',\n component: () => import('@/layouts/main/Main.vue'),\n beforeEnter: AuthRequired,\n children: [\n // =============================================================================\n // Theme Routes\n // =============================================================================\n // Home\n {\n path: '/',\n name: 'home',\n component: () => import('@/views/Home/index.vue'),\n meta: {\n breadcrumb: [\n { title: { i18n: 'sections.home.title', default: \"Home\" }, url: '/', active: true }\n ],\n pageTitle: 'sections.home.title',\n }\n },\n\n // Profile\n {\n path: '/profile',\n name: 'profile',\n component: () => import('@/views/pages/Profile/index.vue'),\n meta: {\n breadcrumb: [\n { title: { i18n: 'sections.profile.title', default: \"Profile\" }, url: '/', active: true }\n ],\n pageTitle: 'Profile',\n }\n },\n\n // Class Overview\n {\n path: 'class-over-view/:classRoomId',\n name: 'class-over-view',\n props: true,\n component: () => import('@/views/pages/ClassOverview/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.class-over-view.page-title', default: \"จัดการห้องเรียน\"},\n active: true\n }\n ],\n pageTitle: 'sections.class-over-view.page-title',\n },\n },\n\n // Classroom Stats\n {\n path: 'classroom-stats/:classroomId',\n name: 'classroom-stats',\n props: true,\n component: () => import('@/developing/views/pages/ClassroomStats/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.classroom-stats.page-title', default: \"สถิติห้องเรียน\"},\n active: true\n }\n ],\n pageTitle: 'sections.classroom-stats.page-title',\n },\n },\n\n // Student Assignment\n {\n path: 'student-assignment/:classSectionId',\n name: 'student-assignment',\n props: true,\n component: () => import('@/views/pages/Teacher/StudentAssignment/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.student-assignment.page-title', default: \"บันทึกผลการส่งงาน\"},\n active: true\n }\n ],\n pageTitle: 'sections.student-assignment.page-title',\n },\n },\n\n // Student Score\n {\n path: 'student-score/:classSectionId',\n name: 'student-score',\n props: true,\n component: () => import('@/views/pages/Teacher/StudentScore/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.student-score.page-title', default: \"บันทึกคะแนน\"},\n active: true\n }\n ],\n pageTitle: 'sections.student-score.page-title',\n },\n },\n\n // Student Stats\n {\n path: 'student-stats/:classSectionId',\n name: 'student-stats',\n props: true,\n component: () => import('@/views/pages/Teacher/StudentStats/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.student-stats.page-title', default: \"สถิติการเข้าเรียน\"},\n active: true\n }\n ],\n pageTitle: 'sections.student-stats.page-title',\n },\n },\n\n // Course FAQ\n {\n path: 'course-faq/:classSectionId/:courseOutlineId',\n name: 'course-faq',\n props: true,\n component: () => import('@/views/pages/Teacher/CourseFaq/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.course-faq.page-title', default: \"FAQ ประจำวิชา\"},\n active: true\n }\n ],\n pageTitle: 'sections.course-faq.page-title',\n },\n },\n\n // Course FAQ Editor\n {\n path: 'course-faq-add/:classSectionId/:courseOutlineId/:courseOutlineUnitId',\n name: 'course-faq-add',\n props: true,\n component: () => import('@/views/pages/Teacher/CourseFaq/Components/CourseFaqEditForm'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.course-faq.page-title', default: \"FAQ ประจำวิชา\"},\n url: 'course-faq/:classSectionId/:courseOutlineId',\n props: true,\n },\n ],\n pageTitle: 'sections.course-faq.add-page',\n },\n },\n {\n path: 'course-faq-edit/:classSectionId/:courseOutlineId/:courseOutlineUnitId/:id',\n name: 'course-faq-edit',\n props: true,\n component: () => import('@/views/pages/Teacher/CourseFaq/Components/CourseFaqEditForm'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.course-faq.page-title', default: \"FAQ ประจำวิชา\"},\n url: 'course-faq/:classSectionId/:courseOutlineId',\n props: true,\n },\n ],\n pageTitle: 'sections.course-faq.edit-page',\n },\n },\n\n // Webboard\n {\n path: 'web-board/:classSectionId',\n name: 'web-board',\n props: true,\n component: () => import('@/views/pages/Teacher/WebBoard/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {\n title: {i18n: 'sections.web-board.page-title', default: \"เว็บบอร์ด\"},\n active: true\n }\n ],\n pageTitle: 'sections.web-board.page-title',\n },\n },\n\n // Private Messenging (PM)\n {\n path: '/pm',\n name: 'pm',\n component: () => import('@/views/pages/PM/index.vue'),\n meta: {\n breadcrumb: [\n { title: { i18n: 'sections.pm.title', default: \"ข้อความ\" }, url: '/', active: true }\n ],\n pageTitle: 'sections.pm.title',\n }\n },\n // UNIVERSITY NEWS\n {\n path: '/university-news',\n name: 'university-news',\n component: () => import('@/views/pages/UniversityNews/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n { title: { i18n: 'sections.university-news.title', default: \"ข่าวสาร\" }, active: true }\n ],\n pageTitle: 'sections.university-news.title',\n }\n },\n // INFO TOPIC CONTENT\n {\n path: 'info-topic-content/:id',\n name: 'info-topic-content',\n props: true,\n component: () => import('@/views/pages/UniversityNews/InfoTopicContent'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {title: {i18n: 'sections.university-news.title', default: \"ข่าวสาร\"}, url: \"/university-news/info-topic\"},\n {title: {i18n: 'sections.university-news.info-topic-content.title', default: \"เนื้อหาข่าวสาร\"}, active: true}\n ],\n pageTitle: 'sections.university-news.info-topic-content.title',\n },\n },\n\n // Personal Info\n {\n path: '/personal-info',\n name: 'personal-info',\n component: () => import('@/views/pages/PersonalInfo/index.vue'),\n children: [\n {\n path: 'teacher-profile/:id',\n name: 'personal-info-teacherprofile',\n props: true,\n component: () => import('@/views/pages/PersonalInfo/TeacherProfile/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {title: {i18n: 'sections.personal-info.title', default: \"ข้อมูลรายบุคคล\"}},\n {\n title: {i18n: 'sections.personal-info.teacher-profile.list.page-title', default: \"รายชื่ออาจารย์\"},\n url: '/personal-info/teacher'\n },\n {\n title: {i18n: 'sections.personal-info.teacher-profile.detail.page-title', default: \"ข้อมูลอาจารย์\"},\n active: true\n }\n ],\n pageTitle: 'sections.personal-info.teacher-profile.detail.page-title',\n },\n },\n ]\n },\n\n // Course\n {\n path: '/courses',\n name: 'courses',\n component: () => import('@/views/pages/Courses/index.vue'),\n children: [\n {\n path: 'course-outline',\n name: 'course-outline',\n component: () => import('@/views/pages/Courses/CourseOutlineList.vue'),\n meta: {\n breadcrumb: [\n { title: 'Home', url: '/' },\n { title: { i18n: 'sections.courses.title', default: \"จัดการรายวิชา\" } },\n { title: { i18n: 'sections.courses.course-outline.list.page-title', default: \"รายการรายวิชา\" }, active: true }\n ],\n pageTitle: 'sections.courses.course-outline.list.page-title',\n },\n },\n {\n path: 'course-outline-edit/:id',\n name: 'course-outline-edit',\n props: true,\n component: () => import('@/views/pages/Courses/CourseOutline/EditCourseOutline'),\n meta: {\n breadcrumb: [\n { title: 'Home', url: '/' },\n { title: { i18n: 'sections.courses.title', default: \"จัดการรายวิชา\" } },\n {\n title: {\n i18n: 'sections.courses.course-outline.list.page-title',\n default: \"รายการรายวิชา\"\n },\n url: \"/courses/course-outline\"\n },\n {\n title: {\n i18n: 'sections.courses.course-outline.edit.page-title',\n default: \"แก้ไขรายวิชาที่สอน\"\n }, active: true\n }\n ],\n pageTitle: 'sections.courses.course-outline.edit.page-title',\n },\n },\n {\n path: 'vdo-set-edit/:courseOutlineId',\n name: 'vdo-set-edit',\n props: true,\n component: () => import('@/views/pages/VdoSet/EditVdoSet.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {title: {i18n: 'sections.courses.title', default: \"จัดการรายวิชา\"}},\n {\n title: {\n i18n: 'sections.courses.course-outline.list.page-title',\n default: \"รายการรายวิชา\"\n },\n url: \"/courses/course-outline\"\n },\n {\n title: {i18n: 'sections.courses.vdo-set.edit.page-title', default: \"แก้ไขชุดวิดีโอ\"},\n active: true\n }\n ],\n pageTitle: 'sections.courses.vdo-set.edit.page-title',\n },\n },\n {\n path: 'vdo-live-set',\n name: 'vdo-live-set',\n component: () => import('@/views/pages/LiveClass/VdoLiveSet/index.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {title: {i18n: 'sections.courses.title', default: \"จัดการรายวิชา\"}},\n {\n title: {i18n: 'sections.courses.vdo-live-set.list.page-title', default: \"วิดีโอบรรยายสด\"},\n active: true\n }\n ],\n pageTitle: 'sections.courses.vdo-live-set.list.page-title',\n },\n },\n {\n path: 'vdo-live-set-edit/:liveClassScheduleId',\n name: 'vdo-live-set-edit',\n props: true,\n component: () => import('@/views/pages/LiveClass/VdoLiveSet/EditVdoLiveSet.vue'),\n meta: {\n breadcrumb: [\n {title: 'Home', url: '/'},\n {title: {i18n: 'sections.courses.title', default: \"จัดการรายวิชา\"}},\n {\n title: {\n i18n: 'sections.courses.vdo-live-set.list.page-title',\n default: \"วิดีโอบรรยายสด\"\n },\n url: \"/courses/vdo-live-set\"\n },\n {\n title: {\n i18n: 'sections.courses.vdo-live-set.edit.page-title',\n default: \"แก้ไขวิดีโอบรรยายสด\"\n }, active: true\n }\n ],\n pageTitle: 'sections.courses.vdo-live-set.edit.page-title',\n },\n },\n ]\n },\n\n // Examination\n {\n name: 'examination',\n path: '/examination',\n component: () => import('@/views/pages/Examination/index.vue'),\n children: [\n {\n path: 'exam',\n name: 'exam',\n component: () => import('@/views/pages/Examination/Main/index.vue'),\n meta: {\n breadcrumb: [\n { title: 'Home', url: '/' },\n { title: { i18n: 'sections.examination.title', default: \"จัดการข้อสอบ\" } },\n { title: { i18n: 'sections.examination.exam.list.page-title', default: \"รายวิชาในคลังข้อสอบ\" }, active: true }\n ],\n pageTitle: 'sections.examination.exam.list.page-title',\n },\n },\n {\n path: 'exam-by-subject/:id',\n name: 'exam-by-subject',\n props: true,\n component: () => import('@/views/pages/Examination/ExamBySubject/index.vue'),\n meta: {\n breadcrumb: [\n { title: 'Home', url: '/' },\n { title: { i18n: 'sections.examination.title', default: \"จัดการข้อสอบ\" } },\n { title: { i18n: 'sections.examination.exam.list.page-title', default: \"รายวิชาในคลังข้อสอบ\" }, url: \"/examination/exam\" },\n { title: { i18n: 'sections.examination.exam.subject.list.page-title', default: \"รายการคำถามในรายวิชา\" }, active: true }\n ],\n pageTitle: 'sections.examination.exam.subject.list.page-title',\n },\n },{\n path: 'exam-upload',\n name: 'exam-upload',\n component: () => import('@/views/pages/Examination/ExamUpload/index.vue'),\n meta: {\n breadcrumb: [\n { title: 'Home', url: '/' },\n { title: { i18n: 'sections.examination.title', default: \"จัดการข้อสอบ\" } },\n { title: { i18n: 'sections.examination.exam-upload.list.page-title', default: \"อัพโหลดข้อสอบ\" }, active: true }\n ],\n pageTitle: 'sections.examination.exam-upload.list.page-title',\n },\n },\n ]\n },\n\n // Advisor\n {\n name: 'advisor',\n meta: {\n breadcrumb: [\n { title: 'Advisor', url: '/' },\n {\n title: { i18n: 'sections.advisor.page-title', default: \"Advisor\"},\n active: true\n }\n ],\n pageTitle: 'sections.advisor.page-title',\n },\n path: '/advisor',\n component: () => import('@/views/pages/Advisor/index.vue'),\n },\n {\n name: 'live-class',\n path: '/live-class',\n component: () => import('@/views/pages/LiveClass'),\n },\n\n {\n path: '',\n component: () => import('@/views/pages/E-Learning/VirtualClass/index.vue'),\n // redirect: '/',\n // beforeEnter: AuthRequired,\n children: [\n {\n name: \"virtual-class\",\n path: \"/e-learning/virtual-class/:classSectionId\",\n props: true,\n component: () => import('@/views/pages/E-Learning/VirtualClass/index.vue'),\n breadcrumb: [\n { title: { i18n: 'sections.home.title', default: \"Home\" }, url: '/', active: true }\n ],\n pageTitle: 'Home',\n },\n ]\n },\n ],\n },\n // =============================================================================\n // FULL PAGE LAYOUTS\n // =============================================================================\n {\n path: '',\n component: () => import('@/layouts/full-page/FullPage.vue'),\n children: [\n // =============================================================================\n // PAGES\n // =============================================================================\n {\n path: '/user',\n name: 'user',\n component: () => import('@/views/user'),\n redirect: '/user/login',\n children: [\n {\n path: 'login',\n name: 'user-login',\n component: () => import('@/views/user/Login')\n },\n {\n path: 'register',\n name: 'user-register',\n component: () => import('@/views/user/Register')\n },\n {\n path: 'forgot-password',\n name: 'user-forgot-password',\n component: () => import('@/views/user/ForgotPassword')\n },\n {\n path: 'change-password',\n name: 'user-change-password',\n props: true,\n component: () => import('@/views/user/ChangePassword')\n },\n ]\n },\n {\n path: '/pages/error-404',\n name: 'page-error-404',\n component: () => import('@/views/pages/Error404.vue')\n },\n ]\n },\n // Redirect to 404 page, if no match found\n {\n path: '*',\n redirect: '/pages/error-404'\n }\n];\n\nrouter.addRoutes(routes);\n\nrouter.afterEach(() => {\n // Remove initial loading\n const appLoading = document.getElementById('loading-bg');\n if (appLoading) {\n appLoading.style.display = \"none\";\n }\n});\n\nexport default router\n","export default {\n classMaterial: {\n id: \"\",\n classSectionId: null,\n sectionNo: null,\n nameLocal: null,\n nameEng: null,\n uploadPath: null,\n uploadPathUri: null,\n uploadFileName: null,\n },\n classMaterials: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setClassMaterials(state, payload) {\n state.classMaterials = payload ? payload : [];\n}\n\nexport function setClassMaterial(state, payload) {\n state.classMaterial = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_CLASSMATERIAL = gql`\n query getClassMaterial($id : ID!){\n getClassMaterial (\n id: $id\n ) {\n id sectionNo sequence nameLocal nameEng uploadPath uploadPathUri uploadFileName\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\nexport const GET_CLASSMATERIALS_BY_FILTER = gql`\n\n query getClassMaterialsByFilter($classMaterialFilterInput: ClassMaterialFilterInput){\n getClassMaterialsByFilter (\n classMaterialFilterInput:$classMaterialFilterInput\n ){\n id sectionNo sequence nameLocal nameEng uploadPath uploadPathUri uploadFileName\n classSection {\n id sectionNo\n }\n\n }\n }\n`;\n\nexport const GET_CLASSMATERIALS = gql`\n query getClassMaterials {\n getClassMaterials {\n id sectionNo sequence nameLocal nameEng uploadPath uploadPathUri uploadFileName\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\nexport const ADD_CLASSMATERIAL = gql`\n mutation addClassMaterial(\n $classSectionId: ID!\n $classMaterialInput: ClassMaterialInput!\n ) {\n addClassMaterial(\n classSectionId: $classSectionId\n classMaterialInput: $classMaterialInput\n ) {\n id sectionNo sequence nameLocal nameEng uploadPath uploadPathUri uploadFileName\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\nexport const UPDATE_CLASSMATERIAL = gql`\n mutation updateClassMaterial(\n $id: ID!,\n $classMaterialInput: ClassMaterialInput!\n# $file: Upload\n ) {\n updateClassMaterial(\n id: $id\n classMaterialInput: $classMaterialInput\n# file: $file\n ) {\n id sectionNo sequence nameLocal nameEng uploadPath uploadPathUri uploadFileName\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\nexport const DELETE_CLASSMATERIAL = gql`\n mutation deleteClassMaterial($id: ID!) {\n deleteClassMaterial(\n id: $id\n ) {\n id sectionNo sequence nameLocal nameEng uploadPath uploadPathUri uploadFileName\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\n// import axios from \"axios\";\nimport axios from \"@/setup/axios-setup\";\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {config} from \"@/utils/upload\";\nimport {\n GET_CLASSMATERIAL,\n GET_CLASSMATERIALS,\n GET_CLASSMATERIALS_BY_FILTER,\n ADD_CLASSMATERIAL,\n UPDATE_CLASSMATERIAL,\n DELETE_CLASSMATERIAL\n} from '@/queries/modules/courses/class-material';\n\nexport async function getClassMaterials(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSMATERIALS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassMaterials', data.getClassMaterials);\n context.commit('setSuccess', null);\n return data.getClassMaterials\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassMaterialsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSMATERIALS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassMaterials', data.getClassMaterialsByFilter);\n context.commit('setSuccess', null);\n\n return data.getClassMaterialsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassMaterial(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSMATERIAL,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setClassMaterial', data.getClassMaterial);\n context.commit('setSuccess', null);\n return data.getClassMaterial\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addClassMaterial(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_CLASSMATERIAL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const classMaterials = [...context.state.classMaterials];\n classMaterials.push(data.addClassMaterial);\n context.commit('setClassMaterials', classMaterials);\n context.commit('setSuccess', newItemSuccess(data.addClassMaterial.nameLocal));\n\n return data.addClassMaterial;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateClassMaterial(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_CLASSMATERIAL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.classMaterials.findIndex(item => item.id === data.updateClassMaterial.id);\n const classMaterials = [\n ...context.state.classMaterials.slice(0, index),\n data.updateClassMaterial,\n ...context.state.classMaterials.slice(index + 1)\n ];\n context.commit('setClassMaterials', classMaterials);\n context.commit('setSuccess', updateItemSuccess(data.updateClassMaterial.nameLocal));\n\n return data.updateClassMaterial\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteClassMaterial(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_CLASSMATERIAL,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.classMaterials.findIndex(item => item.id === data.deleteClassMaterial.id);\n const classMaterials = [\n ...context.state.classMaterials.slice(0, index),\n ...context.state.classMaterials.slice(index + 1)\n ];\n context.commit('setClassMaterials', classMaterials);\n context.commit('setSuccess', deleteItemSuccess(data.deleteClassMaterial.nameLocal));\n\n return data.deleteClassMaterial\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function uploadMaterial(context, payload){\n const rsc = JSON.parse(localStorage.getItem(\"rsc\"));\n let entity, stage\n if (rsc) {\n entity = rsc.e_code;\n stage = rsc.r_stage;\n }\n\n\n const formData = new FormData();\n formData.append('file', payload.file);\n formData.append('file1', payload.file1);\n formData.append('ext', payload.file.name.substring([payload.file.name.lastIndexOf('.') + 1]));\n formData.append('timestamp', payload.file.lastModified);\n formData.append('operationName', payload.operationName);\n // formData.append('stage', payload.stage);\n // formData.append('entity', payload.entity);\n formData.append('stage', stage);\n formData.append('entity', entity);\n formData.append('authorization', payload.authorization);\n formData.append('app', payload.app);\n\n try {\n const result = await axios({\n url: config.url.uploadFiles,\n method: 'post',\n headers: {\n 'content-type': 'multipart/form-data'\n },\n data: formData,\n });\n\n\n const {data} = await result;\n\n return data;\n } catch (e) {\n // commit('setError', error(e));\n return null;\n }\n\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxInputGroup.vue?vue&type=style&index=0&lang=scss&\"","export default {\n notifications: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setNotifications(state, payload) {\n state.notifications = payload;\n}\n","import { gql } from \"apollo-boost\";\n\nexport const GET_NOTIFICATION_CURRENT_USER = gql`\n query getNotificationCurrentUser{\n getNotificationCurrentUser {\n type name msg qty notificationAt\n fromUser {\n id code nameLocal surnameLocal photo\n }\n }\n }\n`;\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error} from '@/utils/notification';\nimport {\n GET_NOTIFICATION_CURRENT_USER,\n} from '../../../../queries/modules/notification/notification';\n\nexport async function getNotificationCurrentUser(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_NOTIFICATION_CURRENT_USER,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setNotifications', data.getNotificationCurrentUser);\n context.commit('setSuccess', null);\n return data.getNotificationCurrentUser\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","var map = {\n\t\"./ar.json\": [\n\t\t\"d4d7\",\n\t\t\"chunk-2d21e599\"\n\t],\n\t\"./az.json\": [\n\t\t\"5db6\",\n\t\t\"chunk-2d0d3c19\"\n\t],\n\t\"./bd.json\": [\n\t\t\"2b85\",\n\t\t\"chunk-2d0bd263\"\n\t],\n\t\"./bg.json\": [\n\t\t\"3108\",\n\t\t\"chunk-2d0b8ddc\"\n\t],\n\t\"./ca.json\": [\n\t\t\"36fd\",\n\t\t\"chunk-2d0ba757\"\n\t],\n\t\"./ckb.json\": [\n\t\t\"5ac5\",\n\t\t\"chunk-2d0d30f4\"\n\t],\n\t\"./cs.json\": [\n\t\t\"f694\",\n\t\t\"chunk-2d22d0a1\"\n\t],\n\t\"./da.json\": [\n\t\t\"853c\",\n\t\t\"chunk-2d0de343\"\n\t],\n\t\"./de.json\": [\n\t\t\"f551\",\n\t\t\"chunk-2d22cc61\"\n\t],\n\t\"./el.json\": [\n\t\t\"3be5\",\n\t\t\"chunk-2d0c4c35\"\n\t],\n\t\"./en.json\": [\n\t\t\"2593\",\n\t\t\"chunk-2d0b2993\"\n\t],\n\t\"./es.json\": [\n\t\t\"5a17\",\n\t\t\"chunk-2d0d2ae8\"\n\t],\n\t\"./et.json\": [\n\t\t\"28b1\",\n\t\t\"chunk-2d0b39cb\"\n\t],\n\t\"./eu.json\": [\n\t\t\"656c\",\n\t\t\"chunk-2d0cfae2\"\n\t],\n\t\"./fa.json\": [\n\t\t\"5ea1\",\n\t\t\"chunk-2d0d3fb6\"\n\t],\n\t\"./fi.json\": [\n\t\t\"e9cd\",\n\t\t\"chunk-2d226ccb\"\n\t],\n\t\"./fr.json\": [\n\t\t\"6fde\",\n\t\t\"chunk-2d0db867\"\n\t],\n\t\"./he.json\": [\n\t\t\"d567\",\n\t\t\"chunk-2d21e3c8\"\n\t],\n\t\"./hr.json\": [\n\t\t\"dc20\",\n\t\t\"chunk-2d228ff3\"\n\t],\n\t\"./hu.json\": [\n\t\t\"bed6\",\n\t\t\"chunk-2d21b4cb\"\n\t],\n\t\"./id.json\": [\n\t\t\"7a70\",\n\t\t\"chunk-2d0e1459\"\n\t],\n\t\"./it.json\": [\n\t\t\"e26a\",\n\t\t\"chunk-2d224d0e\"\n\t],\n\t\"./ja.json\": [\n\t\t\"ddd7\",\n\t\t\"chunk-2d2299c9\"\n\t],\n\t\"./ka.json\": [\n\t\t\"fdcd\",\n\t\t\"chunk-2d238295\"\n\t],\n\t\"./ko.json\": [\n\t\t\"e48c\",\n\t\t\"chunk-2d2254d0\"\n\t],\n\t\"./lt.json\": [\n\t\t\"85f3\",\n\t\t\"chunk-2d0de940\"\n\t],\n\t\"./lv.json\": [\n\t\t\"c64c\",\n\t\t\"chunk-2d217318\"\n\t],\n\t\"./mn.json\": [\n\t\t\"0c64\",\n\t\t\"chunk-2d0aed27\"\n\t],\n\t\"./ms_MY.json\": [\n\t\t\"3708\",\n\t\t\"chunk-2d0ba462\"\n\t],\n\t\"./nb_NO.json\": [\n\t\t\"16c1\",\n\t\t\"chunk-2d0abe09\"\n\t],\n\t\"./ne.json\": [\n\t\t\"52b8\",\n\t\t\"chunk-2d0c8069\"\n\t],\n\t\"./nl.json\": [\n\t\t\"562f\",\n\t\t\"chunk-2d0c89cb\"\n\t],\n\t\"./nn_NO.json\": [\n\t\t\"c7c8\",\n\t\t\"chunk-2d217c5f\"\n\t],\n\t\"./pl.json\": [\n\t\t\"94ce\",\n\t\t\"chunk-2d0e59b3\"\n\t],\n\t\"./pt_BR.json\": [\n\t\t\"38a9\",\n\t\t\"chunk-2d0bae13\"\n\t],\n\t\"./pt_PT.json\": [\n\t\t\"3207\",\n\t\t\"chunk-2d0b919c\"\n\t],\n\t\"./ro.json\": [\n\t\t\"eaf5\",\n\t\t\"chunk-2d230321\"\n\t],\n\t\"./ru.json\": [\n\t\t\"8de0\",\n\t\t\"chunk-2d0e998d\"\n\t],\n\t\"./sk.json\": [\n\t\t\"70d1\",\n\t\t\"chunk-2d0d61dc\"\n\t],\n\t\"./sl.json\": [\n\t\t\"2572\",\n\t\t\"chunk-2d0b2954\"\n\t],\n\t\"./sq.json\": [\n\t\t\"5e5e\",\n\t\t\"chunk-2d0d3a96\"\n\t],\n\t\"./sr.json\": [\n\t\t\"111a\",\n\t\t\"chunk-2d0aa566\"\n\t],\n\t\"./sr_Latin.json\": [\n\t\t\"4aa8\",\n\t\t\"chunk-2d0cbc5a\"\n\t],\n\t\"./sv.json\": [\n\t\t\"ec0a\",\n\t\t\"chunk-2d230445\"\n\t],\n\t\"./th.json\": [\n\t\t\"51d9\",\n\t\t\"chunk-2d0c7ce7\"\n\t],\n\t\"./tr.json\": [\n\t\t\"55f0\",\n\t\t\"chunk-2d0c8c20\"\n\t],\n\t\"./uk.json\": [\n\t\t\"e4b6\",\n\t\t\"chunk-2d2259b9\"\n\t],\n\t\"./vi.json\": [\n\t\t\"368c\",\n\t\t\"chunk-2d0ba1c4\"\n\t],\n\t\"./zh_CN.json\": [\n\t\t\"1cd5\",\n\t\t\"chunk-2d0b6719\"\n\t],\n\t\"./zh_TW.json\": [\n\t\t\"60d4\",\n\t\t\"chunk-2d0ced80\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"bb28\";\nmodule.exports = webpackAsyncContext;","export default {\n classRoom: {\n id: '',\n degreeId: null,\n subjectGroupId: null,\n classRoomOwnedId: null,\n courseOutlineRegistrationId: null,\n classSectionId: null,\n sectionNo: null,\n teacherId: null,\n teacherCode: '',\n subjectId: null,\n subjectCode: '',\n nameLocal: '',\n nameEng: '',\n studentQty: null,\n capacity: null,\n startDate: '',\n endDate: '',\n isAvailable: null,\n isActive: null,\n classRoomTypeId: null,\n },\n classRooms: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setClassRooms(state, payload) {\n state.classRooms = payload ? payload : [];\n}\n\nexport function setClassRoom(state, payload) {\n state.classRoom = payload;\n}\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n ADD_CLASSROOM,\n DELETE_CLASSROOM,\n GET_CLASSROOMS,\n GET_AVAILABLE_CLASSROOMS,\n GET_CLASSROOMS_BY_FILTER,\n GET_CLASSROOMS_BY_STUDENT_NOT_REGISTER,\n GET_LEARNING_CLASSROOMS,\n GET_CLASSROOM,\n UPDATE_CLASSROOM,\n} from '@/queries/modules/class-room/classRoom';\n\nexport async function getClassRooms(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSROOMS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassRooms', data.getClassRooms);\n context.commit('setSuccess', null);\n return data.getClassRooms\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getAvailableClassRooms(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_AVAILABLE_CLASSROOMS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassRooms', data.getAvailableClassRooms);\n context.commit('setSuccess', null);\n return data.getAvailableClassRooms\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassRoomsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSROOMS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassRooms', data.getClassRoomsByFilter);\n context.commit('setSuccess', null);\n\n return data.getClassRoomsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassRoomsByFilterOnlyCanLearn(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSROOMS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassRooms', data.getClassRoomsByFilterOnlyCanLearn);\n context.commit('setSuccess', null);\n\n return data.getClassRoomsByFilterOnlyCanLearn;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getLearningClassRooms(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_LEARNING_CLASSROOMS,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassRooms', data.getLearningClassRooms);\n context.commit('setSuccess', null);\n\n return data.getLearningClassRooms;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassRoomsByStudentNotRegister(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSROOMS_BY_STUDENT_NOT_REGISTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassRooms', data.getClassRoomsByStudentNotRegister);\n context.commit('setSuccess', null);\n\n return data.getClassRoomsByStudentNotRegister;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassRoom(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSROOM,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.classRoom;\n } else {\n context.commit('setClassRoom', data.getClassRoom);\n context.commit('setSuccess', null);\n return data.getClassRoom\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addClassRoom(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_CLASSROOM,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const classRooms = [...context.state.classRooms];\n classRooms.push(data.addClassRoom);\n context.commit('setClassRooms', classRooms);\n context.commit('setSuccess', newItemSuccess(data.addClassRoom.nameLocal));\n\n return data.addClassRoom\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateClassRoom(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_CLASSROOM,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.classRooms.findIndex(item => item.id === data.updateClassRoom.nameLocal);\n const classRooms = [\n ...context.state.classRooms.slice(0, index),\n data.updateClassRoom,\n ...context.state.classRooms.slice(index + 1)\n ];\n context.commit('setClassRooms', classRooms);\n context.commit('setSuccess', updateItemSuccess(data.updateClassRoom.sectionNo));\n\n return data.updateClassRoom\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteClassRoom(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_CLASSROOM,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.classRooms.findIndex(item => item.id === data.deleteClassRoom.nameLocal);\n const classRooms = [\n ...context.state.classRooms.slice(0, index),\n ...context.state.classRooms.slice(index + 1)\n ];\n context.commit('setClassRooms', classRooms);\n context.commit('setSuccess', deleteItemSuccess(data.deleteClassRoom.sectionNo));\n\n return data.deleteClassRoom\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import { gql } from \"apollo-boost\";\n\nexport const GET_ACADEMICPERIOD = gql`\n query getAcademicPeriod($id: ID!) {\n getAcademicPeriod(\n id: $id\n ) {\n id\n periodCode\n year\n semester\n }\n }\n`;\n\nexport const GET_ACADEMICPERIODS = gql`\n query getAcademicPeriods {\n getAcademicPeriods {\n id\n periodCode\n year\n semester\n isDisabled\n label: periodCode\n }\n }\n`;\n\nexport const ADD_ACADEMICPERIOD = gql`\n mutation addAcademicPeriod(\n $periodCode: String!,\n $year: String,\n $semester: Int!\n ) {\n addAcademicPeriod (\n periodCode: $periodCode,\n year: $year,\n semester: $semester\n ) {\n id\n periodCode\n year\n semester\n }\n }\n`;\n\nexport const UPDATE_ACADEMICPERIOD = gql`\n mutation updateAcademicPeriod(\n $id: ID!,\n $periodCode: String!,\n $year: String,\n $semester: Int!\n ) {\n updateAcademicPeriod (\n id: $id,\n periodCode: $periodCode,\n year: $year,\n semester: $semester\n ) {\n id\n periodCode\n year\n semester\n }\n }\n`;\n\nexport const DELETE_ACADEMICPERIOD = gql`\n mutation deleteAcademicPeriod(\n $id: ID!\n ) {\n deleteAcademicPeriod (\n id: $id\n ) {\n id\n periodCode\n year\n semester\n }\n }\n`;\n\n\n/* TYPES\n\ntype AcademicPeriod {\n id: ID!\n periodCode: String!\n year: String!\n semester: Int!\n isDisabled: Boolean!\n createdAt: String!\n updatedAt: String!\n createdBy: User\n updatedBy: User\n}\n\n*/\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {getField, updateField} from 'vuex-map-fields';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport * as generic from \"@/store/generic/mutations/result-status.js\";\n\nimport {\n GET_ACADEMICPERIOD,\n GET_ACADEMICPERIODS,\n ADD_ACADEMICPERIOD,\n UPDATE_ACADEMICPERIOD,\n DELETE_ACADEMICPERIOD\n} from '@/queries/modules/common-data/academic-period.js';\n\n//\n// initial state\nconst state = {\n academicPeriod: {\n id: '',\n periodCode: '',\n year: '',\n semester: '',\n },\n academicPeriods: [],\n processing: false,\n error: null,\n success: null,\n};\n\n//\n// getters\nconst getters = {\n getField\n};\n\n//\n// mutations\nconst mutations = {\n updateField,\n clearError: generic.clearError,\n setError: generic.setError,\n setSuccess: generic.setSuccess,\n setProcessing: generic.setProcessing,\n\n setAcademicPeriods: (state, payload) => {\n state.academicPeriods = payload ? payload : [];\n },\n setAcademicPeriod: (state, payload) => {\n state.academicPeriod = payload;\n },\n};\n\n//\n// actions\nconst actions = {\n getAcademicPeriods: async ({commit}) => {\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n query: GET_ACADEMICPERIODS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return state.academicPeriod;\n } else {\n commit('setAcademicPeriods', data.getAcademicPeriods);\n commit('setSuccess', null);\n return data.getAcademicPeriods\n }\n\n } catch (e) {\n commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n\n },\n getAcademicPeriod: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n query: GET_ACADEMICPERIOD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return state.academicPeriod;\n } else {\n commit('setAcademicPeriod', data.getAcademicPeriod);\n commit('setSuccess', null);\n return data.getAcademicPeriod\n }\n\n } catch (e) {\n commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n\n },\n addAcademicPeriod: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n mutation: ADD_ACADEMICPERIOD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return null;\n } else {\n const academicPeriods = [...state.academicPeriods];\n academicPeriods.push(data.addAcademicPeriod);\n commit('setAcademicPeriods', academicPeriods);\n commit('setSuccess', newItemSuccess(data.addAcademicPeriod.periodCode));\n\n return data.addAcademicPeriod\n }\n\n } catch (e) {\n commit('setError', error(e));\n return null;\n }\n\n },\n updateAcademicPeriod: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n mutation: UPDATE_ACADEMICPERIOD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return null;\n } else {\n const index = state.academicPeriods.findIndex(item => item.id === data.updateAcademicPeriod.id);\n const academicPeriods = [\n ...state.academicPeriods.slice(0, index),\n data.updateAcademicPeriod,\n ...state.academicPeriods.slice(index + 1)\n ];\n commit('setAcademicPeriods', academicPeriods);\n commit('setSuccess', updateItemSuccess(data.updateAcademicPeriod.periodCode));\n\n return data.updateAcademicPeriod\n }\n\n } catch (e) {\n commit('setError', error(e));\n return null;\n }\n\n },\n deleteAcademicPeriod: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n mutation: DELETE_ACADEMICPERIOD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n commit('setError', error(errors));\n return null;\n } else {\n const index = state.academicPeriods.findIndex(item => item.id === data.deleteAcademicPeriod.id);\n const academicPeriods = [\n ...state.academicPeriods.slice(0, index),\n ...state.academicPeriods.slice(index + 1)\n ];\n commit('setAcademicPeriods', academicPeriods);\n commit('setSuccess', deleteItemSuccess(data.deleteAcademicPeriod.periodCode));\n\n return data.updateAcademicPeriod\n }\n\n } catch (e) {\n commit('setError', error(e));\n return null;\n }\n\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","export default {\n classAssignment: {\n id: \"\",\n classSectionId: null,\n sectionNo: null,\n topicLocal: null,\n topicEng: null,\n descriptionLocal: null,\n descriptionEng: null,\n score: null,\n dueDate: null,\n uploadPath: null,\n uploadPathUri: null,\n uploadFileName: null,\n },\n classAssignments: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setClassAssignments(state, payload) {\n state.classAssignments = payload ? payload : [];\n}\n\nexport function setClassAssignment(state, payload) {\n state.classAssignment = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_CLASSASSIGNMENT = gql`\n query getClassAssignment($id : ID!){\n getClassAssignment (\n id: $id\n ) {\n id\n sectionNo topicLocal topicEng\n descriptionLocal descriptionEng\n score dueDate uploadPath uploadPathUri uploadFileName\n sequence active\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\nexport const GET_CLASSASSIGNMENTS_BY_FILTER = gql`\n\n query getClassAssignmentsByFilter($classAssignmentFilterInput: ClassAssignmentFilterInput){\n getClassAssignmentsByFilter (\n classAssignmentFilterInput:$classAssignmentFilterInput\n ){\n id\n sectionNo topicLocal topicEng\n descriptionLocal descriptionEng\n score dueDate uploadPath uploadPathUri uploadFileName\n sequence active\n classSection {\n id sectionNo\n }\n\n }\n }\n`;\n\nexport const GET_CLASSASSIGNMENTS = gql`\n query getClassAssignments {\n getClassAssignments {\n id\n sectionNo topicLocal topicEng\n descriptionLocal descriptionEng\n score dueDate uploadPath uploadPathUri uploadFileName\n sequence active\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\nexport const CHECK_CAN_DELETE = gql`\n query checkCanDelete($id : ID!){\n checkCanDelete (\n id: $id\n ) {\n id\n }\n }\n`;\n\nexport const ADD_CLASSASSIGNMENT = gql`\n mutation addClassAssignment(\n $classSectionId: ID!\n $classAssignmentInput: ClassAssignmentInput!\n ) {\n addClassAssignment(\n classSectionId: $classSectionId\n classAssignmentInput: $classAssignmentInput\n ) {\n id\n sectionNo topicLocal topicEng\n descriptionLocal descriptionEng\n score dueDate uploadPath uploadPathUri uploadFileName\n sequence active\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\nexport const UPDATE_CLASSASSIGNMENT = gql`\n mutation updateClassAssignment(\n $id: ID!,\n $classAssignmentInput: ClassAssignmentInput!\n ) {\n updateClassAssignment(\n id: $id\n classAssignmentInput: $classAssignmentInput\n ) {\n id\n sectionNo topicLocal topicEng\n descriptionLocal descriptionEng\n score dueDate uploadPath uploadPathUri uploadFileName\n sequence active\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\nexport const DELETE_CLASSASSIGNMENT = gql`\n mutation deleteClassAssignment($id: ID!) {\n deleteClassAssignment(\n id: $id\n ) {\n id\n sectionNo topicLocal topicEng\n descriptionLocal descriptionEng\n score dueDate uploadPath uploadPathUri uploadFileName\n sequence active\n classSection {\n id sectionNo\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\n// import axios from \"axios\";\nimport axios from \"@/setup/axios-setup\";\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {config} from \"@/utils/upload\";\nimport {\n GET_CLASSASSIGNMENT,\n GET_CLASSASSIGNMENTS,\n GET_CLASSASSIGNMENTS_BY_FILTER,\n CHECK_CAN_DELETE,\n ADD_CLASSASSIGNMENT,\n UPDATE_CLASSASSIGNMENT,\n DELETE_CLASSASSIGNMENT\n} from '@/queries/modules/courses/class-assignment';\n\nexport async function getClassAssignments(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSASSIGNMENTS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setClassAssignments', data.getClassAssignments);\n context.commit('setSuccess', null);\n return data.getClassAssignments\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassAssignmentsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSASSIGNMENTS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n\n return data.getClassAssignmentsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getClassAssignment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_CLASSASSIGNMENT,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setClassAssignment', data.getClassAssignment);\n context.commit('setSuccess', null);\n return data.getClassAssignment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function checkCanDelete(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: CHECK_CAN_DELETE,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.checkCanDelete\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addClassAssignment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_CLASSASSIGNMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const classAssignments = [...context.state.classAssignments];\n classAssignments.push(data.addClassAssignment);\n context.commit('setClassAssignments', classAssignments);\n context.commit('setSuccess', newItemSuccess(data.addClassAssignment.topicLocal));\n\n return data.addClassAssignment;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateClassAssignment(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_CLASSASSIGNMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.classAssignments.findIndex(item => item.id === data.updateClassAssignment.id);\n const classAssignments = [\n ...context.state.classAssignments.slice(0, index),\n data.updateClassAssignment,\n ...context.state.classAssignments.slice(index + 1)\n ];\n context.commit('setClassAssignments', classAssignments);\n context.commit('setSuccess', updateItemSuccess(data.updateClassAssignment.topicLocal));\n\n return data.updateClassAssignment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteClassAssignment(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_CLASSASSIGNMENT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.classAssignments.findIndex(item => item.id === data.deleteClassAssignment.id);\n const classAssignments = [\n ...context.state.classAssignments.slice(0, index),\n ...context.state.classAssignments.slice(index + 1)\n ];\n context.commit('setClassAssignments', classAssignments);\n context.commit('setSuccess', deleteItemSuccess(data.deleteClassAssignment.topicLocal));\n\n return data.deleteClassAssignment\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function uploadAssignment(context, payload){\n const rsc = JSON.parse(localStorage.getItem(\"rsc\"));\n let entity, stage\n if (rsc) {\n entity = rsc.e_code;\n stage = rsc.r_stage;\n }\n const formData = new FormData();\n formData.append('file', payload.file);\n formData.append('file1', payload.file1);\n formData.append('ext', payload.file.name.substring([payload.file.name.lastIndexOf('.') + 1]));\n formData.append('timestamp', payload.file.lastModified);\n formData.append('operationName', payload.operationName);\n // formData.append('stage', payload.stage);\n // formData.append('entity', payload.entity);\n formData.append('stage', stage);\n formData.append('entity', entity);\n formData.append('authorization', payload.authorization);\n formData.append('app', payload.app);\n\n try {\n const result = await axios({\n url: config.url.uploadFiles,\n method: 'post',\n headers: {\n 'content-type': 'multipart/form-data'\n },\n data: formData,\n });\n\n const {data} = await result;\n\n return data;\n } catch (e) {\n // commit('setError', error(e));\n return null;\n }\n\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n exam: {\n id: '',\n degreeId: '',\n degreeCode: '',\n subjectGroupId: '',\n subjectGroupCode: '',\n subjectId: '',\n teacherId: '',\n teacherCode: '',\n QuestionQty: null,\n QuestionMultiQty: null,\n QuestionTrueFalseQty: null,\n },\n exams: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setExams(state, payload) {\n state.exams = payload ? payload : [];\n}\n\nexport function setExam(state, payload) {\n state.exam = payload;\n}\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_EXAM,\n GET_EXAMS,\n GET_EXAMS_BY_FILTER,\n ADD_EXAM,\n ADD_EXAMS_UPLOAD,\n UPDATE_EXAM,\n DELETE_EXAM\n} from '@/queries/modules/examination/exam.js';\n\nexport async function getExams(context) {\n\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_EXAMS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setExams', data.getExams);\n context.commit('setSuccess', null);\n return data.getExams\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getExamsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_EXAMS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setExams', data.getExamsByFilter);\n context.commit('setSuccess', null);\n\n return data.getExamsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getExam(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_EXAM,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setExam', data.getExam);\n context.commit('setSuccess', null);\n return data.getExam\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addExam(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_EXAM,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const exams = [...context.state.exams];\n exams.push(data.addExam);\n context.commit('setExams', exams);\n context.commit('setSuccess', newItemSuccess(data.addExam.nameLocal));\n\n return data.addExam;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addExamsUpload(context, payload) {\n context.commit('setProcessing', true);\n try {\n\n const result = await apolloClient\n .mutate({\n mutation: ADD_EXAMS_UPLOAD,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', updateItemSuccess(data.addExamsUpload.length));\n\n return data.addExamsUpload\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateExam(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_EXAM,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.exams.findIndex(item => item.id === data.updateExam.id);\n const exams = [\n ...context.state.exams.slice(0, index),\n data.updateExam,\n ...context.state.exams.slice(index + 1)\n ];\n context.commit('setExams', exams);\n context.commit('setSuccess', updateItemSuccess(data.updateExam.nameLocal));\n\n return data.updateExam\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteExam(context, payload) {\n context.commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_EXAM,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.exams.findIndex(item => item.id === data.deleteExam.id);\n const exams = [\n ...context.state.exams.slice(0, index),\n ...context.state.exams.slice(index + 1)\n ];\n context.commit('setExams', exams);\n context.commit('setSuccess', deleteItemSuccess(data.deleteExam.nameLocal));\n\n return data.deleteExam\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n","import {gql} from \"apollo-boost\";\n\nexport const ADD_UPLOAD_YEALINK_IMPORT_DATA = gql`\n mutation addUploadYeaLinkImportData(\n $typeId: ID!,\n $importType: YeaLinkImportType!,\n $deleteOldRecord: Boolean,\n $yeaLinkImportDataArray: [YeaLinkImportDataInput]\n ) {\n addUploadYeaLinkImportData(\n typeId: $typeId\n importType: $importType\n deleteOldRecord: $deleteOldRecord\n yeaLinkImportDataArray: $yeaLinkImportDataArray\n ) {\n successCount\n failCount\n resultAddUploadYeaLinkImportData{\n meetingTheme\n meetingNo\n meetingType\n mode\n startTime\n endTime\n meetingDuration\n meetingDurationInt\n meetingRoom\n maximumNumberOfConcurrentParties\n numberOfParticipants\n participantName\n rolePermissions\n accountType\n grouping\n meetingTime\n departureTime\n stayDuration\n stayDurationInt\n ipAddress\n callingType\n deviceModel\n status\n remark\n }\n }\n }\n`;\n\nexport const ADD_UPLOAD_YEALINK_LEARN_TIME = gql`\n mutation addUploadYeaLinkLearnTime(\n $classSectionId: ID!,\n $vdoSetUnitId: ID!,\n $vdoSetTopicId: ID!,\n $deleteOldRecord: Boolean,\n $yeaLinkImportDataArray: [YeaLinkImportDataInput]\n ) {\n addUploadYeaLinkLearnTime(\n classSectionId: $classSectionId\n vdoSetUnitId: $vdoSetUnitId\n vdoSetTopicId: $vdoSetTopicId\n deleteOldRecord: $deleteOldRecord\n yeaLinkImportDataArray: $yeaLinkImportDataArray\n ) {\n successCount\n failCount\n resultAddUploadYeaLinkImportData{\n meetingTheme\n meetingNo\n meetingType\n mode\n startTime\n endTime\n meetingDuration\n meetingDurationInt\n meetingRoom\n maximumNumberOfConcurrentParties\n numberOfParticipants\n participantName\n rolePermissions\n accountType\n grouping\n meetingTime\n departureTime\n stayDuration\n stayDurationInt\n ipAddress\n callingType\n deviceModel\n status\n remark\n }\n }\n }\n`;\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, updateItemSuccess} from '@/utils/notification';\nimport {\n ADD_UPLOAD_YEALINK_IMPORT_DATA, ADD_UPLOAD_YEALINK_LEARN_TIME,\n} from '@/queries/modules/yea-link-import-data/yea-link-import-data';\n\nexport async function addUploadYeaLinkImportData(context, payload) {\n context.commit('setProcessing', true);\n try {\n\n const result = await apolloClient\n .mutate({\n mutation: ADD_UPLOAD_YEALINK_IMPORT_DATA,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', updateItemSuccess(data.addUploadYeaLinkImportData.length));\n\n return data.addUploadYeaLinkImportData\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addUploadYeaLinkLearnTime(context, payload) {\n context.commit('setProcessing', true);\n try {\n\n const result = await apolloClient\n .mutate({\n mutation: ADD_UPLOAD_YEALINK_LEARN_TIME,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', updateItemSuccess(data.addUploadYeaLinkLearnTime.length));\n\n return data.addUploadYeaLinkLearnTime\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import { i18n } from \"../../../setup/i18n-setup\";\n\nexport default {\n pages: {\n key: \"title\",\n data: [\n {\n title: i18n.t('sections.home.title'),\n url: '/',\n icon: 'HomeIcon', is_bookmarked: false\n },\n {\n title: `${i18n.t('sections.courses.nav')} > ${i18n.t('sections.courses.course-outline.nav')}`,\n url: '/courses/course-outline',\n icon: 'VideoIcon', is_bookmarked: false\n },\n {\n title: `${i18n.t('sections.examination.nav')} > ${i18n.t('sections.examination.exam-upload.nav')}`,\n url: '/examination/exam-upload',\n icon: 'BookIcon', is_bookmarked: false\n },\n {\n title: `${i18n.t('sections.pm.title')}`,\n url: '/pm',\n icon: 'MailIcon', is_bookmarked: false\n },\n {\n title: `${i18n.t('profile.profile-info.title')}`,\n url: '/profile',\n icon: 'UserIcon', is_bookmarked: false\n },\n ]\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-element\",class:{\n '_free-height': _vm.freeHeight,\n '_small': _vm.small,\n },style:(_vm.styles)},[_c('div',{staticClass:\"-over-the-box\"},[_c('div',{staticClass:\"--label\"},[_vm._t(\"label\")],2),_c('div',{staticClass:\"--warning\"},[_vm._t(\"warning\")],2)]),_c('div',{staticClass:\"-box\",class:{\n '_borderless': _vm.borderless,\n }},[_c('div',{staticClass:\"--input\"},[_vm._t(\"default\")],2),(_vm.hasControllerSlot)?_c('div',{staticClass:\"--controller\"},[_vm._t(\"controller\")],2):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n ","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-element.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-element.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./form-element.vue?vue&type=template&id=0bf8a440&scoped=true&\"\nimport script from \"./form-element.vue?vue&type=script&lang=js&\"\nexport * from \"./form-element.vue?vue&type=script&lang=js&\"\nimport style0 from \"./form-element.vue?vue&type=style&index=0&id=0bf8a440&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0bf8a440\",\n null\n \n)\n\nexport default component.exports","export default {\n vdoSet: {\n id: '',\n degreeId: '',\n courseOutlineId: '',\n subjectGroupId: '',\n subjectId: '',\n subjectCode: '',\n teacherId: '',\n teacherCode: '',\n code: '',\n description: '',\n totalVdoLength: 0,\n vdoSetUnits: []\n },\n vdoSets: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setVdoSets(state, payload) {\n state.vdoSets = payload ? payload : [];\n}\n\nexport function setVdoSet(state, payload) {\n state.vdoSet = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_VDOSETS_BY_FILTER = gql`\n\n query getVdoSetsByFilter($vdoSetFilterInput: VdoSetFilterInput){\n getVdoSetsByFilter (\n vdoSetFilterInput:$vdoSetFilterInput\n # รับข้อมูลตามนี้จะใส่หรือไม่ใส่ก็ได้\n # input VdoSetFilterInput {\n # courseOutlineId: ID\n # degreeId: ID\n # subjectGroupId: ID\n # subjectId: ID\n # subjectCode: String\n # teacherId: ID\n # teacherCode: String\n # code: String\n # }\n ){\n id\n degree {\n id code nameLocal nameEng\n }\n courseOutline{\n id\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n subject{\n id code nameLocal nameEng\n }\n subjectCode\n teacher{\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n teacherCode\n code\n description\n totalVdoLength\n vdoSetUnits {\n id\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n\n label\n }\n }\n`;\n\nexport const GET_VDOSETS = gql`\n query getVdoSets {\n getVdoSets {\n id\n degree {\n id code nameLocal nameEng\n }\n courseOutline{\n id\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n subject{\n id code nameLocal nameEng\n }\n subjectCode\n teacher{\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n teacherCode\n code\n description\n totalVdoLength\n\n label\n }\n }\n`;\n\nexport const GET_VDOSET = gql`\n query getVdoSet($id : ID!){\n getVdoSet (\n id: $id\n ) {\n id\n degree {\n id code nameLocal nameEng\n }\n courseOutline{\n id\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n subject{\n id code nameLocal nameEng\n }\n subjectCode\n teacher{\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n teacherCode\n code\n description\n totalVdoLength\n vdoSetUnits {\n id unitSeq code\n courseOutlineUnit {\n id seq\n }\n teacher {\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n unitSeq\n code\n totalVdoLength\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n }\n }\n }\n`;\n\nexport const ADD_VDOSET = gql`\n mutation addVdoSet(\n $degreeId: ID!,\n $courseOutlineId: ID!,\n $subjectGroupId: ID!,\n $subjectId: ID!,\n $teacherId: ID!,\n $vdoSetInput: VdoSetInput!\n ) {\n addVdoSet(\n degreeId: $degreeId\n courseOutlineId: $courseOutlineId\n subjectGroupId: $subjectGroupId\n subjectId: $subjectId\n teacherId: $teacherId\n vdoSetInput: $vdoSetInput\n ) {\n id\n degree {\n id code nameLocal nameEng\n }\n courseOutline{\n id\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n subject{\n id code nameLocal nameEng\n }\n subjectCode\n teacher{\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n teacherCode\n code\n description\n totalVdoLength\n vdoSetUnits {\n id unitSeq code\n courseOutlineUnit{ id nameLocal nameEng}\n teacher {\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n unitSeq\n code\n totalVdoLength\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n }\n }\n }\n`;\n\nexport const UPDATE_VDOSET = gql`\n mutation updateVdoSet(\n $id: ID!,\n $code: String\n $description: String\n ) {\n updateVdoSet(\n id: $id\n code: $code\n description: $description\n ) {\n id\n degree {\n id code nameLocal nameEng\n }\n courseOutline{\n id\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n subject{\n id code nameLocal nameEng\n }\n subjectCode\n teacher{\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n teacherCode\n code\n description\n totalVdoLength\n vdoSetUnits {\n id unitSeq code\n courseOutlineUnit{ id nameLocal nameEng}\n teacher {\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n unitSeq\n code\n totalVdoLength\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n }\n }\n }\n`;\n\nexport const DELETE_VDOSET = gql`\n mutation deleteVdoSet($id: ID!) {\n deleteVdoSet(\n id: $id\n ) {\n id\n degree {\n id code nameLocal nameEng\n }\n courseOutline{\n id\n }\n subjectGroup{\n id code nameLocal nameEng\n }\n subject{\n id code nameLocal nameEng\n }\n subjectCode\n teacher{\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n teacherCode\n code\n description\n totalVdoLength\n vdoSetUnits {\n id unitSeq code\n courseOutlineUnit {\n id seq\n }\n teacher {\n id code\n prefix{\n id nameLocal nameEng\n }\n firstNameLocal lastNameLocal\n firstNameEng lastNameEng picturePath\n }\n unitSeq\n code\n totalVdoLength\n status\n remark\n vdoSetTopics{\n id no nameLocal nameEng vdoStreamPath isEnabled\n }\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_VDOSET,\n GET_VDOSETS,\n GET_VDOSETS_BY_FILTER,\n ADD_VDOSET,\n UPDATE_VDOSET,\n DELETE_VDOSET\n} from '@/queries/modules/vdoSet/vdoSet.js';\n\nexport async function getVdoSets(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOSETS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoSets', data.getVdoSets);\n context.commit('setSuccess', null);\n return data.getVdoSets\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getVdoSetsByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOSETS_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setVdoSets', data.getVdoSetsByFilter);\n context.commit('setSuccess', null);\n\n return data.getVdoSetsByFilter;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getVdoSet(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_VDOSET,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setVdoSet', data.getVdoSet);\n context.commit('setSuccess', null);\n return data.getVdoSet\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addVdoSet(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_VDOSET,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const vdoSets = [...context.state.vdoSets];\n vdoSets.push(data.addVdoSet);\n context.commit('setVdoSets', vdoSets);\n context.commit('setSuccess', newItemSuccess(data.addVdoSet.sectionNo));\n\n return data.addVdoSet\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateVdoSet(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_VDOSET,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.vdoSets.findIndex(item => item.id === data.updateVdoSet.id);\n const vdoSets = [\n ...context.state.vdoSets.slice(0, index),\n data.updateVdoSet,\n ...context.state.vdoSets.slice(index + 1)\n ];\n context.commit('setVdoSets', vdoSets);\n context.commit('setSuccess', updateItemSuccess(data.updateVdoSet.sectionNo));\n\n return data.updateVdoSet\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteVdoSet(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_VDOSET,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.vdoSets.findIndex(item => item.id === data.deleteVdoSet.id);\n const vdoSets = [\n ...context.state.vdoSets.slice(0, index),\n ...context.state.vdoSets.slice(index + 1)\n ];\n context.commit('setVdoSets', vdoSets);\n context.commit('setSuccess', deleteItemSuccess(data.deleteVdoSet.sectionNo));\n\n return data.deleteVdoSet\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","const rsc = JSON.parse(localStorage.getItem(\"rsc\"));\nlet e_code, r_stage\nif (rsc) {\n e_code = rsc.e_code;\n r_stage = rsc.r_stage;\n}\n\nexport const getECode = e_code;\n\nexport const getRStage = r_stage;\n\nexport const getToken = localStorage.getItem(\"token\");\n\n\nexport function stageParser(r_stage) {\n switch(r_stage) {\n case \"0\":\n return \"test12\"\n case \"1\":\n return \"prod\"\n case \"8\":\n return \"staging\"\n case \"9\":\n return \"dev\"\n case \"nil\":\n return \"\"\n default:\n return \"dev\"\n }\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_DEGREES = gql`\n query getDegrees{\n getDegrees {\n id\n code\n nameLocal\n nameEng\n label\n }\n }\n`;\n\nexport const GET_DEGREE = gql`\n query getDegree($id : ID!){\n getDegree (\n id: $id\n ) {\n id\n code\n nameLocal\n nameEng\n label\n }\n }\n`;\n\nexport const ADD_DEGREE = gql`\n mutation addDegree(\n $code: String!,\n $nameLocal: String!,\n $nameEng: String!,\n ) {\n addDegree(\n code: $code\n nameLocal: $nameLocal\n nameEng: $nameEng\n ) {\n id\n code\n nameLocal\n nameEng\n }\n }\n`;\n\nexport const UPDATE_DEGREE = gql`\n mutation updateDegree(\n $id: ID!,\n $code: String!,\n $nameLocal: String!,\n $nameEng: String!,\n ) {\n updateDegree(\n id: $id\n code: $code\n nameLocal: $nameLocal\n nameEng: $nameEng\n ) {\n id\n code\n nameLocal\n nameEng\n }\n }\n`;\n\nexport const DELETE_DEGREE = gql`\n mutation deleteDegree($id: ID!) {\n deleteDegree(\n id: $id\n ) {\n id\n code\n nameLocal\n nameEng\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {getField, updateField} from \"vuex-map-fields\";\nimport * as _ from 'lodash';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\n\nimport {\n ADD_DEGREE,\n DELETE_DEGREE,\n GET_DEGREES,\n GET_DEGREE,\n UPDATE_DEGREE,\n} from '@/queries/modules/common-data/degree';\n\n//\n// initial state\nconst state = {\n degree: {\n id: \"\",\n code: \"\",\n nameLocal: \"\",\n nameEng: \"\",\n },\n degrees: [],\n searchDegreeResults: [],\n processing: false,\n error: null,\n success: null,\n};\n\n//\n// getters\nconst getters = {\n getField\n};\n\n//\n// mutations\nconst mutations = {\n updateField,\n clearError: (state) => {\n state.error = null;\n },\n setError: (state, payload) => {\n state.error = payload;\n state.success = null;\n state.processing = false;\n },\n setSuccess: (state, payload) => {\n state.error = null;\n state.success = payload;\n state.processing = false;\n },\n setProcessing: (state, payload) => {\n state.processing = payload;\n },\n setDegrees: (state, payload) => {\n state.degrees = payload ? payload : [];\n state.searchDegreeResults = payload ? payload : [];\n },\n setDegree: (state, payload) => {\n state.degree = payload;\n },\n setSelectedDegree: (state, payload) => {\n state.degree = {...payload};\n },\n setSearchDegreeResults: (state, payload) => {\n state.searchDegreeResults = payload;\n },\n clearSelectedDegree: (state) => {\n state.degree = {\n id: \"\",\n code: \"\",\n nameLocal: \"\",\n nameEng: \"\",\n }\n }\n};\n\n//\n// actions\nconst actions = {\n getDegrees: async ({commit}) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_DEGREES,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setDegrees', data.getDegrees);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n getDegree: async ({commit}, id) => {\n commit('setProcessing', true);\n\n apolloClient\n .query({\n query: GET_DEGREE,\n variables: {\n id: id\n },\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n commit('setDegree', data.getDegree);\n commit('setSuccess', null);\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n searchDegrees: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n try {\n commit('setSearchDegreeResults', _.filter(state.degrees, (degree) => _.some(degree, value => _.includes(_.toLower(value), _.toLower(payload)))));\n commit('setProcessing', false);\n } catch (err) {\n commit('setError', error(err));\n }\n },\n addDegree: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n await apolloClient\n .mutate({\n mutation: ADD_DEGREE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const degrees = [...state.degrees];\n degrees.push(data.addDegree);\n commit('setDegrees', degrees);\n commit('setSuccess', newItemSuccess(data.addDegree.nameLocal));\n })\n .catch((err) => {\n commit('setError', error(err));\n });\n },\n updateDegree: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: UPDATE_DEGREE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.degrees.findIndex(degree => degree.id === data.updateDegree.id);\n const degrees = [\n ...state.degrees.slice(0, index),\n data.updateDegree,\n ...state.degrees.slice(index + 1)\n ];\n\n commit('setDegrees', degrees);\n commit('setSuccess', updateItemSuccess(data.updateDegree.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n deleteDegree: async ({commit}, payload) => {\n commit('setProcessing', true);\n\n apolloClient\n .mutate({\n mutation: DELETE_DEGREE,\n variables: payload,\n context: { clientName: 'Prisma2' }\n })\n .then(({data}) => {\n const index = state.degrees.findIndex(degree => degree.id === data.deleteDegree.id);\n const degrees = [\n ...state.degrees.slice(0, index),\n ...state.degrees.slice(index + 1)\n ];\n\n commit('setDegrees', degrees);\n commit('setSuccess', deleteItemSuccess(data.deleteDegree.nameLocal));\n })\n .catch(({err}) => {\n commit('setError', error(err));\n });\n },\n selectedDegree: async ({commit}, payload) => {\n commit('setSelectedDegree', payload);\n },\n clearSelectedDegree: async ({commit}) => {\n commit('clearSelectedDegree');\n }\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}\n","export default {\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n","// import axios from \"axios\";\nimport axios from \"@/setup/axios-setup\";\nimport {config} from \"@/utils/upload\";\nimport {error} from '@/utils/notification';\nimport {getECode, getRStage, getToken} from \"@/utils/auth-data\";\n\nexport async function uploadAvatar(context, payload){\n context.commit('setProcessing', true);\n const formData = new FormData();\n formData.append('file', payload.file);\n formData.append('file1', payload.file1);\n formData.append('ext', payload.file.name.substring([payload.file.name.lastIndexOf('.') + 1]));\n formData.append('timestamp', payload.file.lastModified);\n formData.append('operationName', payload.operationName);\n formData.append('stage', getRStage);\n formData.append('entity', getECode);\n formData.append('authorization', getToken);\n formData.append('app', 'admin');\n\n try {\n const result = await axios({\n url: config.url.uploadAvatar,\n method: 'post',\n headers: {\n 'content-type': 'multipart/form-data'\n },\n data: formData,\n });\n\n context.commit('setSuccess', null);\n const {data} = await result;\n\n return data;\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n\n}\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","/* eslint-disable no-console */\nexport const log = (messages) => {\n if (\n messages !== null && typeof messages !== \"undefined\"\n && process.env.NODE_ENV !== \"production\"\n && process.env.NODE_ENV !== \"staging\"\n ) {\n const date = new Date();\n const time = `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}:${date.getTime()}`;\n if (Object.prototype.hasOwnProperty.call(messages, \"title\")) {\n console.group(messages.title, \"@ \" + time);\n console.log(messages);\n console.groupEnd();\n } else {\n console.group(time);\n console.log(messages);\n }\n }\n};\n\nexport const setDebugStatus = () => {\n if (process.env.VUE_APP_LOCAL_SERVER === \"true\") {\n return true;\n }\n if (process.env.VUE_APP_DEPLOYMENT_STAGE === \"development\") {\n return true;\n }\n return false;\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FormElement',{attrs:{\"type\":\"input\",\"free-height\":\"\",\"styles\":_vm.styles}},[_c('template',{slot:\"label\"},[_c('span',[_vm._v(_vm._s(_vm.label))])]),_c('template',{slot:\"warning\"},[(_vm.required)?_c('span',{staticClass:\"-require\"},[_vm._v(\"*ต้องกรอกข้อมูล\")]):_vm._e()]),_c('template',{slot:\"controller\"},[_vm._t(\"controller\"),_c('button',{staticClass:\"--input-clear\",on:{\"click\":function($event){_vm.input = _vm.prev}}},[_c('vs-icon',{attrs:{\"icon\":\"restore\",\"size\":\"small\"}})],1),_c('button',{staticClass:\"--input-clear\",on:{\"click\":function($event){_vm.input = ''}}},[_c('vs-icon',{attrs:{\"icon\":\"delete_forever\",\"size\":\"small\"}})],1)],2),_c('div',{staticClass:\"input-box\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],domProps:{\"value\":(_vm.input)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.input=$event.target.value}}})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1d62089e&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=1d62089e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d62089e\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VxList.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=4eb200b4&lang=scss&scoped=true&\"","export default {\n subject: {\n id: '',\n degreeId: null,\n subjectGroupId: null,\n code: '',\n nameLocal: '',\n nameEng: '',\n description: '',\n creditCalGrade: null,\n creditDesc: '',\n },\n subjects: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setSubjects(state, payload) {\n state.subjects = payload ? payload : [];\n}\n\nexport function setSubject(state, payload) {\n state.subject = payload;\n}\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_SUBJECT,\n GET_SUBJECTS,\n // GET_SUBJECTS_BY_FILTER,\n GET_SUBJECT_BY_CODE_OR_NAME,\n GET_SUBJECT_BY_SUBJECTGROUP_ID,\n ADD_SUBJECT,\n UPDATE_SUBJECT,\n DELETE_SUBJECT\n} from '@/queries/modules/common-data/subject';\n\nexport async function getSubjects(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_SUBJECTS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.subject;\n } else {\n context.commit('setSubjects', data.getSubjects);\n context.commit('setSuccess', null);\n return data.getSubjects\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\n// export async function getSubjectsByFilter(context, payload) {\n// context.commit('setProcessing', true);\n// try {\n// const result = await apolloClient\n// .query({\n// query: GET_SUBJECTS_BY_FILTER,\n// variables: payload,\n// fetchPolicy: 'network-only',\n// context: { clientName: 'Prisma2' }\n// });\n\n// const {data, errors} = await result;\n\n// if (errors) {\n// context.commit('setError', error(errors));\n// return [];\n// } else {\n// context.commit('setSubjects', data.getSubjectsByFilter);\n// context.commit('setSuccess', null);\n\n// return data.getSubjectsByFilter;\n// }\n\n// } catch (e) {\n// context.commit('setError', error(e));\n// return [];\n// }\n// }\n\nexport async function getSubjectsByCodeOrName(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_SUBJECT_BY_CODE_OR_NAME,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSubjects', data.getSubjectsByCodeOrName);\n context.commit('setSuccess', null);\n\n return data.getSubjectsByCodeOrName;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getSubjectBySubjectGroupID(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_SUBJECT_BY_SUBJECTGROUP_ID,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSubjects', data.getSubjectsBySubjectGroup);\n context.commit('setSuccess', null);\n\n return data.getSubjectsBySubjectGroup;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getSubject(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_SUBJECT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.subject;\n } else {\n context.commit('setSubject', data.getSubject);\n context.commit('setSuccess', null);\n return data.getSubject\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function addSubject(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_SUBJECT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const subjects = [...context.state.subjects];\n subjects.push(data.addSubject);\n context.commit('setSubjects', subjects);\n context.commit('setSuccess', newItemSuccess(data.addSubject.nameLocal));\n\n return data.addSubject\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateSubject(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_SUBJECT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.subjects.findIndex(item => item.id === data.updateSubject.id);\n const subjects = [\n ...context.state.subjects.slice(0, index),\n data.updateSubject,\n ...context.state.subjects.slice(index + 1)\n ];\n context.commit('setSubjects', subjects);\n context.commit('setSuccess', updateItemSuccess(data.updateSubject.nameLocal));\n\n return data.updateSubject\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteSubject(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_SUBJECT,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n const index = context.state.subjects.findIndex(item => item.id === data.deleteSubject.id);\n const subjects = [\n ...context.state.subjects.slice(0, index),\n ...context.state.subjects.slice(index + 1)\n ];\n context.commit('setSubjects', subjects);\n context.commit('setSuccess', deleteItemSuccess(data.deleteSubject.nameLocal));\n\n return data.deleteSubject\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n privateMessageReplies: [],\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n\nexport function setPrivateMessageReplies(state, payload) {\n state.privateMessageReplies = payload;\n}\n","import {gql} from 'apollo-boost';\n\nexport const GET_PRIVATE_MESSAGE_REPLY = gql`\n query getPrivateMessageReply($id: ID!){\n getPrivateMessageReply(id: $id) {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n`;\n\nexport const GET_PRIVATE_MESSAGE_REPLIES = gql`\n query getPrivateMessageReplyReplies($id : ID!){\n getPrivateMessageReplyReplies (\n id: $id\n ) {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n`;\n\nexport const GET_PRIVATE_MESSAGE_REPLIES_BY_FILTER = gql`\n query getPrivateMessageReplyRepliesByFilter($privateMessageReplyFilterInput: PrivateMessageReplyFilterInput){\n getPrivateMessageReplyRepliesByFilter (\n privateMessageReplyFilterInput: $privateMessageReplyFilterInput\n ) {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n`;\n\nexport const ADD_PRIVATE_MESSAGE_REPLY = gql`\n mutation addPrivateMessageReply(\n $privateMessageId: ID!,\n $toUserId: ID!,\n $privateMessageReplyInput: PrivateMessageReplyInput!\n ) {\n addPrivateMessageReply(\n privateMessageId: $privateMessageId\n toUserId: $toUserId\n privateMessageReplyInput: $privateMessageReplyInput\n ) {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n`;\n\nexport const UPDATE_PRIVATE_MESSAGE_REPLY = gql`\n mutation updatePrivateMessageReply(\n $id: ID!,\n $privateMessageReplyInput: PrivateMessageReplyInput!\n ) {\n updatePrivateMessageReply(\n id: $id\n privateMessageReplyInput: $privateMessageReplyInput\n ) {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n`;\n\nexport const UPDATE_PRIVATE_MESSAGE_REPLY_ALREADY_READ = gql`\n mutation updatePrivateMessageReplyAlreadyRead(\n $id: ID!,\n ) {\n updatePrivateMessageReplyAlreadyRead(\n id: $id\n ) {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n`;\n\nexport const DELETE_PRIVATE_MESSAGE_REPLY = gql`\n mutation deletePrivateMessageReply($id: ID!) {\n deletePrivateMessageReply(\n id: $id\n ) {\n id toUserCode fromUserCode message sendDate isRead readDate\n ip isFromTeacher isFromStudent\n privateMessage { id }\n toUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n fromUser { id code nameLocal surnameLocal nameEng surnameEng email photo }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_PRIVATE_MESSAGE_REPLY,\n GET_PRIVATE_MESSAGE_REPLIES,\n GET_PRIVATE_MESSAGE_REPLIES_BY_FILTER,\n ADD_PRIVATE_MESSAGE_REPLY,\n UPDATE_PRIVATE_MESSAGE_REPLY,\n UPDATE_PRIVATE_MESSAGE_REPLY_ALREADY_READ,\n DELETE_PRIVATE_MESSAGE_REPLY,\n} from '../../../../queries/modules/pm/private-message-reply';\n\nexport async function getPrivateMessageReplies(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_PRIVATE_MESSAGE_REPLIES,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setPrivateMessageReplies', data.getPrivateMessageReplyReplies);\n context.commit('setSuccess', null);\n return data.getPrivateMessageReplyReplies\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function getPrivateMessageReply(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_PRIVATE_MESSAGE_REPLY,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', null);\n return data.getPrivateMessageReply\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getPrivateMessageRepliesByFilter(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_PRIVATE_MESSAGE_REPLIES_BY_FILTER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setPrivateMessageReplies', data.getPrivateMessageRepliesByFilter);\n context.commit('setSuccess', null);\n return data.getPrivateMessageRepliesByFilter\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function addPrivateMessageReply(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_PRIVATE_MESSAGE_REPLY,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n // const webBoardReplies = [...context.state.webBoardReplies];\n // webBoardReplies.unshift(data.addPrivateMessageReply);\n // context.commit('setPrivateMessageReplies', webBoardReplies);\n context.commit('setSuccess', newItemSuccess(data.addPrivateMessageReply.message));\n\n return data.addPrivateMessageReply\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updatePrivateMessageReply(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_PRIVATE_MESSAGE_REPLY,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n const index = context.state.webBoardReplies.findIndex(item => item.id === data.updatePrivateMessageReply.id);\n const webBoardReplies = [\n ...context.state.webBoardReplies.slice(0, index),\n data.updatePrivateMessageReply,\n ...context.state.webBoardReplies.slice(index + 1)\n ];\n context.commit('setPrivateMessageReplies', webBoardReplies);\n context.commit('setSuccess', updateItemSuccess(data.updatePrivateMessageReply.message));\n\n return data.updatePrivateMessageReply\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updatePrivateMessageReplyAlreadyRead(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_PRIVATE_MESSAGE_REPLY_ALREADY_READ,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n // const index = context.state.webBoardReplies.findIndex(item => item.id === data.updatePrivateMessageReplyAlreadyRead.id);\n // const webBoardReplies = [\n // ...context.state.webBoardReplies.slice(0, index),\n // data.updatePrivateMessageReplyAlreadyRead,\n // ...context.state.webBoardReplies.slice(index + 1)\n // ];\n // context.commit('setPrivateMessageReplies', webBoardReplies);\n context.commit('setSuccess', updateItemSuccess(data.updatePrivateMessageReplyAlreadyRead.message));\n\n return data.updatePrivateMessageReplyAlreadyRead\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deletePrivateMessageReply(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_PRIVATE_MESSAGE_REPLY,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n // const index = context.state.webBoardReplies.findIndex(item => item.id === data.deletePrivateMessageReply.id);\n // const webBoardReplies = [\n // ...context.state.webBoardReplies.slice(0, index),\n // ...context.state.webBoardReplies.slice(index + 1)\n // ];\n // context.commit('setPrivateMessageReplies', webBoardReplies);\n context.commit('setSuccess', deleteItemSuccess(data.deletePrivateMessageReply.message));\n\n return data.deletePrivateMessageReply\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","export default {\n processing: false,\n error: null,\n success: null,\n}\n\n\n\n","export function blankGetters() {\n return;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport function clearError(state, payload) {\n generic.clearError(state, payload);\n}\n\nexport function setError(state, payload) {\n generic.setError(state, payload);\n}\n\nexport function setSuccess(state, payload) {\n generic.setSuccess(state, payload);\n}\n\nexport function setProcessing(state, payload) {\n generic.setProcessing(state, payload);\n}\n","import { gql } from \"apollo-boost\";\n\nexport const GET_INFO_TOPIC = gql`\n query getInfoTopic($id: ID!) {\n getInfoTopic(\n id: $id\n ) {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n createdAt updatedAt\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n }\n }\n`;\n\nexport const GET_INFO_TOPICS = gql`\n query getInfoTopics {\n getInfoTopics {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n createdAt updatedAt\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n }\n }\n`;\n\nexport const GET_INFO_TOPIC_BY_INFO_GROUP_ID = gql`\n query getInfoTopicsByInfoGroup($infoGroupId: ID!) {\n getInfoTopicsByInfoGroup(\n infoGroupId: $infoGroupId\n ) {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n }\n }\n`;\n\nexport const GET_INFO_TOPICS_STUDENT_FIRST_PAGE = gql`\n query getInfoTopicsStudentFirstPage {\n getInfoTopicsStudentFirstPage {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n createdAt updatedAt\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n }\n }\n`;\n\nexport const GET_INFO_TOPICS_TEACHER_FIRST_PAGE = gql`\n query getInfoTopicsTeacherFirstPage {\n getInfoTopicsTeacherFirstPage {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n createdAt updatedAt\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n }\n }\n`;\n\nexport const GET_RECENT_INFO_TOPICS_FOR_STUDENT = gql`\n query getRecentInfoTopicsForStudent($currentInfoTopic: ID!) {\n getRecentInfoTopicsForStudent(\n currentInfoTopic: $currentInfoTopic\n ) {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n createdAt updatedAt\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n }\n }\n`;\n\nexport const GET_RECENT_INFO_TOPICS_FOR_TEACHER = gql`\n query getRecentInfoTopicsForTeacher($currentInfoTopic: ID!) {\n getRecentInfoTopicsForTeacher(\n currentInfoTopic: $currentInfoTopic\n ) {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n createdAt updatedAt\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n }\n }\n`;\n\nexport const ADD_INFO_TOPIC = gql`\n mutation addInfoTopic(\n $infoTopicInput: InfoTopicInput,\n $infoGroupId: ID!,\n ) {\n addInfoTopic (\n infoTopicInput: $infoTopicInput,\n infoGroupId: $infoGroupId,\n ) {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n\n }\n }\n`;\n\nexport const UPDATE_INFO_TOPIC = gql`\n mutation updateInfoTopic(\n $id: ID!,\n $infoTopicInput: InfoTopicInput!,\n $infoGroupId: ID!,\n ) {\n updateInfoTopic (\n id: $id,\n infoTopicInput: $infoTopicInput,\n infoGroupId: $infoGroupId,\n ) {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n }\n }\n`;\n\nexport const DELETE_INFO_TOPIC = gql`\n mutation deleteInfoTopic(\n $id: ID!\n ) {\n deleteInfoTopic (\n id: $id\n ) {\n id\n topicLocal topicEng descriptionLocal descriptionEng\n picturePath attachFilePath isStudentFirstPage isShow isFix\n infoGroup{\n id color nameLocal nameEng isShow isFix\n }\n }\n }\n`;\n\n","import {apolloClient} from '@/setup/apollo-setup';\nimport {error, newItemSuccess, updateItemSuccess, deleteItemSuccess} from '@/utils/notification';\nimport {\n GET_INFO_TOPIC,\n GET_INFO_TOPICS,\n GET_INFO_TOPIC_BY_INFO_GROUP_ID,\n GET_INFO_TOPICS_STUDENT_FIRST_PAGE,\n GET_INFO_TOPICS_TEACHER_FIRST_PAGE,\n GET_RECENT_INFO_TOPICS_FOR_STUDENT,\n GET_RECENT_INFO_TOPICS_FOR_TEACHER,\n ADD_INFO_TOPIC,\n UPDATE_INFO_TOPIC,\n DELETE_INFO_TOPIC\n} from '@/queries/modules/university-news/info-topic';\n\nexport async function getInfoTopics(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_INFO_TOPICS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.infoTopic;\n } else {\n context.commit('setSuccess', null);\n return data.getInfoTopics\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function getInfoTopicsStudentFirstPage(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_INFO_TOPICS_STUDENT_FIRST_PAGE,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n return data.getInfoTopicsStudentFirstPage\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getInfoTopicsTeacherFirstPage(context) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_INFO_TOPICS_TEACHER_FIRST_PAGE,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n return data.getInfoTopicsTeacherFirstPage;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getRecentInfoTopicsForStudent(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_RECENT_INFO_TOPICS_FOR_STUDENT,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n return data.getRecentInfoTopicsForStudent;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getRecentInfoTopicsForTeacher(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_RECENT_INFO_TOPICS_FOR_TEACHER,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n return data.getRecentInfoTopicsForTeacher;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function getInfoTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_INFO_TOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return context.state.infoTopic;\n } else {\n context.commit('setSuccess', null);\n return data.getInfoTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return {status: {success: false, error: true, message: \"\", full: e}};\n }\n}\n\nexport async function getInfoTopicByInfoGroupID(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .query({\n query: GET_INFO_TOPIC_BY_INFO_GROUP_ID,\n variables: payload,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return [];\n } else {\n context.commit('setSuccess', null);\n\n return data.getInfoTopicsByInfoGroup;\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return [];\n }\n}\n\nexport async function addInfoTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: ADD_INFO_TOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', newItemSuccess(data.addInfoTopic.nameLocal));\n\n return data.addInfoTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function updateInfoTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: UPDATE_INFO_TOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n\n context.commit('setSuccess', updateItemSuccess(data.updateInfoTopic.nameLocal));\n\n return data.updateInfoTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\nexport async function deleteInfoTopic(context, payload) {\n context.commit('setProcessing', true);\n try {\n const result = await apolloClient\n .mutate({\n mutation: DELETE_INFO_TOPIC,\n variables: payload,\n context: { clientName: 'Prisma2' }\n });\n\n const {data, errors} = await result;\n\n if (errors) {\n context.commit('setError', error(errors));\n return null;\n } else {\n context.commit('setSuccess', deleteItemSuccess(data.deleteInfoTopic.nameLocal));\n\n return data.deleteInfoTopic\n }\n\n } catch (e) {\n context.commit('setError', error(e));\n return null;\n }\n}\n\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\nimport {getField, updateField} from \"vuex-map-fields\";\n\nexport default {\n namespaced: true,\n getters: {\n getField,\n ...getters,\n },\n mutations: {\n updateField,\n ...mutations,\n },\n actions,\n state\n};\n\n","import {gql} from 'apollo-boost';\n\nexport const GET_CLASSROOMS = gql`\n query getClassRooms{\n getClassRooms {\n id\n # classRoomOwned {\n # id inUseClassRoomQty availableClassRoomQty maxClassRoomQty capacity startDate endDate\n # classRoomType{\n # id nameLocal nameEng capacity label\n # }\n # }\n courseOutlineRegistration{\n id\n # degree{\n # id code nameLocal nameEng\n # }\n # subjectGroup{\n # id code nameLocal nameEng\n # }\n courseOutline {\n id\n }\n }\n classSection{\n id descriptionLocal descriptionEng startClassDate learnSpanNo examSpanNo studentQty studentRegisterQty\n }\n # sectionNo\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n # teacherCode\n subject{\n id code nameLocal nameEng isDisabled\n }\n # subjectCode\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n isAvailable\n isActive\n }\n }\n`;\n\nexport const GET_AVAILABLE_CLASSROOMS = gql`\n query getAvailableClassRooms{\n getAvailableClassRooms {\n id\n sectionNo\n teacherCode\n subjectCode\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n }\n }\n`;\n\nexport const GET_LEARNING_CLASSROOMS = gql`\n query getLearningClassRooms{\n getLearningClassRooms {\n id\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n courseOutlineRegistration{\n id\n courseOutline {\n id\n }\n }\n degree{ id code }\n subjectGroup{ id code}\n classSection{\n id sectionNo descriptionLocal descriptionEng startClassDate\n learnSpanNo examSpanNo studentQty studentRegisterQty\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n telephone email availableTime socialMedia isSpecialTeacher\n }\n subject{\n id code nameLocal nameEng\n }\n }\n }\n`;\n\nexport const GET_CLASSROOMS_BY_FILTER = gql`\n\n query getClassRoomsByFilter($classRoomFilterInput: ClassRoomFilterInput){\n getClassRoomsByFilter (\n classRoomFilterInput: $classRoomFilterInput\n # รับข้อมูลตามนี้จะใส่หรือไม่ใส่ก็ได้\n # input ClassRoomFilterInput {\n # degreeId: ID\n # subjectGroupId: ID\n # classRoomOwnedId: ID\n # courseOutlineRegistrationId: ID\n # classSectionId: ID\n # sectionNo: Int\n # teacherId: ID\n # teacherCode: String\n # subjectId: ID\n # subjectCode: String\n # nameLocal: String\n # nameEng: String\n # capacity: Int\n # startDate: String\n # endDate: String\n # isAvailable: Boolean\n # isActive: Boolean\n # classRoomTypeId: ID\n # }\n ){\n id\n teacherCode subjectCode nameLocal nameEng\n studentRegisterQty capacity startDate endDate isAvailable isActive\n courseOutlineRegistration{\n id\n courseOutline{\n id picturePath\n }\n }\n classSection { id learnSpanNo }\n sectionNo\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n\n subject{\n id code nameLocal nameEng isDisabled\n }\n\n }\n }\n`;\n\nexport const GET_CLASSROOMS_BY_FILTER_ONLY_CAN_LEARN = gql`\n\n query getClassRoomsByFilterOnlyCanLearn($classRoomFilterInput: ClassRoomFilterOnlyCanLearnInput){\n getClassRoomsByFilterOnlyCanLearn (\n classRoomFilterInput: $classRoomFilterInput\n ){\n id\n teacherCode subjectCode nameLocal nameEng\n studentRegisterQty capacity startDate endDate isAvailable isActive\n courseOutlineRegistration{\n id\n courseOutline{\n id picturePath\n }\n }\n classSection { id learnSpanNo }\n sectionNo\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n\n subject{\n id code nameLocal nameEng\n }\n\n }\n }\n`;\n\nexport const GET_CLASSROOM = gql`\n query getClassRoom($id : ID!){\n getClassRoom (\n id: $id\n )\n {\n id\n degree{ id code nameLocal nameEng}\n subjectGroup{ id code nameLocal nameEng}\n classRoomOwned {\n id inUseClassRoomQty availableClassRoomQty maxClassRoomQty capacity startDate endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n }\n courseOutlineRegistration{\n id periodCode\n degree{\n id\n }\n subjectGroup{\n id\n }\n courseOutline {\n id instruction totalPoint\n courseOutlineAssessments {\n id seq percent score\n assessment{\n id nameLocal nameEng\n }\n }\n courseOutlineUnits{\n id\n seq nameLocal nameEng descriptionLocal descriptionEng preTestExpectScore\n postTestExpectScore unitAgenda unitObjective unitReference\n }\n vdoSets{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq totalVdoLength\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n }\n classSections{\n id sectionNo descriptionLocal descriptionEng startClassDate learnSpanNo examSpanNo studentRegisterQty\n classRoom{ id}\n }\n }\n classSection{\n id sectionNo descriptionLocal descriptionEng startClassDate learnSpanNo examSpanNo studentRegisterQty\n vdoSet{\n id code totalVdoLength\n vdoSetUnits {\n id unitSeq totalVdoLength\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n classMaterials {\n id\n sectionNo sequence nameLocal nameEng\n uploadPath uploadPathUri uploadFileName\n }\n classAssignments {\n id\n sectionNo sequence active topicLocal topicEng\n descriptionLocal descriptionEng score\n dueDate uploadPath uploadPathUri uploadFileName\n updatedAt\n }\n }\n sectionNo\n teacher{\n id\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n code firstNameLocal lastNameLocal firstNameEng lastNameEng\n telephone email socialMedia availableTime isSpecialTeacher picturePath\n }\n teacherCode\n subject{\n id code nameLocal nameEng creditCalGrade description\n }\n subjectCode\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n isAvailable\n isActive\n }\n }\n`;\n\nexport const GET_CLASSROOMS_BY_STUDENT_NOT_REGISTER = gql`\n query getClassRoomsByStudentNotRegister(\n $studentId: ID!,\n $academicPeriodId: ID!,\n $studentEnrollId: ID\n ) {\n getClassRoomsByStudentNotRegister(\n studentId: $studentId,\n academicPeriodId: $academicPeriodId,\n studentEnrollId: $studentEnrollId\n )\n {\n id sectionNo studentRegisterQty capacity\n courseOutlineRegistration{\n id\n }\n subjectCode\n subject{\n id code nameLocal nameEng creditCalGrade\n }\n teacher{\n id code firstNameLocal lastNameLocal firstNameEng lastNameEng picturePath\n }\n classSection{\n id sectionNo studentRegisterQty studentQty learnSpanNo examSpanNo\n }\n\n }\n }\n`;\n\nexport const ADD_CLASSROOM = gql`\n mutation addClassRoom(\n $degreeId: ID\n $subjectGroupId: ID\n $classRoomOwnedId: ID!\n $courseOutlineRegistrationId: ID\n $classSectionId: ID\n $teacherId: ID\n $subjectId: ID\n $classRoomTypeId: ID!\n $classRoomInput: ClassRoomInput!\n $classSectionForRegistrationInput: ClassSectionForRegistrationInput\n $classSectionInput: ClassSectionInput\n )\n {\n addClassRoom(\n degreeId: $degreeId\n subjectGroupId: $subjectGroupId\n classRoomOwnedId: $classRoomOwnedId\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n teacherId: $teacherId\n subjectId: $subjectId\n classRoomTypeId: $classRoomTypeId\n classRoomInput: $classRoomInput\n classSectionForRegistrationInput: $classSectionForRegistrationInput\n classSectionInput: $classSectionInput\n )\n {\n id\n degree{ id code nameLocal nameEng}\n subjectGroup{ id code nameLocal nameEng}\n classRoomOwned {\n id inUseClassRoomQty availableClassRoomQty maxClassRoomQty capacity startDate endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n }\n courseOutlineRegistration{\n id\n degree{\n id\n }\n subjectGroup{\n id\n }\n courseOutline {\n id\n courseOutlineUnits{\n id\n }\n vdoSets{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n }\n classSections{\n id sectionNo descriptionLocal descriptionEng startClassDate learnSpanNo examSpanNo studentRegisterQty\n }\n }\n classSection{\n id sectionNo descriptionLocal descriptionEng startClassDate learnSpanNo examSpanNo studentRegisterQty\n vdoSet{\n id code totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n }\n sectionNo\n teacher{\n id\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n code firstNameLocal lastNameLocal firstNameEng lastNameEng\n telephone email socialMedia availableTime isSpecialTeacher picturePath\n }\n teacherCode\n subject{\n id code nameLocal nameEng\n }\n subjectCode\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n isAvailable\n isActive\n }\n }\n`;\n\nexport const UPDATE_CLASSROOM = gql`\n mutation updateClassRoom(\n $id: ID!,\n $degreeId: ID\n $subjectGroupId: ID\n $classRoomOwnedId: ID!\n $courseOutlineRegistrationId: ID\n $classSectionId: ID\n $teacherId: ID\n $subjectId: ID\n $classRoomTypeId: ID!\n $classRoomInput: ClassRoomInput!\n $classSectionForRegistrationInput: ClassSectionForRegistrationInput\n $classSectionInput: ClassSectionInput\n ) {\n updateClassRoom(\n id: $id\n degreeId: $degreeId\n subjectGroupId: $subjectGroupId\n classRoomOwnedId: $classRoomOwnedId\n courseOutlineRegistrationId: $courseOutlineRegistrationId\n classSectionId: $classSectionId\n teacherId: $teacherId\n subjectId: $subjectId\n classRoomTypeId: $classRoomTypeId\n classRoomInput: $classRoomInput\n classSectionForRegistrationInput: $classSectionForRegistrationInput\n classSectionInput: $classSectionInput\n )\n {\n id\n degree{ id code nameLocal nameEng}\n subjectGroup{ id code nameLocal nameEng}\n classRoomOwned {\n id inUseClassRoomQty availableClassRoomQty maxClassRoomQty capacity startDate endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n }\n courseOutlineRegistration{\n id\n degree{\n id\n }\n subjectGroup{\n id\n }\n courseOutline {\n id\n courseOutlineUnits{\n id\n }\n vdoSets{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n }\n classSections{\n id sectionNo descriptionLocal descriptionEng startClassDate learnSpanNo examSpanNo studentRegisterQty\n }\n }\n classSection{\n id sectionNo descriptionLocal descriptionEng startClassDate learnSpanNo examSpanNo studentRegisterQty\n vdoSet{\n id code totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n }\n sectionNo\n teacher{\n id\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n code firstNameLocal lastNameLocal firstNameEng lastNameEng\n telephone email socialMedia availableTime isSpecialTeacher picturePath\n }\n teacherCode\n subject{\n id code nameLocal nameEng\n }\n subjectCode\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n isAvailable\n isActive\n }\n }\n`;\n\nexport const DELETE_CLASSROOM = gql`\n mutation deleteClassRoom($id: ID!) {\n deleteClassRoom(\n id: $id\n )\n {\n id\n degree{ id code nameLocal nameEng}\n subjectGroup{ id code nameLocal nameEng}\n classRoomOwned {\n id inUseClassRoomQty availableClassRoomQty maxClassRoomQty capacity startDate endDate\n classRoomType{\n id nameLocal nameEng capacity label\n }\n }\n courseOutlineRegistration{\n id\n degree{\n id\n }\n subjectGroup{\n id\n }\n courseOutline {\n id\n courseOutlineUnits{\n id\n }\n vdoSets{\n id code description totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n }\n classSections{\n id sectionNo descriptionLocal descriptionEng startClassDate learnSpanNo examSpanNo studentRegisterQty\n }\n }\n classSection{\n id sectionNo descriptionLocal descriptionEng startClassDate learnSpanNo examSpanNo studentRegisterQty\n vdoSet{\n id code totalVdoLength\n vdoSetUnits {\n id unitSeq\n vdoSetTopics{\n id vdoStreamPath\n }\n }\n }\n }\n sectionNo\n teacher{\n id\n prefix{\n id nameLocal nameEng nameShortLocal nameShortEng\n }\n code firstNameLocal lastNameLocal firstNameEng lastNameEng\n telephone email socialMedia availableTime isSpecialTeacher picturePath\n }\n teacherCode\n subject{\n id code nameLocal nameEng\n }\n subjectCode\n nameLocal\n nameEng\n studentRegisterQty\n capacity\n startDate\n endDate\n isAvailable\n isActive\n }\n }\n`;\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"block-group\",class:[\n _vm.inline ? '_inline' : '',\n _vm.close ? '_close' : ''\n ]},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=18b60144&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import {gql} from 'apollo-boost';\n\nexport const GET_EXAM = gql`\n query getExam($id : ID!){\n getExam (\n id: $id\n ) {\n id degreeCode subjectGroupCode subjectCode teacherCode\n QuestionQty QuestionMultiQty QuestionTrueFalseQty\n degree {id code nameLocal nameEng }\n subjectGroup {id code nameLocal nameEng }\n subject {id code nameLocal nameEng }\n teacher {id code firsNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n }\n }\n`;\n\nexport const GET_EXAMS_BY_FILTER = gql`\n\n query getExamsByFilter($vdoLiveSetFilterInput: ExamFilterInput){\n getExamsByFilter (\n examFilterInput:$vdoLiveSetFilterInput\n ){\n id degreeCode subjectGroupCode subjectCode teacherCode\n QuestionQty QuestionMultiQty QuestionTrueFalseQty\n degree {id code nameLocal nameEng }\n subjectGroup {id code nameLocal nameEng }\n subject {id code nameLocal nameEng }\n teacher {id code firsNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n }\n }\n`;\n\nexport const GET_EXAMS = gql`\n query getExams {\n getExams {\n id degreeCode subjectGroupCode subjectCode teacherCode\n QuestionQty QuestionMultiQty QuestionTrueFalseQty\n degree {id code nameLocal nameEng }\n subjectGroup {id code nameLocal nameEng }\n subject {id code nameLocal nameEng }\n teacher {id code firsNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n }\n }\n`;\n\nexport const ADD_EXAM = gql`\n mutation addExam(\n $vdoLiveSetId: ID!\n $examInput: ExamInput!\n ) {\n addExam(\n vdoLiveSetId: $vdoLiveSetId\n examInput: $examInput\n ) {\n id degreeCode subjectGroupCode subjectCode teacherCode\n QuestionQty QuestionMultiQty QuestionTrueFalseQty\n degree {id code nameLocal nameEng }\n subjectGroup {id code nameLocal nameEng }\n subject {id code nameLocal nameEng }\n teacher {id code firsNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n }\n }\n`;\n\nexport const ADD_EXAMS_UPLOAD = gql`\n mutation addExamsUpload(\n $subjectId: ID!,\n $teacherId: ID!,\n $courseOutlineId: ID!,\n $examQuestionTypeId: ID!,\n $examsUploadInput: [ExamsUploadInput]\n ) {\n addExamsUpload(\n subjectId: $subjectId\n teacherId: $teacherId\n courseOutlineId: $courseOutlineId\n examQuestionTypeId: $examQuestionTypeId\n examsUploadInput: $examsUploadInput\n ) {\n successCount\n failCount\n resultAddExamsUpload{\n no unitSeq question score answer\n choice1 choice2 choice3 choice4\n isRandom status remark\n }\n }\n }\n`;\n\nexport const UPDATE_EXAM = gql`\n mutation updateExam(\n $id: ID!,\n $examInput: ExamInput!\n ) {\n updateExam(\n id: $id\n examInput: $examInput\n ) {\n id degreeCode subjectGroupCode subjectCode teacherCode\n QuestionQty QuestionMultiQty QuestionTrueFalseQty\n degree {id code nameLocal nameEng }\n subjectGroup {id code nameLocal nameEng }\n subject {id code nameLocal nameEng }\n teacher {id code firsNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n }\n }\n`;\n\nexport const DELETE_EXAM = gql`\n mutation deleteExam($id: ID!) {\n deleteExam(\n id: $id\n ) {\n id degreeCode subjectGroupCode subjectCode teacherCode\n QuestionQty QuestionMultiQty QuestionTrueFalseQty\n degree {id code nameLocal nameEng }\n subjectGroup {id code nameLocal nameEng }\n subject {id code nameLocal nameEng }\n teacher {id code firsNameLocal lastNameLocal firstNameEng lastNameEng picturePath }\n }\n }\n`;\n\n","export default {\n darken(color, percent) {\n var f=color.split(\",\"),t=percent<0?0:255,p=percent<0?percent*-1:percent,R=parseInt(f[0].slice(4)),G=parseInt(f[1]),B=parseInt(f[2]);\n return \"rgb(\"+(Math.round((t-R)*p)+R)+\",\"+(Math.round((t-G)*p)+G)+\",\"+(Math.round((t-B)*p)+B)+\")\";\n },\n getColor(colorx, alphax = 1, defaultx = true){\n // change color hex to RGB\n if(/^[#]/.test(colorx)){\n let c = this.hexToRgb(colorx)\n\n if(alphax == 1){\n colorx = `rgb(${c.r},${c.g},${c.b})`\n\n } else {\n colorx = `rgba(${c.r},${c.g},${c.b},${alphax})`\n\n }\n } else if (/^rgba/.test(colorx)) {\n\n if(colorx.search(/.([0-9]\\))$/)==-1 && !defaultx){\n colorx = colorx.replace(/.?([0-9]\\))$/,`${alphax})`)\n }\n\n\n } else if (/^(rgb)/.test(colorx)) {\n // change rgb and rgba\n if(alphax != 1){\n colorx = colorx.replace(/^(rgb)/,`rgba`)\n colorx = colorx.replace(/\\)$/,`,${alphax})`)\n }\n\n }\n return colorx\n },\n isColor(colorx){\n let vscolors = ['primary','secondary','success','danger','warning','dark', 'light']\n return vscolors.includes(colorx)\n },\n RandomColor(){\n function getRandomInt(min, max) {\n return Math.floor(Math.random() * (max - min)) + min;\n }\n return `rgb(${getRandomInt(0,255)},${getRandomInt(0,255)},${getRandomInt(0,255)})`\n },\n rColor(colorx,opacity=1){\n if(/^[#]/.test(colorx)){\n let c = this.hexToRgb(colorx)\n colorx = `rgba(${c.r},${c.g},${c.b},${opacity})`\n } else if (/^[rgb]/.test(colorx)){\n let colorSplit = colorx.split(')')[0]\n if(!/^[rgba]/.test(colorx)){\n colorSplit.replace('rgb','rgba')\n colorSplit += `,${opacity})`\n } else {\n // colorSplit.replace('rgb','rgba')\n colorSplit += `)`\n }\n colorx = colorSplit\n }\n\n let vscolors = ['primary','success','danger','warning','dark']\n if(colorx){\n if(/[#()]/.test(colorx)){\n return colorx\n } else {\n if(vscolors.includes(colorx)){\n return `rgba(var(--${colorx}),${opacity})`\n } else {\n return `rgba(var(--primary),${opacity})`\n }\n }\n } else {\n return `rgba(var(--primary),${opacity})`\n }\n },\n contrastColor(elementx) {\n let c = elementx\n if(/[#]/g.test(elementx)){\n let rgbx = this.hexToRgb(elementx)\n c = `rgb(${rgbx.r},${rgbx.g},${rgbx.b})`\n }\n var rgb = c.replace(/^(rgb|rgba)\\(/,'').replace(/\\)$/,'').replace(/\\s/g,'').split(',');\n var yiq = ((rgb[0]*299)+(rgb[1]*587)+(rgb[2]*114))/1000;\n if(yiq >= 128){\n return true\n } else {\n return false\n }\n },\n setCssVariable(propertyName, value) {\n if(typeof window !== 'undefined'){\n document.documentElement.style.setProperty(propertyName, value);\n }\n },\n hexToRgb(hex) {\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n hex = hex.replace(shorthandRegex, function(m, r, g, b) {\n return r + r + g + g + b + b;\n });\n\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n },\n getVariable(styles, propertyName) {\n return String(styles.getPropertyValue(propertyName)).trim();\n },\n changeColor(colorInicial){\n let colores = ['primary','success','danger','warning','dark']\n let colorx\n\n if(colores.includes(colorInicial)){\n let style = getComputedStyle(document.documentElement)\n colorx = this.getVariable(style,'--'+colorInicial)\n } else {\n if(/[rgb()]/g.test(colorInicial)){\n colorx = colorInicial.replace(/[rgb()]/g,'')\n } else if(/[#]/g.test(colorInicial)){\n let rgbx = this.hexToRgb(colorInicial)\n colorx = `${rgbx.r},${rgbx.g},${rgbx.b}`\n } else {\n colorx = '--'+colorInicial\n }\n }\n return colorx\n // this.setCssVariable('--'+clave,colorx)\n }\n}\n","import Dexie from \"dexie\";\nimport VuexStore from \"@/store\";\n\nexport class DataStore {\n constructor(name) {\n this.name = name;\n this.idbName = name;\n }\n async createDataStore(userUUID) {\n this.idb = null;\n this.list = new Map();\n this.topic = new Map();\n this.data = new Map();\n this.state = new Map([[\"unread\", new Map()]]);\n this.VuexStore = VuexStore;\n await createIndexedDBHelper(userUUID, this);\n\n }\n}\n\nconst idbSchemaVersion = new Date().getTime();\nconst idbSchema = {\n message_list: \"id, date, timestamp, channel, unify_id\",\n message_topic: \"id, topicId, sendFrom, date, timestamp, channel, unify_id, subjectId\",\n message_state: \"id, timestamp, channel, unify_id\",\n message: \"id, topicId, sendFrom, date, timestamp, channel, unify_id\",\n notification_list: \"id, topicId, sendFrom, date, timestamp\",\n notification: \"id, topicId, sendFrom, date, timestamp\",\n}\n\nconst idb = { dexie: null };\n\nfunction openIDB(dbName = \"temp\") {\n if (!idb.dexie) {\n idb.dexie = new Dexie(`xstudi-teacher-${dbName}`);\n idb.dexie.version(idbSchemaVersion).stores(idbSchema);\n }\n}\n\nexport async function createIndexedDBHelper(userUUID, pool) {\n await openIDB(userUUID);\n\n if (!pool.idb) {\n pool.idb = {};\n\n idb[pool.idbName] = idb.dexie[pool.idbName];\n pool.idb.data = idb[pool.idbName];\n\n idb[pool.idbName + \"_list\"] = idb.dexie[pool.idbName + \"_list\"];\n pool.idb.list = idb[pool.idbName + \"_list\"];\n\n if (pool.idbName === \"message\") {\n idb[pool.idbName + \"_topic\"] = idb.dexie[pool.idbName + \"_topic\"];\n pool.idb.topic = idb[pool.idbName + \"_topic\"];\n idb[pool.idbName + \"_state\"] = idb.dexie[pool.idbName + \"_state\"];\n pool.idb.state = idb[pool.idbName + \"_state\"];\n }\n return true;\n }\n return false;\n}\n","import { DataStore } from \"./core\";\n\n// Store All Notifications\nclass Notification extends DataStore {\n constructor(name) {\n super(name);\n }\n async store(payload) {\n // Store notifications to IndexedDB\n /* TEMP Objectives:\n 1. To store all notification for faster load and display before fetching new data (UX improvement)\n 2. To reduce load from server by use it as only backup (Store data mainly on client side)\n */\n const timestamp = new Date().getTime();\n const topicId = `test-${timestamp}`;\n\n const notification = {\n ...payload,\n \"id\": `test://userUUID/${topicId}/issuerUUID/${timestamp}`,\n topicId,\n timestamp,\n onClient: true\n }\n await this.idb.data.put(notification);\n // id: \"test\", date: new Date(), sendFrom: \"test\", topicId: \"test\" });\n }\n async restore() {\n // Restore notification cache from IndexedDB\n // console.log(\"Restoring Notification Cache\", this);\n\n if (this.idb) {\n // const list = await this.idb.list.toArray();\n // notifications.map(item => {\n // this.data.set(item.id, item);\n // });\n\n // console.log(\"Check notification list\", list);\n // console.log(\"Notifications list restored\", list);\n return;\n }\n }\n\n // Save notification to notification pool and IndexedDB\n save() {\n // save(type, channel, id, data) {\n // console.log(\"Save Notification\", type, channel, id, data);\n // this.data.set(`notification/`, { ...data });\n // await this.store(data);\n\n // if (!channel || !id) { return }\n\n // const id_escaped = id.includes(channel + \"/\") ? id.split(\"/\")[1] : id;\n\n // const _id = channel + \"/\" + id_escaped;\n\n // const unify_id = type === \"list\" ? `${channel}/${id_escaped}` : `${type}/${channel}/${id_escaped}`;\n // let _data = null;\n\n // switch (type) {\n // case \"list\":\n // _data = createListData(channel, id_escaped, data);\n // if (_data) {\n // _data.id = _id;\n // _data.internal_id = id_escaped;\n // _data.unify_id = unify_id;\n // this.list.set(unify_id, _data);\n // this.idb.list.put(_data).then();\n // }\n // break;\n // case \"topic\":\n // _data = createTopicData(channel, id_escaped, data);\n // if (_data) {\n // _data.id = _id;\n // _data.internal_id = id_escaped;\n // _data.unify_id = unify_id;\n // this.topic.set(unify_id, _data);\n // this.idb.topic.put(_data).then();\n // }\n // break;\n // default:\n // return\n // }\n }\n\n // Load notification from notification pool, if not exist then load from IndexedDB and API\n async load(id) {\n let notification = this.data.get(`notification/${id}`);\n\n if (!notification && this.idb) {\n notification = await this.idb.data.get(\"test\");\n // console.log(\"Test IndexedDB restoration\", notification);\n }\n\n return notification || null;\n }\n update(channel, id, data) {\n const prev = this.load(channel, id);\n const newData = Object.assign(prev, data);\n this.save(channel, id, newData);\n }\n getList(channel, listname) {\n return this.load(`list/${channel}`, listname);\n }\n generateIndexes() {\n // const keys = this.data.keys();\n // console.log(keys);\n }\n}\n\nexport default new Notification(\"notification\");\n\n// Store All Notification\n// export default {\n// idbName: \"notification\",\n// idb: null,\n// data: new Map(),\n// list: new Map(),\n// async createIndexedDB(userUUID) {\n// await createIndexedDBHelper(userUUID, this);\n// }\n// async store(payload) {\n// // Store notifications to IndexedDB\n// /* TEMP Objectives:\n// 1. To store all notification for faster load and display before fetching new data (UX improvement)\n// 2. To reduce load from server by use it as only backup (Store data mainly on client side)\n// */\n// const timestamp = new Date().getTime();\n// const topicId = `test-${timestamp}`;\n\n// const notification = {\n// ...payload,\n// \"id\": `test://userUUID/${topicId}/issuerUUID/${timestamp}`,\n// topicId,\n// timestamp,\n// onClient: true\n// }\n// await this.idb.data.put(notification);\n// // id: \"test\", date: new Date(), sendFrom: \"test\", topicId: \"test\" });\n// },\n// async restore() {\n// // Restore notification cache from IndexedDB\n// console.log(\"Restoring Notification Cache\", this);\n\n// if (this.idb) {\n// const list = await this.idb.list.toArray();\n// // notifications.map(item => {\n// // this.data.set(item.id, item);\n// // });\n\n// // console.log(\"Check notification list\", list);\n// console.log(\"Notifications list restored\", list);\n// return;\n// }\n// },\n// async save(data) {\n// // Save notification to notification pool and IndexedDB\n// this.data.set(`notification/?`, { ...data });\n// await this.store(data);\n// },\n// async load(id) {\n// // Load notification from notification pool, if not exist then load from IndexedDB and API\n// let notification = this.data.get(`notification/${id}`);\n\n// if (!notification && this.idb) {\n// notification = await this.idb.data.get(\"test\");\n// console.log(\"Test IndexedDB restoration\", notification);\n// }\n\n// return notification || null;\n// },\n// update(channel, id, data) {\n// const prev = this.load(channel, id);\n// const newData = Object.assign(prev, data);\n// this.save(channel, id, newData);\n// },\n// getList(channel, listname) {\n// return this.load(`list/${channel}`, listname);\n// },\n// generateIndexes() {\n// const keys = this.data.keys();\n// console.log(keys);\n// }\n// };\n","let timers = {}\n\nexport const addCommas = nStr => {\n nStr += '';\n const x = nStr.split('.');\n let x1 = x[0];\n const x2 = x.length > 1 ? '.' + x[1] : '';\n const rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + ',' + '$2')\n }\n return x1 + x2\n};\n\nexport const mapOrder = (array, order, key) => {\n array.sort(function (a, b) {\n const A = a[key];\n const B = b[key];\n if (order.indexOf(A + '') > order.indexOf(B + '')) {\n return 1\n } else {\n return -1\n }\n });\n return array\n};\n\nexport const getDateWithFormat = () => {\n const today = new Date();\n let dd = today.getDate();\n let mm = today.getMonth() + 1; // January is 0!\n\n const yyyy = today.getFullYear();\n if (dd < 10) {\n dd = '0' + dd\n }\n if (mm < 10) {\n mm = '0' + mm\n }\n return dd + '.' + mm + '.' + yyyy\n};\n\nexport const getCurrentTime = () => {\n const now = new Date();\n return now.getHours() + ':' + now.getMinutes()\n};\n\nexport const debounceTimer = (fn, timer, delay) => {\n clearTimeout(timer);\n timer = setTimeout(fn, delay)\n}\n\nexport const throttleTimer = (fn, delay) => {\n if (timers[\"test\"]) {\n return\n }\n timers[\"test\"] = setTimeout(() => {\n fn();\n clearTimeout(timers[\"test\"]);\n timers[\"test\"] = undefined;\n }, delay);\n}\n\nexport const debounceCounter = (fn, counter, counterLimit) => {\n if (counter < counterLimit) { return }\n fn();\n counter = null;\n}\n\nexport const throttleCounter = (fn, counter, counterLimit) => {\n // console.log(\"throttleCounter\", counter, counterLimit);\n if (counter > counterLimit) {\n // console.log(\"Invoke\");\n fn();\n return counter;\n }\n // console.log(\"Not invoke\");\n return counter + 1;\n}\n\n","\n// import _ from \"lodash\";\nimport { DataStore } from \"./core\";\nimport { throttleTimer } from \"../../utils\";\nimport VuexStore from \"@/store\";\nimport EventBus from \"@/event-bus\";\n\n// Store All Communicate Messages\nclass Message extends DataStore {\n constructor(name) {\n super(name);\n }\n async sync() {\n // Sync Messages and Indexed between Memory (Map)\n\n // 1. Sync from Disk (IndexedDB) to Memory (Map);\n // 2. Sync from Memory to Disk\n // 3. Sync from Server to Client\n // 4. Sync from Client to Server\n }\n async store (payload) {\n const { channel, id, data } = payload;\n if (channel && id && data) {\n\n // Store Messages and Indexes to Local Disk (IndexedDB) from Memory (Map)\n // console.log(\"Store\", payload);\n //\n const timestamp = new Date().getTime();\n\n // Unified ID that can access in both IndexedDB and Redis with O(1);\n const unify_id = \"\";\n\n const message = {\n ...data,\n unify_id,\n id: channel + \"/\" + id,\n channel,\n timestamp,\n onClient: true\n }\n await this.idb.data.put(message);\n }\n }\n async restore(opts = {}) {\n // Restore message cache from IndexedDB\n // console.log(\"Restoring Message Cache\", this);\n /* eslint-disable no-unused-vars */\n const { init } = opts;\n\n if (this.idb) {\n const list = await this.idb.list.toArray();\n // console.log(\"Message lists restored\", list);\n }\n }\n save(type, channel, id, data, extra) {\n if (!channel || !id) { return }\n\n const id_escaped = id.includes(channel + \"/\") ? id.split(\"/\")[1] : id;\n\n const _id = channel + \"/\" + id_escaped;\n\n let _data = null;\n let unify_id;\n\n switch (type) {\n case \"list\":\n unify_id = `${channel}/${id_escaped}`;\n _data = createListData(channel, id_escaped, data);\n if (_data) {\n _data.id = _id;\n _data.internal_id = id_escaped;\n _data.unify_id = unify_id;\n this.list.set(unify_id, _data);\n this.idb.list.put(_data).then();\n }\n break;\n case \"topic\":\n unify_id = `${type}/${channel}/${id_escaped}`;\n _data = createTopicData(channel, id_escaped, data);\n if (_data) {\n _data.id = _id;\n _data.internal_id = id_escaped;\n _data.unify_id = unify_id;\n this.topic.set(unify_id, _data);\n this.idb.topic.put(_data).then();\n }\n break;\n case \"message\":\n unify_id = `${channel}/${id_escaped}`;\n _data = createMessageData(channel, id_escaped, data);\n if (_data) {\n _data.id = _id;\n _data.internal_id = id_escaped;\n _data.unify_id = unify_id;\n _data.topicId = extra.id;\n\n this.data.set(unify_id, _data);\n this.idb.data.put(_data).then();\n }\n break;\n default:\n return\n }\n }\n async load(type, channel, id, extra) {\n // Load message from message pool or IndexedDB\n if (!type || !channel || !id) { return null }\n let data = null;\n if (!this.apiCallBuffer) {\n this.apiCallBuffer = { list: [], channel }\n }\n\n const _id = `${channel}/${id}`;\n switch (type) {\n case \"list\":\n data = this.list.get(_id);\n break;\n case \"topic\":\n data = this.topic.get(_id);\n if (!data) {\n data = await this.idb.topic.get(_id);\n this.topic.set(_id, data);\n }\n break;\n case \"message\":\n data = this.data.get(_id);\n if (!data) {\n data = await this.idb.data.get(_id);\n // console.log(\"Message Loading from IndexedDB\", _id, data);\n if (!data) {\n this.apiCallBuffer.list.push({ id });\n // if (!this.timer) { this.timer = null; }\n\n // console.log(_.throttle);\n\n await throttleTimer(async () => {\n // Request message from server\n const response = await this.VuexStore.dispatch(\"Communication/getMessagesByIds\", this.apiCallBuffer);\n this.apiCallBuffer = null;\n\n const { status, data } = response;\n\n if (status.success && data[channel]) {\n for (let message of data[channel]) {\n this.save(type, channel, message.id, message, extra);\n }\n }\n }, 200);\n }\n }\n break;\n default:\n break;\n }\n return data;\n }\n async update(type, channel, id, data) {\n // console.log(\"Updating new data\", type, channel, id, data);\n\n const prevData = await this.load(type, channel, id);\n const newData = dataAdaptorSelector(type, channel, id, data);\n data = Object.assign(prevData, newData);\n this.save(type, channel, id, data);\n EventBus.$emit(\"new-message\", data);\n }\n async getList(channel, listname) {\n if (!channel || !listname) { return null }\n\n const id = `${channel}/${listname}`;\n\n let list = this.list.get(id);\n\n if (typeof list === \"undefined\") {\n list = await this.idb.list.get(id)\n }\n\n return list;\n }\n async saveList(channel, listname, list) {\n const id = `${channel}/${listname}`;\n const data = createListData(channel, id, list);\n this.list.set(id, data);\n await this.idb.list.put(data).then();\n }\n generateIndexes() {\n const keys = this.data.keys();\n // console.log(keys);\n }\n getState(channel, type) {\n // This method for counting, storing and sync unread message.\n // Read all unread from IDB using query \"unread\" and \"channel\"\n const stateOfType = this.state.get(type);\n const state = stateOfType.get(channel);\n // console.log(channel, state);\n\n if (!state) {\n this.idb.state.get(`${channel}/${type}`).then(r => {\n // console.log(channel, \"Counter\", r);\n if (!r) {\n // console.log(\"Fetch state from Server\");\n }\n })\n }\n }\n checkUpdate(channel, type, prevData = {}) {\n // console.log(\"Datastore/Message/checkUpdate()\", channel, type, prevData, VuexStore);\n const { checksum } = prevData;\n VuexStore.dispatch(\"Communication/checkUpdate\", { channel, type, id: prevData.id, checksum })\n .then((response = {}) => {\n const { status, data } = response;\n // console.log(response);\n if (!status.success && !data) {\n // Response with error\n return\n }\n\n if (data[channel].id === prevData.id) {\n // Commit new data\n // console.log(\"Commit new data\", data);\n this.update(type, channel, data[channel].id, data[channel]).then();\n }\n })\n .catch();\n\n }\n}\n\nexport default new Message(\"message\");\n\n// Store All Communicate Messages\n/* export default {\n idbName: \"message\",\n idb: null,\n data: new Map(),\n topic: new Map(),\n list: new Map(),\n async createIndexedDB(userUUID) {\n await createIndexedDBHelper(userUUID, this);\n },\n async sync() {\n // Sync Messages and Indexed between Memory (Map)\n\n // 1. Sync from Disk (IndexedDB) to Memory (Map);\n // 2. Sync from Memory to Disk\n // 3. Sync from Server to Client\n // 4. Sync from Client to Server\n },\n async store (payload) {\n const { channel, id, data } = payload;\n if (channel && id && data) {\n\n // Store Messages and Indexes to Local Disk (IndexedDB) from Memory (Map)\n // console.log(\"Store\", payload);\n //\n const timestamp = new Date().getTime();\n\n // Unified ID that can access in both IndexedDB and Redis with O(1);\n const unify_id = \"\";\n\n const message = {\n ...data,\n unify_id,\n id: channel + \"/\" + id,\n channel,\n timestamp,\n onClient: true\n }\n await this.idb.data.put(message);\n }\n },\n async restore(opts = {}) {\n // Restore message cache from IndexedDB\n console.log(\"Restoring Message Cache\", this);\n const { init } = opts;\n\n if (this.idb) {\n const list = await this.idb.list.toArray();\n console.log(\"Message lists restored\", list);\n }\n },\n save(type, channel, id, data) {\n if (!channel || !id) { return }\n\n const id_escaped = id.includes(channel + \"/\") ? id.split(\"/\")[1] : id;\n\n const _id = channel + \"/\" + id_escaped;\n\n const unify_id = type === \"list\" ? `${channel}/${id_escaped}` : `${type}/${channel}/${id_escaped}`;\n let _data = null;\n\n switch (type) {\n case \"list\":\n _data = createListData(channel, id_escaped, data);\n if (_data) {\n _data.id = _id;\n _data.internal_id = id_escaped;\n _data.unify_id = unify_id;\n this.list.set(unify_id, _data);\n this.idb.list.put(_data).then();\n }\n break;\n case \"topic\":\n _data = createTopicData(channel, id_escaped, data);\n if (_data) {\n _data.id = _id;\n _data.internal_id = id_escaped;\n _data.unify_id = unify_id;\n this.topic.set(unify_id, _data);\n this.idb.topic.put(_data).then();\n }\n break;\n default:\n return\n }\n\n },\n async load(type, channel, id) {\n // Load message from message pool or IndexedDB\n if (!type || !channel || !id) { return null }\n let data = null;\n\n const _id = `${channel}/${id}`;\n switch (type) {\n case \"list\":\n data = this.list.get(_id);\n break;\n case \"topic\":\n data = this.topic.get(_id);\n if (!data) {\n data = await this.idb.topic.get(_id);\n this.topic.set(_id, data)\n }\n break;\n default:\n break;\n }\n\n return data;\n },\n update(channel, id, data) {\n const prev = this.load(channel, id);\n const newData = Object.assign(prev, data);\n this.save(channel, id, newData);\n },\n async getList(channel, listname) {\n if (!channel || !listname) { return null }\n\n const id = `${channel}/${listname}`;\n\n let list = this.list.get(id);\n\n if (typeof list === \"undefined\") {\n list = await this.idb.list.get(id)\n }\n\n return list;\n },\n async saveList(channel, listname, list) {\n const id = `${channel}/${listname}`;\n const data = createListData(channel, id, list);\n this.list.set(id, data);\n await this.idb.list.put(data).then();\n },\n generateIndexes() {\n const keys = this.data.keys();\n console.log(keys);\n }\n}; */\n\nfunction dataAdaptorSelector(type, channel, id, data) {\n if (!type || !channel || !id || !data) {\n throw new Error(\"Invalid argument in dataAdaptorSelector\")\n }\n switch (type) {\n case \"list\":\n return createListData(channel, id, data);\n case \"topic\":\n return createTopicData(channel, id, data);\n case \"message\":\n return createMessageData(channel, id, data);\n default:\n return\n }\n\n}\n\nfunction createListData(channel, id, data) {\n // Store Messages and Indexes to Local Disk (IndexedDB) from Memory (Map)\n if (channel && id && data) {\n\n const timestamp = new Date().getTime();\n\n // Unified ID that can access in both IndexedDB and Redis with O(1);\n // const unify_id = \"\";\n\n const list = {\n // unify_id,\n channel,\n id,\n data,\n timestamp,\n onClient: true\n }\n\n return list\n }\n return null;\n}\n\nfunction createTopicData(channel, id, _data) {\n // Store Messages and Indexes to Local Disk (IndexedDB) from Memory (Map)\n if (channel && id && _data) {\n\n const timestamp = new Date().getTime();\n\n // Unified ID that can access in both IndexedDB and Redis with O(1);\n // const unify_id = \"\";\n\n // Property is according to IndexedDB schema\n\n // To ensure that data is valid\n let __data;\n\n switch (channel) {\n case \"pm\":\n __data = processPMTopicData(_data);\n break;\n case \"chat\":\n __data = processChatTopicData(_data);\n break;\n case \"webboard\":\n __data = processWebboardTopicData(_data);\n break;\n default:\n break;\n }\n const { data, meta } = __data;\n\n // console.log(\"Check\", data, meta);\n\n if (data && meta) {\n const topic = {\n // unify_id,\n channel,\n id,\n data,\n timestamp,\n subjectId: meta.subjectId,\n sendFrom: meta.sendFrom,\n unread: meta.unread,\n date: meta.date\n }\n return topic\n }\n }\n return null;\n}\n\nfunction createMessageData(channel, id, _data) {\n // Store Messages and Indexes to Local Disk (IndexedDB) from Memory (Map)\n if (channel && id && _data) {\n\n const timestamp = new Date().getTime();\n\n // Unified ID that can access in both IndexedDB and Redis with O(1);\n // const unify_id = \"\";\n\n // Property is according to IndexedDB schema\n\n // To ensure that data is valid\n const { data, meta } = processPMMessageData(_data)\n\n // console.log(\"Check\", data, meta);\n\n if (data && meta) {\n const topic = {\n // unify_id,\n channel,\n id,\n data,\n timestamp,\n subjectId: meta.subjectId,\n sendFrom: meta.sendFrom,\n unread: meta.unread,\n date: meta.date\n }\n return topic\n }\n }\n return null;\n}\n\nfunction processPMTopicData(_data) {\n const data = _data.data || _data;\n\n if (data) {\n // console.log(\"ProcessPMTopicData\", data);\n const subjectId = data.courseOutlineRegistration.subject.id;\n const unread = data.readDate ? false : true;\n const sendFrom = data.fromUser ? data.fromUser.uuid : \"unknown-code-\" + data.fromUserCode;\n const date = new Date(data.sendDate);\n\n return {\n data,\n meta: {\n subjectId,\n unread,\n sendFrom,\n date\n }\n }\n }\n\n return null\n}\n\nfunction processChatTopicData(_data) {\n const data = _data.data || _data;\n\n if (data) {\n // console.log(\"ProcessChatTopicData\", data);\n // const subjectId = data.courseOutlineRegistration.subject.id;\n // const unread = data.readDate ? false : true;\n // const sendFrom = data.fromUser ? data.fromUser.uuid : \"unknown-code-\" + data.fromUserCode;\n // const date = new Date(data.sendDate);\n\n return {\n data,\n meta: {\n // subjectId,\n // unread,\n // sendFrom,\n // date\n }\n }\n }\n\n return null\n}\n\nfunction processWebboardTopicData(_data) {\n const data = _data.data || _data;\n\n if (data) {\n // console.log(\"ProcessWebboard/TopicData\", data);\n // const subjectId = data.courseOutlineRegistration.subject.id;\n // const unread = data.readDate ? false : true;\n // const sendFrom = data.fromUser ? data.fromUser.uuid : \"unknown-code-\" + data.fromUserCode;\n // const date = new Date(data.sendDate);\n\n return {\n data,\n meta: {\n // subjectId,\n // unread,\n // sendFrom,\n // date\n }\n }\n }\n\n return null\n}\n\nfunction processPMMessageData(_data) {\n const data = _data.data || _data;\n\n if (data && data.__typename === \"PrivateMessageReply\") {\n // console.log(\"ProcessPMMessageData\", data);\n const unread = data.readDate ? false : true;\n const sendFrom = data.fromUser ? data.fromUser.uuid : \"unknown-code-\" + data.fromUserCode;\n const date = new Date(data.sendDate);\n\n return {\n data,\n meta: {\n unread,\n sendFrom,\n date\n }\n }\n }\n\n return null\n}\n","import Notification from \"./notification\";\nimport Message from \"./message\";\n\nexport async function restore() {\n // Create DataStore with its own IndexedDB Connection\n Notification.createDataStore().then();\n Message.createDataStore().then();\n\n // Restore All Necessary Data Stores\n Notification.restore();\n Message.restore();\n}\n\nexport default {\n restore,\n Message,\n Notification\n};\n"],"sourceRoot":""}