1"use strict";(self.webpackChunkuniversity_of_glasgow=self.webpackChunkuniversity_of_glasgow||[]).push([[8110],{4399:function(e,t,i){i.r(t),i.d(t,{default:function(){return LLLProgrammelist}});var s={subjects:[{name:"Archaeology, Classics and Egyptology",id:"158",image:"/2t4/js/apps/shortcourses/img/archaeology.jpg"},{name:"Art and Art History",id:"163",image:"/2t4/js/apps/shortcourses/img/art.jpg"},{name:"Creative Writing",id:"159",image:"/2t4/js/apps/shortcourses/img/writing.jpg"},{name:"History, International Affairs and Politics",id:"168",image:"/2t4/js/apps/shortcourses/img/politics.jpg"},{name:"Languages",id:"162",image:"/2t4/js/apps/shortcourses/img/languages.jpg"},{name:"Languages - Taster",id:"235",image:"/2t4/js/apps/shortcourses/img/languages.jpg"},{name:"Literature and Film",id:"164",image:"/2t4/js/apps/shortcourses/img/literature.jpg"},{name:"Philosophy",id:"160",image:"/2t4/js/apps/shortcourses/img/philosophy.jpg"},{name:"Practical Art",id:"234",image:"/2t4/js/apps/shortcourses/img/practical-art.jpg"},{name:"Psychology and Counselling",id:"161",image:"/2t4/js/apps/shortcourses/img/psychology.jpg"},{name:"Science",id:"167",image:"/2t4/js/apps/shortcourses/img/science.jpg"}],delivery_method:[{name:"Courses on campus",id:"231",image:"/2t4/js/apps/shortcourses/img/courses-on-campus.jpg"},{name:"Courses online",id:"171",image:"/2t4/js/apps/shortcourses/img/courses-on-campus.jpg"},{name:"Courses on location",id:"233",image:"/2t4/js/apps/shortcourses/img/courses-on-campus.jpg"}]};class LLLProgrammelist{constructor(e){this.el=e,this.subjectfilter=document.getElementById("lll-subject-filter"),this.deliveryfilter=document.getElementById("lll-delivery-filter"),this.dayfilter=document.getElementById("lll-filter-day"),this.timefilter=document.getElementById("lll-filter-time"),this.creditsfilter=document.getElementById("lll-filter-credits"),this.blockfilter=document.getElementById("lll-filter-block"),this.selectedFilters={},this.daymap={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},this.currentTime="",this.currentDay="",this.currentBlock="",this.courses=[...this.el.querySelectorAll("li")],this.config=s,this.init()}
1init(){this.loadSubjectsFilters(),this.loadDeliveryFilters(),this.loadBlockFilters(),this.clickHandler(),this.checkQueryParams()}showAvailable(){[...this.el.querySelectorAll("li")].forEach((e=>{"true"==e.dataset.available&&(e.classList.add("available"),e.insertAdjacentHTML("beforeend","\n\n available\n\n "))}))}loadSubjectsFilters(){this.config.subjects.forEach((e=>{this.subjectfilter.insertAdjacentHTML("beforeend",`\n\n <option value="${e.id}">${e.name}</option>\n\n `)}))}setSubjectFilter(e){this.subjectfilter.value=e,this.filter()}setDeliveryFilter(e){this.deliveryfilter.value=e,this.filter()}setBlockFilter(e){this.blockfilter.value=e,this.filter()}loadDeliveryFilters(){this.config.delivery_method.forEach((e=>{this.deliveryfilter.insertAdjacentHTML("beforeend",`\n\n <option value="${e.id}">${e.name}</option>\n\n `)}))}loadBlockFilters(){[{id:1,title:"Block 1 - 16th September-2nd December"},{id:2,title:"Block 2 - 1st January- 24th March"},{id:3,title:"Block 3 - 1st April- 21sh June"},{id:4,title:"Block 4 - 24th June- 9th September"}].forEach((e=>{this.blockfilter.insertAdjacentHTML("beforeend",`\n <option value="${e.id}">${e.title}</option>\n `)}))}setDayFilter(e){this.dayfilter.value=e,this.filter()}setTimeFilter(e){this.timefilter.value=e,this.filter()}clickHandler(){this.subjectfilter.addEventListener("change",(e=>{this.selectedFilters.subject=e.target.value,""!==e.target.value?this.setQueryParams("subject",this.getSubjectName(e.target.value)):this.setQueryParams("subject",""),this.filter()})),this.deliveryfilter.addEventListener("change",(e=>{this.selectedFilters.delivery=e.target.value,""!==e.target.value?this.setQueryParams("delivery",this.getDeliveryMethodName(e.target.value)):this.setQueryParams("delivery",""),this.filter()})),this.dayfilter.addEventListener("change",(e=>{this.selectedFilters.day=e.target.value,this.setQueryParams("day",e.target.value),this.filter()})),this.timefilter.addEventListener("change",(e=>{this.selectedFilters.time=e.target.value,this.setQueryParams("time",e.target.value),this.filter()})),this.blockfilter.addEventListener("change",(e=>{this.selectedFilters.block=e.target.value,this.setQueryParams("block",e.target.value),this.filter()})),this.creditsfilter.addEventListener("change",(e=>{this.filter()}))}getSubjectName(e){return this.config.subjects.find((t=>t.id==e)).name}getDeliveryMethodName(e){return this.config.delivery_method.find((t=>t.id==e)).name}getSubjectId(e){return""!==e?this.config.subjects.find((t=>t.name==e)).id:""}getDeliveryId(e){return""!==e?this.config.delivery_method.find((t=>t.name==e)).id:""}checkQueryParams(){new URLSearchParams(window.location.search).forEach(((e,t)=>{if(""!==e)switch(t){case"subject":return this.selectedFilters.subject=this.getSubjectId(e),void this.setSubjectFilter(this.getSubjectId(e));case"delivery":return this.selectedFilters.delivery=this.getDeliveryId(e),void this.setDeliveryFilter(this.getDeliveryId(e));case"day":return this.selectedFilters.day=e,void this.setDayFilter(e);case"time":return this.selectedFilters.time=e,void this.setTimeFilter(e);case"block":return this.selectedFilters.block=e,void this.setBlockFilter(e);default:return}})),this.filter()}getQueryParams(e){const t=new URLSearchParams(window.location.search).get(e);return t||null}setQueryParams(e,t){const i=new URLSearchParams(window.location.search);i.set(e,t),window.history.pushState({},"",`?${i.toString()}`)}filter(){this.courses.forEach((e=>{let t=!0;if(this.selectedFilters.subject){const i=this.selectedFilters.subject,s=e.dataset.categories.split(",");""===i||s.includes(i)||(t=!1)}if(this.selectedFilters.delivery){const i=this.selectedFilters.delivery,s=e.dataset.categories.split(",");""===i||s.includes(i)||(t=!1)}if(this.selectedFilters.day||this.selectedFilters.time||this.selectedFilters.block){const i=this.selectedFilters.day,s=this.selectedFilters.time,a=this.selectedFilters.block;let r=!1;const d=e.dataset.dates.split(",");for(const e of d){let t=!0,d=!0,l=!0;if(i&&""!==i&&parseInt(i)!==this.getDayFromDate(e)&&(t=!1),s&&""!==s&&this.getTimeOfDayFromDate(e)&&!this.getTimeOfDayFromDate(e).includes(s)&&(d=!1),a&&""!==a&&parseInt(a)!==this.getBlockFromDate(e)&&(l=!1),t&&d&&l){r=!0;break}}r||(t=!1)}if(this.selectedFilters.block){const i=this.selectedFilters.block;let s=!1;const a=e.dataset.dates.split(",");for(const e of a){let t=!0;if(i&&""!==i&&parseInt(i)!==this.getBlockFromDate(e)&&(t=!1),t){s=!0;break}}s||(t=!1)}this.creditsfilter.checked&&(e.dataset.categories.split(",").includes("173")||(t=!1)),t?e.classList.remove("hidden"):e.classList.add("hidden")})),this.checkNumberCourses()}isFiltered(e,t){switch(t){case"subject":return"true"==e.dataset.f
1ilteredbydatetime;case"delivery":return"true"==e.dataset.filteredbydelivery;case"category":return"true"==e.dataset.filteredbydatetime||"true"==e.dataset.filteredbycategory;case"datetime":return"true"==e.dataset.filteredbycategory;case"day":return"true"==e.dataset.filteredbytime||"true"==e.dataset.filteredbycategory;case"time":return"true"==e.dataset.filteredbyday||"true"==e.dataset.filteredbycategory;case"block":return"true"==e.dataset.filteredbyblock||"true"==e.dataset.filteredbycategory}}filterByDayTime(e,t){this.courses.forEach((i=>{const s=i.dataset.dates.split(",");function debugcourse(e,t){console.log(t)}let a=!1;s.forEach((s=>{debugcourse(0,`Checking date ${s}`),debugcourse(0,`filter is ${e} ${t}`),debugcourse(0,`day is ${this.getDayFromDate(s)}`),debugcourse(0,`time is ${this.getTimeOfDayFromDate(s)}`),debugcourse(0,`block is ${this.getBlockFromDate(s)}`),""!==e&&""!==t?e==this.getDayFromDate(s)&&t==this.getTimeOfDayFromDate(s)?(debugcourse(0,"match day and time"),debugcourse(0,`is filtered ${this.isFiltered(i,"day")}`),this.isFiltered(i,!this.isFiltered(i,"time"))?(i.classList.add("hidden"),i.dataset.filteredbydatetime=!0,i.dataset.filteredbyday=!0,i.dataset.filteredbytime=!0):(i.classList.remove("hidden"),i.dataset.filteredbydatetime=!1,i.dataset.filteredbyday=!1,i.dataset.filteredbytime=!1,a=!0)):(i.classList.add("hidden"),i.dataset.filteredbydatetime=!0,i.dataset.filteredbyday=!0,i.dataset.filteredbytime=!0):""!==e?(i.dataset.filteredbyday=!1,e==this.getDayFromDate(s)?(debugcourse(0,"match day"),debugcourse(0,`is filtered ${this.isFiltered(i,"day")}`),this.isFiltered(i,"day")?(i.classList.add("hidden"),i.dataset.filteredbydatetime=!0,i.dataset.filteredbyday=!0):(i.classList.remove("hidden"),i.dataset.filteredbydatetime=!1,i.dataset.filteredbyday=!1)):(i.classList.add("hidden"),i.dataset.filteredbydatetime=!0,i.dataset.filteredbyday=!0)):""!==t?(i.dataset.filteredbytime=!1,t==this.getTimeOfDayFromDate(s)?(debugcourse(0,"match time of day"),debugcourse(0,`is filtered ${this.isFiltered(i,"time")}`),this.isFiltered(i,"time")?a||(i.classList.add("hidden"),i.dataset.filteredbydatetime=!0,i.dataset.filteredbytime=!0):(i.classList.remove("hidden"),a=!0,i.dataset.filteredbydatetime=!1,i.dataset.filteredbytime=!1,i.dataset.timematch=!0)):(i.classList.add("hidden"),i.dataset.filteredbydatetime=!0,i.dataset.filteredbytime=!0)):""===e&&""===t&&(debugcourse(0,"no match"),debugcourse(0,`is filtered ${this.isFiltered(i,"day")}`),this.isFiltered(i,"time")||this.isFiltered(i,"day")?(i.classList.add("hidden"),i.dataset.filteredbydatetime=!0,i.dataset.filteredbyday=!0,i.dataset.filteredbytime=!0):(i.classList.remove("hidden"),i.dataset.filteredbydatetime=!1,i.dataset.filteredbyday=!1,i.dataset.filteredbytime=!1))}))})),this.filterCategories(),this.checkNumberCourses()}getDayFromDate(e){return new Date(e).getDay()}getTimeOfDayFromDate(e){const t=new Date(e).getHours();return 0==t?["daytime","evening"]:t>8&&t<=17?["daytime"]:t>17?["evening"]:void 0}getBlockFromDate(e){const t=new Date(e),i=t.getMonth(),s=t.getDate();return 8===i&&s>=16||9===i||10===i||11===i&&s<=2?1:0===i||1===i||2===i&&s<=24?2:3===i||4===i||5===i&&s<=21?3:5===i&&s>=24||6===i||7===i||8===i&&s<=9?4:null}checkNumberCourses(){let e=document.getElementById("no-filtered-courses");this.courses.filter((e=>!e.classList.contains("hidden"))).length>0?e.classList.add("hidden"):e.classList.remove("hidden")}}}}]); 2//# sourceMappingURL=gu-lifelonglearning.d0fc92ce.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.