{"version":3,"file":"schools-cJulcV4Q.js","sources":["../../src/scripts/modules/schools.ts"],"sourcesContent":["import { Component } from '@verndale/core';\nimport { ConditionalDisplay } from '../helpers/global';\n\nclass Schools extends Component {\n private results: {\n name: string;\n grade: string;\n ispublic: string;\n }[] = [];\n\n private publicSchools: {\n name: string;\n grade: string;\n ispublic: string;\n }[] = [];\n\n private privateSchools: {\n name: string;\n grade: string;\n ispublic: string;\n }[] = [];\n\n setupDefaults() {\n this.dom = {\n lists: this.el.querySelectorAll('.v-section-schools__list'),\n tab: this.el.querySelectorAll('.v-section__schools-tab')\n };\n\n if (ConditionalDisplay(this.el.id)) {\n this.el.style.display = 'none';\n }\n\n this.results = this.el.dataset.obj ? JSON.parse(this.el.dataset.obj) : [];\n\n if (this.results.length === 0) {\n this.el.style.display = 'none';\n this.el.dataset.noData = 'true';\n }\n\n this.orderLists();\n this.createLists();\n }\n\n createLists() {\n (this.dom.lists as NodeListOf).forEach((list, index) => {\n let schools = this.privateSchools;\n if (index === 0) {\n schools = this.publicSchools;\n }\n\n const objReference = list.querySelector('.v-section-schools__li');\n schools.forEach(school => {\n const newSchool = objReference?.cloneNode(true) as HTMLElement;\n (newSchool.querySelector('.h4') as HTMLElement).textContent = school.name;\n newSchool.querySelector('.v-niche-grade')?.setAttribute('alt', school.grade);\n list.appendChild(newSchool);\n });\n objReference?.remove();\n });\n }\n\n orderLists() {\n const gradeOrder = ['a+', 'a', 'a-', 'b+', 'b', 'b-', 'c+', 'c', 'c-', 'd+', 'd', 'd-'];\n\n this.results.sort((a, b) => {\n const gradeA = a.grade?.toLowerCase();\n const gradeB = b.grade?.toLowerCase();\n return gradeOrder.indexOf(gradeA as string) - gradeOrder.indexOf(gradeB as string);\n });\n\n this.publicSchools = this.results.filter(result => result.ispublic === 'true').slice(0, 10);\n if (this.publicSchools.length === 0) {\n (this.dom.tab as NodeListOf)[0].style.opacity = '0.5';\n (this.dom.tab as NodeListOf)[0].style.pointerEvents = 'none';\n }\n\n this.privateSchools = this.results.filter(result => result.ispublic != 'true').slice(0, 10);\n if (this.privateSchools.length === 0) {\n (this.dom.tab as NodeListOf)[1].style.opacity = '0.5';\n (this.dom.tab as NodeListOf)[1].style.pointerEvents = 'none';\n }\n }\n}\n\nexport default Schools;\n"],"names":["Schools","Component","__publicField","ConditionalDisplay","list","index","schools","objReference","school","newSchool","_a","gradeOrder","a","b","gradeA","gradeB","_b","result"],"mappings":"sPAGA,MAAMA,UAAgBC,CAAU,CAAhC,kCACUC,EAAA,eAIF,CAAA,GAEEA,EAAA,qBAIF,CAAA,GAEEA,EAAA,sBAIF,CAAA,GAEN,eAAgB,CACd,KAAK,IAAM,CACT,MAAO,KAAK,GAAG,iBAAiB,0BAA0B,EAC1D,IAAK,KAAK,GAAG,iBAAiB,yBAAyB,CAAA,EAGrDC,EAAmB,KAAK,GAAG,EAAE,IAC1B,KAAA,GAAG,MAAM,QAAU,QAG1B,KAAK,QAAU,KAAK,GAAG,QAAQ,IAAM,KAAK,MAAM,KAAK,GAAG,QAAQ,GAAG,EAAI,CAAA,EAEnE,KAAK,QAAQ,SAAW,IACrB,KAAA,GAAG,MAAM,QAAU,OACnB,KAAA,GAAG,QAAQ,OAAS,QAG3B,KAAK,WAAW,EAChB,KAAK,YAAY,CACnB,CAEA,aAAc,CACX,KAAK,IAAI,MAAkC,QAAQ,CAACC,EAAMC,IAAU,CACnE,IAAIC,EAAU,KAAK,eACfD,IAAU,IACZC,EAAU,KAAK,eAGX,MAAAC,EAAeH,EAAK,cAAc,wBAAwB,EAChEE,EAAQ,QAAkBE,GAAA,OAClB,MAAAC,EAAYF,GAAA,YAAAA,EAAc,UAAU,IACzCE,EAAU,cAAc,KAAK,EAAkB,YAAcD,EAAO,MACrEE,EAAAD,EAAU,cAAc,gBAAgB,IAAxC,MAAAC,EAA2C,aAAa,MAAOF,EAAO,OACtEJ,EAAK,YAAYK,CAAS,CAAA,CAC3B,EACDF,GAAA,MAAAA,EAAc,QAAO,CACtB,CACH,CAEA,YAAa,CACX,MAAMI,EAAa,CAAC,KAAM,IAAK,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAI,EAEtF,KAAK,QAAQ,KAAK,CAACC,EAAGC,IAAM,SACpB,MAAAC,GAASJ,EAAAE,EAAE,QAAF,YAAAF,EAAS,cAClBK,GAASC,EAAAH,EAAE,QAAF,YAAAG,EAAS,cACxB,OAAOL,EAAW,QAAQG,CAAgB,EAAIH,EAAW,QAAQI,CAAgB,CAAA,CAClF,EAEI,KAAA,cAAgB,KAAK,QAAQ,OAAOE,GAAUA,EAAO,WAAa,MAAM,EAAE,MAAM,EAAG,EAAE,EACtF,KAAK,cAAc,SAAW,IAC/B,KAAK,IAAI,IAAgC,CAAC,EAAE,MAAM,QAAU,MAC5D,KAAK,IAAI,IAAgC,CAAC,EAAE,MAAM,cAAgB,QAGhE,KAAA,eAAiB,KAAK,QAAQ,OAAOA,GAAUA,EAAO,UAAY,MAAM,EAAE,MAAM,EAAG,EAAE,EACtF,KAAK,eAAe,SAAW,IAChC,KAAK,IAAI,IAAgC,CAAC,EAAE,MAAM,QAAU,MAC5D,KAAK,IAAI,IAAgC,CAAC,EAAE,MAAM,cAAgB,OAEvE,CACF"}