{"version":3,"sources":["webpack:///./src/views/modules/lms/student/pages/offline/offline.vue","webpack:///src/views/modules/lms/student/pages/offline/offline.vue","webpack:///./src/views/modules/lms/student/pages/offline/offline.vue?e360","webpack:///./src/views/modules/lms/student/pages/offline/offline.vue?9804","webpack:///./src/views/modules/lms/student/pages/offline/index.js"],"names":["render","_vm","this","_c","_self","staticClass","style","concat","scrollHeight","nav","class","$store","state","app","isMobile","on","$event","toggleNavbar","_l","courses","c","i","key","_v","_s","name","attaches","filter","x","courseId","id","a","ai","deleteAttach","ext","staticStyle","title","getLessonName","lessonId","attrs","attachDelete","obj","model","value","modal","callback","$$v","$set","expression","mode","_e","params","bid","iid","bot","deleteAttachConfirm","staticRenderFns","_","require","components","vueCustomScrollbar","studentNav","component","loading","AsyncLoading","error","AsyncLoadError","delay","timeout","data","PDFJS_URL","contentToolbarHeight","content","right","lessons","fileSystem","fsType","window","PERSISTENT","fsSize","mounted","toggleBodyClass","addEventListener","getWindowHeight","configure","beforeDestroy","removeEventListener","destroyed","methods","_objectSpread","mapActions","addRemoveClass","className","el","document","body","classList","add","remove","shown","navbarMode","contentSub","navSub","rightSub","screen","width","innerHeight","undefined","activeGroup","init","self","requestFileSystem","webkitRequestFileSystem","storageInfo","webkitStorageInfo","requestQuota","gb","fs","errorHandler","_courses","localStorage","getItem","_json","JSON","parse","_lessons","_attaches","orderBy","lid","rv","length","readFile","getFileMode","path","success","attachment","root","getFile","fileEntry","file","reader","FileReader","onloadend","e","readAfter","result","readAsArrayBuffer","blob","Blob","video2","getElementById","src","URL","createObjectURL","load","onloadeddata","play","type","fileURL","open","options","pdfOpenParams","pagemode","navpanes","toolbar","statusbar","view","page","forcePDFJS","$nextTick","PDFObject","embed","image2","fileEntry1","deleteAttachAfter","_this","map","st","indexOf","splice","setItem","stringify","ci","handleOfflineAttaches","index"],"mappings":"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","file":"js/chunk-1a62f81e.b2e0b555.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container lms-wrapper no-right-sidebar pd-x-0 pd-lg-x-10 pd-xl-x-0\"},[_c('div',{staticClass:\"lms-sidebar\"},[_c('div',{staticClass:\"lms-sidebar-body\"},[_c('vue-custom-scrollbar',{style:(`height: ${_vm.scrollHeight.nav}px`)},[_c('div',{class:`card ${_vm.$store.state.app.isMobile ? 'bd-0' : ''}`},[_c('div',{staticClass:\"card-body\"},[_c('student-nav',{on:{\"route-changed\":function($event){return _vm.toggleNavbar(false)}}})],1)])])],1)]),_c('div',{staticClass:\"lms-content\"},[_c('div',{staticClass:\"lms-content-body\"},_vm._l((_vm.courses),function(c,i){return _c('div',{key:`courses_${i}`,staticClass:\"mg-b-20\"},[_c('div',{staticClass:\"d-flex align-items-center justify-content-between mg-b-2\"},[_c('h6',{staticClass:\"tx-13 tx-uppercase tx-semibold mg-b-0\"},[_vm._v(_vm._s(c.name))])]),_c('ul',{staticClass:\"list-group wd-md-50p\"},_vm._l((_vm.attaches.filter(x => x.courseId == c.id)),function(a,ai){return _c('li',{key:ai,staticClass:\"list-group-item d-flex align-items-center\",on:{\"click\":function($event){return _vm.deleteAttach(a)}}},[_c('div',{staticClass:\"avatar avatar-sm mg-r-5\"},[_c('span',{staticClass:\"avatar-initial rounded-circle bg-gray-600\"},[_vm._v(_vm._s(a.ext))])]),_c('div',{staticStyle:{\"max-width\":\"80%\"}},[_c('h6',{staticClass:\"tx-13 tx-inverse tx-semibold mg-b-0 text-truncate\"},[_vm._v(\" \"+_vm._s(a.title)+\" \")]),_c('span',{staticClass:\"d-block tx-11 text-muted\"},[_vm._v(_vm._s(_vm.getLessonName(a.lessonId)))])]),_c('div',{staticClass:\"mg-l-auto\"},[_c('a',[_c('feather',{attrs:{\"type\":\"arrow-right\"}})],1)])])}),0)])}),0)]),_c('b-modal',{attrs:{\"centered\":\"\",\"title\":_vm.attachDelete.obj.title,\"hide-footer\":\"\"},model:{value:(_vm.attachDelete.modal),callback:function ($$v) {_vm.$set(_vm.attachDelete, \"modal\", $$v)},expression:\"attachDelete.modal\"}},[(_vm.attachDelete.mode == 1)?_c('div',[_c('video',{attrs:{\"id\":\"video2\",\"width\":\"100%\",\"height\":\"240\",\"controls\":\"\"}})]):(_vm.attachDelete.mode == 2)?_c('div',{staticStyle:{\"max-width\":\"100%\",\"overflow\":\"auto\",\"height\":\"70vh\"}},[_c('img',{attrs:{\"id\":\"image2\"}})]):(_vm.attachDelete.mode == 3)?_c('div',[_c('iframe',{attrs:{\"src\":\"\",\"id\":\"pdf2\"}})]):(_vm.attachDelete.mode == 4)?_c('div'):_vm._e(),_c('div',{staticClass:\"btn-group text-center wd-100p mg-t-20\"},[_c('router-link',{staticClass:\"btn btn-primary\",attrs:{\"to\":{\n name: 'lmsCourseView',\n params: { id: _vm.attachDelete.obj.courseId, bid: 0, iid: 0, bot: 0 }\n }}},[_vm._v(\"Сургалтыг үзÑÑ…\")]),_c('button',{staticClass:\"btn btn-light\",on:{\"click\":function($event){_vm.attachDelete.modal = false}}},[_vm._v(\" Хаах \")]),_c('button',{staticClass:\"btn btn-danger\",on:{\"click\":function($event){return _vm.deleteAttachConfirm()}}},[_vm._v(\" УÑтгах \")])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div\n class=\"container lms-wrapper no-right-sidebar pd-x-0 pd-lg-x-10 pd-xl-x-0\"\n >\n <div class=\"lms-sidebar\">\n <div class=\"lms-sidebar-body\">\n <vue-custom-scrollbar :style=\"`height: ${scrollHeight.nav}px`\">\n <div :class=\"`card ${$store.state.app.isMobile ? 'bd-0' : ''}`\">\n <div class=\"card-body\">\n <student-nav @route-changed=\"toggleNavbar(false)\"></student-nav>\n </div>\n </div>\n </vue-custom-scrollbar>\n </div>\n </div>\n <div class=\"lms-content\">\n <div class=\"lms-content-body\">\n <div v-for=\"(c, i) in courses\" :key=\"`courses_${i}`\" class=\"mg-b-20\">\n <div class=\"d-flex align-items-center justify-content-between mg-b-2\">\n <h6 class=\"tx-13 tx-uppercase tx-semibold mg-b-0\">{{ c.name }}</h6>\n </div>\n <ul class=\"list-group wd-md-50p\">\n <li\n @click=\"deleteAttach(a)\"\n v-for=\"(a, ai) in attaches.filter(x => x.courseId == c.id)\"\n :key=\"ai\"\n class=\"list-group-item d-flex align-items-center\"\n >\n <div class=\"avatar avatar-sm mg-r-5\">\n <span class=\"avatar-initial rounded-circle bg-gray-600\">{{\n a.ext\n }}</span>\n </div>\n <div style=\"max-width: 80%\">\n <h6 class=\"tx-13 tx-inverse tx-semibold mg-b-0 text-truncate\">\n {{ a.title }}\n </h6>\n <span class=\"d-block tx-11 text-muted\">{{\n getLessonName(a.lessonId)\n }}</span>\n </div>\n <div class=\"mg-l-auto\">\n <a>\n <feather type=\"arrow-right\"></feather>\n </a>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </div>\n\n <b-modal\n v-model=\"attachDelete.modal\"\n centered\n :title=\"attachDelete.obj.title\"\n hide-footer\n >\n <div v-if=\"attachDelete.mode == 1\">\n <video id=\"video2\" width=\"100%\" height=\"240\" controls></video>\n </div>\n <div\n v-else-if=\"attachDelete.mode == 2\"\n style=\"max-width: 100%; overflow: auto; height: 70vh\"\n >\n <img id=\"image2\" />\n </div>\n <div v-else-if=\"attachDelete.mode == 3\">\n <!-- <div id=\"pdf2\" style=\"height: 70vh\"></div> -->\n <iframe src=\"\" id=\"pdf2\" />\n </div>\n <div v-else-if=\"attachDelete.mode == 4\"></div>\n\n <div class=\"btn-group text-center wd-100p mg-t-20\">\n <router-link\n :to=\"{\n name: 'lmsCourseView',\n params: { id: attachDelete.obj.courseId, bid: 0, iid: 0, bot: 0 }\n }\"\n class=\"btn btn-primary\"\n >Сургалтыг үзÑÑ…</router-link\n >\n <button @click=\"attachDelete.modal = false\" class=\"btn btn-light\">\n Хаах\n </button>\n <button @click=\"deleteAttachConfirm()\" class=\"btn btn-danger\">\n УÑтгах\n </button>\n </div>\n </b-modal>\n </div>\n</template>\n\n<script>\nimport AsyncLoadError from \"@/components/base/asyncLoadingError\";\nimport AsyncLoading from \"@/components/base/asyncLoading\";\nimport vueCustomScrollbar from \"vue-custom-scrollbar\";\n\nvar _ = require(\"lodash\");\n\nimport { getFileMode } from \"@/libs/tools\";\nimport { mapActions } from \"vuex\";\n\nimport PDFObject from \"pdfobject\";\n\nexport default {\n components: {\n vueCustomScrollbar,\n studentNav: () => ({\n component: import(\"@/views/modules/lms/student/components/nav.vue\"),\n loading: AsyncLoading,\n error: AsyncLoadError,\n delay: 100,\n timeout: 5000\n })\n },\n data() {\n return {\n PDFJS_URL: \"https://res.gosmart.mn/static/pdfobject/web/viewer.html\",\n\n scrollHeight: {\n contentToolbarHeight: 49,\n nav: 0,\n content: 0,\n right: 0\n },\n\n courses: [],\n lessons: [],\n attaches: [],\n\n attachDelete: {\n obj: {},\n mode: 0,\n modal: false\n },\n\n //FILESYSTEM\n fileSystem: null,\n fsType: window.PERSISTENT,\n fsSize: 10000 * 1024 * 1024\n };\n },\n mounted() {\n this.toggleBodyClass(\"addClass\", \"app-lms\");\n require(\"@/assets/css/dynamic.lms.css\");\n\n window.addEventListener(\"resize\", this.getWindowHeight);\n this.getWindowHeight();\n\n this.configure();\n },\n beforeDestroy() {\n window.removeEventListener(\"resize\", this.getWindowHeight);\n //this.toggleBodyClass(\"removeClass\", \"app-lms\");\n },\n destroyed() {\n window.removeEventListener(\"resize\", this.getWindowHeight);\n //this.toggleBodyClass(\"removeClass\", \"app-lms\");\n },\n methods: {\n ...mapActions([\"handleOfflineAttaches\"]),\n\n toggleBodyClass(addRemoveClass, className) {\n const el = document.body;\n\n if (addRemoveClass === \"addClass\") {\n el.classList.add(className);\n } else {\n el.classList.remove(className);\n }\n },\n toggleNavbar(shown) {\n if (this.navbarMode == 0) {\n this.navbarMode = 1;\n this.toggleBodyClass(\"addClass\", \"lms-sidebar-show\");\n } else if (this.navbarMode == 1) {\n if (shown) {\n this.toggleBodyClass(\"addClass\", \"navbar-nav-show\");\n } else {\n this.navbarMode = 0;\n this.toggleBodyClass(\"removeClass\", \"lms-sidebar-show\");\n }\n }\n },\n getWindowHeight() {\n let contentSub = 120;\n let navSub = 120;\n let rightSub = 120;\n if (screen.width <= 1024) {\n contentSub = 85;\n navSub = 85;\n rightSub = 85;\n }\n\n contentSub += this.scrollHeight.contentToolbarHeight;\n rightSub += this.scrollHeight.contentToolbarHeight;\n\n this.scrollHeight.content = window.innerHeight - contentSub;\n this.scrollHeight.nav = window.innerHeight - navSub;\n this.scrollHeight.right = window.innerHeight - rightSub;\n },\n configure() {\n if (\n this.$store.state.app.activeGroup.PDFJS_URL != undefined &&\n this.$store.state.app.activeGroup.PDFJS_URL != \"\"\n ) {\n this.PDFJS_URL = this.$store.state.app.activeGroup.PDFJS_URL;\n }\n\n this.init();\n },\n init() {\n let self = this;\n\n //FILESYSTEM\n window.requestFileSystem =\n window.requestFileSystem || window.webkitRequestFileSystem;\n window.storageInfo = window.storageInfo || window.webkitStorageInfo;\n\n window.storageInfo.requestQuota(\n self.fsType,\n self.fsSize,\n function(gb) {\n window.requestFileSystem(\n self.fsType,\n gb,\n function(fs) {\n //console.log('1=> ', fs);\n self.fileSystem = fs;\n },\n self.errorHandler\n );\n },\n self.errorHandler\n );\n\n let _courses = window.localStorage.getItem(\"off_courses\");\n if (_courses) {\n let _json = JSON.parse(_courses);\n this.courses = _json;\n }\n\n let _lessons = window.localStorage.getItem(\"off_lessons\");\n if (_lessons) {\n let _json = JSON.parse(_lessons);\n this.lessons = _json;\n }\n\n //let _lessons= window.localStorage.getItem('off_lessons');\n let _attaches = window.localStorage.getItem(\"off_files\");\n if (_attaches) {\n let _json = JSON.parse(_attaches);\n this.attaches = _.orderBy(_json, [\"lessonId\"], [\"desc\"]); //.forEach(value => {\n //console.log(value);\n //value.courseName='';\n // Object.assign(value, {\n // courseName: '',\n // lessonName: '',\n // });\n //});\n //console.log('2', this.attaches);\n }\n },\n getLessonName(lid) {\n let rv = \"\";\n if (this.lessons.filter(x => x.id == lid).length) {\n rv = this.lessons.filter(x => x.id == lid)[0].name;\n }\n return rv;\n },\n deleteAttach(a) {\n this.attachDelete.obj = a;\n this.readFile(a.id + \".\" + a.ext, true, a);\n if (getFileMode(a.ext) == \"video\") {\n this.attachDelete.mode = 1;\n } else if (getFileMode(a.ext) == \"image\") {\n this.attachDelete.mode = 2;\n } else if (getFileMode(a.ext) == \"pdfObject\") {\n this.attachDelete.mode = 3;\n }\n //console.log('this.attachDelete.mode', this.attachDelete.mode);\n this.attachDelete.modal = true;\n },\n readFile(path, success, attachment) {\n let self = this;\n //console.log(this.fileSystem.root)\n this.fileSystem.root.getFile(\n path,\n {},\n function(fileEntry) {\n fileEntry.file(function(file) {\n var reader = new FileReader();\n\n reader.onloadend = function(e) {\n if (success) {\n self.readAfter(this.result, attachment);\n }\n };\n reader.readAsArrayBuffer(file);\n }, self.errorHandler);\n },\n self.errorHandler\n );\n },\n\n readAfter(e, attachment) {\n if (attachment.ext == \"mp4\") {\n var blob = new Blob([e]);\n var video2 = document.getElementById(\"video2\");\n video2.src = URL.createObjectURL(blob);\n video2.load();\n video2.onloadeddata = function() {\n video2.play();\n };\n } else if (attachment.ext == \"pdf\") {\n //console.log(e);\n\n //var bloburl = window.URL.createObjectURL(new Blob(binaryData,{type: \"application/pdf\"})) ;\n\n var blob = new Blob([e], { type: \"application/pdf\" });\n var fileURL = window.URL.createObjectURL(blob, {\n type: \"application/pdf\"\n });\n\n var pdf2 = document.getElementById(\"pdf2\");\n window.open(fileURL);\n //pdf2.src = fileURL;\n\n //window.open(fileURL);\n var options = {\n pdfOpenParams: {\n pagemode: \"\",\n navpanes: 0,\n toolbar: 0,\n statusbar: 0,\n view: \"FitH\"\n },\n page: 1,\n forcePDFJS: true,\n PDFJS_URL: PDFJS_URL\n };\n this.$nextTick(() => {\n PDFObject.embed(fileURL, `#pdf2`, options);\n });\n } else {\n var fileURL = window.URL.createObjectURL(new Blob([e]));\n var image2 = document.getElementById(\"image2\");\n image2.src = fileURL;\n }\n },\n errorHandler(e) {\n var msg = \"\";\n //console.log('Error: ' + msg+' => '+ e);\n },\n deleteAttachConfirm() {\n let self = this;\n\n self.fileSystem.root.getFile(\n self.attachDelete.obj.id + \".\" + self.attachDelete.obj.ext,\n {},\n function(fileEntry1) {\n fileEntry1.remove(function() {\n self.deleteAttachAfter();\n });\n },\n function() {\n //if(self.existsEntryCount!=1){\n //self.onErrorDispAlert();\n //}\n }\n );\n },\n deleteAttachAfter() {\n let i = this.attaches.map(st => st.id).indexOf(this.attachDelete.obj.id);\n this.attaches.splice(i, 1);\n\n localStorage.setItem(\"off_files\", JSON.stringify(this.attaches));\n\n if (\n this.attaches.filter(x => x.lessonId == this.attachDelete.obj.lessonId)\n .length == 0\n ) {\n let ci = this.lessons\n .map(st => st.id)\n .indexOf(this.attachDelete.obj.lessonId);\n this.lessons.splice(ci, 1);\n localStorage.setItem(\"off_lessons\", JSON.stringify(this.lessons));\n }\n\n //console.log('this.courses.filter(x=>x.id==this.attachDelete.obj.courseId).length', this.attaches.filter(x=>x.courseId==this.attachDelete.obj.courseId).length);\n\n if (\n this.attaches.filter(x => x.courseId == this.attachDelete.obj.courseId)\n .length == 0\n ) {\n let ci = this.courses\n .map(st => st.id)\n .indexOf(this.attachDelete.obj.courseId);\n this.courses.splice(ci, 1);\n localStorage.setItem(\"off_courses\", JSON.stringify(this.courses));\n }\n this.handleOfflineAttaches();\n\n this.attachDelete.modal = false;\n }\n }\n};\n</script>\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!./offline.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!./offline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./offline.vue?vue&type=template&id=4f41baba\"\nimport script from \"./offline.vue?vue&type=script&lang=js\"\nexport * from \"./offline.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","import index from \"./offline.vue\";\nexport default index;\n"],"sourceRoot":""}