{"version":3,"sources":["heroProgramFinder.js"],"names":["BDM","heroFinder","fObject","allResults","allInterestsT","allInterestsV","allDegreesV","allDegreesT","updateSelect","type","typeShow","tShow","vShow","label","optgroup","$","empty","append","find","e","i","length","indexOf","oldDegrees","oldAreas","filterInterest","term","interest","filter","degrees","Set","map","areas","sort","includes","val","trigger","filterDegree","degree","loadData","event","q","searchsource","degreetype","waystolearn","groupby","pageid","programs","campus","ajax","url","data","dataType","beforeSend","hide","$container","css","success","remove","show","each","push","this","text","on","init","ready","window"],"mappings":"CACA,SAAWA,EAAKC,GACZ,aAEA,IAAIC,EAAU,WACV,IAEIC,EACAC,EAAgB,GAChBC,EAAgB,GAChBC,EAAc,GACdC,EAAc,GA0ClB,SAASC,EAAaC,EAAMC,EAAUC,EAAOC,GACzC,IAAIC,EAAiB,UAATJ,EAAmB,oBAAsB,qBACjDK,EAAoB,UAATL,EAAmB,gBAAkB,mBAEpDM,EAAE,IAAIN,KAAQO,QACdD,EAAE,IAAIN,KAAQQ,OAAO,oBAAoBJ,kBAC5BH,EAASQ,MAAK,SAAUC,GAAK,MAAa,QAANA,CAAa,KAE1DJ,EAAE,IAAIN,cAAiBQ,OAAO,qBAAqBH,cAEvD,IAAK,IAAIM,EAAI,EAAGA,EAAIV,EAASW,OAAQD,IACb,OAAhBV,EAASU,IACTL,EAAE,IAAIN,cAAiBQ,OAAO,4CACTP,EAASU,qCACpBT,EAAMC,EAAMU,QAAQZ,EAASU,0CAInD,CAmCA,MAAO,CACHG,WAtGa,GAuGbC,SAtGW,GAuGXrB,aACAC,gBACAC,gBACAC,cACAC,cACAkB,eAzCJ,SAAwBC,GACpB,IAAIhB,EACJ,GAAa,QAATgB,EAAgB,CAChB,IAAIC,EAAWxB,EAAWyB,QAAOT,GAAKA,EAAEU,QAAQ,KAAOH,IAEvDhB,EADmB,IAAI,IAAIoB,IAAIH,EAASI,KAAIZ,GAAKA,EAAEa,MAAM,OACjCC,MAC5B,MACIvB,EAAWL,EAGfG,EAAa,QAASE,EAAUN,EAAeC,GAE3CK,EAASwB,SAAShC,EAAQsB,WAC1BT,EAAE,+BAA+BoB,IAAIjC,EAAQsB,UAAUY,QAAQ,SAGvE,EA0BIC,aAxBJ,SAAsBX,GAClB,IAAIhB,EACJ,GAAa,QAATgB,EAAgB,CAChB,IAAIY,EAASnC,EAAWyB,QAAOT,GAAKA,EAAEa,MAAM,KAAON,IAEnDhB,EADiB,IAAI,IAAIoB,IAAIQ,EAAOP,KAAIZ,GAAKA,EAAEU,QAAQ,OACjCI,MAC1B,MACIvB,EAAWJ,EAEfE,EAAa,UAAWE,EAAUH,EAAaD,GAE3CI,EAASwB,SAAShC,EAAQqB,aAC1BR,EAAE,iCAAiCoB,IAAIjC,EAAQqB,YAAYa,QAAQ,SAE3E,EAWIG,SAvGJ,SAAkBC,GACd,IAAIC,EAAI,CACJC,aAAc3B,EAAE,iBAAiBoB,MACjCQ,WAAY,MACZhB,SAAU,MACViB,YAAa7B,EAAE,wBAAwBoB,OAAS,MAChDU,QAAS9B,EAAE,kBAAkBoB,MAC7BW,OAAQ/B,EAAE,eAAeoB,MACzBY,SAAUhC,EAAE,aAAaoB,MACzBa,OAAQjC,EAAE,mBAAmBoB,OAGjCpB,EAAEkC,KAAK,CACHxC,KAAM,OACNyC,IAAKnC,EAAE,uCAAuCoC,KAAK,eACnDA,KAAMV,EACNW,SAAU,OACVC,WAAY,WACRtC,EAAE,kCAAkCuC,OACpC,IAAIC,EAAaxC,EAAE,oCAUnBwC,EAAWC,IAAI,aAAc,WAC7BD,EAAWtC,OAVE,4YAWjB,EACAwC,QAAS,SAAUN,GACfhD,EAAagD,EAAKJ,SAClBhC,EAAE,kBAAkB2C,SACpB3C,EAAE,kCAAkC4C,MACxC,GAER,EAmEH,CAlHa,GAqHd5C,EAAE,sCAAsC6C,MAAK,WACzC1D,EAAQG,cAAcwD,KAAK9C,EAAE+C,MAAM3B,OACnCjC,EAAQE,cAAcyD,KAAK9C,EAAE+C,MAAMC,OACvC,IAEAhD,EAAE,wCAAwC6C,MAAK,WAC3C1D,EAAQI,YAAYuD,KAAK9C,EAAE+C,MAAM3B,OACjCjC,EAAQK,YAAYsD,KAAK9C,EAAE+C,MAAMC,OACrC,IAEAhD,EAAE,iCAAiCiD,GAAG,UAAU,SAAU7C,GACtDjB,EAAQuB,eAAeV,EAAE+C,MAAM3B,MACnC,IAEAlC,EAAWgE,KAAO,WACdlD,EAAE,YAAYmD,OAAM,WACZnD,EAAE,wBAAwBM,OAAS,GACnCnB,EAAQqC,UAEhB,GACJ,CACH,CA7ID,CA8II4B,OAAOnE,IAAMmE,OAAOnE,KAAO,CAAC,EAC5BmE,OAAOnE,IAAIC,WAAakE,OAAOnE,IAAIC,YAAc,CAAC,GAItDc,GAAE,WACEoD,OAAOnE,IAAIC,WAAWgE,MAC1B","file":"heroProgramFinder.min.js","sourcesContent":["/*globals $*/\r\n(function (BDM, heroFinder) {\r\n 'use strict';\r\n\r\n var fObject = (function () {\r\n let oldDegrees = '',\r\n oldAreas = '',\r\n allResults,\r\n allInterestsT = [],\r\n allInterestsV = [],\r\n allDegreesV = [],\r\n allDegreesT = [];\r\n\r\n function loadData(event) {\r\n let q = {\r\n searchsource: $('#filtersource').val(),\r\n degreetype: 'all',\r\n interest: 'all',\r\n waystolearn: $('#waystolearnselected').val() || 'all',\r\n groupby: $('#filtergroupby').val(),\r\n pageid: $('#pageitemid').val(),\r\n programs: $('#programs').val(),\r\n campus: $('#campuslocation').val()\r\n };\r\n\r\n $.ajax({\r\n type: 'POST',\r\n url: $('.hero-program-finder .degree-finder').data('programsurl'),\r\n data: q,\r\n dataType: 'json',\r\n beforeSend: function () {\r\n $('.degree-finder__filter-wrapper').hide();\r\n let $container = $('.degree-finder__filter-container');\r\n let loader = `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `;\r\n $container.css('visibility', 'visible');\r\n $container.append(loader);\r\n },\r\n success: function (data) {\r\n allResults = data.programs;\r\n $('.icon__loading').remove();\r\n $('.degree-finder__filter-wrapper').show();\r\n }\r\n });\r\n }\r\n\r\n function updateSelect(type, typeShow, tShow, vShow) {\r\n let label = type === 'areas' ? \"Areas of Interest\" : \"Degrees & Programs\";\r\n let optgroup = type === 'areas' ? \"All Interests\" : \"All Degree Types\";\r\n\r\n $(`#${type}`).empty();\r\n $(`#${type}`).append(``);\r\n let allOpt = typeShow.find(function (e) { return e === 'all'; });\r\n if (!allOpt) {\r\n $(`#${type} optgroup`).append(``)\r\n }\r\n for (let i = 0; i < typeShow.length; i++) {\r\n if (typeShow[i] !== null) {\r\n $(`#${type} optgroup`).append(`\r\n `);\r\n }\r\n }\r\n }\r\n\r\n function filterInterest(term) {\r\n let typeShow;\r\n if (term !== \"all\") {\r\n let interest = allResults.filter(e => e.degrees[0] === term);\r\n let interestName = [...new Set(interest.map(e => e.areas[0]))];\r\n typeShow = interestName.sort();\r\n } else {\r\n typeShow = allInterestsV;\r\n }\r\n\r\n updateSelect('areas', typeShow, allInterestsT, allInterestsV)\r\n\r\n if (typeShow.includes(fObject.oldAreas)) {\r\n $(`.hero-program-finder #areas`).val(fObject.oldAreas).trigger('change');\r\n }\r\n\r\n }\r\n\r\n function filterDegree(term) {\r\n let typeShow;\r\n if (term !== \"all\") {\r\n let degree = allResults.filter(e => e.areas[0] === term);\r\n let degreeName = [...new Set(degree.map(e => e.degrees[0]))];\r\n typeShow = degreeName.sort();\r\n } else {\r\n typeShow = allDegreesV;\r\n }\r\n updateSelect('degrees', typeShow, allDegreesT, allDegreesV);\r\n\r\n if (typeShow.includes(fObject.oldDegrees)) {\r\n $(`.hero-program-finder #degrees`).val(fObject.oldDegrees).trigger('change');\r\n }\r\n }\r\n return {\r\n oldDegrees,\r\n oldAreas,\r\n allResults,\r\n allInterestsT,\r\n allInterestsV,\r\n allDegreesV,\r\n allDegreesT,\r\n filterInterest,\r\n filterDegree,\r\n loadData\r\n };\r\n })();\r\n\r\n //Events\r\n $('.hero-program-finder #areas option').each(function () {\r\n fObject.allInterestsV.push($(this).val());\r\n fObject.allInterestsT.push($(this).text());\r\n });\r\n\r\n $('.hero-program-finder #degrees option').each(function () {\r\n fObject.allDegreesV.push($(this).val());\r\n fObject.allDegreesT.push($(this).text());\r\n });\r\n\r\n $('.hero-program-finder #degrees').on('change', function (e) {\r\n fObject.filterInterest($(this).val());\r\n });\r\n\r\n heroFinder.init = function () {\r\n $(\"document\").ready(function () {\r\n if ($('.hero-program-finder').length > 0) {\r\n fObject.loadData();\r\n }\r\n });\r\n };\r\n})(\r\n window.BDM = window.BDM || {},\r\n window.BDM.heroFinder = window.BDM.heroFinder || {}\r\n);\r\n\r\n//load when ready\r\n$(function () {\r\n window.BDM.heroFinder.init();\r\n});"]}