forked from andreasmb/lever-jobs-embed
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index-min.js
1 lines (1 loc) · 3.76 KB
/
index-min.js
1
window.loadLeverJobs=function(e){function t(e){return p[e]||e}function n(e){return void 0===e?"":e.replace(/[&<>]/g,t)}function r(e){return""==e||void 0===e?"uncategorized":(e=n(e),e.replace(/\s+/gi,""))}function o(e){function t(e){return e.department==g}function o(e){return e.team==f}if(e){"string"==typeof e&&(e=JSON.parse(e));for(var a="",s=[],d=0;d<e.length;d++)if(e[d]&&e[d].postings&&e[d].postings.length>0){var c=n(e[d].title||"Uncategorized"),p=r(c);for(j=0;j<e[d].postings.length;j++){var m=e[d].postings[j],u=m.categories.team||"Uncategorized",f=r(u),v=m.categories.department||"Uncategorized",g=r(v),h=m.hostedUrl+i;-1===s.findIndex(t)?(newDepartmentToAdd={department:g,departmentTitle:v,teams:[{team:f,teamTitle:u,postings:[]}]},s.push(newDepartmentToAdd)):(departmentIndex=s.findIndex(t),newTeamToAdd={team:f,teamTitle:u,postings:[]},-1===s[departmentIndex].teams.map(function(e){return e.team}).indexOf(f)&&s[departmentIndex].teams.push(newTeamToAdd)),departmentIndex=s.findIndex(t),teamIndex=s[departmentIndex].teams.findIndex(o),s[departmentIndex].teams[teamIndex].postings.push(m)}}s.sort(function(e,t){var n=e.department.toLowerCase(),r=t.department.toLowerCase();return n<r?-1:n>r?1:0});for(var d=0;d<s.length;d++){if(s.length>=2)var b=!0;for(b&&(a+='<section class="lever-department" data-department="'+s[d].departmentTitle+'"><h3 class="lever-department-title">'+n(s[d].departmentTitle)+"</h3>"),j=0;j<s[d].teams.length;j++){a+='<ul class="lever-team" data-team="'+s[d].teams[j].teamTitle+'"><li><h4 class="lever-team-title">'+n(s[d].teams[j].teamTitle)+"</h4><ul>";for(var w=0;w<s[d].teams[j].postings.length;w++)a+='<li class="lever-job" data-department="'+s[d].departmentTitle+'" data-team="'+s[d].teams[j].postings[w].categories.team+'" data-location="'+s[d].teams[j].postings[w].categories.location+'"data-work-type="'+s[d].teams[j].postings[w].categories.commitment+'"><a class="lever-job-title" href="'+s[d].teams[j].postings[w].hostedUrl+'">'+n(s[d].teams[j].postings[w].text)+'</a><span class="lever-job-tag">'+(n(s[d].teams[j].postings[w].categories.location)||"")+"</span></li>";a+="</ul></li></ul>"}b&&(a+="</section>")}a+="</ul>",l.innerHTML=a,window.dispatchEvent(new Event("leverJobsRendered"))}}function a(e){var t=document.head,n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,t.appendChild(n)}var s=window.location.href,i="",d="?lever-";e.accountName=e.accountName.toLowerCase();var l=document.getElementById("lever-jobs-container")||document.body;if(s.indexOf("?lever-")>=0){var c=s.split("?lever-");i="?lever-"+c[1]}var p={"&":"&","<":"<",">":">"},m="https://api.lever.co/v0/postings/"+e.accountName+"?group=team&mode=json";e.includeCss&&a("https://sarlow.github.io/lever-jobs-embed/embed-css/style.css");var u=new XMLHttpRequest;u.open("GET",m,!0),u.responseType="json",u.onload=function(){200==u.status?o(u.response):(console.log("Error fetching jobs."),l.innerHTML="<p class='lever-error'>Error fetching jobs.</p>")},u.onerror=function(){console.log("Error fetching jobs."),l.innerHTML="<p class='lever-error'>Error fetching jobs.</p>"},u.send()},window.loadLeverJobs(window.leverJobsOptions),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(e){if(null==this)throw new TypeError('"this" is null or not defined');var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var r=arguments[1],o=0;o<n;){var a=t[o];if(e.call(r,a,o,t))return o;o++}return-1},configurable:!0,writable:!0}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}if("function"==typeof window.CustomEvent)return!1;e.prototype=window.Event.prototype,window.CustomEvent=e}();