{"mappings":"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","sources":["assets/js/site.js"],"sourcesContent":["var site = (function($) {\n var idfive = {};\n\n idfive.domReady = function() {\n var mq = window.matchMedia(\"(max-width: 700px)\");\n if (mq.matches) {\n idfive.showFilters();\n }\n\n idfive.hero();\n idfive.articles();\n idfive.desktopDropdowns();\n idfive.homeTextChange();\n idfive.insightsPanel();\n\n if ($(\"body\").hasClass(\"node-type-profile\")) {\n idfive.profile();\n }\n\n };\n\n idfive.hero = function() {\n $(\".hero\").each(function() { \n var image = $(this)\n .find(\"img\")\n .attr(\"src\");\n $(this).css (\"background-image\", \"url(\" + image + \")\");\n });\n };\n\n idfive.profile = function() {\n var collageControls = $(\".collage-controls\");\n collageControls.find(\"a\").click(function(e) {\n e.preventDefault();\n });\n collageControls.on(\"click\", function() {\n window.location.href = $(this)\n .find(\"a\")\n .attr(\"href\");\n });\n };\n\n idfive.articles = function() {\n if ($(\".articles\")) {\n $(\".link--circle\").click(function() {\n $(this).addClass(\"active\");\n $(\".article\").addClass(\"active\");\n $(\".button-article--view-all\").addClass(\"activated\");\n });\n }\n };\n\n idfive.desktopDropdowns = function() {\n $(\".hover-nav-who\").hover(function() {\n $(\".who-sub-nav\").toggleClass(\"sub-nav-active\");\n });\n\n $(\".hover-nav-what\").hover(function() {\n $(\".what-sub-nav\").toggleClass(\"sub-nav-active\");\n });\n };\n\n idfive.showFilters = function() {\n $(\n \".page-who-we-are-find-an-attorney .pillow > .compartment > h2:first-of-type\"\n ).click(function() {\n $(\".view-filters\").slideToggle();\n });\n\n $(\".node-type-careers-page .nav-related > h3\").click(function() {\n $(\".nav-related > ul\").slideToggle();\n });\n };\n\n idfive.homeTextChange = function() {\n var $homeList = $(\".main-practices\");\n var newNum;\n\n function showNewList() {\n var numItems = 4;\n var shownItems = [];\n\n $homeList.find(\"li:not(:last-of-type)\").hide();\n for (var i = 0; i < numItems; i++) {\n newNum = Math.floor(Math.random() * ($homeList.children().length - 1));\n\n if (shownItems.indexOf(newNum) == -1) {\n shownItems.push(newNum);\n $(\".main-practices > li\")\n .eq(newNum)\n .fadeIn();\n } else {\n numItems++;\n }\n }\n }\n\n if ($(\"body\").hasClass(\"path-frontpage\")) {\n showNewList();\n setInterval(function() {\n showNewList();\n }, 5000);\n }\n };\n\n idfive.insightsPanel = function() {\n var windowWidth = $(window).width();\n var $panelHeading = $(\".filter-panel__heading\");\n var $panelBody = $(\".filter-panel__body\");\n if (windowWidth <= 900) {\n $(\".filter-panel\").addClass(\"closed\");\n $panelBody.hide();\n $panelHeading.css(\"cursor\", \"pointer\");\n $panelHeading.on(\"click\", function(e) {\n $panelBody.slideToggle({\n duration: 400,\n start: function() {\n $(\".filter-panel\").toggleClass(\"closed\");\n }\n });\n });\n } else {\n $panelBody.stop();\n $panelHeading.css(\"cursor\", \"\");\n $(\".filter-panel\").removeClass(\"closed\");\n $panelBody.show();\n }\n };\n\n idfive.flexPoly = function() {\n var testElem = document.createElement(\"div\");\n if (\n testElem.style.flex == undefined &&\n testElem.style.flexFlow == undefined\n ) {\n $(\"html\").addClass(\"no-flex\");\n flexibility(document.documentElement);\n } else {\n $(\"html\").addClass(\"flex\");\n }\n };\n\n return idfive;\n})(jQuery);\n\n\n// mischief managed\n\n\n\n// homepage grid\nfunction setData() {\n // set api address\n const usersJSON = \"/api/gfr_law_api/homepage_grid\";\n\n (function getData() {\n // get data\n fetch(usersJSON)\n .then(function(response) {\n return response.json();\n })\n //parse to json\n .then(function(data) {\n // Profiles\n let arr = []\n for (let i = 1; i <= data.profile.length; i++) {\n arr.push(i)\n }\n\n let result = [];\n // get random non-repeating number\n for (let i = 1; i <= 3; i++) {\n const random = Math.floor(Math.random() * (data.profile.length - i));\n result.push(arr[random]);\n arr[random] = arr[data.profile.length - i];\n }\n\n // populate profiles\n const profileSlotOne = document.querySelector(\".effect-step-2\");\n const profileSlotTwo = document.querySelector(\".effect-step-3\");\n const profileSlotThree = document.querySelector(\".effect-step-4\");\n populateProfiles(profileSlotOne, data.profile[result[0] -1].attorney_url, data.profile[result[0] -1].name, data.profile[result[0] -1].quote.text, data.profile[result[0] -1].quote.attribution, data.profile[result[0] -1].image.url, data.profile[result[0] -1].image.alt);\n populateProfiles(profileSlotTwo, data.profile[result[1] -1].attorney_url, data.profile[result[1] -1].name, data.profile[result[1] -1].quote.text, data.profile[result[1] -1].quote.attribution, data.profile[result[1] -1].image.url, data.profile[result[1] -1].image.alt);\n populateProfiles(profileSlotThree, data.profile[result[2] -1].attorney_url, data.profile[result[2] -1].name, data.profile[result[2] -1].quote.text, data.profile[result[2] -1].quote.attribution, data.profile[result[2] -1].image.url, data.profile[result[2] -1].image.alt);\n\n // Testimonials\n let arrTestimonial = []\n for (let i = 1; i <= data.testimonial.length; i++) {\n arrTestimonial.push(i)\n }\n \n let testimonialResult = [];\n // get random non-repeating number\n for (let i = 1; i <= 3; i++) {\n const randomTestimonial = Math.floor(Math.random() * (data.testimonial.length - i));\n testimonialResult.push(arrTestimonial[randomTestimonial]);\n arrTestimonial[randomTestimonial] = arrTestimonial[data.testimonial.length - i];\n }\n\n // populate testimonials\n const testimonialSlotOne = document.querySelector(\".effect-step-1\");\n const testimonialSlotTwo = document.querySelector(\".effect-step-5\");\n const testimonialSlotThree = document.querySelector(\".effect-step-6\");\n populateTestimonials(testimonialSlotOne, data.testimonial[testimonialResult[0] -1].quote, data.testimonial[testimonialResult[0] -1].attribution);\n populateTestimonials(testimonialSlotTwo, data.testimonial[testimonialResult[1] -1].quote, data.testimonial[testimonialResult[1] -1].attribution);\n populateTestimonials(testimonialSlotThree, data.testimonial[testimonialResult[2] -1].quote, data.testimonial[testimonialResult[2] -1].attribution);\n })\n\n // populate profiles\n function populateProfiles(selector, dataLink, dataName, dataQuote, dataQuoteAttribution, dataImage, dataImageAlt) {\n const link = selector.querySelector(\"a\");\n const name = selector.querySelector(\"figcaption .mini-hat\");\n const quoteAttribution = selector.querySelector(\"figcaption .quote-author em\");\n const quote = selector.querySelector(\"figcaption p:first-of-type\");\n const hero = selector.querySelector(\".hero\");\n const image = selector.querySelector(\".hero img\");\n link.href = dataLink;\n name.innerText = dataName;\n quote.innerText = dataQuote;\n hero.style.backgroundImage = \"url(\"+dataImage+\")\";\n image.src = dataImage;\n image.alt = dataImageAlt;\n dataQuoteAttribution ? quoteAttribution.innerText = dataQuoteAttribution : quoteAttribution.innerText = \"\";\n }\n\n // populate testimonials\n function populateTestimonials(selector, dataTestimonialQuote, dataTestimonialQuoteAttribution) {\n const quote = selector.querySelector(\"blockquote\");\n const quoteAttribution = selector.querySelector(\"cite\");\n quote.innerText = dataTestimonialQuote;\n quoteAttribution.innerText = dataTestimonialQuoteAttribution;\n }\n\n })();\n};\n\nif(document.body.classList.contains('home')) {\n setData();\n\n // output homepage grid html\n const homeGridContainer = document.querySelector(\"#homepage_grid\");\n homeGridContainer.innerHTML = \n `
`\n\n // homepage grid refresh button\n const homeGridRefreshBtn = document.querySelector(\"#homepage_grid .collage-controls button:last-child\");\n homeGridRefreshBtn.addEventListener(\"click\", () => {\n setData();\n })\n\n\n // homepage use main hero image as background\n const mainHeroContainer = document.querySelector(\"main .content > .hero\");\n const mainHeroContainerImg = document.querySelector(\"main .content > .hero img\");\n mainHeroContainer.style.backgroundImage = \"url(\"+mainHeroContainerImg.src+\")\";\n};\n\n"],"names":["site","$","idfive","window","matchMedia","matches","showFilters","hero","articles","desktopDropdowns","homeTextChange","insightsPanel","hasClass","profile","each","image","this","find","attr","css","collageControls","click","e","preventDefault","on","location","href","addClass","hover","toggleClass","slideToggle","newNum","$homeList","showNewList","numItems","shownItems","hide","i","Math","floor","random","children","length","indexOf","push","eq","fadeIn","setInterval","windowWidth","width","$panelHeading","$panelBody","duration","start","stop","removeClass","show","testElem","document","createElement","undefined","style","flex","flexFlow","flexibility","documentElement","jQuery","setData","populateProfiles","selector","dataLink","dataName","dataQuote","dataQuoteAttribution","dataImage","dataImageAlt","link","querySelector","name","quoteAttribution","quote","innerText","backgroundImage","src","alt","populateTestimonials","dataTestimonialQuote","dataTestimonialQuoteAttribution","fetch","then","response","json","data","arr","result","i1","profileSlotOne","profileSlotTwo","profileSlotThree","attorney_url","text","attribution","url","arrTestimonial","i2","testimonial","testimonialResult","i3","randomTestimonial","testimonialSlotOne","testimonialSlotTwo","testimonialSlotThree","body","classList","contains","innerHTML","addEventListener","mainHeroContainer","mainHeroContainerImg"],"version":3,"file":"index.js.map"}