{"version":3,"file":"js/app.cbdf1e2b.js","mappings":"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","sources":["webpack://bsu-schedule/./src/class/SearchAPI.js","webpack://bsu-schedule/./src/class/SystemUI.js","webpack://bsu-schedule/./src/App.vue?15ed","webpack://bsu-schedule/src/App.vue","webpack://bsu-schedule/./src/App.vue?facb","webpack://bsu-schedule/./src/App.vue","webpack://bsu-schedule/./src/registerServiceWorker.js","webpack://bsu-schedule/./src/views/Schedule.vue?12df","webpack://bsu-schedule/src/views/Schedule.vue","webpack://bsu-schedule/./src/views/Schedule.vue?ebb8","webpack://bsu-schedule/./src/views/Schedule.vue","webpack://bsu-schedule/./src/views/NotFound.vue?7ee0","webpack://bsu-schedule/src/views/NotFound.vue","webpack://bsu-schedule/./src/views/NotFound.vue?252d","webpack://bsu-schedule/./src/views/NotFound.vue","webpack://bsu-schedule/./src/views/LastRedirect.vue?08a8","webpack://bsu-schedule/src/views/LastRedirect.vue","webpack://bsu-schedule/./src/views/LastRedirect.vue?61b4","webpack://bsu-schedule/./src/views/LastRedirect.vue","webpack://bsu-schedule/./src/components/general/AboutPage.vue?d70d","webpack://bsu-schedule/src/components/general/AboutPage.vue","webpack://bsu-schedule/./src/components/general/AboutPage.vue?1b47","webpack://bsu-schedule/./src/components/general/AboutPage.vue","webpack://bsu-schedule/./src/router/index.js","webpack://bsu-schedule/./src/class/LocalStorageAPI.js","webpack://bsu-schedule/./src/store/index.js","webpack://bsu-schedule/./src/plugins/vuetify.js","webpack://bsu-schedule/./src/main.js","webpack://bsu-schedule/./src/parser/source/group/dto/day.js","webpack://bsu-schedule/./src/parser/source/group/help/day.js","webpack://bsu-schedule/./src/parser/source/group/dto/lesson.js","webpack://bsu-schedule/./src/parser/source/group/dto/content.js","webpack://bsu-schedule/./src/parser/source/group/help/lesson.js","webpack://bsu-schedule/./src/parser/source/group/help/content.js","webpack://bsu-schedule/./src/parser/source/group/help/header.js","webpack://bsu-schedule/./src/parser/source/group/group.js","webpack://bsu-schedule/./src/parser/source/teacher/help/header.js","webpack://bsu-schedule/./src/parser/source/teacher/dto/day.js","webpack://bsu-schedule/./src/parser/source/teacher/help/day.js","webpack://bsu-schedule/./src/parser/source/teacher/dto/lesson.js","webpack://bsu-schedule/./src/parser/source/teacher/dto/content.js","webpack://bsu-schedule/./src/parser/source/teacher/help/lesson.js","webpack://bsu-schedule/./src/parser/source/teacher/help/content.js","webpack://bsu-schedule/./src/parser/source/teacher/teacher.js","webpack://bsu-schedule/./src/parser/source/location/dto/day.js","webpack://bsu-schedule/./src/parser/source/location/help/day.js","webpack://bsu-schedule/./src/parser/source/location/dto/lesson.js","webpack://bsu-schedule/./src/parser/source/location/dto/content.js","webpack://bsu-schedule/./src/parser/source/location/help/lesson.js","webpack://bsu-schedule/./src/parser/source/location/help/content.js","webpack://bsu-schedule/./src/parser/source/location/help/header.js","webpack://bsu-schedule/./src/parser/source/location/location.js","webpack://bsu-schedule/./src/parser/source/search/help/group.js","webpack://bsu-schedule/./src/parser/source/search/help/teacher.js","webpack://bsu-schedule/./src/parser/source/search/help/location.js","webpack://bsu-schedule/./src/parser/source/search/search.js","webpack://bsu-schedule/./src/parser/parsers.js","webpack://bsu-schedule/./src/components/general/AppSettings.vue?6af7","webpack://bsu-schedule/src/components/general/AppSettings.vue","webpack://bsu-schedule/./src/components/general/AppSettings.vue?b6cd","webpack://bsu-schedule/./src/components/general/AppSettings.vue","webpack://bsu-schedule/./src/components/mobile/BottomSheet/BottomSheet.vue?76fa","webpack://bsu-schedule/src/components/mobile/BottomSheet/BottomSheet.vue","webpack://bsu-schedule/./src/components/mobile/BottomSheet/BottomSheet.vue?78d2","webpack://bsu-schedule/./src/components/mobile/BottomSheet/BottomSheet.vue","webpack://bsu-schedule/./src/components/mobile/NavBar/TheNavbarMobile.vue?1192","webpack://bsu-schedule/./src/components/mobile/NavBar/mainNavBarMobile.vue?243b","webpack://bsu-schedule/src/components/mobile/NavBar/mainNavBarMobile.vue","webpack://bsu-schedule/./src/components/mobile/NavBar/mainNavBarMobile.vue?a0ba","webpack://bsu-schedule/./src/components/mobile/NavBar/mainNavBarMobile.vue","webpack://bsu-schedule/./src/components/mobile/Favorite/TheFavorite.vue?3e01","webpack://bsu-schedule/./src/components/mobile/Favorite/AppFavoriteChip.vue?58aa","webpack://bsu-schedule/src/components/mobile/Favorite/AppFavoriteChip.vue","webpack://bsu-schedule/./src/components/mobile/Favorite/AppFavoriteChip.vue?a870","webpack://bsu-schedule/./src/components/mobile/Favorite/AppFavoriteChip.vue","webpack://bsu-schedule/src/components/mobile/Favorite/TheFavorite.vue","webpack://bsu-schedule/./src/components/mobile/Favorite/TheFavorite.vue?3a0c","webpack://bsu-schedule/./src/components/mobile/Favorite/TheFavorite.vue","webpack://bsu-schedule/src/components/mobile/NavBar/TheNavbarMobile.vue","webpack://bsu-schedule/./src/components/mobile/NavBar/TheNavbarMobile.vue?9588","webpack://bsu-schedule/./src/components/mobile/NavBar/TheNavbarMobile.vue","webpack://bsu-schedule/webpack/bootstrap","webpack://bsu-schedule/webpack/runtime/chunk loaded","webpack://bsu-schedule/webpack/runtime/compat get default export","webpack://bsu-schedule/webpack/runtime/define property getters","webpack://bsu-schedule/webpack/runtime/ensure chunk","webpack://bsu-schedule/webpack/runtime/get javascript chunk filename","webpack://bsu-schedule/webpack/runtime/get mini-css chunk filename","webpack://bsu-schedule/webpack/runtime/global","webpack://bsu-schedule/webpack/runtime/hasOwnProperty shorthand","webpack://bsu-schedule/webpack/runtime/load script","webpack://bsu-schedule/webpack/runtime/make namespace object","webpack://bsu-schedule/webpack/runtime/publicPath","webpack://bsu-schedule/webpack/runtime/css loading","webpack://bsu-schedule/webpack/runtime/jsonp chunk loading","webpack://bsu-schedule/webpack/startup"],"sourcesContent":["import Parsers from \"@/parser/parsers\";\r\n\r\nclass SearchAPI {\r\n TEXT = {\r\n notFound: \"Ничего не найдено :(\",\r\n need: \"Необходимо больше данных...\",\r\n loading: \"Идёт поиск...\",\r\n error: \"Не удалось выполнить поиск\",\r\n };\r\n\r\n controller = new AbortController();\r\n timeout = null;\r\n debounce = 500;\r\n Fetch = new Parsers();\r\n\r\n constructor() {}\r\n\r\n query({ query, setFunction }) {\r\n this.clear();\r\n if (!(typeof query == \"string\" && query)) {\r\n setFunction({ text: this.TEXT.need, result: [] });\r\n return;\r\n }\r\n if (query.trim().length < 3) {\r\n setFunction({ text: this.TEXT.need, result: [] });\r\n return;\r\n } else {\r\n setFunction({ text: this.TEXT.loading, result: [] });\r\n }\r\n\r\n //! Проверка на группу\r\n query = query.trim().toLowerCase();\r\n\r\n this.timeout = setTimeout(async () => {\r\n try {\r\n const data = await this.Fetch.fetchSearch({\r\n query: query,\r\n signal: this.controller.signal,\r\n });\r\n\r\n if (data.length == 0) {\r\n const d = 1;\r\n setFunction({ text: this.TEXT.notFound, result: [] });\r\n } else {\r\n setFunction({\r\n text: this.TEXT.loading,\r\n result: this.formResult(data),\r\n });\r\n }\r\n } catch (e) {\r\n if (e.name == \"AbortError\") {\r\n return;\r\n }\r\n\r\n setFunction({ text: this.TEXT.error, result: [] });\r\n }\r\n }, this.debounce);\r\n }\r\n\r\n clear() {\r\n this.controller.abort();\r\n this.controller = new AbortController();\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n }\r\n }\r\n\r\n formResult(data) {\r\n let result = [];\r\n data.forEach((entry) => {\r\n const obj = {};\r\n switch (entry.type) {\r\n case \"group\":\r\n obj.text = entry.content.id;\r\n obj.value = {\r\n type: entry.type,\r\n id: entry.content.id,\r\n label: obj.text,\r\n };\r\n break;\r\n case \"teacher\":\r\n obj.text = `${entry.content.Surname} ${entry.content.Name} ${entry.content.Middlename}`;\r\n obj.value = {\r\n type: entry.type,\r\n id: entry.content.id,\r\n label: obj.text,\r\n };\r\n break;\r\n case \"location\":\r\n obj.text = `${entry.content.aud} ${entry.content.corp}`;\r\n obj.value = {\r\n type: entry.type,\r\n id: entry.content.id,\r\n label: obj.text,\r\n };\r\n break;\r\n }\r\n result.push(obj);\r\n });\r\n return result;\r\n }\r\n\r\n async searchMobile(value) {\r\n if (value) {\r\n this.controller.abort();\r\n this.controller = new AbortController();\r\n this.search = [];\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n }\r\n\r\n if (value.trim().length < 3) {\r\n this.noDataText = \"Для поиска нужно более 2 символов\";\r\n } else {\r\n this.noDataText = \"Поиск...\";\r\n }\r\n\r\n this.timeout = setTimeout(async () => {\r\n const Fetch = new Parsers();\r\n\r\n const search = await Fetch.fetchSearch({\r\n query: value,\r\n signal: this.controller.signal,\r\n });\r\n if (search) {\r\n this.noDataText = \"Ничего не найдено :(\";\r\n }\r\n for (let i = 0; i < search.length && i < 10; i++) {\r\n const entry = search[i];\r\n const obj = {};\r\n switch (entry.type) {\r\n case \"group\":\r\n obj.text = entry.content.id;\r\n obj.value = {\r\n type: entry.type,\r\n id: entry.content.id,\r\n label: obj.text,\r\n };\r\n break;\r\n case \"teacher\":\r\n obj.text = `${entry.content.Surname} ${entry.content.Name} ${entry.content.Middlename}`;\r\n obj.value = {\r\n type: entry.type,\r\n id: entry.content.id,\r\n label: obj.text,\r\n };\r\n break;\r\n case \"location\":\r\n obj.text = `${entry.content.aud} ${entry.content.corp}`;\r\n obj.value = {\r\n type: entry.type,\r\n id: entry.content.id,\r\n label: obj.text,\r\n };\r\n break;\r\n default:\r\n continue;\r\n }\r\n this.search.push(obj);\r\n }\r\n }, this.debounce);\r\n }\r\n }\r\n}\r\n\r\nexport default new SearchAPI();\r\n","class SystemUI {\r\n dayRgb = [245, 245, 245];\r\n nightRgb = [39, 39, 39];\r\n bottomSheetRgb = [147, 147, 147];\r\n night = 0;\r\n targetNight = this.night;\r\n rate = 2.5 / 60;\r\n\r\n smooth(x) {\r\n return x < 0.5 ? 2 * x ** 2 : 1 - 2 * (1 - x) ** 2;\r\n }\r\n\r\n updateColour = () => {\r\n const colour = `rgb(${this.dayRgb.map(\r\n (day, i) => (this.nightRgb[i] - day) * this.smooth(this.night) + day\r\n )})`;\r\n themeColor.content = colour;\r\n document.body.style.backgroundColor = colour;\r\n if (this.night == this.targetNight) {\r\n // if (this.night == 0) {\r\n // //? Светлая тема\r\n\r\n // document\r\n // .querySelector(\"[name=apple-mobile-web-app-status-bar-style]\")\r\n // .setAttribute(\"content\", \"default\");\r\n // } else if (this.night == 1) {\r\n // //! Тёмная тема\r\n // document\r\n // .querySelector(\"[name=apple-mobile-web-app-status-bar-style]\")\r\n // .setAttribute(\"content\", \"black-transcluent\");\r\n // }\r\n return;\r\n }\r\n\r\n if (Math.abs(this.targetNight - this.night) < this.rate) {\r\n this.night = this.targetNight;\r\n } else {\r\n this.night += this.rate * (this.targetNight < this.night ? -1 : 1);\r\n }\r\n\r\n requestAnimationFrame(this.updateColour);\r\n };\r\n\r\n changeThemeAppBar() {\r\n this.targetNight = 1 - this.targetNight;\r\n this.updateColour();\r\n }\r\n\r\n overlayOnTheme(delay) {\r\n setTimeout(() => {\r\n const colour = `rgb(${this.bottomSheetRgb[0]},${this.bottomSheetRgb[1]},${this.bottomSheetRgb[2]})`;\r\n themeColor.content = colour;\r\n document.body.style.backgroundColor = colour;\r\n }, delay);\r\n }\r\n\r\n overlayOffTheme(delay) {\r\n setTimeout(() => {\r\n const colour = `rgb(${this.dayRgb[0]},${this.dayRgb[1]},${this.dayRgb[2]})`;\r\n themeColor.content = colour;\r\n document.body.style.backgroundColor = colour;\r\n }, delay);\r\n }\r\n\r\n constructor() {}\r\n}\r\n\r\nexport default new SystemUI();\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7847149a&\"\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/vue-loader-v15/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\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\ninstallComponents(component, {VApp})\n","/* eslint-disable no-console */\r\n\r\nimport { register } from \"register-service-worker\";\r\n\r\nif (process.env.NODE_ENV === \"production\") {\r\n register(`${process.env.BASE_URL}service-worker.js`, {\r\n ready() {},\r\n registered() {},\r\n cached() {},\r\n updatefound() {},\r\n updated() {},\r\n offline() {},\r\n error(error) {\r\n console.error(\"Error during service worker registration:\", error);\r\n },\r\n });\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"resize\",rawName:\"v-resize\",value:(_vm.onResize),expression:\"onResize\"}]},[(_vm.isMobile)?_c('div',{staticClass:\"navbar--mobile\"},[_c('nav-bar-mobile')],1):_vm._e(),(!_vm.isMobile)?_c('div',{staticClass:\"navigation--drawer--desktop\"},[_c('nav-drawer-desktop',{attrs:{\"dateRange\":_vm.dateRange,\"dateRangeLabel\":_vm.dateRangeLabel},on:{\"update:dateRange\":_vm.onDateRangeUpdate,\"date--set\":_vm.onDateRangeSet}})],1):_vm._e(),_c('v-main',{style:({ paddingLeft: _vm.isMobile ? '0px' : '400px' })},[(_vm.isMobile)?_c('v-container',{staticClass:\"schedule--mobile pa-2\"},[_c('schedule-head-mobile',{staticClass:\"mb-3\",attrs:{\"header\":_vm.header,\"loading\":_vm.isHeaderLoading,\"dateRange\":_vm.dateRange,\"dateRangeLabel\":_vm.dateRangeLabel,\"autoNextWeek\":_vm.autoNextWeek,\"type\":_vm.scheduleType},on:{\"update:dateRange\":_vm.onDateRangeUpdate,\"next--week\":_vm.nextWeek,\"back--week\":_vm.backWeek,\"date--set\":_vm.onDateRangeSet}}),_c('schedule-body-mobile',{attrs:{\"hasError\":_vm.hasError,\"loading\":_vm.isBodyLoading,\"body\":_vm.body,\"nowButton\":_vm.nowButtonVisible,\"type\":_vm.scheduleType}},[(_vm.body)?_c('div',[(_vm.body.length != 0)?_c('schedule-footer',{attrs:{\"loading\":_vm.isBodyLoading}}):_vm._e()],1):_vm._e()])],1):_vm._e(),(!_vm.isMobile)?_c('v-container',{staticClass:\"schedule--desktop pa-2 fix--width--schedule--desktop\"},[_c('schedule-header-desktop',{staticClass:\"mb-3\",attrs:{\"header\":_vm.header,\"loading\":_vm.isHeaderLoading,\"autoChange\":_vm.autoNextWeek,\"type\":_vm.scheduleType},on:{\"next--week\":_vm.nextWeek,\"back--week\":_vm.backWeek,\"update:dateRange\":_vm.onDateRangeUpdate,\"date--set\":_vm.onDateRangeSet}}),_c('schedule-body-desktop',{attrs:{\"hasError\":_vm.hasError,\"loading\":_vm.isBodyLoading,\"body\":_vm.body,\"nowButton\":_vm.nowButtonVisible,\"type\":_vm.scheduleType}},[(_vm.body)?_c('div',[(_vm.body.length != 0)?_c('schedule-footer',{attrs:{\"loading\":_vm.isBodyLoading}}):_vm._e()],1):_vm._e()])],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Schedule.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Schedule.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Schedule.vue?vue&type=template&id=72c21d12&\"\nimport script from \"./Schedule.vue?vue&type=script&lang=js&\"\nexport * from \"./Schedule.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Schedule.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VMain } from 'vuetify/lib/components/VMain';\ninstallComponents(component, {VContainer,VMain})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Resize from 'vuetify/lib/directives/resize'\ninstallDirectives(component, {Resize})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex fill-height justify-center align-center flex-column\"},[_c('div',{staticClass:\"text--404 text-h1\"},[_vm._v(\"404\")]),_c('div',{staticClass:\"text-button mb-10 text-center\"},[_vm._v(\" Хм... Похоже что-то пошло не так \")]),_c('v-btn',{attrs:{\"elevation\":\"2\"},on:{\"click\":function($event){return _vm.$router.push({ name: 'main' })}}},[_vm._v(\"Вернуться к расписанию\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=3d401cbf&scoped=true&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NotFound.vue?vue&type=style&index=0&id=3d401cbf&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d401cbf\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\")}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LastRedirect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LastRedirect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LastRedirect.vue?vue&type=template&id=68be82b5&\"\nimport script from \"./LastRedirect.vue?vue&type=script&lang=js&\"\nexport * from \"./LastRedirect.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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',[_c('v-parallax',{staticClass:\"mb-3\",attrs:{\"src\":\"img/kod.jpg\",\"height\":\"250\"}},[_c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"typing-demo-one mt-3 mb-3\"},[_vm._v(\"It's revolution, Johnny!\")])]),_c('div',{staticClass:\"d-flex justify-center align-center flex-column\"},[_c('v-img',{staticClass:\"elevation-5 rounded-circle\",attrs:{\"eager\":\"\",\"src\":\"img/icon.png\",\"width\":\"25%\",\"max-width\":\"100px\",\"alt\":\"Расписание\"}}),_c('div',{staticClass:\"text-h6 mt-2\"},[_vm._v(\"Расписание\")]),_c('div',{},[_vm._v(\"1.0.14\")])],1)]),_c('v-container',{staticClass:\"fix--about--container\"},[_c('v-expansion-panels',{staticClass:\"rounded-lg mb-3\"},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Актуальное расписание \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_vm._v(\" Первоисточником расписания является официальный сайт НИУ БелГУ. По этой причине расписание всегда будет актуальным! \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Поддержка всех типов расписания \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_vm._v(\" Расписание имеет полную поддержку расписаний групп, преподавателей и аудиторий. Навигация возможна с помощью поиска или кнопок перехода. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Переход в курс ПЕГАС \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_vm._v(\" В Расписание интегрирована возможность перехода в курсы дисциплин электронной системы НИУ БелГУ ПЕГАС. Поддерживается система множественных курсов ПЕГАС: их количество не отличается от количества на официальном сайте НИУ БелГУ. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Установка на любое устройство \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_vm._v(\" Расписание можно установить на любое устройство, поддерживающее технологию PWA. В рамках такой установки приложение появится на вашем главном экране и будет работать без окна браузера. Это очень удобно, ведь пропадает необходимость каждый раз заходить на сайт самостоятельно! \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Избранное \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_vm._v(\" Возможность удобно переключаться между частопосещаемыми группами / преподавателями / аудиториями может быть удобна для кураторов и работников университета. Избранное сохраняется в памяти устройства, поэтому не нужно каждый раз искать группу, преподавателя или аудиторию самостоятельно \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Адаптивный интерфейс \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_vm._v(\" Расписание сохраняет особенности интерфейса для различных платформ. Такой подход - гарант удобства пользователя. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Отображение текущего занятия в реальном времени \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_vm._v(\" Теперь нет необходимости каждый раз обновлять страницу! Расписание самостоятельно перерисует интерфейс и покажет текущее занятие. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Автоматическое переключение на следующую неделю \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_vm._v(\" Думаете в воскресенье о новой неделе? Расписание автоматически переключится на следующую неделю в этот день! Эту функцию можно отключить в настройках. \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Прокрутка до текущего занятия \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_vm._v(\" По нажатию кнопки в нижнем правом углу «Расписание» прокрутит страницу до текущего дня или занятия. Это очень удобно, ведь не нужно тратить время на поиски занятий! \")])],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"text-subtitle-1 font-weight-medium\"},[_vm._v(\" Наличие собственного Telegram-бота \")]),_c('v-expansion-panel-content',{staticClass:\"text-body-1 px-3\"},[_c('div',[_vm._v(\" Теперь имеется возможность посмотреть Расписание с помощью современного Telegram-бота. Бот \"),_c('a',{staticClass:\"text-decoration-none\",attrs:{\"href\":\"http://t.me/bsuedubot\"}},[_vm._v(\"@bsuedubot\")]),_vm._v(\" имеет полную поддержку всех видов расписаний! \")]),_c('div',{staticClass:\"d-flex justify-center mt-3\"},[_c('v-btn',{attrs:{\"color\":\"indigo\",\"dark\":\"\",\"href\":\"http://t.me/bsuedubot\",\"target\":\"_blank\"}},[_vm._v(\" Перейти к боту \")])],1)])],1)],1),_c('v-card',{staticClass:\"mb-3\"},[_c('v-toolbar',{attrs:{\"color\":\"indigo\",\"dark\":\"\",\"flat\":\"\"},scopedSlots:_vm._u([{key:\"extension\",fn:function(){return [_c('v-tabs',{attrs:{\"fixed-tabs\":\"\",\"slider-color\":\"indigo lighten-4\"},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v},expression:\"model\"}},[_c('v-tab',{attrs:{\"href\":\"#tab-1\"}},[_vm._v(\"Android\")]),_c('v-tab',{attrs:{\"href\":\"#tab-2\"}},[_vm._v(\"IOS\")]),_c('v-tab',{attrs:{\"href\":\"#tab-3\"}},[_vm._v(\"ПК\")])],1)]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(\"Как установить?\")])],1),_c('v-tabs-items',{attrs:{\"touchless\":false},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v},expression:\"model\"}},[_c('v-tab-item',{attrs:{\"value\":\"tab-1\"}},[_c('v-stepper',{attrs:{\"vertical\":\"\"},model:{value:(_vm.android),callback:function ($$v) {_vm.android=$$v},expression:\"android\"}},[_c('v-stepper-step',{attrs:{\"complete\":_vm.android > 1,\"step\":\"1\"}},[_vm._v(\" Скачайте приложение \\\"Расписание\\\" на своё устройство \")]),_c('v-stepper-content',{attrs:{\"step\":\"1\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 rounded-circle my-4\",attrs:{\"src\":\"img/icon.png\",\"eager\":\"\",\"width\":\"40%\",\"max-width\":\"150\",\"alt\":\"Расписание\"}}),_c('v-btn',{staticClass:\"my-2\",attrs:{\"color\":\"indigo\",\"dark\":\"\",\"href\":(\"/file/\" + _vm.getNameAPK)}},[_vm._v(\" Скачать \")])],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.android = 2}}},[_vm._v(\" Далее \")])],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.android > 2,\"step\":\"2\"}},[_vm._v(\" Выполните установку \")]),_c('v-stepper-content',{attrs:{\"step\":\"2\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"eager\":\"\",\"src\":\"img/android-step-2.jpg\",\"width\":\"40%\",\"min-width\":\"150\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.android = 3}}},[_vm._v(\" Далее \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.android = _vm.android - 1}}},[_vm._v(\" Назад \")])],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.android > 3,\"step\":\"3\"}},[_vm._v(\" Теперь приложение доступно на рабочем столе \")]),_c('v-stepper-content',{attrs:{\"step\":\"3\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"src\":\"img/android-step-3.jpg\",\"width\":\"20%\",\"eager\":\"\",\"min-width\":\"150\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.android = 1}}},[_vm._v(\" В начало \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.android = _vm.android - 1}}},[_vm._v(\" Назад \")])],1)],1)],1),_c('v-tab-item',{attrs:{\"value\":\"tab-2\"}},[_c('v-stepper',{attrs:{\"vertical\":\"\"},model:{value:(_vm.ios),callback:function ($$v) {_vm.ios=$$v},expression:\"ios\"}},[_c('v-stepper-step',{attrs:{\"complete\":_vm.ios > 1,\"step\":\"1\"}},[_vm._v(\" Откройте главную страницу \\\"Расписание\\\" в Safari \")]),_c('v-stepper-content',{attrs:{\"step\":\"1\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-btn',{staticClass:\"my-2\",attrs:{\"color\":\"indigo\",\"dark\":\"\",\"href\":\"/\",\"target\":\"_blank\"}},[_vm._v(\" beluni.ru \")])],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.ios = 2}}},[_vm._v(\" Далее \")])],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.ios > 2,\"step\":\"2\"}},[_vm._v(\" Перейдите в полную версию браузера \")]),_c('v-stepper-content',{attrs:{\"step\":\"2\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"eager\":\"\",\"src\":\"img/ios-step-1.jpg\",\"width\":\"40%\",\"min-width\":\"210\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.ios = 3}}},[_vm._v(\" Далее \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.ios = _vm.ios - 1}}},[_vm._v(\" Назад \")])],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.ios > 3,\"step\":\"3\"}},[_vm._v(\" Нажмите \\\"Поделиться\\\" \")]),_c('v-stepper-content',{attrs:{\"step\":\"3\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"eager\":\"\",\"src\":\"img/ios-step-2.jpg\",\"width\":\"40%\",\"min-width\":\"210\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.ios = 4}}},[_vm._v(\" Далее \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.ios = _vm.ios - 1}}},[_vm._v(\" Назад \")])],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.ios > 4,\"step\":\"4\"}},[_vm._v(\" Нажмите \\\"На экран Домой\\\" \")]),_c('v-stepper-content',{attrs:{\"step\":\"4\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"src\":\"img/ios-step-3.jpg\",\"eager\":\"\",\"width\":\"40%\",\"min-width\":\"210\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.ios = 5}}},[_vm._v(\" Далее \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.ios = _vm.ios - 1}}},[_vm._v(\" Назад \")])],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.ios > 5,\"step\":\"5\"}},[_vm._v(\" Добавьте приложение на рабочий стол \")]),_c('v-stepper-content',{attrs:{\"step\":\"5\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"src\":\"img/ios-step-4.jpg\",\"eager\":\"\",\"width\":\"40%\",\"min-width\":\"210\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.ios = 6}}},[_vm._v(\" Далее \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.ios = _vm.ios - 1}}},[_vm._v(\" Назад \")])],1),_c('v-stepper-step',{attrs:{\"step\":\"6\"}},[_vm._v(\" Теперь приложение появилось на главном экране \")]),_c('v-stepper-content',{attrs:{\"step\":\"6\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"src\":\"img/ios-step-5.jpg\",\"eager\":\"\",\"width\":\"40%\",\"min-width\":\"130\",\"max-width\":\"200\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.ios = 1}}},[_vm._v(\" В начало \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.ios = _vm.ios - 1}}},[_vm._v(\" Назад \")])],1)],1)],1),_c('v-tab-item',{attrs:{\"value\":\"tab-3\"}},[_c('v-stepper',{attrs:{\"vertical\":\"\"},model:{value:(_vm.pc),callback:function ($$v) {_vm.pc=$$v},expression:\"pc\"}},[_c('v-stepper-step',{attrs:{\"complete\":_vm.pc > 1,\"step\":\"1\"}},[_vm._v(\" Откройте главную страницу \\\"Расписание\\\" в браузере \")]),_c('v-stepper-content',{attrs:{\"step\":\"1\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-btn',{staticClass:\"my-2\",attrs:{\"color\":\"indigo\",\"dark\":\"\",\"href\":\"/\",\"target\":\"_blank\"}},[_vm._v(\" beluni.ru \")])],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.pc = 2}}},[_vm._v(\" Далее \")])],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.pc > 2,\"step\":\"2\"}},[_vm._v(\" Нажмите \\\"Установить\\\" \")]),_c('v-stepper-content',{attrs:{\"step\":\"2\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"eager\":\"\",\"src\":\"img/pc-step-2.jpg\",\"width\":\"40%\",\"min-width\":\"210\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.pc = 3}}},[_vm._v(\" Далее \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.pc = _vm.pc - 1}}},[_vm._v(\" Назад \")])],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.pc > 3,\"step\":\"3\"}},[_vm._v(\" Установите приложение \")]),_c('v-stepper-content',{attrs:{\"step\":\"3\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"src\":\"img/pc-step-3.jpg\",\"eager\":\"\",\"width\":\"40%\",\"min-width\":\"210\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.pc = 4}}},[_vm._v(\" Далее \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.pc = _vm.pc - 1}}},[_vm._v(\" Назад \")])],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.pc > 4,\"step\":\"4\"}},[_vm._v(\" Теперь приложение доступно на рабочем столе \")]),_c('v-stepper-content',{attrs:{\"step\":\"4\"}},[_c('div',{staticClass:\"mb-6 d-flex align-center justify-center flex-column\",attrs:{\"elevation\":\"0\"}},[_c('v-img',{staticClass:\"elevation-5 my-2\",attrs:{\"src\":\"img/pc-step-4.jpg\",\"eager\":\"\",\"width\":\"40%\",\"min-width\":\"150\",\"max-width\":\"200\",\"alt\":\"Расписание\"}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.pc = 1}}},[_vm._v(\" В начало \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.pc = _vm.pc - 1}}},[_vm._v(\" Назад \")])],1)],1)],1)],1)],1),_c('v-card',{staticClass:\"mb-3 elevation-2\",attrs:{\"dark\":\"\",\"color\":\"indigo\"}},[_c('v-card-title',{staticClass:\"py-1 justify-center\"},[_vm._v(\"Автор проекта\")])],1),_c('v-card',{staticClass:\"rounded-lg d-flex justify-space-around flex-column align-center mb-3\"},[_c('v-avatar',{staticClass:\"ma-3\",attrs:{\"size\":\"150\"}},[_c('v-img',{attrs:{\"src\":\"/img/author.jpg\",\"eager\":\"\"}})],1),_c('div',{staticClass:\"text-h5\"},[_vm._v(\"Антон Дахин\")]),_c('div',{staticClass:\"my-4\"},[_c('v-btn',{attrs:{\"color\":\"#0077FF\",\"dark\":\"\",\"href\":\"https://vk.com/a_d_elec\",\"target\":\"_blank\"}},[_vm._v(\" VK \")])],1)],1),_c('v-card',{staticClass:\"mb-3 elevation-2\",attrs:{\"dark\":\"\",\"color\":\"indigo\"}},[_c('v-card-title',{staticClass:\"py-1 justify-center\"},[_vm._v(\"Отдельное спасибо\")])],1),_c('v-card',{staticClass:\"rounded-lg d-flex justify-space-around flex-column align-center mb-3\"},[_c('v-avatar',{staticClass:\"ma-3\",attrs:{\"size\":\"150\",\"id\":\"1337\"}},[_c('div',{staticClass:\"grey lighten-2 undefined--fix d-flex align-center justify-center\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"indigo\"}})],1)]),_c('div',{staticClass:\"text-h5\"},[_vm._v(\"undefined\")]),_c('div',{staticClass:\"text-caption text-center mt-3\"},[_c('div',[_vm._v(\"Помощь с кодом\")]),_c('div',[_vm._v(\"Тестирование\")]),_c('div',[_vm._v(\"Умный proxy\")]),_c('div',[_vm._v(\"Быстрый фидбек\")])]),_c('div',{staticClass:\"my-4\"},[_c('v-btn',{attrs:{\"color\":\"#0077FF\",\"disabled\":\"\",\"href\":\"1337\",\"target\":\"_blank\"}},[_vm._v(\" Нет данных \")])],1)],1),_c('v-card',{staticClass:\"rounded-lg d-flex justify-space-around flex-column align-center mb-3\"},[_c('v-avatar',{staticClass:\"ma-3\",attrs:{\"size\":\"150\"}},[_c('v-img',{attrs:{\"src\":\"/img/thanks2.jpg\",\"eager\":\"\"}})],1),_c('div',{staticClass:\"text-h5\"},[_vm._v(\"Vitaly Taran\")]),_c('div',{staticClass:\"text-caption text-center mt-3\"},[_c('div',[_vm._v(\"Помощь с размещением\")]),_c('div',[_vm._v(\"Тестирование\")]),_c('div',[_vm._v(\"Создание Telegram-бота\")])]),_c('div',{staticClass:\"my-4\"},[_c('v-btn',{attrs:{\"color\":\"#0077FF\",\"dark\":\"\",\"href\":\"https://vk.com/vooforx\",\"target\":\"_blank\"}},[_vm._v(\" VK \")])],1)],1),_c('v-card',{staticClass:\"rounded-lg d-flex justify-space-around flex-column align-center mb-3\"},[_c('v-avatar',{staticClass:\"ma-3\",attrs:{\"size\":\"150\"}},[_c('v-img',{attrs:{\"src\":\"/img/thanks3.jpg\",\"eager\":\"\"}})],1),_c('div',{staticClass:\"text-h5\"},[_vm._v(\"Мария Ходячих\")]),_c('div',{staticClass:\"text-caption text-center mt-3\"},[_c('div',[_vm._v(\"Создание иконки\")]),_c('div',[_vm._v(\"Разработка адаптивного интерфейса\")]),_c('div',[_vm._v(\"Тестирование\")])]),_c('div',{staticClass:\"my-4\"},[_c('v-btn',{attrs:{\"color\":\"#0077FF\",\"dark\":\"\",\"href\":\"https://vk.com/m_h_411\",\"target\":\"_blank\"}},[_vm._v(\" VK \")])],1)],1),_c('v-card',{staticClass:\"rounded-lg d-flex justify-space-around flex-column align-center mb-3\"},[_c('v-avatar',{staticClass:\"ma-3\",attrs:{\"size\":\"150\"}},[_c('v-img',{attrs:{\"src\":\"/img/thanks4.jpg\",\"eager\":\"\"}})],1),_c('div',{staticClass:\"text-h5\"},[_vm._v(\"Даниил Щербаков\")]),_c('div',{staticClass:\"text-caption text-center mt-3\"},[_c('div',[_vm._v(\"Помощь с кодом\")]),_c('div',[_vm._v(\"Новые идеи в проект\")])]),_c('div',{staticClass:\"my-4\"},[_c('v-btn',{attrs:{\"color\":\"#0077FF\",\"dark\":\"\",\"href\":\"https://vk.com/kurkulio\",\"target\":\"_blank\"}},[_vm._v(\" VK \")])],1)],1),_c('v-card',{staticClass:\"rounded-lg d-flex justify-space-around flex-column align-center mb-3 pa-7\"},[_c('div',{staticClass:\"text-h6 text-center\"},[_vm._v(\" И всем тем, кто помогал c тестированием приложения на различных устройствах! \")])])],1),_c('v-parallax',{attrs:{\"src\":\"img/kod.jpg\",\"height\":\"200\"}},[_c('v-lazy',[_c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"typing-demo-two mt-3 mb-3\"},[_vm._v(\"Приятного использования!\")])])]),_c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"my-4\"},[_c('router-link',{attrs:{\"to\":{ name: 'main' },\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar navigate = ref.navigate;\nvar href = ref.href;\nreturn [_c('v-btn',{attrs:{\"elevation\":\"2\",\"href\":href},on:{\"click\":navigate}},[_vm._v(\"К расписанию\")])]}}])})],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AboutPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AboutPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AboutPage.vue?vue&type=template&id=d0acde1a&scoped=true&\"\nimport script from \"./AboutPage.vue?vue&type=script&lang=js&\"\nexport * from \"./AboutPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AboutPage.vue?vue&type=style&index=0&id=d0acde1a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d0acde1a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VLazy } from 'vuetify/lib/components/VLazy';\nimport { VParallax } from 'vuetify/lib/components/VParallax';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VStepper } from 'vuetify/lib/components/VStepper';\nimport { VStepperContent } from 'vuetify/lib/components/VStepper';\nimport { VStepperStep } from 'vuetify/lib/components/VStepper';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAvatar,VBtn,VCard,VCardTitle,VContainer,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VImg,VLazy,VParallax,VProgressCircular,VStepper,VStepperContent,VStepperStep,VTab,VTabItem,VTabs,VTabsItems,VToolbar,VToolbarTitle})\n","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\n\r\nimport Schedule from \"@/views/Schedule.vue\";\r\nimport NotFound from \"@/views/NotFound.vue\";\r\nimport Last from \"@/views/LastRedirect.vue\";\r\nimport About from \"@/components/general/AboutPage.vue\";\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n {\r\n path: \"/\",\r\n name: \"main\",\r\n component: Last,\r\n },\r\n {\r\n path: \"/welcome\",\r\n name: \"welcome\",\r\n component: Schedule,\r\n },\r\n {\r\n path: \"/g/:id(\\\\d{6,})\",\r\n name: \"group\",\r\n component: Schedule,\r\n },\r\n {\r\n path: \"/t/:id(\\\\d+)\",\r\n name: \"teacher\",\r\n component: Schedule,\r\n },\r\n {\r\n path: \"/a/:id(\\\\d+)\",\r\n name: \"location\",\r\n component: Schedule,\r\n },\r\n {\r\n path: \"/about\",\r\n name: \"about\",\r\n component: About,\r\n },\r\n {\r\n path: \"/404\",\r\n name: \"notFound\",\r\n component: NotFound,\r\n },\r\n {\r\n path: \"*\",\r\n name: \"notFoundv2\",\r\n component: NotFound,\r\n },\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes,\r\n});\r\n\r\nexport default router;\r\n","const LAST_NAME = \"last\";\r\nconst FAVORITE_NAME = \"favorite\";\r\nconst SETTINGS_NAME = \"settings\";\r\nconst WELCOME_TYPE_NAME = \"welcome\";\r\n\r\nconst DEFAULT_LAST = {\r\n type: WELCOME_TYPE_NAME,\r\n};\r\nconst DEFAULT_FAVORITE = [];\r\nconst DEFAULT_SETTINGS = {\r\n dark: false,\r\n autoNextWeek: true,\r\n weakDesktop: false,\r\n};\r\n\r\nclass LocalStorageAPI {\r\n LS = null;\r\n\r\n constructor() {\r\n this.LS = localStorage;\r\n\r\n if (this.check) {\r\n localStorage.setItem(LAST_NAME, JSON.stringify(DEFAULT_LAST));\r\n localStorage.setItem(FAVORITE_NAME, JSON.stringify(DEFAULT_FAVORITE));\r\n localStorage.setItem(SETTINGS_NAME, JSON.stringify(DEFAULT_SETTINGS));\r\n }\r\n }\r\n\r\n _setLastDefault() {\r\n localStorage.setItem(LAST_NAME, JSON.stringify(DEFAULT_LAST));\r\n }\r\n\r\n _setFavoriteDefault() {\r\n localStorage.setItem(FAVORITE_NAME, JSON.stringify(DEFAULT_FAVORITE));\r\n }\r\n\r\n _setSettingsDefault() {\r\n localStorage.setItem(SETTINGS_NAME, JSON.stringify(DEFAULT_SETTINGS));\r\n }\r\n\r\n get last() {\r\n try {\r\n const data = JSON.parse(this.LS.last);\r\n let result = null;\r\n if (data.type && data.id) {\r\n result = {\r\n type: data.type,\r\n id: data.id,\r\n };\r\n } else {\r\n result = DEFAULT_LAST;\r\n }\r\n return result;\r\n } catch (e) {\r\n this._setLastDefault();\r\n return DEFAULT_LAST;\r\n }\r\n }\r\n\r\n set last(value) {\r\n localStorage.setItem(LAST_NAME, JSON.stringify(value));\r\n }\r\n\r\n get favorite() {\r\n try {\r\n const data = JSON.parse(this.LS.favorite);\r\n let result = [];\r\n if (Array.isArray(data)) {\r\n result = data.filter((fav) => {\r\n return (\r\n fav.hasOwnProperty(\"id\") &&\r\n fav.hasOwnProperty(\"label\") &&\r\n fav.hasOwnProperty(\"type\")\r\n );\r\n });\r\n }\r\n return result;\r\n } catch (e) {\r\n this._setFavoriteDefault();\r\n return DEFAULT_FAVORITE;\r\n }\r\n }\r\n\r\n set favorite(value) {\r\n localStorage.setItem(FAVORITE_NAME, JSON.stringify(value));\r\n }\r\n\r\n get settings() {\r\n try {\r\n const data = JSON.parse(this.LS.settings);\r\n return {\r\n dark:\r\n \"dark\" in data && typeof data.dark == \"boolean\"\r\n ? data.dark\r\n : DEFAULT_SETTINGS.dark,\r\n autoNextWeek:\r\n \"autoNextWeek\" in data && typeof data.autoNextWeek == \"boolean\"\r\n ? data.autoNextWeek\r\n : DEFAULT_SETTINGS.autoNextWeek,\r\n weakDesktop:\r\n \"weakDesktop\" in data && typeof data.weakDesktop == \"boolean\"\r\n ? data.weakDesktop\r\n : DEFAULT_SETTINGS.weakDesktop,\r\n };\r\n } catch (e) {\r\n this._setSettingsDefault();\r\n return DEFAULT_SETTINGS;\r\n }\r\n }\r\n\r\n set settings(value) {\r\n localStorage.setItem(SETTINGS_NAME, JSON.stringify(value));\r\n }\r\n\r\n get check() {\r\n return this.LS.length < 3;\r\n }\r\n}\r\n\r\nexport default new LocalStorageAPI();\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport LSAPI from \"@/class/LocalStorageAPI.js\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n last: {},\r\n favorite: [],\r\n settings: {},\r\n isMobileSearch: false,\r\n },\r\n getters: {\r\n getLast(state) {\r\n return state.last;\r\n },\r\n getFavorite(state) {\r\n return state.favorite;\r\n },\r\n getSettings(state) {\r\n return state.settings;\r\n },\r\n getMobileSearch(state) {\r\n return state.isMobileSearch;\r\n },\r\n },\r\n mutations: {\r\n INIT(state) {\r\n state.last = LSAPI.last;\r\n state.favorite = LSAPI.favorite;\r\n state.settings = LSAPI.settings;\r\n },\r\n\r\n SET_LAST(state, { type, id }) {\r\n if (state.last.type == type && state.last.id == id) return;\r\n\r\n LSAPI.last = { type, id };\r\n state.last = { type, id };\r\n },\r\n\r\n ADD_FAVORITE(state, { type, id, label }) {\r\n if (type && id && label) {\r\n state.favorite.push({ type, id, label });\r\n LSAPI.favorite = state.favorite;\r\n }\r\n },\r\n\r\n REMOVE_FAVORITE(state, { type, id }) {\r\n if (type && id) {\r\n state.favorite = state.favorite.filter((fav) => {\r\n return !(fav.id == id && fav.type == type);\r\n });\r\n LSAPI.favorite = state.favorite;\r\n }\r\n },\r\n\r\n dark(state, value) {\r\n state.settings.dark = value;\r\n LSAPI.settings = state.settings;\r\n },\r\n\r\n autoNextWeek(state, value) {\r\n state.settings.autoNextWeek = value;\r\n LSAPI.settings = state.settings;\r\n },\r\n weakDesktop(state, value) {\r\n state.settings.weakDesktop = value;\r\n LSAPI.settings = state.settings;\r\n },\r\n weakMobile(state, value) {\r\n state.settings.weakMobile = value;\r\n LSAPI.settings = state.settings;\r\n },\r\n\r\n setMobileSearch(state, value) {\r\n state.isMobileSearch = value;\r\n },\r\n },\r\n actions: {},\r\n modules: {},\r\n});\r\n","import Vue from \"vue\";\r\nimport Vuetify from \"vuetify/lib/framework\";\r\n\r\nVue.use(Vuetify);\r\n\r\nexport default new Vuetify({\r\n theme: { dark: false },\r\n});\r\n","import \"@fontsource/roboto/100.css\";\r\nimport \"@fontsource/roboto/300.css\";\r\nimport \"@fontsource/roboto/400.css\";\r\nimport \"@fontsource/roboto/500.css\";\r\nimport \"@fontsource/roboto/700.css\";\r\nimport \"@fontsource/roboto/900.css\";\r\nimport '@mdi/font/css/materialdesignicons.css' // Ensure you are using css-loader\r\nimport Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport \"./registerServiceWorker\";\r\nimport router from \"./router\";\r\nimport store from \"./store\";\r\nimport vuetify from \"./plugins/vuetify\";\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n vuetify,\r\n render: (h) => h(App),\r\n}).$mount(\"#app\");\r\n","export default class Day {\r\n date = \"\";\r\n dayWeek = \"\";\r\n\r\n constructor() {}\r\n\r\n get object() {\r\n //? Получение объекта дня\r\n if (!this.check) {\r\n console.error('Объекта \"День\" получен без ключевых свойств');\r\n }\r\n return {\r\n date: this.date,\r\n dayWeek: this.dayWeek,\r\n today: false,\r\n lessons: [],\r\n };\r\n }\r\n\r\n get check() {\r\n return this.date && this.dayWeek;\r\n }\r\n}\r\n","import Day from \"@/parser/source/group/dto/day.js\";\r\n\r\nexport default class dayParser {\r\n $ = null;\r\n Day = new Day();\r\n constructor(mainNode) {\r\n this.$ = mainNode;\r\n }\r\n\r\n parse() {\r\n const dateDay = this.$.textContent.trim().split(\" \"); //? ['14.03.2022', 'Понедельник']\r\n this.Day.date = dateDay[0];\r\n this.Day.dayWeek = dateDay[1];\r\n return this.Day;\r\n }\r\n}\r\n","import Content from \"./content\";\r\n\r\nexport default class Lesson {\r\n number = 0;\r\n startTime = \"\";\r\n endTime = \"\";\r\n content = [];\r\n\r\n constructor() {}\r\n\r\n get object() {\r\n //? Получение объекта дня\r\n if (!this.check) {\r\n console.error('Объекта \"Занятие\" получен без ключевых свойств');\r\n }\r\n return {\r\n number: this.number,\r\n startTime: this.startTime,\r\n endTime: this.endTime,\r\n content: this.content,\r\n isNow: false,\r\n isToday: false,\r\n };\r\n }\r\n\r\n get check() {\r\n return this.number && this.startTime && this.endTime;\r\n }\r\n\r\n addContent(Content) {\r\n this.content.push(Content.object);\r\n }\r\n}\r\n","export default class Content {\r\n type = \"\";\r\n subgroup = undefined;\r\n name = \"\";\r\n subname = \"\";\r\n online = undefined;\r\n teacherName = \"\";\r\n teacherSurname = \"\";\r\n teacherMiddlename = \"\";\r\n teacherPost = \"\";\r\n teacherId = 0;\r\n teacherPromt = 0;\r\n locationAud = \"\";\r\n locationCorp = \"\";\r\n locationId = \"\";\r\n locationPromt = \"\";\r\n locationSpecific = \"\";\r\n links = [];\r\n\r\n constructor(type) {}\r\n\r\n get object() {\r\n //? Получение объекта дня\r\n if (!this.check) {\r\n console.error('Объекта \"Контент\" получен без ключевых свойств');\r\n }\r\n return {\r\n type: this.type,\r\n subgroup: this.subgroup,\r\n name: this.name,\r\n subname: this.subname,\r\n online: this.online,\r\n links: this.links,\r\n teacher: {\r\n surname: this.teacherSurname,\r\n name: this.teacherName,\r\n middlename: this.teacherMiddlename,\r\n post: this.teacherPost,\r\n id: this.teacherId,\r\n promt: this.teacherPromt,\r\n },\r\n location: {\r\n aud: this.locationAud,\r\n corp: this.locationCorp,\r\n id: this.locationId,\r\n prompt: this.locationPromt,\r\n specific: this.locationSpecific,\r\n },\r\n };\r\n }\r\n\r\n get check() {\r\n return this.type && this.name;\r\n }\r\n\r\n addLink(name, href) {\r\n this.links.push({\r\n name,\r\n href,\r\n });\r\n }\r\n}\r\n","import Lesson from \"@/parser/source/group/dto/lesson\";\r\nimport Content from \"@/parser/source/group/dto/content\";\r\n\r\nexport default class lessonParser {\r\n $ = null;\r\n Lesson = new Lesson();\r\n Content = new Content();\r\n re =\r\n /^(\\(.*?[^\\(]*\\))?\\s?((?:.*(?=\\s\\(Э))|(?:.*(?=\\s\\(с))|.*)\\s?(?:\\(Э.*(?=\\())?(\\(с видеотрансляцией\\))?.*$/;\r\n\r\n constructor(mainNode) {\r\n this.$ = mainNode.cells;\r\n }\r\n\r\n parse() {\r\n this.numberParser(this.$.num);\r\n this.timeParser(this.$.time);\r\n this.typeParse(this.$[2]); //? Ну кто делает ID одинаковым на двух элементах строки таблицы??? ((((\r\n this.nameParse(this.$[3]);\r\n this.teacherParse(this.$.teacher);\r\n this.locationParse(this.$.aud);\r\n\r\n this.Lesson.addContent(this.Content);\r\n return this.Lesson;\r\n }\r\n\r\n numberParser(node) {\r\n const temp = node.textContent.trim().split(\" \");\r\n this.Lesson.number = temp[0];\r\n }\r\n\r\n timeParser(node) {\r\n const temp = node.textContent.trim().split(\" \");\r\n this.Lesson.startTime = temp[0];\r\n this.Lesson.endTime = temp[2];\r\n }\r\n\r\n typeParse(node) {\r\n const temp = node.textContent.trim();\r\n //TODO Место для измененя названия типа занятия (может как-то в будущем)\r\n this.Content.type = temp;\r\n }\r\n\r\n nameParse(node) {\r\n const name = node.textContent.replace(/\\s+/g, \" \").trim();\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n\r\n let m = null;\r\n m = this.re.exec(name);\r\n if (m !== null) {\r\n this.Content.subgroup = m[1]\r\n ? m[1]\r\n .replace(\"(\", \"\")\r\n .replace(\")\", \"\")\r\n .replace(\"п/г \", \"\")\r\n .replace(\"подгруппа\", \"п/г\")\r\n .replace(\"русский язык как иностранный\", \"рус. яз.\")\r\n .replace(\"русский язык как иностанный\", \"рус. яз.\")\r\n .replace(\"иностранный язык\", \"ин. яз.\")\r\n .replace(\"немецкий язык\", \"нем. яз.\")\r\n : \"\";\r\n this.Content.subname = m[3] ? m[3] : \"\";\r\n this.Content.name = m[2] ? m[2] : \"\";\r\n // (m[3] ? ' ' + m[3] + \"\" : \"\");\r\n } else {\r\n this.Content.name = name;\r\n }\r\n \r\n let href = node.querySelector(\"#lesson > a\");\r\n if (href) {\r\n this.Content.addLink(\"В курс\", href.href);\r\n }\r\n for (let href of node.querySelectorAll(\"#lesson > small > a\")) {\r\n this.Content.addLink(href.textContent, href.href);\r\n }\r\n }\r\n\r\n teacherParse(node) {\r\n this.Content.teacherPost = node.querySelector(\"small\").textContent.trim();\r\n\r\n const aTeacher = node.querySelector(\"a\");\r\n\r\n const FullTeacherNameArray = aTeacher.textContent.trim().split(\" \");\r\n\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n\r\n this.Content.teacherSurname = FullTeacherNameArray[0];\r\n this.Content.teacherName =\r\n FullTeacherNameArray.length > 2 ? FullTeacherNameArray[1] : \"\";\r\n\r\n this.Content.teacherMiddlename =\r\n FullTeacherNameArray.length == 3 ? FullTeacherNameArray[2] : \"\";\r\n this.Content.teacherPromt = node.querySelector(\"img\").title.trim();\r\n this.Content.teacherId = +aTeacher.href.split(\"=\")[1];\r\n }\r\n\r\n locationParse(node) {\r\n const aLocation = node.querySelector(\"a\");\r\n\r\n if (!aLocation) {\r\n //? Онлайн курс или что-то другое\r\n this.Content.locationSpecific = node.textContent.trim();\r\n this.Content.online =\r\n node.textContent.trim() == \"Онлайн курс\" ? true : false;\r\n } else {\r\n //? Аудитория + корпус\r\n this.Content.locationAud = aLocation.textContent;\r\n this.Content.locationId = +aLocation.href.split(\"=\")[1];\r\n this.Content.locationPromt = node.querySelector(\"img\").title.trim();\r\n this.Content.locationCorp = node.textContent\r\n .replace(/\\s+/g, \" \")\r\n .trim()\r\n .split(\",\")[1]\r\n .trim();\r\n }\r\n }\r\n}\r\n","import Content from \"@/parser/source/group/dto/content\";\r\n\r\nexport default class contentParser {\r\n $ = null;\r\n Content = new Content();\r\n re =\r\n /^(\\(.*?[^\\(]*\\))?\\s?((?:.*(?=\\s\\(Э))|(?:.*(?=\\s\\(с))|.*)\\s?(?:\\(Э.*(?=\\())?(\\(с видеотрансляцией\\))?.*$/;\r\n\r\n constructor(mainNode) {\r\n this.$ = mainNode.cells;\r\n }\r\n\r\n parse() {\r\n this.typeParse(this.$[0]); //? Ну кто делает ID одинаковым на двух элементах строки таблицы??? ((((\r\n this.nameParse(this.$[1]);\r\n this.teacherParse(this.$.teacher);\r\n this.locationParse(this.$.aud);\r\n return this.Content;\r\n }\r\n\r\n typeParse(node) {\r\n const temp = node.textContent.trim();\r\n //TODO Место для измененя названия типа занятия (может как-то в будущем)\r\n this.Content.type = temp;\r\n }\r\n\r\n nameParse(node) {\r\n const name = node.textContent.replace(/\\s+/g, \" \").trim();\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n\r\n let m = null;\r\n m = this.re.exec(name);\r\n if (m !== null) {\r\n this.Content.subgroup = m[1]\r\n ? m[1]\r\n .replace(\"(\", \"\")\r\n .replace(\")\", \"\")\r\n .replace(\"п/г \", \"\")\r\n .replace(\"подгруппа\", \"п/г\")\r\n .replace(\"русский язык как иностранный\", \"рус. яз.\")\r\n .replace(\"русский язык как иностанный\", \"рус. яз.\")\r\n .replace(\"иностранный язык\", \"ин. яз.\")\r\n .replace(\"немецкий язык\", \"нем. яз.\")\r\n : \"\";\r\n this.Content.subname = m[3] ? m[3] : \"\";\r\n this.Content.name = m[2] ? m[2] : \"\";\r\n // (m[3] ? ' ' + m[3] + \"\" : \"\");\r\n } else {\r\n this.Content.name = name;\r\n }\r\n \r\n let href = node.querySelector(\"#lesson > a\");\r\n if (href) {\r\n this.Content.addLink(\"В курс\", href.href);\r\n }\r\n for (let href of node.querySelectorAll(\"#lesson > small > a\")) {\r\n this.Content.addLink(href.textContent, href.href);\r\n }\r\n }\r\n\r\n teacherParse(node) {\r\n this.Content.teacherPost = node.querySelector(\"small\").textContent.trim();\r\n\r\n const aTeacher = node.querySelector(\"a\");\r\n const FullTeacherNameArray = aTeacher.textContent.trim().split(\" \");\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n\r\n this.Content.teacherSurname = FullTeacherNameArray[0];\r\n this.Content.teacherName = 2 ? FullTeacherNameArray[1] : \"\";\r\n this.Content.teacherMiddlename =\r\n FullTeacherNameArray.length == 3 ? FullTeacherNameArray[2] : \"\";\r\n this.Content.teacherPromt = node.querySelector(\"img\").title.trim();\r\n this.Content.teacherId = +aTeacher.href.split(\"=\")[1];\r\n }\r\n\r\n locationParse(node) {\r\n const aLocation = node.querySelector(\"a\");\r\n if (!aLocation) {\r\n //? Онлайн курс или что-то другое\r\n this.Content.locationSpecific = node.textContent.trim();\r\n this.Content.online =\r\n node.textContent.trim() == \"Онлайн курс\" ? true : false;\r\n } else {\r\n //? Аудитория + корпус\r\n this.Content.locationAud = aLocation.textContent;\r\n this.Content.locationId = +aLocation.href.split(\"=\")[1];\r\n this.Content.locationPromt = node.querySelector(\"img\").title.trim();\r\n this.Content.locationCorp = node.textContent\r\n .replace(/\\s+/g, \" \")\r\n .trim()\r\n .split(\",\")[1]\r\n .trim();\r\n }\r\n }\r\n}\r\n","export default class headerParser {\r\n $ = null;\r\n constructor(mainNode) {\r\n this.$ = mainNode;\r\n }\r\n\r\n parse() {\r\n const temp = this.$.querySelector(\"#h2\").textContent.trim();\r\n return temp;\r\n }\r\n}\r\n","// import dayParser from \"@/parsers/group/help/day\";\r\nimport dayParser from \"@/parser/source/group/help/day\";\r\nimport lessonParser from \"@/parser/source/group/help/lesson\";\r\nimport contentParser from \"@/parser/source/group/help/content\";\r\nimport headerParser from \"@/parser/source/group/help/header\";\r\n\r\nexport default class groupScheduleParser {\r\n $ = { header: null, schedule: null }; //? Основная node таблицы для парсинга\r\n header = \"\";\r\n result = []; //? Основной массив расписания\r\n\r\n code = -1; //? Код завершения парсинга\r\n\r\n constructor({ headerTable, scheduleTable }) {\r\n if (!headerTable) {\r\n throw \"Ошибка! Передан нулевой DOM-элемент элемент заголовока для парсинга...\";\r\n }\r\n if (!scheduleTable) {\r\n throw \"Ошибка! Передан нулевой DOM-элемент расписания для парсинга...\";\r\n }\r\n\r\n this.$.header = headerTable;\r\n this.$.schedule = scheduleTable;\r\n }\r\n\r\n parsing() {\r\n //? Основная парсинг-функция\r\n try {\r\n this.header = new headerParser(this.$.header).parse(); //? Парсинг заголовка\r\n for (let i = 0; i < this.$.schedule.rows.length; i++) {\r\n const strockNode = this.$.schedule.rows[i];\r\n this.selectParserFunction(strockNode);\r\n }\r\n return this.schedule;\r\n } catch (err) {\r\n throw err;\r\n }\r\n }\r\n\r\n selectParserFunction(strockNode) {\r\n const stlb = strockNode.cells.length;\r\n switch (stlb) {\r\n case 1:\r\n // TODO: Добавить новый день\r\n const Day = new dayParser(strockNode).parse();\r\n this.addDay(Day);\r\n break;\r\n case 4:\r\n // TODO: Пара для подгруппы\r\n const Content = new contentParser(strockNode).parse();\r\n this.addContent(Content);\r\n break;\r\n case 6:\r\n // TODO: Полная пара\r\n const Lesson = new lessonParser(strockNode).parse();\r\n this.addLesson(Lesson);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n addDay(Day) {\r\n this.result.push(Day.object);\r\n }\r\n\r\n addLesson(Lesson) {\r\n this.result[this.index].lessons.push(Lesson.object);\r\n }\r\n\r\n addContent(Content) {\r\n this.result[this.index].lessons[this.lessonsIndex].content.push(\r\n Content.object\r\n );\r\n }\r\n\r\n get index() {\r\n //? Индекс крайнего дня\r\n return this.result.length - 1;\r\n }\r\n\r\n get lessonsIndex() {\r\n //? Индекс крайнего занятия\r\n return this.result[this.index].lessons.length - 1;\r\n }\r\n\r\n get schedule() {\r\n //? Результат парсинга возвращается этим методом\r\n return {\r\n header: this.header,\r\n schedule: this.result,\r\n };\r\n }\r\n}\r\n","export default class headerParser {\r\n $ = null;\r\n constructor(mainNode) {\r\n this.$ = mainNode;\r\n }\r\n\r\n parse() {\r\n const nodes = this.$.rows[0].cells[0].childNodes;\r\n const post = nodes[0].textContent.trim();\r\n const fullName = nodes[1].textContent.trim();\r\n return { fullName, post };\r\n }\r\n}\r\n","export default class Day {\r\n date = \"\";\r\n dayWeek = \"\";\r\n\r\n constructor() {}\r\n\r\n get object() {\r\n //? Получение объекта дня\r\n if (!this.check) {\r\n console.error('Объекта \"День\" получен без ключевых свойств');\r\n }\r\n return {\r\n date: this.date,\r\n dayWeek: this.dayWeek,\r\n lessons: [],\r\n };\r\n }\r\n\r\n get check() {\r\n return this.date && this.dayWeek;\r\n }\r\n}\r\n","import Day from \"@/parser/source/teacher/dto/day.js\";\r\n\r\nexport default class dayParser {\r\n $ = null;\r\n Day = new Day();\r\n constructor(mainNode) {\r\n this.$ = mainNode;\r\n }\r\n\r\n parse() {\r\n const dateDay = this.$.textContent.trim().split(\" \"); //? ['14.03.2022', 'Понедельник']\r\n this.Day.date = dateDay[0];\r\n this.Day.dayWeek = dateDay[1];\r\n return this.Day;\r\n }\r\n}\r\n","import Content from \"./content\";\r\n\r\nexport default class Lesson {\r\n number = 0;\r\n startTime = \"\";\r\n endTime = \"\";\r\n content = [];\r\n\r\n constructor() {}\r\n\r\n get object() {\r\n //? Получение объекта дня\r\n if (!this.check) {\r\n console.error('Объекта \"Занятие\" получен без ключевых свойств');\r\n }\r\n return {\r\n number: this.number,\r\n startTime: this.startTime,\r\n endTime: this.endTime,\r\n content: this.content,\r\n isNow: false,\r\n isToday: false,\r\n };\r\n }\r\n\r\n get check() {\r\n return this.number && this.startTime && this.endTime;\r\n }\r\n\r\n addContent(Content) {\r\n this.content.push(Content.object);\r\n }\r\n}\r\n","export default class Content {\r\n type = \"\";\r\n subgroup = undefined;\r\n name = \"\";\r\n subname = \"\";\r\n online = undefined;\r\n group = \"\";\r\n groupPromt = \"\";\r\n groupId = 0; //? Кажется, что не нужно, но вдруг что сломается...\r\n locationAud = \"\";\r\n locationCorp = \"\";\r\n locationId = 0;\r\n locationPromt = \"\";\r\n locationSpecific = \"\";\r\n links = [];\r\n\r\n constructor(type) {}\r\n\r\n get object() {\r\n //? Получение объекта дня\r\n if (!this.check) {\r\n console.error('Объект \"Контент\" получен без ключевых свойств');\r\n }\r\n return {\r\n type: this.type,\r\n subgroup: this.subgroup,\r\n subname: this.subname,\r\n online: this.online,\r\n name: this.name,\r\n links: this.links,\r\n group: {\r\n name: this.group,\r\n promt: this.groupPromt,\r\n id: this.groupId,\r\n },\r\n location: {\r\n aud: this.locationAud,\r\n corp: this.locationCorp,\r\n id: this.locationId,\r\n prompt: this.locationPromt,\r\n specific: this.locationSpecific,\r\n },\r\n };\r\n }\r\n\r\n get check() {\r\n return this.type && this.name && this.group && this.groupId;\r\n }\r\n\r\n addLink(name, href) {\r\n this.links.push({\r\n name,\r\n href,\r\n });\r\n }\r\n}\r\n","import Lesson from \"@/parser/source/teacher/dto/lesson\";\r\nimport Content from \"@/parser/source/teacher/dto/content\";\r\n\r\nexport default class lessonParser {\r\n $ = null;\r\n Lesson = new Lesson();\r\n Content = new Content();\r\n re =\r\n /^(\\(.*?[^\\(]*\\))?\\s?((?:.*(?=\\s\\(Э))|(?:.*(?=\\s\\(с))|.*)\\s?(?:\\(Э.*(?=\\())?(\\(с видеотрансляцией\\))?.*$/;\r\n constructor(mainNode) {\r\n this.$ = mainNode.cells;\r\n }\r\n\r\n parse() {\r\n this.numberParser(this.$.num);\r\n this.timeParser(this.$.time);\r\n this.typeParse(this.$[2]); //? Ну кто делает ID одинаковым на двух элементах строки таблицы??? ((((\r\n this.nameParse(this.$[3]);\r\n this.groupParse(this.$.group);\r\n this.locationParse(this.$.aud);\r\n this.Lesson.addContent(this.Content);\r\n return this.Lesson;\r\n }\r\n\r\n numberParser(node) {\r\n const temp = node.textContent.trim().split(\" \");\r\n this.Lesson.number = temp[0];\r\n }\r\n\r\n timeParser(node) {\r\n const temp = node.textContent.trim().split(\" \");\r\n this.Lesson.startTime = temp[0];\r\n this.Lesson.endTime = temp[2];\r\n }\r\n\r\n typeParse(node) {\r\n const temp = node.textContent.trim();\r\n //TODO Место для измененя названия типа занятия (может как-то в будущем)\r\n this.Content.type = temp;\r\n }\r\n\r\n nameParse(node) {\r\n const name = node.textContent.replace(/\\s+/g, \" \").trim();\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n let m = null;\r\n m = this.re.exec(name);\r\n if (m !== null) {\r\n this.Content.subgroup = m[1]\r\n ? m[1]\r\n .replace(\"(\", \"\")\r\n .replace(\")\", \"\")\r\n .replace(\"п/г \", \"\")\r\n .replace(\"подгруппа\", \"п/г\")\r\n .replace(\"русский язык как иностранный\", \"рус. яз.\")\r\n .replace(\"русский язык как иностанный\", \"рус. яз.\")\r\n .replace(\"иностранный язык\", \"ин. яз.\")\r\n .replace(\"немецкий язык\", \"нем. яз.\")\r\n : \"\";\r\n this.Content.subname = m[3] ? m[3] : \"\";\r\n this.Content.name = m[2] ? m[2] : \"\";\r\n // (m[3] ? ' ' + m[3] + \"\" : \"\");\r\n } else {\r\n this.Content.name = name;\r\n }\r\n\r\n let href = node.querySelector(\"#lesson > a\");\r\n if (href) {\r\n this.Content.addLink(\"В курс\", href.href);\r\n }\r\n for (let href of node.querySelectorAll(\"#lesson > small > a\")) {\r\n this.Content.addLink(href.textContent, href.href);\r\n }\r\n }\r\n\r\n locationParse(node) {\r\n const aLocation = node.querySelector(\"a\");\r\n\r\n if (!aLocation) {\r\n //? Онлайн курс или что-то другое\r\n this.Content.locationSpecific = node.textContent.trim();\r\n this.Content.online =\r\n node.textContent.trim() == \"Онлайн курс\" ? true : false;\r\n } else {\r\n //? Аудитория + корпус\r\n this.Content.locationAud = aLocation.textContent;\r\n this.Content.locationId = +aLocation.href.split(\"=\")[1];\r\n this.Content.locationPromt = node.querySelector(\"img\").title.trim();\r\n this.Content.locationCorp = node.textContent\r\n .replace(/\\s+/g, \" \")\r\n .trim()\r\n .split(\",\")[1]\r\n .trim();\r\n }\r\n }\r\n\r\n groupParse(node) {\r\n const aGroup = node.querySelector(\"a\");\r\n this.Content.group = aGroup.textContent.trim();\r\n const idGroup = aGroup.href.split(\"=\")[1];\r\n this.Content.groupId = aGroup.textContent.trim();\r\n this.Content.groupPromt = node.querySelector(\"img\").title.trim();\r\n }\r\n}\r\n","import Content from \"@/parser/source/teacher/dto/content\";\r\n\r\nexport default class contentParser {\r\n $ = null;\r\n Content = new Content();\r\n re =\r\n /^(\\(.*?[^\\(]*\\))?\\s?((?:.*(?=\\s\\(Э))|(?:.*(?=\\s\\(с))|.*)\\s?(?:\\(Э.*(?=\\())?(\\(с видеотрансляцией\\))?.*$/;\r\n constructor(mainNode) {\r\n this.$ = mainNode.cells;\r\n }\r\n\r\n parse() {\r\n this.typeParse(this.$[0]); //? Ну кто делает ID одинаковым на двух элементах строки таблицы??? ((((\r\n this.nameParse(this.$[1]);\r\n this.groupParse(this.$.group);\r\n this.locationParse(this.$.aud);\r\n return this.Content;\r\n }\r\n\r\n typeParse(node) {\r\n const temp = node.textContent.trim();\r\n //TODO Место для измененя названия типа занятия (может как-то в будущем)\r\n this.Content.type = temp;\r\n }\r\n\r\n nameParse(node) {\r\n const name = node.textContent.replace(/\\s+/g, \" \").trim();\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n let m = null;\r\n m = this.re.exec(name);\r\n if (m !== null) {\r\n this.Content.subgroup = m[1]\r\n ? m[1]\r\n .replace(\"(\", \"\")\r\n .replace(\")\", \"\")\r\n .replace(\"п/г \", \"\")\r\n .replace(\"подгруппа\", \"п/г\")\r\n .replace(\"русский язык как иностранный\", \"рус. яз.\")\r\n .replace(\"русский язык как иностанный\", \"рус. яз.\")\r\n .replace(\"иностранный язык\", \"ин. яз.\")\r\n .replace(\"немецкий язык\", \"нем. яз.\")\r\n : \"\";\r\n this.Content.subname = m[3] ? m[3] : \"\";\r\n this.Content.name = m[2] ? m[2] : \"\";\r\n // (m[3] ? ' ' + m[3] + \"\" : \"\");\r\n } else {\r\n this.Content.name = name;\r\n }\r\n\r\n let href = node.querySelector(\"#lesson > a\");\r\n if (href) {\r\n this.Content.addLink(\"В курс\", href.href);\r\n }\r\n for (let href of node.querySelectorAll(\"#lesson > small > a\")) {\r\n this.Content.addLink(href.textContent, href.href);\r\n }\r\n }\r\n\r\n locationParse(node) {\r\n const aLocation = node.querySelector(\"a\");\r\n\r\n if (!aLocation) {\r\n //? Онлайн курс или что-то другое\r\n this.Content.locationSpecific = node.textContent.trim();\r\n this.Content.online =\r\n node.textContent.trim() == \"Онлайн курс\" ? true : false;\r\n } else {\r\n //? Аудитория + корпус\r\n this.Content.locationAud = aLocation.textContent;\r\n this.Content.locationId = +aLocation.href.split(\"=\")[1];\r\n this.Content.locationPromt = node.querySelector(\"img\").title.trim();\r\n this.Content.locationCorp = node.textContent\r\n .replace(/\\s+/g, \" \")\r\n .trim()\r\n .split(\",\")[1]\r\n .trim();\r\n }\r\n }\r\n\r\n groupParse(node) {\r\n const aGroup = node.querySelector(\"a\");\r\n this.Content.group = aGroup.textContent.trim();\r\n const idGroup = aGroup.href.split(\"=\")[1];\r\n this.Content.groupId = idGroup;\r\n this.Content.groupPromt = node.querySelector(\"img\").title.trim();\r\n }\r\n}\r\n","import headerParser from \"@/parser/source/teacher/help/header\";\r\nimport dayParser from \"@/parser/source/teacher/help/day\";\r\nimport lessonParser from \"@/parser/source/teacher/help/lesson\";\r\nimport contentParser from \"@/parser/source/teacher/help/content\";\r\n\r\nexport default class teacherScheduleParser {\r\n $ = { header: null, schedule: null };\r\n\r\n result = [];\r\n header = {\r\n fullName: \"\",\r\n post: \"\",\r\n };\r\n\r\n code = -1;\r\n constructor({ headerTable, scheduleTable }) {\r\n if (!headerTable) {\r\n throw \"Ошибка! Передан нулевой DOM-элемент элемент заголовока для парсинга...\";\r\n }\r\n if (!scheduleTable) {\r\n throw \"Ошибка! Передан нулевой DOM-элемент расписания для парсинга...\";\r\n }\r\n\r\n this.$.header = headerTable;\r\n this.$.schedule = scheduleTable;\r\n }\r\n\r\n parsing() {\r\n try {\r\n this.header = new headerParser(this.$.header).parse(); //? Парсинг заголовка\r\n\r\n for (let i = 0; i < this.$.schedule.rows.length; i++) {\r\n const strockNode = this.$.schedule.rows[i];\r\n this.selectParserFunction(strockNode);\r\n }\r\n return this.schedule;\r\n } catch (err) {\r\n throw err;\r\n }\r\n }\r\n\r\n selectParserFunction(strockNode) {\r\n const stlb = strockNode.cells.length;\r\n switch (stlb) {\r\n case 1:\r\n // TODO: Добавить новый день\r\n const Day = new dayParser(strockNode).parse();\r\n this.addDay(Day);\r\n break;\r\n\r\n case 4:\r\n // TODO: Пара для нескольких групп\r\n const Content = new contentParser(strockNode).parse();\r\n this.addContent(Content);\r\n break;\r\n case 6:\r\n // TODO: Полная пара\r\n const Lesson = new lessonParser(strockNode).parse();\r\n this.addLesson(Lesson);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n addDay(Day) {\r\n this.result.push(Day.object);\r\n }\r\n\r\n addLesson(Lesson) {\r\n this.result[this.index].lessons.push(Lesson.object);\r\n }\r\n\r\n addContent(Content) {\r\n this.result[this.index].lessons[this.lessonsIndex].content.push(\r\n Content.object\r\n );\r\n }\r\n\r\n get index() {\r\n //? Индекс крайнего дня\r\n return this.result.length - 1;\r\n }\r\n\r\n get lessonsIndex() {\r\n //? Индекс крайнего занятия\r\n return this.result[this.index].lessons.length - 1;\r\n }\r\n\r\n get schedule() {\r\n //? Результат парсинга возвращается этим методом\r\n return {\r\n header: this.header,\r\n schedule: this.result,\r\n };\r\n }\r\n}\r\n","export default class Day {\r\n date = \"\";\r\n dayWeek = \"\";\r\n\r\n constructor() {}\r\n\r\n get object() {\r\n //? Получение объекта дня\r\n if (!this.check) {\r\n console.error('Объекта \"День\" получен без ключевых свойств');\r\n }\r\n return {\r\n date: this.date,\r\n dayWeek: this.dayWeek,\r\n lessons: [],\r\n };\r\n }\r\n\r\n get check() {\r\n return this.date && this.dayWeek;\r\n }\r\n}\r\n","import Day from \"@/parser/source/location/dto/day.js\";\r\n\r\nexport default class dayParser {\r\n $ = null;\r\n Day = new Day();\r\n constructor(mainNode) {\r\n this.$ = mainNode;\r\n }\r\n\r\n parse() {\r\n const dateDay = this.$.textContent.trim().split(\" \"); //? ['14.03.2022', 'Понедельник']\r\n this.Day.date = dateDay[0];\r\n this.Day.dayWeek = dateDay[1];\r\n return this.Day;\r\n }\r\n}\r\n","import Content from \"./content\";\r\n\r\nexport default class Lesson {\r\n number = 0;\r\n startTime = \"\";\r\n endTime = \"\";\r\n content = [];\r\n\r\n constructor() {}\r\n\r\n get object() {\r\n //? Получение объекта дня\r\n if (!this.check) {\r\n console.error('Объекта \"Занятие\" получен без ключевых свойств');\r\n }\r\n return {\r\n number: this.number,\r\n startTime: this.startTime,\r\n endTime: this.endTime,\r\n content: this.content,\r\n isNow: false,\r\n isToday: false,\r\n };\r\n }\r\n\r\n get check() {\r\n return this.number && this.startTime && this.endTime;\r\n }\r\n\r\n addContent(Content) {\r\n this.content.push(Content.object);\r\n }\r\n}\r\n","export default class Content {\r\n type = \"\";\r\n subgroup = undefined;\r\n name = \"\";\r\n subname = \"\";\r\n online = undefined;\r\n teacherName = \"\";\r\n teacherSurname = \"\";\r\n teacherMiddlename = \"\";\r\n teacherPost = \"\";\r\n teacherId = 0;\r\n teacherPromt = 0;\r\n group = \"\";\r\n groupPromt = \"\";\r\n groupId = 0; //? Кажется, что не нужно, но вдруг что сломается...\r\n links = [];\r\n\r\n constructor(type) {}\r\n\r\n get object() {\r\n //? Получение объекта дня\r\n if (!this.check) {\r\n console.error('Объект \"Контент\" получен без ключевых свойств');\r\n }\r\n return {\r\n type: this.type,\r\n subgroup: this.subgroup,\r\n subname: this.subname,\r\n online: this.online,\r\n name: this.name,\r\n links: this.links,\r\n teacher: {\r\n surname: this.teacherSurname,\r\n name: this.teacherName,\r\n middlename: this.teacherMiddlename,\r\n post: this.teacherPost,\r\n id: this.teacherId,\r\n promt: this.teacherPromt,\r\n },\r\n group: {\r\n name: this.group,\r\n promt: this.groupPromt,\r\n id: this.groupId,\r\n },\r\n };\r\n }\r\n\r\n get check() {\r\n return this.type && this.name && this.group && this.groupId;\r\n }\r\n\r\n addLink(name, href) {\r\n this.links.push({\r\n name,\r\n href,\r\n });\r\n }\r\n}\r\n","import Lesson from \"@/parser/source/location/dto/lesson\";\r\nimport Content from \"@/parser/source/location/dto/content\";\r\n\r\nexport default class lessonParser {\r\n $ = null;\r\n Lesson = new Lesson();\r\n Content = new Content();\r\n re =\r\n /^(\\(.*?[^\\(]*\\))?\\s?((?:.*(?=\\s\\(Э))|(?:.*(?=\\s\\(с))|.*)\\s?(?:\\(Э.*(?=\\())?(\\(с видеотрансляцией\\))?.*$/;\r\n constructor(mainNode) {\r\n this.$ = mainNode.cells;\r\n }\r\n\r\n parse() {\r\n this.numberParser(this.$.num);\r\n this.timeParser(this.$.time);\r\n this.typeParse(this.$[2]); //? Ну кто делает ID одинаковым на двух элементах строки таблицы??? ((((\r\n this.nameParse(this.$[3]);\r\n this.teacherParse(this.$.teacher);\r\n this.groupParse(this.$.aud); //? Да-да-да, группы там имеют id = 'aud'\r\n\r\n this.Lesson.addContent(this.Content);\r\n return this.Lesson;\r\n }\r\n\r\n numberParser(node) {\r\n const temp = node.textContent.trim().split(\" \");\r\n this.Lesson.number = temp[0];\r\n }\r\n\r\n timeParser(node) {\r\n const temp = node.textContent.trim().split(\" \");\r\n this.Lesson.startTime = temp[0];\r\n this.Lesson.endTime = temp[2];\r\n }\r\n\r\n typeParse(node) {\r\n const temp = node.textContent.trim();\r\n //TODO Место для измененя названия типа занятия (может как-то в будущем)\r\n this.Content.type = temp;\r\n }\r\n\r\n nameParse(node) {\r\n const name = node.textContent.replace(/\\s+/g, \" \").trim();\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n let m = null;\r\n m = this.re.exec(name);\r\n if (m !== null) {\r\n this.Content.subgroup = m[1]\r\n ? m[1]\r\n .replace(\"(\", \"\")\r\n .replace(\")\", \"\")\r\n .replace(\"п/г \", \"\")\r\n .replace(\"подгруппа\", \"п/г\")\r\n .replace(\"русский язык как иностранный\", \"рус. яз.\")\r\n .replace(\"русский язык как иностанный\", \"рус. яз.\")\r\n .replace(\"иностранный язык\", \"ин. яз.\")\r\n .replace(\"немецкий язык\", \"нем. яз.\")\r\n : \"\";\r\n this.Content.subname = m[3] ? m[3] : \"\";\r\n this.Content.name = m[2] ? m[2] : \"\";\r\n // (m[3] ? ' ' + m[3] + \"\" : \"\");\r\n } else {\r\n this.Content.name = name;\r\n }\r\n\r\n let href = node.querySelector(\"#lesson > a\");\r\n if (href) {\r\n this.Content.addLink(\"В курс\", href.href);\r\n }\r\n for (let href of node.querySelectorAll(\"#lesson > small > a\")) {\r\n this.Content.addLink(href.textContent, href.href);\r\n }\r\n }\r\n\r\n teacherParse(node) {\r\n this.Content.teacherPost = node.querySelector(\"small\").textContent.trim();\r\n\r\n const aTeacher = node.querySelector(\"a\");\r\n const FullTeacherNameArray = aTeacher.textContent.trim().split(\" \");\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n\r\n this.Content.teacherSurname = FullTeacherNameArray[0];\r\n this.Content.teacherName = FullTeacherNameArray[1];\r\n this.Content.teacherMiddlename =\r\n FullTeacherNameArray.length == 3 ? FullTeacherNameArray[2] : \"\";\r\n this.Content.teacherPromt = node.querySelector(\"img\").title.trim();\r\n this.Content.teacherId = +aTeacher.href.split(\"=\")[1];\r\n }\r\n\r\n groupParse(node) {\r\n const aGroup = node.querySelector(\"a\");\r\n this.Content.group = aGroup.textContent.trim();\r\n const idGroup = aGroup.href.split(\"=\")[1];\r\n this.Content.groupId = aGroup.textContent.trim();\r\n this.Content.groupPromt = node.querySelector(\"img\").title.trim();\r\n }\r\n}\r\n","import Content from \"@/parser/source/location/dto/content\";\r\n\r\nexport default class contentParser {\r\n $ = null;\r\n Content = new Content();\r\n re =\r\n /^(\\(.*?[^\\(]*\\))?\\s?((?:.*(?=\\s\\(Э))|(?:.*(?=\\s\\(с))|.*)\\s?(?:\\(Э.*(?=\\())?(\\(с видеотрансляцией\\))?.*$/;\r\n constructor(mainNode) {\r\n this.$ = mainNode.cells;\r\n }\r\n\r\n parse() {\r\n this.typeParse(this.$[0]); //? Ну кто делает ID одинаковым на двух элементах строки таблицы??? ((((\r\n this.nameParse(this.$[1]);\r\n this.teacherParse(this.$.teacher);\r\n this.groupParse(this.$.aud);\r\n return this.Content;\r\n }\r\n\r\n typeParse(node) {\r\n const temp = node.textContent.trim();\r\n //TODO Место для измененя названия типа занятия (может как-то в будущем)\r\n this.Content.type = temp;\r\n }\r\n\r\n nameParse(node) {\r\n const name = node.textContent.replace(/\\s+/g, \" \").trim();\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n let m = null;\r\n m = this.re.exec(name);\r\n if (m !== null) {\r\n this.Content.subgroup = m[1]\r\n ? m[1]\r\n .replace(\"(\", \"\")\r\n .replace(\")\", \"\")\r\n .replace(\"п/г \", \"\")\r\n .replace(\"подгруппа\", \"п/г\")\r\n .replace(\"русский язык как иностранный\", \"рус. яз.\")\r\n .replace(\"русский язык как иностанный\", \"рус. яз.\")\r\n .replace(\"иностранный язык\", \"ин. яз.\")\r\n .replace(\"немецкий язык\", \"нем. яз.\")\r\n : \"\";\r\n this.Content.subname = m[3] ? m[3] : \"\";\r\n this.Content.name = m[2] ? m[2] : \"\";\r\n // (m[3] ? ' ' + m[3] + \"\" : \"\");\r\n } else {\r\n this.Content.name = name;\r\n }\r\n\r\n let href = node.querySelector(\"#lesson > a\");\r\n if (href) {\r\n this.Content.addLink(\"В курс\", href.href);\r\n }\r\n for (let href of node.querySelectorAll(\"#lesson > small > a\")) {\r\n this.Content.addLink(href.textContent, href.href);\r\n }\r\n }\r\n\r\n teacherParse(node) {\r\n this.Content.teacherPost = node.querySelector(\"small\").textContent.trim();\r\n\r\n const aTeacher = node.querySelector(\"a\");\r\n const FullTeacherNameArray = aTeacher.textContent.trim().split(\" \");\r\n //TODO Место для измененя названия дисциплины (может как-то в будущем)\r\n\r\n this.Content.teacherSurname = FullTeacherNameArray[0];\r\n this.Content.teacherName = FullTeacherNameArray[1];\r\n this.Content.teacherMiddlename =\r\n FullTeacherNameArray.length == 3 ? FullTeacherNameArray[2] : \"\";\r\n this.Content.teacherPromt = node.querySelector(\"img\").title.trim();\r\n this.Content.teacherId = +aTeacher.href.split(\"=\")[1];\r\n }\r\n\r\n groupParse(node) {\r\n const aGroup = node.querySelector(\"a\");\r\n this.Content.group = aGroup.textContent.trim();\r\n const idGroup = aGroup.href.split(\"=\")[1];\r\n this.Content.groupId = idGroup;\r\n this.Content.groupPromt = node.querySelector(\"img\").title.trim();\r\n }\r\n}\r\n","export default class headerParser {\r\n $ = null;\r\n constructor(mainNode) {\r\n this.$ = mainNode;\r\n }\r\n\r\n parse() {\r\n const temp = this.$.querySelector(\"#h2\").textContent.trim();\r\n return temp;\r\n }\r\n}\r\n","// import dayParser from \"@/parsers/location/help/day\";\r\n// import lessonParser from \"@/parsers/location/help/lesson\";\r\n// import contentParser from \"@/parsers/location/help/content\";\r\n// import headerParser from \"@/parsers/location/help/header\";\r\n\r\nimport dayParser from \"@/parser/source/location/help/day.js\";\r\nimport lessonParser from \"@/parser/source/location/help/lesson.js\";\r\nimport contentParser from \"@/parser/source/location/help/content.js\";\r\nimport headerParser from \"@/parser/source/location/help/header.js\";\r\n\r\nexport default class locationScheduleParser {\r\n $ = { header: null, schedule: null }; //? Основная node таблицы для парсинга\r\n header = \"\";\r\n result = []; //? Основной массив расписания\r\n\r\n code = -1; //? Код завершения парсинга\r\n\r\n constructor({ headerTable, scheduleTable }) {\r\n if (!headerTable) {\r\n throw \"Ошибка! Передан нулевой DOM-элемент элемент заголовока для парсинга...\";\r\n }\r\n if (!scheduleTable) {\r\n throw \"Ошибка! Передан нулевой DOM-элемент расписания для парсинга...\";\r\n }\r\n\r\n this.$.header = headerTable;\r\n this.$.schedule = scheduleTable;\r\n }\r\n\r\n parsing() {\r\n //? Основная парсинг-функция\r\n try {\r\n this.header = new headerParser(this.$.header).parse(); //? Парсинг заголовка\r\n for (let i = 0; i < this.$.schedule.rows.length; i++) {\r\n const strockNode = this.$.schedule.rows[i];\r\n this.selectParserFunction(strockNode);\r\n }\r\n return this.schedule;\r\n } catch (err) {\r\n throw err;\r\n }\r\n }\r\n\r\n selectParserFunction(strockNode) {\r\n const stlb = strockNode.cells.length;\r\n switch (stlb) {\r\n case 1:\r\n // TODO: Добавить новый день\r\n const Day = new dayParser(strockNode).parse();\r\n this.addDay(Day);\r\n break;\r\n case 4:\r\n // TODO: Пара для подгруппы\r\n const Content = new contentParser(strockNode).parse();\r\n this.addContent(Content);\r\n break;\r\n case 6:\r\n // TODO: Полная пара\r\n const Lesson = new lessonParser(strockNode).parse();\r\n this.addLesson(Lesson);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n addDay(Day) {\r\n this.result.push(Day.object);\r\n }\r\n\r\n addLesson(Lesson) {\r\n this.result[this.index].lessons.push(Lesson.object);\r\n }\r\n\r\n addContent(Content) {\r\n this.result[this.index].lessons[this.lessonsIndex].content.push(\r\n Content.object\r\n );\r\n }\r\n\r\n parsingAud(audHtml) {\r\n //! Грязно, но быстро\r\n const re =\r\n /