{"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":""}