{"version":3,"sources":["degreeFinder.js"],"names":["BDM","degreeFinder","results","reset","$el","finder","$","filters","mobileopen","mobileclose","filterwindow","template","loadmore","tabs","select","notfound","loading","description","settings","dataurl","shownumber","data","dataLinks","flagLoadResults","resultsLoaded","placeHolder","allInterestsT","allInterestsV","allDegreesV","allDegreesT","allWays","loadData","event","q","searchsource","val","degreetype","interest","waystolearn","groupby","pageid","programs","campus","hasClass","addClass","removeClass","ajax","type","url","dataType","error","success","placeholder","e","matchInterest","matchDegree","matchWay","i","length","degrees","ways","includes","push","areas","j","uniqueI","Set","sort","uniqueD","uniqueW","hideWays","show","each","index","indexOf","this","attr","toLowerCase","trim","hide","iShow","tShow","vShow","term","html","append","allOpt","find","remove","prop","updateInterests","dShow","content","updateDegrees","updateDropdowns","showResults","displayResults","splice","slice","getHTMLWays","way","forEach","result","map","item","schoolclass","name","school","programcode","on","preventDefault","stopPropagation","toggleClass","closest","slideToggle","window","win","$description","$icon","width","slideDown","slideUp","setTimeout","text","init","offset","top","l","eq","focus","filter","change","first","css","display","document","localPrograms","sessionStorage","getItem","JSON","parse","waitSessionStorage","setInterval","clearInterval","updateFormSelectsInOrder","program","p","ProgramCode","selectOption","LevelDescription","AreaOfInterest","trigger","value"],"mappings":"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","file":"degreeFinder.min.js","sourcesContent":["/*globals $*/\r\n(function (BDM, degreeFinder) {\r\n \"use strict\";\r\n\r\n var $el = {\r\n //stored elements\r\n finder: $(\".degree-finder.section\"),\r\n filters: $(\".degree-finder.section .degree-finder__filter\"),\r\n mobileopen: $(\".degree-finder.section .degree-finder__mobilebutton\"),\r\n mobileclose: $(\".degree-finder.section .degree-finder__close\"),\r\n filterwindow: $(\".degree-finder.section .degree-finder__filters\"),\r\n results: $(\".degree-finder.section .degree-finder__results\"),\r\n template: $(\r\n \".degree-finder.section .degree-finder__template .degree-finder__result\"\r\n ),\r\n loadmore: $(\".degree-finder.section .degree-finder__loadmore\"),\r\n tabs: $(\".degree-finder.section .degree-finder__filter .nav > li\"),\r\n select: $(\".degree-finder.section .degree-finder__filter select\"),\r\n notfound: $(\".degree-finder.section .degree-finder__notfound\"),\r\n loading: $(\r\n \".degree-finder.section .degree-finder__results-container .icon__loading\"\r\n ),\r\n description: $(\".degree-finder.section .degree-finder__description\"),\r\n },\r\n settings = {\r\n dataurl: \"program_finder.json\",\r\n shownumber: $el.finder.data(\"showcount\"), /// Number of results to reveal initially and after load more\r\n },\r\n dataLinks = true,\r\n allResults,\r\n results,\r\n flagLoadResults = false,\r\n reset,\r\n resultsLoaded = false,\r\n scrollPos = null,\r\n focusElements = \"select, input, textarea, button, a\",\r\n placeHolder = [],\r\n allInterestsT = [],\r\n allInterestsV = [],\r\n allDegreesV = [],\r\n allDegreesT = [],\r\n allWays = [];\r\n\r\n /**\r\n * Helper Methods\r\n **/\r\n // Init area values\r\n $(\"#areas option\").each(function () {\r\n allInterestsV.push($(this).val());\r\n allInterestsT.push($(this).text());\r\n });\r\n\r\n // Init degree values\r\n $(\"#degrees option\").each(function () {\r\n allDegreesV.push($(this).val());\r\n allDegreesT.push($(this).text());\r\n });\r\n\r\n $(\"ul.degree-finder__tabs li\").each(function () {\r\n allWays.push($(this).data(\"value\"));\r\n });\r\n\r\n function loadData(event) {\r\n var q = {\r\n searchsource: $(\"#filtersource\").val(),\r\n degreetype: $(\"#degrees\").val() || \"all\",\r\n interest: $(\"#areas\").val() || \"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 reset = true;\r\n resultsLoaded = false;\r\n if ($el.results.hasClass(\"fadein\")) {\r\n $el.results.addClass(\"fadeout\").removeClass(\"fadein\");\r\n }\r\n $.ajax({\r\n type: \"POST\",\r\n url: settings.dataurl,\r\n data: q,\r\n dataType: \"json\",\r\n error: function (data) {\r\n },\r\n success: function (data) {\r\n results = data.programs;\r\n\r\n data.placeholder && (placeHolder = data.placeholder);\r\n\r\n !flagLoadResults && (allResults = results);\r\n reset = true;\r\n resultsLoaded = false;\r\n flagLoadResults = true;\r\n updateDropdowns(q, event);\r\n showResults();\r\n },\r\n });\r\n }\r\n\r\n function updateDropdowns(q, e) {\r\n var matchInterest = [],\r\n matchDegree = [],\r\n matchWay = [];\r\n\r\n for (var i = 0; i < results.length; i++) {\r\n if (\r\n (q.degreetype === \"all\" || results[i].degrees[0] === q.degreetype) &&\r\n (q.waystolearn === \"all\" || results[i].ways.includes(q.waystolearn))\r\n ) {\r\n matchInterest.push(results[i].areas[0]);\r\n }\r\n if (\r\n (q.interest === \"all\" || results[i].areas[0] === q.interest) &&\r\n (q.waystolearn === \"all\" || results[i].ways.includes(q.waystolearn))\r\n ) {\r\n matchDegree.push(results[i].degrees[0]);\r\n }\r\n if (\r\n (q.interest === \"all\" || results[i].areas[0] === q.interest) &&\r\n (q.degreetype === \"all\" || results[i].degrees[0] === q.degreetype)\r\n ) {\r\n for (var j = 0; j < results[i].ways.length; j++) {\r\n if (results[i].ways[j] !== \"\") {\r\n matchWay.push(results[i].ways[j]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n matchWay.push(\"all\");\r\n\r\n var uniqueI = [...new Set(matchInterest.sort())];\r\n var uniqueD = [...new Set(matchDegree.sort())];\r\n var uniqueW = [...new Set(matchWay.sort())];\r\n\r\n hideWays();\r\n updateInterests(uniqueI, allInterestsT, allInterestsV, q);\r\n updateDegrees(uniqueD, allDegreesT, allDegreesV, q);\r\n\r\n function hideWays() {\r\n $(\"ul.degree-finder__tabs li\").show();\r\n $(\"ul.degree-finder__tabs li\").each(function (index) {\r\n if (\r\n uniqueW.indexOf($(this).attr(\"data-value\").toLowerCase().trim()) == -1\r\n ) {\r\n $(this).hide();\r\n }\r\n });\r\n }\r\n }\r\n\r\n function updateInterests(iShow, tShow, vShow, term) {\r\n debugger;\r\n $(\"#areas\").html(\"\");\r\n\r\n $(\"#areas\").append('');\r\n var allOpt = iShow.find(function (e) {\r\n return e === \"all\";\r\n });\r\n if (!allOpt) {\r\n $(\"#areas optgroup\").append(\"\");\r\n }\r\n\r\n for (var i = 0; i < iShow.length; i++) {\r\n $(\"#areas optgroup\").append(\r\n '\"\r\n );\r\n if (iShow[i] == null) {\r\n $('option[value=\"' + iShow[i] + '\"]').remove();\r\n }\r\n if (iShow[i] == term.interest) {\r\n $(\"#areas optgroup option\").prop(\"selected\", true);\r\n }\r\n }\r\n }\r\n\r\n function updateDegrees(dShow, tShow, vShow, term) {\r\n var content = \"\";\r\n content += `\r\n \r\n `;\r\n\r\n for (var i = 0; i < dShow.length; i++) {\r\n if (dShow[i] !== null) {\r\n content += `\r\n `;\r\n }\r\n }\r\n\r\n $(\"#degrees\").html(content);\r\n\r\n if (dShow[i] == term.degreetype) {\r\n $(\"#degrees optgroup option\").prop(\"selected\", true);\r\n }\r\n }\r\n\r\n function showResults() {\r\n var displayResults = [];\r\n if (resultsLoaded === false) {\r\n resultsLoaded = true;\r\n if (reset) {\r\n $el.results.find(\".degree-finder__result\").remove();\r\n }\r\n reset = false;\r\n if (results.length) {\r\n if (results.length > settings.shownumber) {\r\n $el.loadmore.show();\r\n displayResults = results.splice(0, settings.shownumber);\r\n } else {\r\n $el.loadmore.hide();\r\n displayResults = results;\r\n }\r\n $el.notfound.attr(\"hidden\", true);\r\n $el.notfound.addClass(\"fadeout\").removeClass(\"fadein\");\r\n } else {\r\n if (placeHolder.length) {\r\n displayResults = placeHolder.slice(0, settings.shownumber);\r\n }\r\n $el.loadmore.hide();\r\n $el.notfound.attr(\"hidden\", false);\r\n $el.notfound.addClass(\"fadein\").removeClass(\"fadeout\");\r\n }\r\n if (displayResults.length) {\r\n if (displayResults.length < 4) {\r\n $el.results.addClass(\"degree-finder__results--few\");\r\n } else {\r\n $el.results.removeClass(\"degree-finder__results--few\");\r\n }\r\n\r\n displayResults.forEach(function (result) {\r\n\r\n let content = \"\";\r\n\r\n if (!dataLinks) {\r\n let ways = \"\";\r\n result.ways.map(function (item) {\r\n ways += getHTMLWays(item);\r\n });\r\n\r\n content += `\r\n
\r\n
\r\n
\r\n

${result.name}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

${result.school}

\r\n
${result.description}
\r\n
\r\n
\r\n ${ways}\r\n Request info \r\n
\r\n\r\n
\r\n
\r\n
\r\n
`;\r\n $el.results.append(content);\r\n } else {\r\n let ways = \"\";\r\n result.ways.map(function (item) {\r\n ways += getHTMLWays(item);\r\n });\r\n content = `\r\n \r\n
\r\n

${result.name}

\r\n

${result.school}\r\n \r\n

\r\n
${result.description}
\r\n
\r\n
\r\n ${ways}\r\n
\r\n
`;\r\n $el.results.append(content);\r\n }\r\n\r\n });\r\n\r\n function getHTMLWays(way) {\r\n let content = \"\";\r\n switch (way) {\r\n case \"hybrid\":\r\n content = `
\r\n \r\n

Hybrid

\r\n (on-campus/online)\r\n
`;\r\n break;\r\n case \"online\":\r\n content = `
\r\n \r\n

Online

\r\n
`;\r\n break;\r\n case \"self-paced\":\r\n content = `
\r\n \r\n

Online

\r\n (self-paced)\r\n
`;\r\n break;\r\n case \"on-ground\":\r\n content = `
\r\n \r\n

In-Person

\r\n \r\n
`;\r\n break;\r\n default:\r\n content = \"\";\r\n }\r\n return content;\r\n }\r\n\r\n //On mobile functionality to hide description\r\n $(\"h4.degree-finder__school > span.icon\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n $(this).find(\".icon\").toggleClass(\"open\");\r\n $(this)\r\n .closest(\".degree-finder__result\")\r\n .find(\".degree-finder__description\")\r\n .slideToggle();\r\n });\r\n $(window).on(\"resize\", function () {\r\n var win = $(this),\r\n $description = $(\".degree-finder__description\"),\r\n $icon = $(\"h4.degree-finder__school .icon\");\r\n win.width() >= 768 ?\r\n ($description.slideDown(), $icon.removeClass(\"open\")) :\r\n $description.slideUp();\r\n });\r\n }\r\n\r\n $el.results.removeClass(\"fadeout\");\r\n\r\n setTimeout(function () {\r\n $el.loading.removeClass(\"fadein\").addClass(\"fadeout\");\r\n $el.results.addClass(\"fadein\");\r\n }, 100);\r\n }\r\n }\r\n\r\n /// Setup Events\r\n function bindEvents() {\r\n if ($el.loadmore.length) {\r\n $el.loadmore.on(\"click\", function (event) {\r\n var l = $(\".degree-finder__result\").length;\r\n event.preventDefault();\r\n resultsLoaded = false;\r\n showResults(false);\r\n $(\".degree-finder__result\").eq(l).focus();\r\n });\r\n }\r\n if ($el.tabs.length) {\r\n $(\"#waystolearnselected\").val(\r\n $el.tabs.filter(\".active\").attr(\"data-value\")\r\n );\r\n $el.tabs.on(\"click\", function (event) {\r\n event.preventDefault();\r\n $(\"#waystolearnselected\").val(\r\n $el.tabs.filter(\".active\").attr(\"data-value\")\r\n );\r\n loadData(this);\r\n });\r\n }\r\n if ($el.select.length) {\r\n $el.select.change(function (event) {\r\n event.preventDefault();\r\n loadData(this);\r\n });\r\n }\r\n if ($el.mobileopen.length) {\r\n $el.mobileopen.on(\"click\", function (event) {\r\n event.preventDefault();\r\n $el.filterwindow.addClass(\"open\");\r\n $el.mobileopen.hide();\r\n $el.filterwindow.find(focusElements).first().focus();\r\n });\r\n }\r\n if ($el.mobileclose.length) {\r\n $el.mobileclose.on(\"click\", function (event) {\r\n event.preventDefault();\r\n $el.filterwindow.removeClass(\"open\");\r\n $el.mobileopen.css({\r\n display: \"\",\r\n });\r\n $el.mobileopen.focus();\r\n });\r\n }\r\n if ($el.results.length) {\r\n $el.results.on(\r\n \"webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend\",\r\n function (event) {\r\n if (resultsLoaded === false) {\r\n showResults();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Public Methods\r\n **/\r\n\r\n degreeFinder.init = function () {\r\n if ($el.finder.length) {\r\n dataLinks = $el.finder.attr(\"data-links\") === \"1\";\r\n settings.dataurl =\r\n $el.finder.attr(\"data-programsurl\") || settings.dataurl;\r\n scrollPos = $el.finder.offset().top;\r\n bindEvents();\r\n loadData();\r\n }\r\n $(document).on(\"click\", \".no-links\", function (e) {\r\n e.preventDefault();\r\n $(this).find(\".content-bottom\").slideToggle();\r\n $(this).toggleClass(\"open\");\r\n });\r\n\r\n $(document).on(\"click\", \".no-links a\", function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n let programcode = $(this).data('programcode');\r\n \r\n const localPrograms = window.sessionStorage.getItem('programs');\r\n let programs = JSON.parse(localPrograms);\r\n \r\n function checkPrograms() {\r\n const localPrograms = window.sessionStorage.getItem('programs');\r\n if (localPrograms !== null) {\r\n programs = JSON.parse(localPrograms);\r\n window.clearInterval(waitSessionStorage);\r\n updateFormSelectsInOrder(programcode);\r\n }\r\n }\r\n \r\n if (programs === null) {\r\n var waitSessionStorage = window.setInterval(checkPrograms, 2000);\r\n } else {\r\n updateFormSelectsInOrder(programcode);\r\n }\r\n \r\n function updateFormSelectsInOrder(programcode) {\r\n let program = programs.find(p => p.ProgramCode === programcode);\r\n if (program) {\r\n selectOption($(\"#DegreeTypeFormSelected\"), program.LevelDescription);\r\n selectOption($(\"#AreaOfInterestFormSelected\"), program.AreaOfInterest);\r\n selectOption($(\"#ProgramFormSelected\"), program.ProgramCode);\r\n $(`#ProgramFormSelected option[value=\"${programcode}\"]`).trigger(\"change\");\r\n $(\".nav__request-info\").trigger(\"click\");\r\n }\r\n }\r\n \r\n function selectOption(select, value) {\r\n select.val(value);\r\n select.trigger(\"change\");\r\n }\r\n }); \r\n };\r\n})(\r\n (window.BDM = window.BDM || {}),\r\n (window.BDM.degreeFinder = window.BDM.degreeFinder || {})\r\n);\r\n\r\n//load when ready\r\n$(function () {\r\n window.BDM.degreeFinder.init();\r\n});"]}