{"version":3,"sources":["node_modules/browser-pack/_prelude.js","src/Project/ACHE/code/assets/js/ACHE/AccordionList.js","src/Project/ACHE/code/assets/js/ACHE/Ads.js","src/Project/ACHE/code/assets/js/ACHE/BookPdfList.js","src/Project/ACHE/code/assets/js/ACHE/BookReadMore.js","src/Project/ACHE/code/assets/js/ACHE/DynamicBanner.js","src/Project/ACHE/code/assets/js/ACHE/FeaturedSearch.js","src/Project/ACHE/code/assets/js/ACHE/ImageSlider.js","src/Project/ACHE/code/assets/js/ACHE/JobFeedSlider.js","src/Project/ACHE/code/assets/js/ACHE/NewsSlideshow.js","src/Project/ACHE/code/assets/js/ACHE/ObjectFitCaptionOverlay.js","src/Project/ACHE/code/assets/js/ACHE/ProfileBrowser.js","src/Project/ACHE/code/assets/js/ACHE/PromoSlideshow.js","src/Project/ACHE/code/assets/js/ACHE/ResourceSlider.js","src/Project/ACHE/code/assets/js/ACHE/ResponsiveTables.js","src/Project/ACHE/code/assets/js/ACHE/SearchToggle.js","src/Project/ACHE/code/assets/js/ACHE/Tabs.js","src/Project/ACHE/code/assets/js/ACHE/TruncateText.js","src/Project/ACHE/code/assets/js/ACHE/UserMenu.js","src/Project/ACHE/code/assets/js/ACHE/UtilityNav.js","src/Project/ACHE/code/assets/js/ACHE/VideoBlock.js","src/Project/ACHE/code/assets/js/ACHE/ViewAllExpand.js","src/Project/ACHE/code/assets/js/ACHE/WffmHacks.js","src/Project/ACHE/code/assets/js/ACHE/accordion.js","src/Project/ACHE/code/assets/js/ACHE/breakpoint.js","src/Project/ACHE/code/assets/js/ACHE/custom-vendor/slick-carousel/slick/slick.js","src/Project/ACHE/code/assets/js/ACHE/navigation/PrimaryNav.js","src/Project/ACHE/code/assets/js/ACHE/navigation/SecondaryNav.js","src/Project/ACHE/code/assets/js/ACHE/search/components/Datepicker.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/FacetGroup.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/FacetList.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/LoadMore.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/LoadingSpinner.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/Pagination.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/ResultItem.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/ResultList.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/SearchBox.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/SearchStatus.jsx","src/Project/ACHE/code/assets/js/ACHE/search/components/SortBar.jsx","src/Project/ACHE/code/assets/js/ACHE/search/containers/FacetsContainer.jsx","src/Project/ACHE/code/assets/js/ACHE/search/containers/QueryContainer.jsx","src/Project/ACHE/code/assets/js/ACHE/search/containers/ResultsContainer.jsx","src/Project/ACHE/code/assets/js/ACHE/search/filterSlider.js","src/Project/ACHE/code/assets/js/ACHE/search/index.js","src/Project/ACHE/code/assets/js/ACHE/search/paging.js","src/Project/ACHE/code/assets/js/ACHE/search/redux/configureStore.js","src/Project/ACHE/code/assets/js/ACHE/search/redux/createRoutingMiddleware.js","src/Project/ACHE/code/assets/js/ACHE/search/redux/facets.js","src/Project/ACHE/code/assets/js/ACHE/search/redux/resultsDisplay.js","src/Project/ACHE/code/assets/js/ACHE/search/redux/rootReducer.js","src/Project/ACHE/code/assets/js/ACHE/search/redux/routing.js","src/Project/ACHE/code/assets/js/ACHE/search/redux/search/search.actions.js","src/Project/ACHE/code/assets/js/ACHE/search/redux/search/search.reducer.js","src/Project/ACHE/code/assets/js/ACHE/search/redux/service.js","src/Project/ACHE/code/assets/js/ACHE/search/search dropdown/SearchDropdown.json","src/Project/ACHE/code/assets/js/ACHE/search/util.js","src/Project/ACHE/code/assets/js/ACHE/showMoreBooks.js","src/Project/ACHE/code/assets/js/index.js","src/Project/ACHE/code/assets/js/polyfill/closest.js","src/Project/ACHE/code/assets/js/polyfill/es6-polyfill.js","src/Project/ACHE/code/assets/js/polyfill/index.js","src/Project/ACHE/code/assets/js/polyfill/object-fit.js"],"names":[],"mappings":"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","file":"index-generated.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i {\r\n return Accordion(el);\r\n });\r\n this.numOpen = 0;\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$el.find(\".js-accordion-link\").on('click', ()=>{\r\n this.numOpen = 0;\r\n $(this.accordions).each((i, el) => {\r\n if(el.getOpenState()){\r\n this.numOpen++;\r\n }\r\n });\r\n this.updateToggleText();\r\n });\r\n\r\n\r\n this.$toggleAll.on('click', (event) => {\r\n if(this.numOpen == this.accordionsArray.length){\r\n $(this.accordions).each((i, el) => {\r\n el.toggleContent(false);\r\n });\r\n this.numOpen = 0;\r\n }else{\r\n this.numOpen = 0;\r\n $(this.accordions).each((i, el) => {\r\n el.toggleContent(true);\r\n this.numOpen++;\r\n });\r\n }\r\n this.updateToggleText();\r\n });\r\n }\r\n\r\n updateToggleText(){\r\n if(this.numOpen == this.accordionsArray.length){\r\n this.$toggleAll.text(\"Collapse All\");\r\n }else{\r\n this.$toggleAll.text(\"Expand All\");\r\n }\r\n }\r\n}\r\n","import $ from \"jquery\";\r\n\r\nexport class Ads {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$closeTrigger = $el.find(\".js-ad-close\");\r\n\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$closeTrigger.click((e) => this.closeAd(e));\r\n\r\n if (this.$el.hasClass(\"js-ad-interstitial\")) {\r\n $(\".js-ad-interstitial\").click((e) => this.handleInterstitialClick(e));\r\n }\r\n }\r\n\r\n closeAd(event) {\r\n event.preventDefault();\r\n\r\n this.$el.addClass(\"u-hidden\");\r\n }\r\n\r\n handleInterstitialClick(e) {\r\n // click anything but the anchor, close the modal\r\n if (!$(e.target).closest(\"a\").length) {\r\n this.$el.addClass(\"u-hidden\");\r\n }\r\n }\r\n}\r\n","import $ from \"jquery\";\r\n\r\nexport class BookDetailPdf {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$toggle = $el.find(\".js-microsite-nav__show-more\");\r\n let numPdfs = $el.find(\"li\").length;\r\n this.bindEvents();\r\n if (numPdfs > 5) {\r\n this.$toggle.css({\"visibility\": \"visible\", \"margin-top\": \"40px\"});\r\n }\r\n }\r\n\r\n bindEvents() {\r\n this.$toggle.click((event) => this.toggleMenu(event));\r\n }\r\n\r\n toggleMenu(event) {\r\n event.preventDefault();\r\n let $ul = $($(event.currentTarget).prev());\r\n let $hiddenLi = $ul.find(\"li:nth-child(n+6)\")\r\n $hiddenLi.slideToggle();\r\n this.$toggle.toggleClass(\"is-open\");\r\n }\r\n}\r\n","import $ from \"jquery\";\r\n\r\nexport class BookReadMore {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$toggle = $el.find(\".js-book-details__read-more\");\r\n this.descriptionText = this.$el.find(\".js-book-details__description__text\");\r\n const descriptionLength = $(this.descriptionText).text().length;\r\n this.initialHeight = this.descriptionText.height() + 40; //some padding :)\r\n this.bindEvents();\r\n if (descriptionLength > 250) {\r\n this.$toggle.css({ \"visibility\": \"visible\", \"margin-top\": \"40px\" });\r\n $(this.descriptionText).css({\"height\": \"220px\", \"overflow\": \"hidden\"});\r\n }\r\n }\r\n\r\n bindEvents() {\r\n this.$toggle.click(event => this.toggleMenu(event));\r\n }\r\n\r\n toggleMenu(event) {\r\n event.preventDefault();\r\n if(this.$el.hasClass(\"is-open\")){\r\n $(this.descriptionText).css({\"height\": \"220px\", \"overflow\": \"hidden\"});\r\n }else {\r\n $(this.descriptionText).css({\"height\": this.initialHeight});\r\n\r\n }\r\n this.$el.toggleClass(\"is-open\");\r\n\r\n }\r\n}\r\n","import $ from \"jquery\";\r\nimport {objectFitSupport, objectFit} from \"../polyfill/object-fit\";\r\n\r\nexport class DynamicBanner {\r\n\tconstructor($el) {\r\n\t\tthis.$el = $el;\r\n\t\tthis.$container = $el.parent();\r\n\t\tthis.$media = $el.find(\".js-banner-media\");\r\n\t\tthis.bindEvents();\r\n\t}\r\n\r\n\tbindEvents() {\r\n\t\t// only apply this if media is video or object-fit is not natively supported\r\n if (!objectFitSupport() || (this.$media[0] != null && this.$media[0].nodeName === \"VIDEO\")) {\r\n\t\t\tthis.adjustMedia();\r\n\t\t\t$(window).on(\"resize\", () => this.adjustMedia());\r\n\t\t}\r\n\t}\r\n\r\n\tadjustMedia() {\r\n\r\n\t\tconst maxHeight = parseInt(this.$el.css(\"max-height\").replace(\"px\", \"\"), 10);\r\n\r\n\t\t// The object-fit polyfill will apply absolute positioning to the media element.\r\n\t\t// This will remove the media from flow making it's effective height zero.\r\n\t\t// In the case that we have a max-height applied, we still to provide an appropriate\r\n\t\t// height value for both the media and it's container.\r\n\r\n\t\tif (maxHeight) {\r\n\t\t\tconst mediaWidth = this.$media.width();\r\n\t\t\tconst mediaHeight = this.$media.height();\r\n\t\t\tconst containerWidth = this.$container.width();\r\n\r\n\t\t\t// get the aspect ration of the original media\r\n\t\t\tconst ratio = mediaHeight / mediaWidth;\r\n\r\n\t\t\t// calculate proportional height based on container size\r\n\t\t\tlet newHeight = containerWidth * ratio;\r\n\r\n\t\t\tif (newHeight > maxHeight) {\r\n\t\t\t\tnewHeight = maxHeight;\r\n\t\t\t}\r\n\t\t\t//this.$media.height(newHeight);\r\n\t\t\tthis.$media.parent().height(newHeight);\r\n\t\t\tthis.$media.height(newHeight);\r\n\t\t}\r\n\r\n\t\tobjectFit(this.$media[0]);\r\n\t}\r\n}\r\n\r\n","import $ from \"jquery\";\r\n// TODO build new url with correct filters\r\nexport class FeaturedSearch {\r\n constructor($el, conf) {\r\n this.$el = $el;\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n\r\n // this.$el.on(\"submit\", event => {\r\n // event.preventDefault();\r\n\r\n // this.redirectWindow(this);\r\n // });\r\n this.$el.find(\"li\").on(\"click\", event => {\r\n this.selectRadio(event)\r\n });\r\n }\r\n\r\n redirectWindow(form) {\r\n // console.log(form);\r\n // $(form)\r\n // .find(\"#site-search\")\r\n // .val();\r\n return false;\r\n\r\n }\r\n selectRadio(li){\r\n this.$el.find(\"input[type=radio]\").prop(\"checked\", false);\r\n $(li.currentTarget).find(\"input\").prop('checked', true);\r\n\r\n }\r\n\r\n}\r\n","import $ from 'jquery';\r\nimport \"./custom-vendor/slick-carousel/slick/slick\";\r\n\r\nexport class ImageSlider {\r\n constructor($el, conf) {\r\n this.$el = $el;\r\n let slickConf = Object.assign(this.slickDefaults(), conf);\r\n // bind event prior to slick init\r\n this.bindEvents();\r\n this.$el.slick(slickConf);\r\n }\r\n\r\n //get accurate height of the image to place the navigation between the description and the image.\r\n slickSetTop(target) {\r\n let $slideshow = $(target);\r\n let imageHeight = $slideshow.find(\".slick-active\").find(\"img\").innerHeight();\r\n let $slickDots = $slideshow.find(\".slick-dots\");\r\n $slickDots.css(\"top\", imageHeight);\r\n $slickDots.css(\"bottom\", \"auto\");\r\n $slickDots.css(\"position\", \"absolute\");\r\n $slideshow.children(\".slick-arrow\").each(function(){\r\n $(this).css(\"top\", imageHeight/2);\r\n })\r\n }\r\n\r\n bindEvents() {\r\n // bind an event on the arrows to de-focus them when\r\n // you mouse out, so the focus state doesn't get stuck\r\n this.$el.on('mouseleave', '.slick-next, .slick-prev', event => {\r\n event.currentTarget.blur();\r\n });\r\n this.$el.on(\"setPosition\", (currentSlide, event) => {\r\n let target = currentSlide.currentTarget;\r\n this.slickSetTop(target);\r\n });\r\n $(window).on(\"resize\", () =>{\r\n $(\".slick-dots\").removeAttr(\"style\");\r\n });\r\n this.$el.on(\"init\", (slick) => {\r\n let target = slick.currentTarget;\r\n this.slickSetTop(target);\r\n });\r\n }\r\n\r\n slickDefaults() {\r\n return {\r\n dots: true,\r\n infinite: true,\r\n speed: 300,\r\n slide: \".image-block\",\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n prevArrow: ``,\r\n nextArrow: `\r\n `,\r\n responsive: [\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n arrows: true,\r\n\r\n }\r\n }\r\n ]\r\n\r\n }\r\n }\r\n\r\n}\r\n","import $ from \"jquery\";\r\nimport \"./custom-vendor/slick-carousel/slick/slick\";\r\n\r\n// @TODO: let people know youre sharing that 1024 breakpoint\r\nexport class JobFeedSlider {\r\n constructor($el, conf) {\r\n this.slickConf = Object.assign(this.slickDefaults(), conf);\r\n\r\n this.$el = $el;\r\n this.$jobs = this.$el.find(\".job-feed__item\");\r\n this.numberOfSlides = 0;\r\n this.activeslide = 0;\r\n\r\n // bind event prior to slick init\r\n this.bindEvents();\r\n this.$el.slick(this.slickConf);\r\n }\r\n\r\n bindEvents() {\r\n // bind an event on the arrows to de-focus them when\r\n // you mouse out, so the focus state doesn't get stuck\r\n this.$el.on(\"mouseleave\", \".slick-next, .slick-prev\", event => {\r\n event.currentTarget.blur();\r\n });\r\n\r\n this.$el.on(\"beforeChange\", event => {});\r\n\r\n this.$el.on(\"afterChange\", event => {\r\n this.controlBackButton();\r\n });\r\n\r\n if (window.innerWidth <= 767) {\r\n this.groupItemsBy(3);\r\n } else if (window.innerWidth >= 768 && window.innerWidth <= 910) {\r\n this.groupItemsBy(6);\r\n } else {\r\n this.groupItemsBy(9);\r\n }\r\n\r\n let resizeTimer;\r\n\r\n $(window).on(\"resize\", event => {\r\n clearTimeout(resizeTimer);\r\n resizeTimer = setTimeout(() => {\r\n /*Run this function at the end of the resizing event.\r\n Using this cause other methods broke the slider on tablet orientation change\r\n */\r\n if (window.innerWidth <= 767) {\r\n this.$el.slick(\"unslick\");\r\n this.groupItemsBy(3);\r\n this.$el.slick(this.slickConf);\r\n } else if (window.innerWidth >= 768 && window.innerWidth <= 910) {\r\n this.$el.slick(\"unslick\");\r\n this.groupItemsBy(6);\r\n this.$el.slick(this.slickConf);\r\n } else {\r\n this.$el.slick(\"unslick\");\r\n this.groupItemsBy(9);\r\n this.$el.slick(this.slickConf);\r\n }\r\n }, 250);\r\n });\r\n }\r\n\r\n /**\r\n * Wraps the given number of items in divs so that they are displayed as a single slide when slick-ified\r\n * @param size the number of jobs that should display on one slide\r\n */\r\n groupItemsBy(size) {\r\n let array = this.$jobs.slice();\r\n let groupedItems = $.makeArray(array)\r\n .map((item, i) => {\r\n return i % size === 0 ? array.slice(i, i + size) : null;\r\n })\r\n .filter(function(item) {\r\n return item;\r\n });\r\n\r\n this.$el.empty();\r\n\r\n $.makeArray(groupedItems).map(group => {\r\n let container = $('');\r\n let slide = $('
');\r\n $(container).append(group);\r\n $(slide).append(container);\r\n this.$el.append(slide);\r\n });\r\n }\r\n\r\n controlBackButton() {\r\n this.activeslide = this.$el.slick(\"slickCurrentSlide\");\r\n this.$el.addClass(\"back-button-is-visible\");\r\n\r\n // if (this.activeslide != 0) {\r\n // this.activeslide = this.$el.slick('slickCurrentSlide');\r\n // } else {\r\n // this.$el.removeClass(\"back-button-is-visible\");\r\n // }\r\n }\r\n\r\n slickDefaults() {\r\n return {\r\n dots: false,\r\n infinite: true,\r\n speed: 300,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n adaptiveHeight: true,\r\n prevArrow: `\r\n `,\r\n nextArrow: `\r\n `,\r\n responsive: [\r\n {\r\n breakpoint: 910,\r\n settings: {\r\n slidesToShow: 1\r\n }\r\n },\r\n {\r\n breakpoint: 911,\r\n settings: {\r\n slidesToShow: 1\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","import $ from 'jquery';\r\nimport \"./custom-vendor/slick-carousel/slick/slick\";\r\n\r\n// @TODO: let people know youre sharing that 1024 breakpoint\r\nexport class NewsSlideshow {\r\n constructor($el, conf) {\r\n const slickConf = Object.assign(this.slickDefaults(), conf);\r\n\r\n this.$el = $el;\r\n this.numberOfSlides = 0;\r\n this.activeslide = 0;\r\n\r\n // bind event prior to slick init\r\n this.bindEvents();\r\n this.$el.slick(slickConf);\r\n }\r\n\r\n bindEvents() {\r\n // bind an event on the arrows to de-focus them when\r\n // you mouse out, so the focus state doesn't get stuck\r\n this.$el.on('mouseleave', '.slick-next, .slick-prev', event => {\r\n event.currentTarget.blur();\r\n });\r\n\r\n this.$el.on(\"beforeChange\", event => {\r\n });\r\n\r\n this.$el.on(\"afterChange\", event => {\r\n this.controlBackButton();\r\n });\r\n }\r\n\r\n controlBackButton() {\r\n this.activeslide = this.$el.slick('slickCurrentSlide');\r\n this.$el.addClass(\"back-button-is-visible\");\r\n\r\n // if (this.activeslide != 0) {\r\n // this.activeslide = this.$el.slick('slickCurrentSlide');\r\n // } else {\r\n // this.$el.removeClass(\"back-button-is-visible\");\r\n // }\r\n }\r\n\r\n slickDefaults() {\r\n return {\r\n dots: false,\r\n infinite: true,\r\n speed: 300,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n prevArrow: `\r\n `,\r\n nextArrow: `\r\n `,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1\r\n }\r\n }\r\n ],\r\n }\r\n }\r\n}\r\n","import $ from \"jquery\";\r\nimport {breakpoint} from './breakpoint';\r\nimport {objectFitSupport, objectFit} from \"../polyfill/object-fit\";\r\n\r\nexport class ObjectFitCaptionOverlay {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$container = $el.parent();\r\n this.$media = $el.find(\".js-object-fit__image\");\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n // only apply this if media is video or object-fit is not natively supported\r\n if (!objectFitSupport() || (this.$media[0] != null && this.$media[0].nodeName === \"VIDEO\")) {\r\n this.adjustMedia();\r\n $(window).on(\"resize\", () => this.adjustMedia());\r\n }\r\n }\r\n\r\n adjustMedia() {\r\n let bp = breakpoint();\r\n const maxHeight = parseInt(this.$el.css(\"max-height\").replace(\"px\", \"\"), 10);\r\n\r\n // The object-fit polyfill will apply absolute positioning to the media element.\r\n // This will remove the media from flow making it's effective height zero.\r\n // In the case that we have a max-height applied, we still to provide an appropriate\r\n // height value for both the media and it's container.\r\n\r\n if (maxHeight) {\r\n const mediaHeight = this.$media.height();\r\n const mediaWidth = this.$media.width();\r\n const containerWidth = this.$container.width();\r\n\r\n // get the aspect ration of the original media\r\n const ratio = mediaHeight / mediaWidth;\r\n\r\n // calculate proportional height based on container size\r\n let newHeight = containerWidth * ratio;\r\n\r\n if (newHeight > maxHeight) {\r\n newHeight = maxHeight;\r\n }\r\n //this.$media.height(newHeight);\r\n this.$media.parent().height(newHeight);\r\n this.$media.height(newHeight);\r\n }\r\n if (bp != \"small\") {\r\n objectFit(this.$media[0]);\r\n }else{\r\n this.$media[0].removeAttr('style');\r\n this.$container.css(\"height\", \"auto\");\r\n }\r\n }\r\n}\r\n","import $ from \"jquery\";\r\n\r\n// const $profileBio = $(\".js-profile-browser__biography\");\r\nconst $profileBio = $(\".profile-browser__biography\");\r\n$(document).ready(function(){\r\n if ($profileBio.length > 0) {\r\n $profileBio.each(function(){\r\n let bio = $(this).text();\r\n let newBio = bio.slice(0, 219) + \"...\";\r\n $(this).html(newBio);\r\n })\r\n }\r\n \r\n})\r\n\r\n\r\n","import $ from \"jquery\";\r\nimport \"./custom-vendor/slick-carousel/slick/slick\";\r\n\r\nexport class PromoSlideshow {\r\n constructor($el, conf) {\r\n this.$el = $el;\r\n let slickConf = Object.assign(this.slickDefaults(), conf);\r\n // bind event prior to slick init\r\n //this.bindEvents();\r\n this.$el.slick(slickConf);\r\n }\r\n\r\n /*bindEvents() {\r\n // bind an event on the arrows to de-focus them when\r\n // you mouse out, so the focus state doesn't get stuck\r\n this.$el.on('mouseleave', '.slick-next, .slick-prev', event => {\r\n event.currentTarget.blur();\r\n });\r\n this.$el.on(\"setPosition\", (currentSlide, event) => {\r\n let target = currentSlide.currentTarget;\r\n this.slickSetTop(target);\r\n });\r\n $(window).on(\"resize\", () =>{\r\n $(\".slick-dots\").removeAttr(\"style\");\r\n });\r\n this.$el.on(\"init\", (slick) => {\r\n let target = slick.currentTarget;\r\n this.slickSetTop(target);\r\n });\r\n }*/\r\n\r\n slickDefaults() {\r\n return {\r\n dots: true,\r\n arrows: false,\r\n infinite: true,\r\n speed: 300,\r\n slide: \".promo-slideshow__item\",\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n };\r\n }\r\n}\r\n","import $ from 'jquery';\r\nimport \"./custom-vendor/slick-carousel/slick/slick\";\r\n\r\n// @TODO: let people know youre sharing that 1024 breakpoint\r\nexport class ResourceSlider {\r\n constructor($el, conf) {\r\n const slickConf = Object.assign(this.slickDefaults(), conf);\r\n\r\n this.$el = $el;\r\n this.numberOfSlides = 0;\r\n this.activeslide = 0;\r\n\r\n // bind event prior to slick init\r\n this.bindEvents();\r\n this.$el.slick(slickConf);\r\n\r\n }\r\n\r\n bindEvents() {\r\n // bind an event on the arrows to de-focus them when\r\n // you mouse out, so the focus state doesn't get stuck\r\n this.$el.on('mouseleave', '.slick-next, .slick-prev', event => {\r\n event.currentTarget.blur();\r\n });\r\n }\r\n\r\n slickDefaults() {\r\n return {\r\n dots: false,\r\n infinite: true,\r\n speed: 300,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n prevArrow: `\r\n `,\r\n nextArrow: `\r\n `,\r\n }\r\n }\r\n}\r\n","import $ from \"jquery\";\r\nconst $isExperienceEditor = $(\".is-page-editor\");\r\nexport default function initializeTables() {\r\n if($isExperienceEditor.length == 0) {\r\n $(\".rich-text table\").each(function() {\r\n let $headerRow = {};\r\n let $otherRows = [];\r\n\r\n $(this).addClass(\"table-responsive\");\r\n\r\n $headerRow = $(this).find(\"tr:first-child\");\r\n $otherRows = $(this).find(\"tr\").not(\":eq(0)\");\r\n\r\n let headerLabels = [];\r\n\r\n $headerRow.find(\"th, td\").each(function() {\r\n headerLabels.push($(this).text().trim());\r\n });\r\n\r\n $otherRows.each(function() {\r\n $(this).find(\"td\").each(function(i) {\r\n if (headerLabels[i] !== undefined) {\r\n $(this).wrapInner(\"\");\r\n $(this).prepend(\"\" + headerLabels[i] + \"\");\r\n }\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","import $ from \"jquery\";\r\n\r\nexport class SearchToggle {\r\n\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$toggle = $el.find('.search-box__button--toggle');\r\n this.$searchBox = $el.find('.search-box');\r\n\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$toggle.click((event) => this.toggleMenu(event));\r\n }\r\n\r\n toggleMenu(event) {\r\n event.preventDefault();\r\n\r\n this.$searchBox.toggleClass('is-open');\r\n }\r\n}\r\n","import $ from \"jquery\";\r\n\r\nconst $tabContainer = $(\".js-tabs\");\r\nconst $tabs = $(\".js-tab\");\r\nconst $tabContent = $(\".js-tab-content\");\r\nconst agenda = \".js-agenda__tabs\";\r\nconst isPageEditor = \".is-page-editor\";\r\nif ($tabContainer.length && !$(isPageEditor) == false) {\r\n init();\r\n}\r\n\r\nfunction init() {\r\n openInitialTab();\r\n bindEvents();\r\n if ($(agenda).length) {\r\n tabAlignment($tabs);\r\n }\r\n}\r\n\r\nfunction bindEvents() {\r\n $tabs.on(\"click\", toggleTab);\r\n}\r\n\r\nfunction openInitialTab() {\r\n $tabs.first().addClass(\"is-active\");\r\n $tabContent.first().addClass(\"is-visible\");\r\n}\r\n\r\nfunction toggleTab(event) {\r\n event.preventDefault();\r\n const windowWidth = $(window).width();\r\n const $activeTab = $(this);\r\n const $activeIndex = $tabs.index($activeTab);\r\n const $activeContent = $tabContent.eq($activeIndex);\r\n\r\n $tabs.removeClass(\"is-active\");\r\n $activeTab.addClass(\"is-active\");\r\n\r\n $tabContent.removeClass(\"is-visible\");\r\n $activeContent.addClass(\"is-visible\");\r\n\r\n if (windowWidth <= 720) {\r\n $tabContainer.toggleClass(\"is-open\");\r\n }\r\n}\r\n\r\n//this is goofy fix for agenda tabs if there are ever less than four they should had different css.\r\nfunction tabAlignment(tabs) {\r\n const tabCount = tabs.length;\r\n if (tabCount < 4) {\r\n tabs.closest(\".tabs__navigation\").css(\"justify-content\", \"flex-start\");\r\n tabs.each(function() {\r\n $(this).css(\"margin-right\", \"20px\");\r\n });\r\n }\r\n}\r\n","import $ from 'jquery';\r\n\r\nexport class TruncateText {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$maxLength = this.$el.attr(\"data-maxlength\");\r\n\r\n console.log(this.$el.text().length);\r\n console.log(this.$maxLength);\r\n if (this.$el.text().length > this.$maxLength) {\r\n this.$el.html(this.$el.text().substr(0, this.$maxLength).concat(\"...\"));\r\n }\r\n }\r\n}","export class UserMenu {\r\n\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$list = $el.find('.js-user-menu__list');\r\n this.$trigger = $el.find('.js-user-menu__trigger');\r\n this.isOpen = false;\r\n\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$trigger.on(\"mousedown\", (event) => this.toggleMenu(event));\r\n this.$trigger.on(\"focus\", (event) => this.toggleMenu(event));\r\n }\r\n\r\n toggleMenu(event) {\r\n event.preventDefault();\r\n this.isOpen = !this.isOpen;\r\n this.$el.toggleClass('is-open');\r\n this.$el.attr('aria-expanded', this.isOpen);\r\n }\r\n}\r\n","import $ from \"jquery\";\r\n\r\nconst $utilityNav = $(\".js-utility-nav__list\");\r\nconst isPageEditor = \".is-page-editor\";\r\nconst menuDiv = \".js-user-menu\";\r\n$(document).ready(function(){\r\n if ($utilityNav && $utilityNav.children().length <= 0 && !$(isPageEditor)) {\r\n $(menuDiv + \" .login-form__dropdown-wrapper:before\").css(\"display\", \"none\");\r\n }\r\n \r\n})\r\n","import $ from \"jquery\";\r\nimport \"core-js/fn/object\";\r\nimport Vimeo from \"@vimeo/player\";\r\nimport Youtube from \"youtube-player\";\r\nimport URI from \"urijs\";\r\n\r\nexport class VideoBlock {\r\n\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$playButton = $el.find('.js-play-button');\r\n this.player = {};\r\n this.videoType = $el.attr(\"data-videoType\").toLowerCase();\r\n this.videoMountPoint = $el.attr(\"data-videoId\");\r\n this.video = $el.attr(\"data-video\");\r\n\r\n this.initialize();\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$playButton.click((event) => this.playVideo(event));\r\n }\r\n\r\n initialize() {\r\n if (this.videoType === \"youtube\") {\r\n let videoUrl = new URI(this.video);\r\n let videoId = videoUrl.segment()[videoUrl.segment().length - 1];\r\n\r\n this.player = Youtube(this.videoMountPoint, {\r\n videoId: videoId,\r\n playerVars: {\r\n rel: \"0\"\r\n }\r\n });\r\n \r\n this.player.on('stateChange', (event) => this.handleYoutubeState(event));\r\n\r\n } else if (this.videoType === \"vimeo\") {\r\n this.player = new Vimeo(this.videoMountPoint, {url: this.video});\r\n\r\n this.handleVimeoState();\r\n }\r\n }\r\n\r\n handleYoutubeState(event) {\r\n /*\r\n State codes are:\r\n -1 (unstarted)\r\n 0 (ended)\r\n 1 (playing)\r\n 2 (paused)\r\n 3 (buffering)\r\n 5 (video cued).\r\n */\r\n\r\n if (event.data === 1 || event.data === 3) {\r\n this.hideButton();\r\n } else {\r\n this.showButton();\r\n }\r\n }\r\n\r\n handleVimeoState() {\r\n this.player.on('play', (data) => {\r\n this.hideButton();\r\n });\r\n\r\n this.player.on('pause', (data) => {\r\n this.showButton();\r\n });\r\n }\r\n\r\n hideButton() {\r\n this.$playButton.addClass('is-hidden');\r\n }\r\n\r\n showButton() {\r\n this.$playButton.removeClass('is-hidden');\r\n }\r\n\r\n playVideo() {\r\n if (this.videoType === \"youtube\") {\r\n this.player.playVideo();\r\n } else if (this.videoType === \"vimeo\") {\r\n this.player.play().then(() => {\r\n this.hideButton();\r\n });\r\n }\r\n }\r\n}\r\n","import $ from 'jquery';\r\n\r\nexport class ViewAllExpand {\r\n constructor($el) {\r\n this.$el = $el;\r\n this.$button = $el.find('.js-more');\r\n this.$expandTarget = $el.find('.js-expand-target');\r\n \r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n this.$el.on('click', '.js-more', (event) => this.expand(event));\r\n }\r\n\r\n expand(event) {\r\n event.preventDefault();\r\n this.$expandTarget\r\n .slideDown(200)\r\n .attr('aria-expanded', true);\r\n this.$button.hide();\r\n }\r\n \r\n}","import $ from \"jquery\";\r\n\r\nexport class WffmHacks {\r\n// js-wffm__checkbox\r\n constructor($el) {\r\n const fakeCheckbox = \"\";\r\n const fakeRadio = \"\";\r\n\r\n this.$el = $el;\r\n this.$checkbox = $el.find('input:checkbox');\r\n this.$radio = $el.find('input:radio');\r\n\r\n this.$checkbox.each(function(){\r\n $(this).after(fakeCheckbox);\r\n });\r\n\r\n this.$radio.each(function(){\r\n $(this).after(fakeRadio);\r\n\r\n });\r\n }\r\n\r\n}\r\n","// Expected markup.\r\n// The link and content need to be nested within the js-accordion element, but can be placed anywhere in the code.\r\n//\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n// Content to show and hide\r\n//
\r\n//
\r\n\r\nexport function Accordion(el, id) {\r\n const link = el.querySelector(\".js-accordion-link\");\r\n const content = el.querySelector(\".js-accordion-content\");\r\n\r\n if (!link || !content) {\r\n return false;\r\n }\r\n\r\n const contentWrapper = wrap(content, document.createElement(\"div\"));\r\n\r\n contentWrapper.classList.add(\"accordion-wrapper\");\r\n\r\n // check if we're in the experience editor to force the content open and prevent the binding event for the link.\r\n const editorView = document.querySelector(\"body.is-page-editor\");\r\n\r\n let expanded = false;\r\n let contentBuffer = setTimeout(() => {}, 1);\r\n\r\n const animationSpeed = 50;\r\n\r\n if (el.classList.contains(\"is-open\") || editorView) {\r\n expanded = true;\r\n toggleContent(expanded);\r\n }\r\n else {\r\n setHeight(contentWrapper, \"0px\");\r\n }\r\n\r\n link.setAttribute(\"aria-expanded\", expanded);\r\n link.setAttribute(\"id\", `accordion-link-${id}`);\r\n link.setAttribute(\"aria-controls\", `accordion-content-${id}`);\r\n\r\n contentWrapper.setAttribute(\"id\", `accordion-content-${id}`);\r\n contentWrapper.setAttribute(\"aria-labelledby\", `accordion-link-${id}`);\r\n\r\n if (editorView === null) {\r\n link.addEventListener(\"click\", e => {\r\n e.preventDefault();\r\n toggleContent(!expanded);\r\n });\r\n }\r\n\r\n function toggleContent(openState) {\r\n if (openState === expanded) {\r\n return;\r\n }\r\n\r\n const height = content.scrollHeight;\r\n expanded = openState;\r\n\r\n link.setAttribute(\"aria-expanded\", openState);\r\n\r\n clearTimeout(contentBuffer);\r\n\r\n if (openState) {\r\n el.classList.add(\"is-open\");\r\n contentWrapper.style.visibility = \"visible\";\r\n // setHeight(contentWrapper, `${height}px`);\r\n contentBuffer = setTimeout(() => {\r\n setHeight(contentWrapper, \"auto\");\r\n contentWrapper.style.overflow = \"visible\";\r\n }, animationSpeed + 20);\r\n }\r\n else {\r\n el.classList.remove(\"is-open\");\r\n setHeight(contentWrapper, `${height}px`);\r\n\r\n setTimeout(() => {\r\n setHeight(contentWrapper, \"0\");\r\n }, 20);\r\n\r\n setTimeout(() => {\r\n contentWrapper.style.visibility = \"hidden\";\r\n }, animationSpeed + 20);\r\n }\r\n }\r\n\r\n function setHeight(el, height) {\r\n el.setAttribute(\r\n \"style\",\r\n `height: ${height}; transition: height ${animationSpeed}ms ease; overflow: hidden;`\r\n );\r\n }\r\n\r\n function wrap(el, wrapper) {\r\n el.parentNode.insertBefore(wrapper, el);\r\n wrapper.appendChild(el);\r\n return wrapper;\r\n }\r\n\r\n function getOpenState(){\r\n return expanded;\r\n }\r\n\r\n return {\r\n el,\r\n toggleContent,\r\n getOpenState\r\n };\r\n}\r\n","import $ from \"jquery\";\r\n\r\n// Extract current breakpoint name as string from DOM\r\n// More details: https://www.lullabot.com/articles/importing-css-breakpoints-into-javascript\r\nexport const breakpoint = () => {\r\n return window.getComputedStyle(document.querySelector(\"body\"), \"::before\")\r\n .getPropertyValue(\"content\")\r\n .replace(/\\\"/g, \"\");\r\n};\r\n\r\n\r\n","/*\r\n _ _ _ _\r\n ___| (_) ___| | __ (_)___\r\n/ __| | |/ __| |/ / | / __|\r\n\\__ \\ | | (__| < _ | \\__ \\\r\n|___/_|_|\\___|_|\\_(_)/ |___/\r\n |__/\r\n\r\n Version: 1.6.0\r\n Author: Ken Wheeler\r\n Website: http://kenwheeler.github.io\r\n Docs: http://kenwheeler.github.io/slick\r\n Repo: http://github.com/kenwheeler/slick\r\n Issues: http://github.com/kenwheeler/slick/issues\r\n\r\n */\r\n/* global window, document, define, jQuery, setInterval, clearInterval */\r\n(function(factory) {\r\n 'use strict';\r\n if (typeof define === 'function' && define.amd) {\r\n define(['jquery'], factory);\r\n } else if (typeof exports !== 'undefined') {\r\n module.exports = factory(require('jquery'));\r\n } else {\r\n factory(jQuery);\r\n }\r\n\r\n}(function($) {\r\n 'use strict';\r\n var Slick = window.Slick || {};\r\n\r\n Slick = (function() {\r\n\r\n var instanceUid = 0;\r\n\r\n function Slick(element, settings) {\r\n\r\n var _ = this, dataSettings;\r\n\r\n _.defaults = {\r\n accessibility: true,\r\n adaptiveHeight: false,\r\n appendArrows: $(element),\r\n appendDots: $(element),\r\n arrows: true,\r\n asNavFor: null,\r\n prevArrow: '',\r\n nextArrow: '',\r\n autoplay: false,\r\n autoplaySpeed: 3000,\r\n centerMode: false,\r\n centerPadding: '50px',\r\n cssEase: 'ease',\r\n customPaging: function(slider, i) {\r\n return $('\r\n \r\n );\r\n }\r\n autoComplete(facets) {\r\n let facetArr = [];\r\n const facetValue = facets.values;\r\n const facetLabel = facets.label;\r\n facetValue.map(\r\n val => (val.selected == false ? facetArr.push({id: val.id, uniqueId: val.uniqueId}) : null)\r\n );\r\n facetValue.map(val =>\r\n val.childValues.forEach(function(child) {\r\n facetArr.push({id: child.id, uniqueId: child.uniqueId});\r\n })\r\n );\r\n let filterLabel = facets.id == \"locations\" && this.props.dictionary.limitByLocationLabel ? this.props.dictionary.limitByLocationLabel : \"Search \" + facetLabel;\r\n let sortFacets = R.sortBy(R.compose(R.toLower, R.prop('id')));;\r\n facetArr = sortFacets(facetArr);\r\n return (\r\n this.props.handleFacetChange(selected.uniqueId, true)}\r\n itemToString={item => (item ? item.id : '')}\r\n render={({\r\n getInputProps,\r\n getItemProps,\r\n getLabelProps,\r\n isOpen,\r\n defaultIsOpen,\r\n inputValue,\r\n highlightedIndex,\r\n selectedItem,\r\n setItemCount,\r\n clearSelection,\r\n setHighlightedIndex\r\n }) => (\r\n \r\n \r\n {\r\n if (e.target.value === \"\") {\r\n clearSelection();\r\n setHighlightedIndex(null);\r\n }\r\n }\r\n })}\r\n />{\" \"}\r\n {isOpen ? (\r\n
\r\n {facetArr\r\n .filter(\r\n item =>\r\n !inputValue ||\r\n item.id.toLowerCase().includes(inputValue.toLowerCase())\r\n )\r\n .map((item, index) => (\r\n \r\n {selectedItem === index ? (\r\n \r\n ) : highlightedIndex === index ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {item.id}\r\n
\r\n ))}\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n )}\r\n />\r\n );\r\n }\r\n\r\n renderValueItem(value, recursionLevel) {\r\n const childValues = value.childValues;\r\n const hasChildValues = !!childValues && childValues.length > 0;\r\n const isExpanded = this.valueIsExpanded(value);\r\n const renderChildValues = hasChildValues && isExpanded;\r\n const toggleClass = classnames(\"search-facets__value-expand\", {\r\n \"is-open\": isExpanded\r\n });\r\n // close icon looks different depending on whether it's a level-0 or level 1 group\r\n let toggleIcon = recursionLevel >= 0 ? \"triangle-right\" : \"chevron-right\";\r\n return (\r\n
  • \r\n this.onFacetChange(e, value.uniqueId)}\r\n type=\"checkbox\"\r\n />\r\n \r\n\r\n \r\n {hasChildValues && (\r\n this.toggleValueExpand(value.id)}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n {renderChildValues &&\r\n this.renderValues(childValues, recursionLevel + 1)}\r\n
  • \r\n );\r\n }\r\n\r\n renderFlatValues(values, groupId) {\r\n const eventArr = [\"Single Day Event\", \"Multi Day Event\"];\r\n const valueIds = R.pluck(\"id\", values);\r\n const fakeFacet = this.state.eventDurationRange;\r\n const isEventDuration =\r\n R.intersection(eventArr, valueIds).length > 0\r\n ? true\r\n : groupId == \"EventDuration\"\r\n ? true\r\n : false;\r\n const renderValue = value => {\r\n return (\r\n
  • \r\n this.onFacetChange(e, value.uniqueId)}\r\n type=\"checkbox\"\r\n />\r\n \r\n \r\n
  • \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
      \r\n {isEventDuration &&\r\n fakeFacet && (\r\n
    • \r\n this.deselectEventDuration(e)}\r\n value={fakeFacet}\r\n type=\"checkbox\"\r\n />\r\n \r\n \r\n
    • \r\n )}\r\n {values.map(value => renderValue(value))}\r\n
    \r\n {valueIds.length > 0 || (isEventDuration && fakeFacet) ? (\r\n \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n\r\n renderValues(values, recursionLevel) {\r\n const eventArr = [\"Single Day Event\", \"Multi Day Event\"];\r\n const valueIds = R.pluck(\"id\", values);\r\n const isEventDuration =\r\n R.intersection(eventArr, valueIds).length > 0 ? true : false;\r\n const durationSelection = this.state.eventDurationRange;\r\n let chunkedValues;\r\n if (recursionLevel === 0) {\r\n chunkedValues = this.chunkValues(values);\r\n } else {\r\n chunkedValues = [values, []];\r\n }\r\n\r\n const headValues = chunkedValues[0];\r\n const tailValues = chunkedValues[1].slice(0,MAX_FACETS_SHOWN_EXPANDED-4);\r\n\r\n const stateClass = `search-facets__group-values is-level-${recursionLevel}`;\r\n const valuesWrapperClass = classnames(\"search-facets__values-wrapper\", {\r\n \"has-no-values\": !values.length\r\n });\r\n const shouldRenderTailValues = this.shouldRenderTailValues(tailValues);\r\n\r\n return (\r\n
    \r\n
      \r\n {/* {isEventDuration &&\r\n durationSelection != \"Past\" && (\r\n
    • \r\n this.eventDuration(e)}\r\n value=\"Upcoming\"\r\n type=\"checkbox\"\r\n checked={durationSelection == \"Upcoming\" ? true : false}\r\n />\r\n \r\n \r\n
    • \r\n )} */}\r\n {/* {isEventDuration &&\r\n durationSelection != \"Upcoming\" && (\r\n
    • \r\n this.eventDuration(e)}\r\n value=\"Past\"\r\n type=\"checkbox\"\r\n checked={durationSelection == \"Past\" ? true : false}\r\n />\r\n \r\n \r\n
    • \r\n )} */}\r\n {headValues.map(val => this.renderValueItem(val, recursionLevel))}\r\n
    \r\n {shouldRenderTailValues && (\r\n
      \r\n {tailValues.map(val => this.renderValueItem(val, recursionLevel))}\r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n renderChildGroups(group) {\r\n if (\r\n this.state.isGroupOpen &&\r\n group.childGroups &&\r\n group.childGroups.length\r\n ) {\r\n return group.childGroups.map(childGroup => {\r\n if (childGroup.values.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n });\r\n }\r\n }\r\n removeEmptyParameters = function(data) {\r\n var result = {};\r\n Object.keys(data)\r\n .filter(function(key) {\r\n return Boolean(data[key]) && data[key].length;\r\n })\r\n .forEach(function(key) {\r\n result[key] = data[key];\r\n });\r\n return result;\r\n };\r\n\r\n render() {\r\n const group = this.props.group;\r\n const selectedValues = selectedFacetsFromGroup(group);\r\n // const showDupeSelected = selectedValues.length > 0 && this.props.dupeSelected;\r\n const showDupeSelected = true;\r\n const groupClass = classnames(\"search-facets__group\", {\r\n \"is-open\": this.state.isGroupOpen\r\n });\r\n const expandLabel = this.state.isGroupExpanded\r\n ? \"- See Less\"\r\n : \"+ See More\";\r\n const autoCompleteArr = [\"topic\", \"RPAuthor\", \"locations\"]; //authors, topics, locations\r\n let isAutoComplete = autoCompleteArr.includes(this.props.group.id);\r\n const manualSubGroup = [\r\n \"RPAuthor\",\r\n \"RPContentType\",\r\n \"EventDuration\",\r\n \"EventType\",\r\n \"EventAttendance\",\r\n \"locations\"\r\n ];\r\n let toggleIcon = manualSubGroup.includes(this.props.group.id)\r\n ? \"triangle-right\"\r\n : \"chevron-right\";\r\n const openClass = classnames(\"search-facets__group-toggle\", {\r\n \"is-open\": this.state.isGroupOpen\r\n });\r\n return (\r\n
    \r\n
    \r\n this.toggleGroup(e)}\r\n >\r\n \r\n \r\n \r\n \r\n

    {group.label}

    \r\n
    \r\n
    \r\n {this.state.isGroupOpen && (\r\n
    \r\n {isAutoComplete && this.autoComplete(group)}\r\n {this.renderValues(group.values, 0)}{\" \"}\r\n {group.values.length > MAX_FACETS_SHOWN && (\r\n
    \r\n \r\n
    \r\n )}{\" \"}\r\n {this.renderChildGroups(group)}\r\n { group.id === \"EventDuration\" &&\r\n \r\n }\r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst {\r\n func,\r\n shape,\r\n bool,\r\n number,\r\n string,\r\n oneOfType,\r\n arrayOf\r\n} = React.PropTypes;\r\n\r\n// allows us to define propTypes recursively\r\n// https://github.com/facebook/react/issues/5676\r\nconst lazyF = f => (...args) => f().apply(this, args);\r\n\r\nconst facetValueShape = shape({\r\n id: oneOfType([number, string]).isRequired,\r\n name: string.isRequired,\r\n count: number.isRequired,\r\n selected: bool.isRequired,\r\n childValues: arrayOf(lazyF(() => facetValueShape))\r\n});\r\n\r\nconst facetGroupShape = shape({\r\n id: oneOfType([number, string]).isRequired,\r\n label: string.isRequired,\r\n values: arrayOf(facetValueShape).isRequired,\r\n childGroups: arrayOf(lazyF(() => facetGroupShape))\r\n});\r\n\r\nFacetGroup.propTypes = {\r\n isOpen: bool,\r\n dupeSelected: bool,\r\n handleFacetChange: func.isRequired,\r\n // handleClearGroup: func.isRequired,\r\n // handleSelectFacetGroup: func.isRequred,\r\n group: facetGroupShape\r\n};\r\n\r\nFacetGroup.defaultProps = {\r\n isOpen: true,\r\n dupeSelected: true\r\n};\r\n","import React from \"react\";\r\nimport FacetGroup from \"./FacetGroup.jsx\";\r\nimport \"react-dates/initialize\";\r\nimport {\r\n closeFilters,\r\n setFiltersOpenDirection,\r\n manageContainerWhitespace\r\n} from \"../filterSlider\";\r\nimport classnames from \"classnames\";\r\nimport URI from \"urijs\";\r\nimport Datepicker from \"./Datepicker.jsx\";\r\n\r\nexport default class FacetList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n researchOpenState: null,\r\n eventOpenState: null\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n setFiltersOpenDirection();\r\n manageContainerWhitespace();\r\n }\r\n clearAll() {\r\n this.refs[\"date\"].clearDateRange();\r\n if (this.refs[\"facetgroups\"]) {\r\n this.refs[\"facetgroups\"].deselectEventDuration();\r\n }\r\n this.props.handleClearAll();\r\n document.querySelector(\"input\").checked = false;\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n // You don't have to do this check first, but it can help prevent an unneeded render\r\n if (\r\n nextProps.eventSpan !== this.props.eventSpan &&\r\n (nextProps.eventSpan == null || nextProps.eventSpan == undefined)\r\n ) {\r\n if (this.refs[\"facetgroups\"]) {\r\n this.refs[\"facetgroups\"].deselectEventDuration();\r\n }\r\n }\r\n }\r\n hideFilters() {\r\n closeFilters(); // DOM ops\r\n this.props.hideMobileFacets(); // action creator\r\n }\r\n\r\n renderHideFilters() {\r\n return (\r\n
    \r\n this.hideFilters()}\r\n >\r\n {this.props.title}\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n researchPubs() {\r\n return [\"RPAuthor\", \"RPContentType\"];\r\n }\r\n collectionsFacet() {\r\n return [\"collections\"];\r\n }\r\n eventsAttendanceFacets() {\r\n return [\"EventAttendance\"];\r\n }\r\n eventsDurationFacets() {\r\n return [\"EventDuration\"];\r\n }\r\n eventsLocationFacets() {\r\n return [\"locations\"];\r\n }\r\n eventsTypeFacets() {\r\n //TODO: Get Event Facets\r\n return [\"EventType\"];\r\n }\r\n orderFacets() {\r\n //if we need to totally render manually, we can put the facet ids here in order\r\n let originalFacets = this.props.facets;\r\n const groupedFacets = [];\r\n const sortFacets = [\"contentType\", \"topic\"]; //this is where we put the ids in the order we want.\r\n sortFacets.forEach(function (key) {\r\n var found = false;\r\n originalFacets = originalFacets.filter(function (facet) {\r\n if (!found && facet.id == key) {\r\n groupedFacets.push(facet);\r\n found = true;\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n });\r\n console.log(groupedFacets)\r\n return groupedFacets;\r\n }\r\n renderCustomFacetGroups(facetgroups) {\r\n return this.props.facets.map((group, i) => {\r\n if (group.values.length === 0 && group.childGroups.length === 0) {\r\n return null;\r\n }\r\n const numOpenGroups = this.props.numOpenGroups;\r\n const isOpen =\r\n typeof numOpenGroups !== \"undefined\" &&\r\n numOpenGroups !== null &&\r\n i < numOpenGroups;\r\n const eventRef = group.id == \"EventDuration\" ? \"facetgroups\" : null;\r\n return facetgroups.includes(group.id) ? (\r\n \r\n ) : null;\r\n });\r\n }\r\n renderFacetGroups() {\r\n const excludedGroup = this.researchPubs();\r\n excludedGroup.push(\r\n \"collections\",\r\n \"EventDuration\",\r\n \"EventType\",\r\n \"EventAttendance\",\r\n \"locations\"\r\n );\r\n\r\n let facetArray = [];\r\n this.props.facets.forEach((facet, i) => {\r\n // pushes contentType to the beginning of the array so it renders at the top\r\n if (facet.id == \"contentType\") {\r\n facetArray.unshift(facet);\r\n }\r\n if (facet.id == \"topic\") {\r\n facetArray.push(facet);\r\n }\r\n })\r\n\r\n return facetArray.map((group, i) => {\r\n if (group.values.length === 0 && group.childGroups.length === 0) {\r\n return null;\r\n }\r\n\r\n const numOpenGroups = this.props.numOpenGroups;\r\n const isOpen = true;\r\n return !excludedGroup.includes(group.id) ? (\r\n \r\n ) : null;\r\n });\r\n }\r\n\r\n renderClearAll(selectedFacets) {\r\n const renderedSelectedFacets = selectedFacets.map(facet =>\r\n \r\n {facet.name} \r\n this.props.handleFacetChange(facet.uniqueId, facet)}>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n const facetLabel = this.props.dictionary.facetsTitle\r\n ? this.props.dictionary.facetsTitle\r\n : \"Refine\";\r\n\r\n return (\r\n
    \r\n
    \r\n Filters\r\n \r\n
    \r\n
    {renderedSelectedFacets}
    \r\n
    \r\n );\r\n }\r\n\r\n toggleGroup() {\r\n const isOpen = !this.state.isGroupOpen;\r\n this.setState({ isGroupOpen: isOpen });\r\n }\r\n\r\n toggleEventGroup() {\r\n const isOpen = !this.state.eventOpenState;\r\n this.setState({ eventOpenState: isOpen });\r\n }\r\n togglePublicationGroup() {\r\n const isOpen = !this.state.researchOpenState;\r\n this.setState({ researchOpenState: isOpen });\r\n }\r\n render() {\r\n const facetGroups = this.renderFacetGroups();\r\n const researchFacets = this.researchPubs();\r\n const selectedFacets = this.props.selectedFacets;\r\n const collectionsFacet = this.collectionsFacet();\r\n const eventsAttendanceFacets = this.eventsAttendanceFacets();\r\n const eventsTypeFacets = this.eventsTypeFacets();\r\n const eventsDurationFacets = this.eventsDurationFacets();\r\n const eventsLocationFacets = this.eventsLocationFacets();\r\n const researchPubFacetGroups = this.renderCustomFacetGroups(researchFacets);\r\n const eventsTypeFacetsGroup = this.renderCustomFacetGroups(\r\n eventsTypeFacets\r\n );\r\n const eventsDurationGroup = this.renderCustomFacetGroups(\r\n eventsDurationFacets\r\n );\r\n const eventsLocationGroup = this.renderCustomFacetGroups(\r\n eventsLocationFacets\r\n );\r\n\r\n const eventsAttendanceFacetsGroup = this.renderCustomFacetGroups(\r\n eventsAttendanceFacets\r\n );\r\n\r\n const openEventClass = classnames(\"search-facets__group-toggle\", {\r\n \"is-open\": this.state.eventOpenState\r\n });\r\n const openPublicationClass = classnames(\"search-facets__group-toggle\", {\r\n \"is-open\": this.state.researchOpenState\r\n });\r\n\r\n const publicationGroupClass = classnames(\r\n \"search-facets__group search-facets__group--publications\",\r\n { \"is-open\": this.state.researchOpenState }\r\n );\r\n const eventGroupClass = classnames(\r\n \"search-facets__group search-facets__group--events\",\r\n { \"is-open\": this.state.eventOpenState }\r\n );\r\n\r\n const researchPubFacetTitle = this.props.dictionary.researchPubFacetTitle\r\n ? this.props.dictionary.researchPubFacetTitle\r\n : \"By Research & Publication Type\";\r\n\r\n const eventsFacetTitle = this.props.dictionary.eventEducationFacetTitle\r\n ? this.props.dictionary.eventEducationFacetTitle\r\n : \"Education & Events\";\r\n return (\r\n
    \r\n {this.renderHideFilters()}\r\n {this.props.mobileFacetsShown ?

    \"{this.props.title}\"

    : null}\r\n
    \r\n {this.renderClearAll(selectedFacets)}\r\n {facetGroups}\r\n\r\n
    \r\n
    \r\n this.toggleEventGroup(e)}\r\n >\r\n \r\n \r\n \r\n \r\n

    {eventsFacetTitle}

    \r\n
    \r\n
    \r\n {eventsAttendanceFacetsGroup}\r\n {eventsDurationGroup}\r\n {eventsLocationGroup}\r\n {eventsTypeFacetsGroup}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n this.togglePublicationGroup(e)}\r\n >\r\n \r\n \r\n \r\n \r\n

    {researchPubFacetTitle}

    \r\n
    \r\n
    \r\n {researchPubFacetGroups}\r\n\r\n \r\n
    \r\n
    \r\n {/* {renderCollections} */}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst {\r\n string,\r\n object,\r\n arrayOf,\r\n bool,\r\n shape,\r\n number,\r\n oneOfType,\r\n func\r\n} = React.PropTypes;\r\nFacetList.propTypes = {\r\n title: string,\r\n mobileFiltersShown: bool,\r\n hideMobileFacets: func,\r\n facets: arrayOf(\r\n shape({\r\n id: oneOfType([number, string])\r\n })\r\n ),\r\n selectedFacets: arrayOf(object).isRequired,\r\n numOpenGroups: number,\r\n handleFacetChange: func.isRequired,\r\n // handleClearGroup: func.isRequired,\r\n handleSelectGroup: func.isRequired,\r\n handleClearAll: func.isRequired\r\n};\r\n\r\nFacetList.defaultProps = {\r\n facets: [],\r\n selectedFacets: [],\r\n numOpenGroups: null\r\n};\r\n","import React from \"react\";\r\nimport LoadingSpinner from \"./LoadingSpinner.jsx\";\r\n\r\nexport default class LoadMore extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n initiatedLoad: false\r\n };\r\n }\r\n\r\n onClick(event) {\r\n event.preventDefault();\r\n this.props.handleClick();\r\n this.setState({\r\n initiatedLoad: true\r\n });\r\n }\r\n\r\n render() {\r\n const { dictionary } = this.props;\r\n const shouldShowSpinner = this.props.loading && this.state.initiatedLoad;\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nconst { func, shape, string, bool } = React.PropTypes;\r\n\r\nLoadMore.propTypes = {\r\n handleClick: func.isRequired,\r\n loading: bool,\r\n dictionary: shape({\r\n loadMoreLabel: string\r\n })\r\n};\r\n","import React from \"react\";\r\n\r\nexport default () => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};","import React from \"react\";\r\nimport $ from \"jquery\";\r\nimport { isLastPage, isFirstPage, totalPages, pageBlock } from \"../paging\";\r\n\r\nconst Pagination = ({\r\n totalResults,\r\n resultsPerPage,\r\n currentPage,\r\n handlePageChange\r\n}) => {\r\n\r\n const block = pageBlock(totalResults, resultsPerPage, currentPage);\r\n const isLast = isLastPage(totalResults, resultsPerPage, currentPage);\r\n const isFirst = isFirstPage(currentPage);\r\n const lastPage = totalPages(totalResults, resultsPerPage);\r\n\r\n function getPage(label, value, isDisabled) {\r\n let prevNext = label == \"Previous\" ? \" btn--prev\" : label == \"Next\" ? \" btn--next\" : \"\";\r\n return (\r\n onPageClick(value, isDisabled)}\r\n disabled={isDisabled}>{label}\r\n );\r\n }\r\n\r\n function onPageClick(pageNum, isDisabled) {\r\n if (!isDisabled) {\r\n const searchResults = $(\".search-results\");\r\n if (searchResults) {\r\n window.scrollTo({\r\n top: searchResults.offset().top,\r\n behavior: \"smooth\"\r\n });\r\n }\r\n handlePageChange(pageNum);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n {/* {getPage(\"<< First\", 1, isFirst)} */}\r\n {getPage(\"Previous\", currentPage - 1, isFirst)}\r\n {block.map( page => getPage(page.label, page.num, page.current))}\r\n {getPage(\"Next\", currentPage + 1, isLast)}\r\n {/* {getPage(\"Last >>\", lastPage, isLast)} */}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst { number, func } = React.PropTypes;\r\n\r\nPagination.propTypes = {\r\n totalResults: number.isRequired,\r\n resultsPerPage: number.isRequired,\r\n currentPage: number.isRequired,\r\n handlePageChange: func.isRequired\r\n};\r\n\r\nexport default Pagination;\r\n","import React from \"react\";\r\nimport moment from \"moment\";\r\nimport R from \"ramda\";\r\n\r\nexport default class ResultItem extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.itemWrapper = null;\r\n }\r\n\r\n componentDidMount() {\r\n this.itemWrapper.className = this.itemWrapper.className + \" is-visible\";\r\n }\r\n\r\n formatDate(dateStr) {\r\n const date = new Date(dateStr);\r\n return moment(date).format(\"MMMM YYYY\");\r\n }\r\n serviceItem(serviceContacts, phoneLabel, emailLabel) {\r\n let serviceList = serviceContacts.map(function(serviceItem, i) {\r\n return (\r\n
    \r\n

    \r\n {serviceItem.subGroupTitle}\r\n

    \r\n 1\r\n ? \"service-item__sub-department service-item__sub-department--columns\"\r\n : \"service-item__sub-department\"\r\n }\r\n >\r\n {serviceItem.subDepartments.map(function(department, i) {\r\n return (\r\n
  • \r\n

    \r\n {department.subDeptTitle}\r\n

    \r\n \r\n
    \r\n {department.subDeptName}\r\n \r\n \r\n \r\n {phoneLabel}:\r\n \r\n {department.subDeptPhone}\r\n \r\n \r\n \r\n {emailLabel}:\r\n \r\n {department.subDeptEmail}\r\n \r\n \r\n
  • \r\n );\r\n })}\r\n \r\n
    \r\n );\r\n });\r\n return serviceList;\r\n }\r\n\r\n bodySubString(body) {\r\n var cleanTxt = body.replace(/<[^>]+>/g, \"\");\r\n return cleanTxt.substring(0, 301) + \"... \";\r\n }\r\n render() {\r\n const {\r\n authors,\r\n body,\r\n contentType,\r\n contentUrl,\r\n date,\r\n displayDate,\r\n description,\r\n departmentDescription,\r\n departmentTitle,\r\n displayUrl,\r\n emailLabel,\r\n fullName,\r\n imageSrc,\r\n name,\r\n phoneLabel,\r\n primaryBio,\r\n primaryBioRole,\r\n primaryTermEnd,\r\n subGroups,\r\n title,\r\n type,\r\n url\r\n } = this.props;\r\n const getConfig = () => {\r\n const defaultConfig = {\r\n body: body && this.bodySubString(body),\r\n contentType: contentType,\r\n date: null,\r\n displayUrl: displayUrl,\r\n location: null,\r\n photo: null,\r\n // photo: 'http://via.placeholder.com/125x175',\r\n preferredFullName: null,\r\n termEnd: null,\r\n serviceContacts: null, //assume this will be an array\r\n title: title,\r\n type: null,\r\n isEventSession: null,\r\n displayDate: displayDate || (date && this.formatDate(date)) //will presumably grab from a different field depending on card type.\r\n };\r\n\r\n if (contentType == \"Author\") {\r\n return R.merge(defaultConfig, {\r\n photo: imageSrc,\r\n displayDate: null,\r\n title: fullName,\r\n body: primaryBio && this.bodySubString(primaryBio),\r\n contentType: primaryBioRole,\r\n termEnd: primaryTermEnd\r\n });\r\n } else if (contentType == \"Service Department\") {\r\n return R.merge(defaultConfig, {\r\n serviceContacts: subGroups,\r\n contentType: null,\r\n body: departmentDescription && this.bodySubString(departmentDescription),\r\n title: departmentTitle\r\n });\r\n } else if (contentType == \"Sessions\") {\r\n return R.merge(defaultConfig, {\r\n body: description && this.bodySubString(description),\r\n type: type,\r\n isEventSession: true\r\n });\r\n } else if (contentType == \"Event\") {\r\n return R.merge(defaultConfig, {\r\n body: description && this.bodySubString(description),\r\n type: type,\r\n isEventSession: true\r\n });\r\n } else {\r\n return defaultConfig;\r\n }\r\n };\r\n const config = getConfig();\r\n\r\n return (\r\n
    (this.itemWrapper = el)}>\r\n
    \r\n {contentType}\r\n
    \r\n

    \r\n \r\n {config.title}\r\n {config.termEnd ? \"/\" + config.termEnd : null}\r\n \r\n

    \r\n
    \r\n {config.displayDate ? (\r\n {config.displayDate}\r\n ) : null}\r\n
    \r\n {config.photo ? (\r\n \r\n ) : null}\r\n

    \r\n {config.serviceContacts ? (\r\n
    \r\n {this.serviceItem(config.serviceContacts, phoneLabel, emailLabel)}\r\n
    \r\n ) : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst { arrayOf, string } = React.PropTypes;\r\nResultItem.propTypes = {\r\n contentType: string,\r\n date: string,\r\n displayDate: string,\r\n title: string,\r\n body: string,\r\n contentUrl: string,\r\n displayUrl: string\r\n};\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport {isLastPage} from \"../paging\";\r\nimport {openFilters} from \"../filterSlider\";\r\nimport ResultItem from \"./ResultItem.jsx\";\r\nimport LoadMore from \"./LoadMore.jsx\";\r\nimport LoadingSpinner from \"./LoadingSpinner.jsx\";\r\nimport SortBar from \"./SortBar.jsx\";\r\nimport SearchStatus from \"./SearchStatus.jsx\";\r\nimport Pagination from \"./Pagination.jsx\";\r\nimport {RESULTS_DISPLAY_REFRESH, RESULTS_DISPLAY_APPEND} from \"../redux/resultsDisplay\";\r\n\r\nconst ResultList = ({\r\n results,\r\n resultsDisplayStrategy,\r\n selectedFacets,\r\n totalResults,\r\n eventSpan,\r\n loading,\r\n isFirstLoad,\r\n sorters,\r\n nextPage,\r\n gotoPage,\r\n dismissFacet,\r\n changeSort,\r\n query,\r\n pagination,\r\n dictionary,\r\n showMobileFacets,\r\n removeEventSpan,\r\n removeEventDate\r\n}) => {\r\n\r\n const isLast = isLastPage(totalResults, query.perPage, query.page);\r\n const shouldShowNoResults = results.length === 0 && !isFirstLoad;\r\n const shouldShowPager = totalResults > query.perPage;\r\n\r\n function showFilters() {\r\n openFilters(); // DOM ops\r\n showMobileFacets(); // action creator\r\n }\r\n\r\n function wrapperClass() {\r\n const isRefreshing = loading && resultsDisplayStrategy === RESULTS_DISPLAY_REFRESH;\r\n const isAppending = loading && resultsDisplayStrategy === RESULTS_DISPLAY_APPEND;\r\n return classnames(\"search-results\", {\r\n \"is-refreshing\": isRefreshing,\r\n \"is-appending\": isAppending\r\n });\r\n }\r\n\r\n function resultsRange() {\r\n // Upper bound of visible results\r\n let ceiling = (query.page * query.perPage);\r\n\r\n // Lower bound of visible results\r\n let floor = (ceiling - query.perPage) + 1;\r\n\r\n // make sure the ceiling does not exceed total results\r\n if (ceiling > totalResults) {\r\n ceiling = totalResults;\r\n }\r\n\r\n // if results are only one page, eschew the range entirely\r\n if (totalResults <= query.perPage) {\r\n return `${totalResults}`;\r\n }\r\n\r\n // if we're using load more, we want to show only\r\n // the ceiling of results displayed\r\n if (resultsDisplayStrategy === RESULTS_DISPLAY_APPEND) {\r\n return `${ceiling}`;\r\n }\r\n\r\n // otherwise, return the full range\r\n return `${floor} - ${ceiling}`;\r\n }\r\n\r\n function renderPagingControl(n) {\r\n if (pagination) {\r\n return ();\r\n }\r\n\r\n if (!pagination && !isLast && n == 2) {\r\n return ;\r\n }\r\n }\r\n\r\n function renderFilterToggle() {\r\n return ();\r\n }\r\n return (
    \r\n {renderFilterToggle()}\r\n \r\n {\r\n shouldShowPager\r\n ? renderPagingControl(1)\r\n : null\r\n }\r\n\r\n
    \r\n {\r\n loading && (
    \r\n \r\n
    )\r\n }\r\n
    \r\n {\r\n shouldShowNoResults\r\n ? (

    No results found to match your query.

    )\r\n : null\r\n }\r\n {results.map((item) => )}\r\n
    \r\n
    \r\n
    \r\n {\r\n shouldShowPager\r\n ? renderPagingControl(2)\r\n : null\r\n }
    \r\n
    );\r\n};\r\n\r\nconst {\r\n arrayOf,\r\n string,\r\n object,\r\n func,\r\n bool,\r\n number,\r\n shape,\r\n oneOfType\r\n} = React.PropTypes;\r\n\r\nResultList.propTypes = {\r\n results: arrayOf(shape({\r\n id: oneOfType([number, string])\r\n })),\r\n resultsDisplayStrategy: number,\r\n selectedFacets: arrayOf(object).isRequired,\r\n totalResults: number.isRequired,\r\n sorters: arrayOf(shape({\r\n id: oneOfType([number, string]).isRequired,\r\n label: string.isRequired,\r\n value: string.isRequired,\r\n direction: oneOfType([bool, string]),\r\n isActive: bool.isRequired\r\n })),\r\n loading: bool,\r\n isFirstLoad: bool,\r\n nextPage: func,\r\n gotoPage: func,\r\n changeSort: func,\r\n showMobileFacets: func,\r\n dismissFacet: func,\r\n query: shape({q: string, sortBy: string, page: number, perPage: number, pageId: string}),\r\n pagination: bool,\r\n dictionary: object\r\n};\r\n\r\nResultList.defaultProps = {\r\n selectedFacets: []\r\n};\r\n\r\nexport default ResultList;\r\n","import React from \"react\";\r\nimport LoadingSpinner from \"./LoadingSpinner.jsx\";\r\nimport SearchDropdown from \"../search dropdown/SearchDropdown.json\"\r\n\r\nexport default class SearchBox extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.setWrapperRef = this.setWrapperRef.bind(this);\r\n this.handleClickOutside = this.handleClickOutside.bind(this);\r\n\r\n this.state = {\r\n initiatedLoad: false,\r\n firstFocus: true,\r\n input: \"\",\r\n suggestedLinks: [\r\n { \"displayText\": \"Congress\", \"url\": \"https://congress.ache.org/\" },\r\n { \"displayText\": \"Bookstore\", \"url\": \"https://www.ache.org/learning-center/publications/books\" },\r\n { \"displayText\": \"Earn My FACHE\", \"url\": \"https://www.ache.org/fache\" }\r\n ],\r\n dropdownClass: ''\r\n };\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.state.dropdownClass === '__active') {\r\n document.addEventListener(\"mousedown\", this.handleClickOutside);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener(\"mousedown\", this.handleClickOutside);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.loading) {\r\n this.setState({ initiatedLoad: false });\r\n }\r\n }\r\n\r\n setWrapperRef(node) {\r\n this.wrapperRef = node;\r\n }\r\n\r\n handleClickOutside(event) {\r\n if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\r\n document.activeElement.blur();\r\n event.target.focus();\r\n this.unfocusSearchBox(event);\r\n document.removeEventListener(\"mousedown\", this.handleClickOutside);\r\n }\r\n }\r\n\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n this.unfocusSearchBox(event);\r\n if (this.state.input.length) {\r\n this.props.handleEntry(this.keywordInput.value);\r\n this.setState({ initiatedLoad: true });\r\n }\r\n }\r\n\r\n manageInput(event) {\r\n const input = event.target;\r\n if (input != null && input.value != this.state.input) {\r\n this.setState({ input: input.value });\r\n }\r\n this.createSuggestedLinksList(event.target.value);\r\n }\r\n\r\n manageRef(input) {\r\n this.keywordInput = input\r\n if (input != null && input.value != this.state.input) {\r\n this.setState({ input: input.value });\r\n }\r\n }\r\n\r\n createSuggestedLinksList(input) {\r\n const trimmedInput = input.trim().toLowerCase();\r\n let updatedLinks = [];\r\n\r\n if (trimmedInput.length > 0) {\r\n SearchDropdown.links.forEach((link, i) => {\r\n if (link.displayText.toLowerCase().includes(trimmedInput)) {\r\n updatedLinks.unshift(link)\r\n }\r\n else if (link.keyWords.includes(trimmedInput)) {\r\n updatedLinks.push(link)\r\n }\r\n })\r\n }\r\n\r\n SearchDropdown.defaults.forEach((link, i) => {\r\n if (link.displayText.startsWith(trimmedInput) && trimmedInput.length > 0) {\r\n updatedLinks.unshift(link)\r\n }\r\n else updatedLinks.push(link)\r\n })\r\n this.setState({ suggestedLinks: updatedLinks.slice(0, 3) })\r\n }\r\n\r\n focusSearchBox(event) {\r\n event.preventDefault()\r\n this.setState({ dropdownClass: '__active' })\r\n }\r\n unfocusSearchBox(event) {\r\n event.preventDefault()\r\n this.setState({ dropdownClass: '' })\r\n }\r\n\r\n render() {\r\n const { dictionary, keywords, loading } = this.props;\r\n if (keywords && this.state.firstFocus) {\r\n this.createSuggestedLinksList(keywords);\r\n this.setState({firstFocus: false})\r\n }\r\n const shouldShowSpinner = this.state.initiatedLoad && loading;\r\n return (\r\n
    \r\n
    this.handleSubmit(e)} noValidate>\r\n
    \r\n \r\n this.manageRef(input)}\r\n onChange={event => this.manageInput(event)}\r\n onFocus={e => this.focusSearchBox(e)}\r\n onClick={e => this.focusSearchBox(e)}\r\n />\r\n
    \r\n {shouldShowSpinner ? : null}\r\n
    \r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    Suggested links
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst { string, func, shape, bool } = React.PropTypes;\r\n\r\nSearchBox.propTypes = {\r\n keywords: string,\r\n handleEntry: func.isRequired,\r\n loading: bool,\r\n dictionary: shape({\r\n searchBoxPlaceholder: string,\r\n searchBoxLabel: string\r\n }).isRequired\r\n};\r\n","import React from \"react\";\r\n\r\nconst SearchStatus = ({\r\n loading,\r\n resultsRange,\r\n removeEventSpan,\r\n totalResults,\r\n keywords,\r\n selectedFacets,\r\n handleFacetDismiss,\r\n eventSpan,\r\n removeEventDate\r\n}) => {\r\n const shouldRenderFacets = selectedFacets.length > 0 || eventSpan;\r\n const shouldRenderKeywords = !!keywords;\r\n const shouldRenderResultStatus = !loading;\r\n\r\n const onFacetClick = value => {\r\n handleFacetDismiss(value.uniqueId);\r\n };\r\n\r\n const resultLabel = totalResults === 1 ? \"result\" : \"results\";\r\n\r\n const renderFakeFacets = (fakeFacet) => {\r\n if (fakeFacet) {\r\n return (\r\n
  • \r\n {eventSpan} Events\r\n {\r\n removeEventSpan(\"EventDuration--\" + eventSpan);\r\n removeEventDate(\"\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
  • \r\n );\r\n }\r\n };\r\n const renderSelectedFacets = () => {\r\n return (\r\n
    \r\n
      \r\n {selectedFacets.map(value => {\r\n return (\r\n
    • \r\n {value.name} \r\n \r\n
    • \r\n );\r\n })\r\n }\r\n {renderFakeFacets(eventSpan)}\r\n
    \r\n
    \r\n );\r\n };\r\n return (\r\n \r\n {shouldRenderResultStatus &&\r\n
    \r\n {resultsRange}\r\n  \r\n of\r\n  \r\n {totalResults}\r\n  \r\n {resultLabel}{\" \"}\r\n {shouldRenderKeywords && (\r\n \r\n for the keyword: "\r\n {keywords}\r\n " \r\n \r\n )}\r\n {shouldRenderFacets ? within: : null}\r\n {shouldRenderFacets && renderSelectedFacets()}\r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nconst { string, number, object, arrayOf, func } = React.PropTypes;\r\n\r\nSearchStatus.propTypes = {\r\n resultsRange: string.isRequired,\r\n totalResults: number.isRequired,\r\n keywords: string,\r\n eventSpan: string,\r\n selectedFacets: arrayOf(object).isRequired,\r\n handleFacetDismiss: func.isRequired\r\n};\r\n\r\nSearchStatus.defaultProps = {\r\n selectedFacets: []\r\n};\r\n\r\nexport default SearchStatus;\r\n","import R from \"ramda\";\r\nimport React from \"react\";\r\nimport classnames from \"classnames\";\r\n\r\nfunction activeSortAscClass(sorter) {\r\n return classnames({ \"is-selected\": sorter.isActive && sorter.direction === \"asc\"});\r\n}\r\n\r\nfunction activeSortDescClass(sorter) {\r\n return classnames({ \"is-selected\": sorter.isActive && sorter.direction === \"desc\"});\r\n}\r\n\r\nfunction activateOrToggleSorter(sorterId, sorters, handleSortClick) {\r\n const toggleDir = dir => {\r\n if (!dir) {\r\n return null;\r\n } else {\r\n return dir === \"asc\" ? \"desc\" : \"asc\";\r\n }\r\n };\r\n\r\n // this is like a 'bookmark' to the direction property\r\n const dirLens = R.lensProp(\"direction\");\r\n\r\n // each argument array supplies a condition predicate, and an action\r\n // 1) if clicked sorter and active, toggle the sort direction\r\n // 2) if clicked sorter and not active, make active\r\n // 3) if not clicked sorter, and active, make inactive\r\n // 4) all other cases, do nothing\r\n const adjustSorters = R.cond([\r\n [R.whereEq({id: sorterId, isActive: true}), R.over(dirLens, toggleDir)],\r\n [R.whereEq({id: sorterId, isActive: false}), R.assoc(\"isActive\", true)],\r\n [R.whereEq({isActive: true}), R.assoc(\"isActive\", false)],\r\n [R.T, R.identity]\r\n ]);\r\n\r\n const newSorters = R.map(adjustSorters, sorters);\r\n handleSortClick(newSorters);\r\n}\r\n\r\nconst SortBar = ({sorters, handleSortClick}) => {\r\n return (\r\n
    \r\n Sort\r\n
      \r\n {sorters.map(sorter => {\r\n let sorterClass = classnames(\"search-results__sorter\", { \"is-active\": sorter.isActive });\r\n return (\r\n activateOrToggleSorter(sorter.id, sorters, handleSortClick) }>\r\n {(sorter.label == \"Alphabetical\") ?
      {sorter.label}
      : sorter.label }
      \r\n {/* {sorter.direction && (\r\n \r\n \r\n \r\n \r\n )} */}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst { shape, func, number, string, bool, oneOfType, arrayOf } = React.PropTypes;\r\n\r\nSortBar.propTypes = {\r\n sorters: arrayOf(shape({\r\n id: oneOfType([number, string]).isRequired,\r\n label: string.isRequired,\r\n value: string.isRequired,\r\n direction: oneOfType([bool, string]),\r\n isActive: bool.isRequired\r\n })).isRequired,\r\n handleSortClick: func.isRequired\r\n};\r\n\r\nexport default SortBar;\r\n","import { connect } from \"react-redux\";\r\nimport FacetList from \"../components/FacetList.jsx\";\r\nimport {\r\n loadFacetChange,\r\n loadClearFacetGroup,\r\n loadSelectFacetGroup,\r\n loadClearAllFacets,\r\n hideMobileFacets,\r\n loadDateRangeChange,\r\n loadEventDateRangeChange,\r\n loadEventSpanChange\r\n} from \"../redux/search/search.actions\";\r\nimport { allSelectedFacets } from \"../redux/facets\";\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n return {\r\n title: state.dictionary.facetsTitle,\r\n facets: state.facets,\r\n selectedFacets: allSelectedFacets(state.facets),\r\n numOpenGroups: state.numOpenGroups,\r\n mobileFacetsShown: state.mobileFacetsShown,\r\n dictionary: state.dictionary,\r\n eventSpan: state.query.eventSpan\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n handleFacetChange: (uniqueId, facetValue) => {\r\n dispatch(loadFacetChange(uniqueId, facetValue));\r\n },\r\n\r\n handleClearGroup: (group) => {\r\n dispatch(loadClearFacetGroup(group));\r\n },\r\n\r\n handleClearAll: () => {\r\n dispatch(loadClearAllFacets());\r\n },\r\n\r\n handleSelectGroup: (group) => {\r\n dispatch(loadSelectFacetGroup(group))\r\n },\r\n hideMobileFacets: () => {\r\n dispatch(hideMobileFacets);\r\n },\r\n loadDateRangeChange: (range) => {\r\n dispatch(loadDateRangeChange(range));\r\n },\r\n loadEventDateRangeChange: (range) => {\r\n dispatch(loadEventDateRangeChange(range));\r\n },\r\n loadEventSpanChange: (string) => {\r\n dispatch(loadEventSpanChange(string));\r\n }\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FacetList);\r\n","import {connect} from \"react-redux\";\r\nimport SearchBox from \"../components/SearchBox.jsx\";\r\nimport { loadNewKeywords } from \"../redux/search/search.actions\";\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n keywords: state.query.q,\r\n dictionary: state.dictionary,\r\n loading: state.loading\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n handleEntry: (value) => {\r\n dispatch(loadNewKeywords(value));\r\n }\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SearchBox);\r\n","import {connect} from \"react-redux\";\r\nimport ResultList from \"../components/ResultList.jsx\";\r\nimport { loadNextPage, loadNewSort, loadNewPage, loadFacetChange, showMobileFacets,changeEventDateRange, changeEventSpan } from \"../redux/search/search.actions\";\r\nimport { allSelectedFacets } from \"../redux/facets\";\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n results: state.results,\r\n resultsDisplayStrategy: state.resultsDisplayStrategy,\r\n selectedFacets: allSelectedFacets(state.facets),\r\n totalResults: state.totalResults,\r\n loading: state.loading,\r\n isFirstLoad: state.isFirstLoad,\r\n sorters: state.sorters,\r\n query: state.query,\r\n pagination: state.pagination,\r\n dictionary: state.dictionary,\r\n eventSpan: state.query.eventSpan\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n nextPage: () => {\r\n dispatch(loadNextPage());\r\n },\r\n changeSort: (sorters) => {\r\n dispatch(loadNewSort(sorters));\r\n },\r\n gotoPage: (pageNum) => {\r\n dispatch(loadNewPage(pageNum));\r\n },\r\n dismissFacet: (facetId) => {\r\n dispatch(loadFacetChange(facetId, false));\r\n },\r\n showMobileFacets: () => {\r\n dispatch(showMobileFacets());\r\n },\r\n removeEventSpan: () => {\r\n dispatch(changeEventSpan());\r\n },\r\n removeEventDate: () => {\r\n dispatch(changeEventDateRange());\r\n }\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ResultList);\r\n","// Open/Close for mobile sliding of filter bar.\r\n// Involves working with elements outside the\r\n// scope of React components, so logic kept here.\r\n\r\nexport function openFilters() {\r\n // Note - this depends on page state outside of the React app\r\n let filters = filtersWrapper();\r\n if (filters && !filtersAreOpen(filters)) {\r\n filters.classList.add(\"is-open\");\r\n }\r\n}\r\n\r\nexport function closeFilters() {\r\n let filters = filtersWrapper();\r\n if (filters) {\r\n filters.classList.remove(\"is-open\");\r\n }\r\n}\r\n\r\nexport function setFiltersOpenDirection() {\r\n let direction = \"is-right\";\r\n let filters = filtersWrapper();\r\n\r\n if (filters) {\r\n const sibling = filters.closest(\".container__col\").nextElementSibling;\r\n if (sibling && sibling.className.indexOf(\"container__col\") >= 0) {\r\n direction = \"is-left\";\r\n }\r\n }\r\n\r\n filters.classList.add(direction);\r\n}\r\n\r\n// when the facet column is 'lifted' absolutely from the container\r\n// it leaves behind an empty stacked container with a bottom margin\r\n// we want to remove that margin -- but only if facets are the\r\n// only components in the column\r\nexport function manageContainerWhitespace() {\r\n let parent = filtersWrapper().closest(\".container__col\");\r\n let col = parent;\r\n if (parent.children.item(0).classList.contains(\"container__inner\")) {\r\n parent = parent.children.item(0);\r\n }\r\n\r\n // cast from HTMLCollection to Array\r\n let children = Array.from(parent.children);\r\n const childCount = children.reduce((count, child) => {\r\n if (!child.classList.contains(\"search__facets-wrapper\")) {\r\n count = count + 1;\r\n }\r\n\r\n return count;\r\n\r\n } , 0);\r\n\r\n if (childCount === 0) {\r\n // remove the margin on the parent column\r\n col.style.marginBottom = 0;\r\n }\r\n}\r\n\r\nfunction filtersWrapper() {\r\n return document.querySelector(\".search__facets-wrapper\");\r\n}\r\n\r\nfunction filtersAreOpen(filtersWrapper) {\r\n return filtersWrapper.classList.contains(\"is-open\");\r\n}\r\n\r\n","import $ from \"jquery\";\r\nimport R from \"ramda\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport thunk from \"redux-thunk\";\r\nimport { Provider } from \"react-redux\";\r\n\r\nimport rootReducer from \"./redux/rootReducer\";\r\nimport { initialState as initialSearchState } from \"./redux/search/search.reducer\";\r\nimport { loadResults } from \"./redux/search/search.actions\";\r\nimport configureStore from \"./redux/configureStore\";\r\nimport createRoutingMiddleware from \"./redux/createRoutingMiddleware\";\r\nimport { mapStateToUrl, handleUrlChange } from \"./redux/routing\";\r\n\r\nimport { RESULTS_DISPLAY_APPEND, RESULTS_DISPLAY_REFRESH } from \"./redux/resultsDisplay\";\r\n\r\nimport ResultsContainer from \"./containers/ResultsContainer.jsx\";\r\nimport QueryContainer from \"./containers/QueryContainer.jsx\";\r\nimport FacetsContainer from \"./containers/FacetsContainer.jsx\";\r\n\r\n// the mount nodes are the elements we want to include\r\n// as part of the search app\r\nexport function initSearchApp(mountNodes) {\r\n\tif (!mountNodes.length) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// extract the searchId from the mountNodes\r\n\t// while also checking mountNodes share same id\r\n\tconst searchId = mountNodes.reduce((id, node) => {\r\n\t\tconst nodeId = $(node).data(\"searchId\");\r\n\t\t// if id is null, we want to set it\r\n\t\t// with the first node's value\r\n\t\tif (id === null) {\r\n\t\t\treturn nodeId;\r\n\t\t}\r\n\t\t// if node id does not equal current\r\n\t\t// id value, it's invalid and return undefined\r\n\t\tif (id !== nodeId) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\treturn id;\r\n\t}, null);\r\n\r\n\t// if we have an invalid or non-matching id, raise an error\r\n\tif (!searchId) {\r\n\t\tthrow new Error(\r\n\t\t\t\"Could not initialize ACHE search app. searchId was either not present, or provided mount nodes did not share the same searchId\"\r\n\t\t);\r\n\t}\r\n\r\n\t// define the canonical inital state of our redux store here\r\n\t// including some value taken from the data-attrs of the\r\n\t// mount node.\r\n\tconst config = window.ACHESearchConfigs.find((c) => c.searchId === searchId);\r\n\tif (!config) {\r\n\t\tthrow new Error(\r\n\t\t\t`Could not initialize ACHE search app instance with id of \"${searchId}\". Configuration data not found.`\r\n\t\t);\r\n\t}\r\n\r\n\t// create a starting state object,\r\n\t// which includes and intitial state\r\n\t// from individual reducers\r\n\tlet initialState = R.merge(initialSearchState, {\r\n\t\turl: config.url,\r\n\t\tpagination: config.pagination,\r\n\t\tresultsDisplayStrategy: config.pagination ? RESULTS_DISPLAY_REFRESH : RESULTS_DISPLAY_APPEND,\r\n\t\tsorters: config.sorters,\r\n\t\tdictionary: config.dictionary,\r\n\t\tnumOpenGroups: config.numOpenGroups,\r\n\t\tquery: R.merge(initialSearchState.query, {\r\n\t\t\tpageId: config.pageId,\r\n\t\t}),\r\n\t});\r\n\r\n\t// determine if we want to load all page results in our cold load\r\n\tconst doLoadAllPages = initialState.resultsDisplayStrategy === RESULTS_DISPLAY_APPEND && initialState.isFirstLoad;\r\n\r\n\tinitialState = R.merge(initialState, {\r\n\t\tquery: R.merge(initialState.query, {\r\n\t\t\tloadAllPages: doLoadAllPages,\r\n\t\t}),\r\n\t});\r\n\r\n\tconst routingMiddleware = createRoutingMiddleware(mapStateToUrl, handleUrlChange);\r\n\tconst store = configureStore(rootReducer, initialState, [thunk, routingMiddleware]);\r\n\r\n\tstore.dispatch(loadResults());\r\n\r\n\tmountNodes.forEach((node) => {\r\n\t\tif (node.className.indexOf(\"js-search-query\") > -1) {\r\n\t\t\tReactDOM.render(\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t,\r\n\t\t\t\tnode\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (node.className.indexOf(\"js-search-results\") > -1) {\r\n\t\t\tReactDOM.render(\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t,\r\n\t\t\t\tnode\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (node.className.indexOf(\"js-search-facets\") > -1) {\r\n\t\t\tReactDOM.render(\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t,\r\n\t\t\t\tnode\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n$(document).ready(function () {\r\n\tif ($(\".bookstore-search-filters\").length > 0) {\r\n\t\tfunction clickOnItem() {\r\n\t\t\t$(\"#filtersPagination\").on(\"click\", \"li\", function () {\r\n\t\t\t\tvar topics = [];\r\n\t\t\t\tvar collections = [];\r\n\t\t\t\tvar singleTopic = $(\"input[name='topics']:checked\");\r\n\t\t\t\tvar singleCollection = $(\"input[name='collections']:checked\");\r\n\t\t\t\t$.each($(singleTopic), function () {\r\n\t\t\t\t\ttopics.push($(this).val());\r\n\t\t\t\t});\r\n\t\t\t\t$.each($(singleCollection), function () {\r\n\t\t\t\t\tcollections.push($(this).val());\r\n\t\t\t\t});\r\n\t\t\t\tif(singleTopic.length>0 || singleCollection.length>0)\r\n\t\t\t\t{\r\n\t\t\t\t\t$(\".clear-filters\").removeClass(\"none-selected\");\r\n\t\t\t\t}\r\n\t\t\t\tif(singleTopic.length==0 && singleCollection.length==0)\r\n\t\t\t\t{\r\n\t\t\t\t\t$(\".clear-filters\").addClass(\"none-selected\");\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t$(\"#filtersPagination li.active\").removeClass(\"active\");\r\n\t\t\t\t$(this).addClass(\"active\");\r\n\t\t\t\tvar pageActive = $(this).text();\r\n\t\t\t\tvar pageActiveInt = parseInt(pageActive);\r\n\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\ttopic: topics.join(\",\"),\r\n\t\t\t\t\t\tcollection: collections.join(\",\"),\r\n\t\t\t\t\t\tpage: pageActiveInt,\r\n\t\t\t\t\t},\r\n\t\t\t\t\turl: \"/api/sitecore/search/bookstorelist/\",\r\n\t\t\t\t\tsuccess: function (result) {\r\n\t\t\t\t\t\t$(\"#bookResults\").html(result);\r\n\t\t\t\t\t\tclickOnPrev();\r\n\t\t\t\t\t\tclickOnItem();\r\n\t\t\t\t\t\tclickOnNext();\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction clickOnPrev() {\r\n\t\t\tvar paginationPrevButton = $(\".bookstore-search-filters__pagination-prev\");\r\n\t\t\t$(paginationPrevButton).click(function () {\r\n\t\t\t\tvar currentActivePage = $(\"#filtersPagination li.active\");\r\n\t\t\t\t$(currentActivePage).removeClass(\"active\");\r\n\t\t\t\t$(currentActivePage).prev().addClass(\"active\");\r\n\t\t\t\tvar activePageNumber = $(currentActivePage).text();\r\n\t\t\t\tvar activePageNumberInt = parseInt(activePageNumber);\r\n\t\t\t\tvar previousPageActive = activePageNumberInt - 1;\r\n\r\n\t\t\t\tvar topics = [];\r\n\t\t\t\tvar collections = [];\r\n\t\t\t\tvar singleTopic = $(\"input[name='topics']:checked\");\r\n\t\t\t\tvar singleCollection = $(\"input[name='collections']:checked\");\r\n\t\t\t\t$.each($(singleTopic), function () {\r\n\t\t\t\t\ttopics.push($(this).val());\r\n\t\t\t\t});\r\n\t\t\t\t$.each($(singleCollection), function () {\r\n\t\t\t\t\tcollections.push($(this).val());\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// ajax call for click on pagination previous button\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\ttopic: topics.join(\",\"),\r\n\t\t\t\t\t\tcollection: collections.join(\",\"),\r\n\t\t\t\t\t\tpage: previousPageActive,\r\n\t\t\t\t\t},\r\n\t\t\t\t\turl: \"/api/sitecore/search/bookstorelist/\",\r\n\t\t\t\t\tsuccess: function (result) {\r\n\t\t\t\t\t\t$(\"#bookResults\").html(result);\r\n\t\t\t\t\t\tclickOnPrev();\r\n\t\t\t\t\t\tclickOnItem();\r\n\t\t\t\t\t\tclickOnNext();\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction clickOnNext() {\r\n\t\t\tvar paginationNextButton = $(\".bookstore-search-filters__pagination-next\");\r\n\t\t\t$(paginationNextButton).click(function () {\r\n\t\t\t\tvar currentActivePage = $(\"#filtersPagination li.active\");\r\n\t\t\t\t$(currentActivePage).removeClass(\"active\");\r\n\t\t\t\t$(currentActivePage).next().addClass(\"active\");\r\n\t\t\t\tvar activePageNumber = $(currentActivePage).text();\r\n\t\t\t\tvar activePageNumberInt = parseInt(activePageNumber);\r\n\t\t\t\tvar nextPageActive = activePageNumberInt + 1;\r\n\r\n\t\t\t\tvar topics = [];\r\n\t\t\t\tvar collections = [];\r\n\t\t\t\tvar singleTopic = $(\"input[name='topics']:checked\");\r\n\t\t\t\tvar singleCollection = $(\"input[name='collections']:checked\");\r\n\t\t\t\t$.each($(singleTopic), function () {\r\n\t\t\t\t\ttopics.push($(this).val());\r\n\t\t\t\t});\r\n\t\t\t\t$.each($(singleCollection), function () {\r\n\t\t\t\t\tcollections.push($(this).val());\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// ajax call for click on pagination next button\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\ttopic: topics.join(\",\"),\r\n\t\t\t\t\t\tcollection: collections.join(\",\"),\r\n\t\t\t\t\t\tpage: nextPageActive,\r\n\t\t\t\t\t},\r\n\t\t\t\t\turl: \"/api/sitecore/search/bookstorelist/\",\r\n\t\t\t\t\tsuccess: function (result) {\r\n\t\t\t\t\t\t$(\"#bookResults\").html(result);\r\n\t\t\t\t\t\tclickOnPrev();\r\n\t\t\t\t\t\tclickOnItem();\r\n\t\t\t\t\t\tclickOnNext();\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t//ajax call for click on checkbox\r\n\t\t$('input[type=\"checkbox\"]').click(function () {\r\n\t\t\tvar topics = [];\r\n\t\t\tvar collections = [];\r\n\t\t\tvar singleTopic = $(\"input[name='topics']:checked\");\r\n\t\t\tvar singleCollection = $(\"input[name='collections']:checked\");\r\n\r\n\t\t\t$.each($(singleTopic), function () {\r\n\t\t\t\ttopics.push($(this).val());\r\n\t\t\t\t// $(\".selected-filters\").html(topics.join(\"
    \"));\r\n\t\t\t});\r\n\t\t\t$.each($(singleCollection), function () {\r\n\t\t\t\tcollections.push($(this).val());\r\n\t\t\t\t// $(\".selected-filters\").html(collections.join(\"
    \"));\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tif(singleTopic.length>0 || singleCollection.length>0)\r\n\t\t\t{\r\n\t\t\t\t$(\".clear-filters\").removeClass(\"none-selected\");\r\n\t\t\t}\r\n\t\t\tif(singleTopic.length==0 && singleCollection.length==0)\r\n\t\t\t{\r\n\t\t\t\t$(\".clear-filters\").addClass(\"none-selected\");\r\n\t\t\t}\r\n\t\t\t$(\"#filtersPagination li\").removeClass(\"active\");\r\n\t\t\t$(\"#filtersPagination li:first\").addClass(\"active\");\r\n\r\n\t\t\t$.ajax({\r\n\t\t\t\tdata: {\r\n\t\t\t\t\ttopic: topics.join(\",\"),\r\n\t\t\t\t\tcollection: collections.join(\",\"),\r\n\t\t\t\t\tpage: 1,\r\n\t\t\t\t},\r\n\t\t\t\turl: \"/api/sitecore/search/bookstorelist/\",\r\n\t\t\t\tsuccess: function (result) {\r\n\t\t\t\t\t$(\"#bookResults\").html(result);\r\n\t\t\t\t\tclickOnPrev();\r\n\t\t\t\t\tclickOnItem();\r\n\t\t\t\t\tclickOnNext();\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t//ajax call for click on clear filters buttons\r\n\t\tvar clearFiltersButton = $(\".clear-filters\");\r\n\t\t$(clearFiltersButton).click(function () {\r\n\t\t\tvar selectedFilters = $(\".selected-filters\");\r\n\t\t\tvar singleTopic = $(\"input[name='topics']:checked\");\r\n\t\t\tvar singleCollection = $(\"input[name='collections']:checked\");\r\n\t\t\t$(\".clear-filters\").addClass(\"none-selected\");\r\n\t\t\t\r\n\t\t\t$(selectedFilters).hide();\r\n\t\t\t$(singleTopic).prop(\"checked\", false);\r\n\t\t\t$(singleCollection).prop(\"checked\", false);\r\n\t\t\t$(\"#filtersPagination li\").removeClass(\"active\");\r\n\t\t\t$(\"#filtersPagination li:first\").addClass(\"active\");\r\n\t\t\t$.ajax({\r\n\t\t\t\tdata: {\r\n\t\t\t\t\ttopic: \"\",\r\n\t\t\t\t\tcollection: \"\",\r\n\t\t\t\t\tpage: 1,\r\n\t\t\t\t},\r\n\t\t\t\turl: \"/api/sitecore/search/bookstorelist/\",\r\n\t\t\t\tsuccess: function (result) {\r\n\t\t\t\t\t$(\"#bookResults\").html(result);\r\n\t\t\t\t\tclickOnPrev();\r\n\t\t\t\t\tclickOnItem();\r\n\t\t\t\t\tclickOnNext();\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t//pagination\r\n\t\tif ($(\".bookstore-search-filters__pagination\").length > 0) {\r\n\t\t\tvar paginationPrevButton = $(\".bookstore-search-filters__pagination-prev\");\r\n\t\t\tvar paginationNextButton = $(\".bookstore-search-filters__pagination-next\");\r\n\r\n\t\t\t$(\"#filtersPagination\").on(\"click\", \"li\", function () {\r\n\t\t\t\tvar topics = [];\r\n\t\t\t\tvar collections = [];\r\n\t\t\t\tvar singleTopic = $(\"input[name='topics']:checked\");\r\n\t\t\t\tvar singleCollection = $(\"input[name='collections']:checked\");\r\n\t\t\t\t$.each($(singleTopic), function () {\r\n\t\t\t\t\ttopics.push($(this).val());\r\n\t\t\t\t});\r\n\t\t\t\t$.each($(singleCollection), function () {\r\n\t\t\t\t\tcollections.push($(this).val());\r\n\t\t\t\t});\r\n\t\t\t\t$(\"#filtersPagination li.active\").removeClass(\"active\");\r\n\t\t\t\t$(this).addClass(\"active\");\r\n\t\t\t\tvar pageActive = $(this).text();\r\n\t\t\t\tvar pageActiveInt = parseInt(pageActive);\r\n\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\ttopic: topics.join(\",\"),\r\n\t\t\t\t\t\tcollection: collections.join(\",\"),\r\n\t\t\t\t\t\tpage: pageActiveInt,\r\n\t\t\t\t\t},\r\n\t\t\t\t\turl: \"/api/sitecore/search/bookstorelist/\",\r\n\t\t\t\t\tsuccess: function (result) {\r\n\t\t\t\t\t\t$(\"#bookResults\").html(result);\r\n\t\t\t\t\t\tclickOnPrev();\r\n\t\t\t\t\t\tclickOnItem();\r\n\t\t\t\t\t\tclickOnNext();\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\t$(paginationPrevButton).click(function () {\r\n\t\t\t\tvar currentActivePage = $(\"#filtersPagination li.active\");\r\n\t\t\t\t$(currentActivePage).removeClass(\"active\");\r\n\t\t\t\t$(currentActivePage).prev().addClass(\"active\");\r\n\t\t\t\tvar activePageNumber = $(currentActivePage).text();\r\n\t\t\t\tvar activePageNumberInt = parseInt(activePageNumber);\r\n\t\t\t\tvar previousPageActive = activePageNumberInt - 1;\r\n\r\n\t\t\t\tvar topics = [];\r\n\t\t\t\tvar collections = [];\r\n\t\t\t\tvar singleTopic = $(\"input[name='topics']:checked\");\r\n\t\t\t\tvar singleCollection = $(\"input[name='collections']:checked\");\r\n\t\t\t\t$.each($(singleTopic), function () {\r\n\t\t\t\t\ttopics.push($(this).val());\r\n\t\t\t\t});\r\n\t\t\t\t$.each($(singleCollection), function () {\r\n\t\t\t\t\tcollections.push($(this).val());\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// ajax call for click on pagination previous button\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\ttopic: topics.join(\",\"),\r\n\t\t\t\t\t\tcollection: collections.join(\",\"),\r\n\t\t\t\t\t\tpage: previousPageActive,\r\n\t\t\t\t\t},\r\n\t\t\t\t\turl: \"/api/sitecore/search/bookstorelist/\",\r\n\t\t\t\t\tsuccess: function (result) {\r\n\t\t\t\t\t\t$(\"#bookResults\").html(result);\r\n\t\t\t\t\t\tclickOnPrev();\r\n\t\t\t\t\t\tclickOnItem();\r\n\t\t\t\t\t\tclickOnNext();\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\t$(paginationNextButton).click(function () {\r\n\t\t\t\tvar currentActivePage = $(\"#filtersPagination li.active\");\r\n\t\t\t\t$(currentActivePage).removeClass(\"active\");\r\n\t\t\t\t$(currentActivePage).next().addClass(\"active\");\r\n\t\t\t\tvar activePageNumber = $(currentActivePage).text();\r\n\t\t\t\tvar activePageNumberInt = parseInt(activePageNumber);\r\n\t\t\t\tvar nextPageActive = activePageNumberInt + 1;\r\n\r\n\t\t\t\tvar topics = [];\r\n\t\t\t\tvar collections = [];\r\n\t\t\t\tvar singleTopic = $(\"input[name='topics']:checked\");\r\n\t\t\t\tvar singleCollection = $(\"input[name='collections']:checked\");\r\n\t\t\t\t$.each($(singleTopic), function () {\r\n\t\t\t\t\ttopics.push($(this).val());\r\n\t\t\t\t});\r\n\t\t\t\t$.each($(singleCollection), function () {\r\n\t\t\t\t\tcollections.push($(this).val());\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// ajax call for click on pagination next button\r\n\t\t\t\t$.ajax({\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\ttopic: topics.join(\",\"),\r\n\t\t\t\t\t\tcollection: collections.join(\",\"),\r\n\t\t\t\t\t\tpage: nextPageActive,\r\n\t\t\t\t\t},\r\n\t\t\t\t\turl: \"/api/sitecore/search/bookstorelist/\",\r\n\t\t\t\t\tsuccess: function (result) {\r\n\t\t\t\t\t\t$(\"#bookResults\").html(result);\r\n\t\t\t\t\t\tclickOnPrev();\r\n\t\t\t\t\t\tclickOnItem();\r\n\t\t\t\t\t\tclickOnNext();\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n});\r\n","import R from \"ramda\";\r\n\r\n// number of page to show before and after current page\r\n// if at first or last page, double the number will be shown\r\n// either after or before\r\nconst PAGE_BLOCK_RANGE = 3;\r\n\r\nexport function totalPages(totalResults, resultsPerPage) {\r\n return Math.ceil(totalResults / resultsPerPage);\r\n}\r\nexport function isLastPage(totalResults, resultsPerPage, currentPage) {\r\n const numPages = totalPages(totalResults, resultsPerPage);\r\n return currentPage >= numPages;\r\n}\r\n\r\nexport function isFirstPage(currentPage) {\r\n return currentPage === 1;\r\n}\r\n\r\n// returns a block of page numbers appropriately\r\n// adjacent to the currently selected page\r\nexport function pageBlock (totalResults, resultsPerPage, currentPage) {\r\n const numPages = totalPages(totalResults, resultsPerPage);\r\n const numPagesVisible = Math.min(numPages, PAGE_BLOCK_RANGE * 2 + 1);\r\n let start = Math.max(1, currentPage - PAGE_BLOCK_RANGE);\r\n\r\n if (currentPage + PAGE_BLOCK_RANGE > numPages) {\r\n // (desired page range) - (Size of current page range)\r\n start -= numPagesVisible - (numPages - (start - 1));\r\n }\r\n\r\n const pages = R.range(start, start + numPagesVisible);\r\n\r\n return R.map(page => {\r\n return {num: page, label: page, current: page == currentPage\r\n };\r\n }, pages);\r\n\r\n}\r\n","import { createStore, applyMiddleware, compose } from \"redux\";\r\n\r\n\r\n\r\nexport default function configureStore(rootReducer, initialState = {}, middlewares = {}) {\r\n const middlewareEnhancer = applyMiddleware(...middlewares);\r\n\r\n // https://github.com/zalmoxisus/redux-devtools-extension#1-with-redux\r\n // Apply devToolsExtension if present on client, otherwise, just pass through an Identity function\r\n const devToolEnhancer = window.devToolsExtension ? window.devToolsExtension() : x => x;\r\n\r\n // build our store!\r\n return createStore(rootReducer, initialState, compose(middlewareEnhancer, devToolEnhancer));\r\n}\r\n","// http://redux.js.org/docs/advanced/Middleware.html\r\nimport URI from \"urijs\";\r\n\r\nconst URL_INIT = \"ROUTING/URL_INIT\";\r\n\r\n\r\n/**\r\n * mapStateToUrl: User provided function to get the URL parameters out of the redux state.\r\n * The middleware will use this to update the URL when the redux state changes.\r\n * @callback mapStateToUrl\r\n * @param {Object} state: the current redux state\r\n * @return {Object} An object with key/value pairs of the parameters to go in the url.\r\n * This object will be passed to URI.search()\r\n * https://medialize.github.io/URI.js/docs.html#accessors-search\r\n * eg { location: state.location.slug } => my-url.com/?location=united-states\r\n */\r\n\r\n/**\r\n * hangleUrlChange: User provided function to handle updating the state when the url changes\r\n * @callback hangleUrlChange\r\n * @param {Object} urlParams: the current url params\r\n * @param {Object} store : the current redux store. Use store.getState() and store.dispatch\r\n * @param {Object} event : the popstate event\r\n * @return {Promise|Any} Return a promise if something in handleUrlChange is disptached async.\r\n * Otherwise, it doesn't matter\r\n */\r\n\r\n/**\r\n * createRoutingMiddleware: creates a middleware function to be passed to applyMiddleware\r\n * and attaches a window popstate listener\r\n * @param {Function} mapStateToUrl : callback function, see above\r\n * @param {Function} handleUrlChange : callback function, see above\r\n * @param {Boolean} handleLoad : if true, it will call handleUrlChange when the page loads\r\n * @return {Function} redux middleware\r\n */\r\nexport default function createRoutingMiddleware(mapStateToUrl, handleUrlChange, handleLoad = true) {\r\n\r\n // return the middlware\r\n // \"next\" is the next dispatch function\r\n return store => next => {\r\n\r\n // flags are a code smell, but maybe this is ok in the situation.\r\n // use replaceState instead of pushState if this dispatch came from the popstate\r\n let shouldReplace = false;\r\n\r\n // function to run the user-provided handleUrlChange\r\n const executeUrlChange = (event) => {\r\n\r\n const urlParams = URI(window.location).search(true);\r\n\r\n // set the flag that lets the dispatch function know that it should use replaceState\r\n shouldReplace = true;\r\n\r\n // call user function to handle the url change. This function will probably call store.dispatch\r\n const change = handleUrlChange(urlParams, store, event);\r\n\r\n // if handleUrlChange returns a promise, revert the flag only after it's done\r\n if (change && typeof(change.then) === \"function\"){\r\n change.then(() => { shouldReplace = false; });\r\n }\r\n // otherwise, revert it after handleUrlChange is done\r\n else {\r\n shouldReplace = false;\r\n }\r\n };\r\n\r\n\r\n // execute handleUrlChange on load if specified\r\n if (handleLoad) { executeUrlChange(); }\r\n\r\n // when the url changes...\r\n window.addEventListener(\"popstate\", (event) => {\r\n event.preventDefault();\r\n executeUrlChange(event);\r\n });\r\n\r\n\r\n // our augmented dispatch function\r\n const dispatch = action => {\r\n\r\n // result is the action itself, this will also update the state\r\n // http://redux.js.org/docs/api/Store.html#dispatch\r\n const result = next(action);\r\n\r\n // execute the user function to get the url params out of the newly updated redux state\r\n const params = mapStateToUrl(store.getState());\r\n\r\n // .search uses a ? in the url\r\n const url = URI.decode(URI(window.location.href).search(params).toString());\r\n\r\n // if the url is different, pushState/replaceState the new url\r\n if (!URI(url).equals(window.location.href)) {\r\n // if we're initializing the url params, replace the url state instead of push\r\n // eg. /profile?loc=27 > /profile?loc=27&breakdown=...\r\n // when the browser navigates \"back\", we don't want to go back to just /profile?loc=27\r\n // we want all the breakdown=... stuff\r\n if (action.type === URL_INIT || shouldReplace === true){\r\n history.replaceState(null, null, url);\r\n }\r\n else {\r\n history.pushState(null, null, url);\r\n }\r\n }\r\n\r\n return result;\r\n };\r\n\r\n // dispatch immediately to populate the url params\r\n // (this only happens when createRoutingMiddleware is called)\r\n dispatch({ type: URL_INIT });\r\n\r\n // return the new dispatch function\r\n return dispatch;\r\n };\r\n}","import R from \"ramda\";\r\nimport { flattenObj } from \"../util\";\r\n\r\nexport function allFacetValuesFromGroup(group) {\r\n let allValues = [];\r\n\r\n const grabAllValues = value => {\r\n allValues.push(value);\r\n if (value.childValues.length > 0) {\r\n value.childValues.forEach(cv => grabAllValues(cv));\r\n }\r\n };\r\n\r\n group.values.forEach(value => grabAllValues(value));\r\n\r\n if (group.hasOwnProperty(\"childGroups\")) {\r\n group.childGroups.forEach(childGroup => {\r\n childGroup.values.forEach(value => grabAllValues(value));\r\n });\r\n }\r\n\r\n return allValues;\r\n}\r\n\r\n// Returns an object with arrays of selected facet value objects, using\r\n// their root group name as a key\r\nexport function selectedFacetsByGroup(facets) {\r\n let facetsByGroup = {};\r\n facets.forEach(group => {\r\n const selectedFacets = selectedFacetsFromGroup(group);\r\n if (selectedFacets.length) {\r\n facetsByGroup[group.id] = selectedFacetsFromGroup(group);\r\n }\r\n });\r\n\r\n return facetsByGroup;\r\n}\r\n\r\n// Returns an object with arrays of selected facet ids, using\r\n// their root group name as a key\r\nexport function selectedFacetIdsByGroup(facets) {\r\n const selectedFacets = selectedFacetsByGroup(facets);\r\n Object.keys(selectedFacets).forEach(k => {\r\n selectedFacets[k] = selectedFacets[k].map(f => f.id);\r\n });\r\n\r\n return selectedFacets;\r\n}\r\n\r\n// Given an array of facet value objects, return an\r\n// a flat array of selected facet value object, including\r\n// selected child values.\r\nexport function selectedFacetsFromValues(values) {\r\n let selected = values.filter(v => v.selected === true);\r\n values.forEach(value => {\r\n if (value.hasOwnProperty(\"childValues\")) {\r\n selected = selected.concat(selectedFacetsFromValues(value.childValues));\r\n }\r\n });\r\n\r\n return selected;\r\n}\r\n\r\n// Given a facet group, return a flat array of selected\r\n// facets value object, including child groups and all child values.\r\nexport function selectedFacetsFromGroup(group) {\r\n let selected = selectedFacetsFromValues(group.values);\r\n if (group.hasOwnProperty(\"childGroups\")) {\r\n group.childGroups.forEach(childGroup => {\r\n selected = selected.concat(selectedFacetsFromGroup(childGroup));\r\n });\r\n }\r\n\r\n return selected;\r\n}\r\n\r\nexport function allSelectedFacets(facets) {\r\n return facets.reduce((all, group) => {\r\n return all.concat(selectedFacetsFromGroup(group));\r\n }, []);\r\n}\r\n\r\nexport function groupHasSelectedChildren(group) {\r\n return selectedFacetsFromGroup(group).length > 0;\r\n}\r\n\r\nexport function valueHasSelectedChildren(value) {\r\n // does not include selection state of group itself\r\n let selectedChildren = [];\r\n if (value.hasOwnProperty(\"childValues\")) {\r\n selectedChildren = selectedFacetsFromValues(value.childValues);\r\n }\r\n\r\n return selectedChildren.length > 0;\r\n}\r\n\r\n// An array of values who have a child value\r\n// selected. Does not require the value itself\r\n// be selected.\r\nexport function valuesWithSelectedChildren(group) {\r\n const all = allFacetValuesFromGroup(group);\r\n return all.reduce((hasSelected, value) => {\r\n if (valueHasSelectedChildren(value)) {\r\n hasSelected.push(value);\r\n }\r\n\r\n return hasSelected;\r\n }, []);\r\n}\r\n\r\n// Returns an array of object path segments that\r\n// resolves to the facet value object in the\r\n// provided facets state object. This is useful\r\n// when needing to make immutable changes using\r\n// R.assocPath or R.lensPath\r\n\r\n// TODO: This performs acceptably for now\r\n// but is definitely not optimal for very large data sets.\r\n// Should consider a different approach to setting deeply nested data.\r\n// export function pathFromValueId(valueId, facets) {\r\n// First, flatten the facets object into k,v pairs of properties\r\n// and stringified \"path\" keys. Then use the paths to\r\n// lookup the facet value\r\n// const facetLookup = R.invertObj(flattenObj(facets));\r\n// const delimitedPath = facetLookup[valueId];\r\n// console.log({facetLookup,facets});\r\n//\r\n// Our paths are in format \"a.b.0.c', so convert into [\"a\", \"b\", 0, \"c\"].\r\n// Then pop off the last path segment so it points to the entire value\r\n// object, instead of just the id.\r\n// let pathArr = delimitedPath.split(\".\");\r\n// pathArr.pop();\r\n//\r\n// Finally, ensure numerical \"keys\" are properly cast to Numbers\r\n// or else Ramda will treat them as object keys and\r\n// convert arrays to objects when using assocPath or lens methods.\r\n// pathArr = pathArr.map( segment => {\r\n// const numberified = parseInt(segment, 10);\r\n// return isNaN(numberified)\r\n// ? segment\r\n// : numberified;\r\n// });\r\n// return pathArr;\r\n// }\r\nexport function pathFromUniqueId(uniqueId, groups) {\r\n const mapIndexed = R.addIndex(R.map);\r\n\r\n const lookIn = (path, obj) => {\r\n if (R.propEq(\"uniqueId\", uniqueId, obj)) {\r\n return path;\r\n } else if (Array.isArray(obj)) {\r\n return R.compose(R.flatten, mapIndexed((sub, i) => lookIn(path.concat(i), sub)))(obj);\r\n } else if (R.has(\"values\", obj)) {\r\n return lookIn(path.concat(\"values\"), obj.values);\r\n } else if (R.has(\"childValues\", obj)) {\r\n return lookIn(path.concat(\"childValues\"), obj.childValues);\r\n } else {\r\n return [];\r\n }\r\n };\r\n return lookIn([], groups);\r\n\r\n}\r\n\r\n// Return a new facets object with the give facet value selected\r\nexport function setSelectedOnFacetValues(uniqueIds, selected, facets) {\r\n // Lookup the path for the given facetId\r\n\r\n // and change it using assocPath\r\n if (!uniqueIds.length) {\r\n return facets;\r\n }\r\n const paths = uniqueIds.map(uniqueId => {\r\n let pathArr = pathFromUniqueId(uniqueId, facets);\r\n // add \"selected\" to the end of our path\r\n if (pathArr.length === 0) {\r\n console.error(\"couldn't find unique id \" + uniqueId);\r\n } else {\r\n pathArr.push(\"selected\");\r\n }\r\n return pathArr;\r\n }).filter(path => path.length > 0);\r\n return paths.reduce((newFacets, path) => {\r\n // NOTE: Using numerical indexes in assocPath only work in\r\n // Ramda 0.23.0+\r\n return R.assocPath(path, selected, newFacets);\r\n }, facets);\r\n}\r\n","// flags to determine how to handle\r\n// showing a new result set\r\nexport const RESULTS_DISPLAY_REFRESH = 0;\r\nexport const RESULTS_DISPLAY_APPEND = 1;\r\n","import searchReducer from \"./search/search.reducer\";\r\n\r\n// For now, this application only has a single reducer\r\n// Additional reducers can be added here by using\r\n// combineReducers() from redux or rolling your\r\n// own: http://redux.js.org/docs/recipes/reducers/BeyondCombineReducers.html\r\n\r\nexport default searchReducer;\r\n","import R from \"ramda\";\r\nimport { mergeQueryParams } from \"./search/search.actions\";\r\nimport { selectedFacetIdsByGroup, setSelectedOnFacetValues } from \"./facets\";\r\n\r\nexport function mapStateToUrl(state) {\r\n // choose which parts of the query\r\n // state we want exposed in the\r\n // url query string\r\n let exposedParams = [\r\n \"q\",\r\n \"sortBy\",\r\n \"sortOrder\",\r\n \"page\",\r\n \"date\",\r\n \"contentFilter\",\r\n \"eventDate\",\r\n \"eventSpan\" // this doesn't get pushed to backend, this is just to store and auto-restore our fake duration facets.\r\n ];\r\n \r\n // if we're in pagination mode,\r\n // we also want to expose the page num\r\n if (state.pagination) {\r\n exposedParams.push(\"page\");\r\n }\r\n\r\n let selectedFacets;\r\n if (state.facets.length > 0) {\r\n selectedFacets = selectedFacetIdsByGroup(state.facets);\r\n // turn selected facets ids into comma delimited string\r\n Object.keys(selectedFacets).forEach(k => {\r\n selectedFacets[k] = selectedFacets[k].join(\",\");\r\n });\r\n } else {\r\n selectedFacets = state.preSelectedFacets;\r\n }\r\n\r\n\r\n return R.merge(selectedFacets, R.pick(exposedParams, state.query));\r\n}\r\n\r\nexport function handleUrlChange(urlParams, store) {\r\n // a list of parameters that we know aren't\r\n // bound to facet group names\r\n const nonFacetParams = [\r\n \"q\",\r\n \"sortOrder\",\r\n \"sortBy\",\r\n \"page\",\r\n \"date\",\r\n \"contentFilter\",\r\n \"eventDate\",\r\n \"eventSpan\"\r\n\r\n ];\r\n\r\n let facets = store.getState().facets;\r\n\r\n // separate out the param types\r\n let queryParams = R.pick(nonFacetParams, urlParams);\r\n let facetParams = R.omit(nonFacetParams, urlParams);\r\n\r\n let newFacets = [];\r\n let preSelectedFacets = {};\r\n if (facets.length > 0) {\r\n // get an array of valueIds from { group: valueId, valueId } format\r\n // and set them to selected. \r\n newFacets = setSelectedOnFacetValues(R.values(facetParams), true, facets);\r\n } else {\r\n // if facets is empty, it's because we haven't gotten\r\n // a response yet. So we'll also pass an object of\r\n // pre-selected facets we can pass to the query\r\n // Note: transforms comma-delimited strings to array\r\n preSelectedFacets = R.map(R.split(\",\"), facetParams);\r\n }\r\n\r\n\r\n // Anytime we expose a number value to the query\r\n // string it will be sent back to us as a string.\r\n // Make sure to cast it back to a number here.\r\n const castToInt = R.curry(parseInt)(R.__, 10);\r\n queryParams = R.evolve({\r\n page: castToInt\r\n }, queryParams);\r\n\r\n // Provide a new facets object.\r\n // First, just grab all facets ids from\r\n // from the facetParams\r\n //pickIds = R.values();\r\n\r\n return store.dispatch(mergeQueryParams(queryParams, newFacets, preSelectedFacets));\r\n}\r\n","import R from \"ramda\";\r\nimport { fetchSearchResults } from \"../service\";\r\nimport {\r\n RESULTS_DISPLAY_APPEND,\r\n RESULTS_DISPLAY_REFRESH\r\n} from \"../resultsDisplay\";\r\nimport { selectedFacetIdsByGroup } from \"../facets\";\r\n\r\n// Action Names\r\nexport const LOAD_RESULTS_START = \"SEARCH/LOAD_RESULTS_START\";\r\nexport const LOAD_RESULTS_FAIL = \"SEARCH/LOAD_RESULTS_FAIL\";\r\nexport const LOAD_RESULTS_SUCCESS = \"SEARCH/LOAD_RESULTS_SUCCESS\";\r\nexport const MERGE_QUERY_PARAMS = \"SEARCH/MERGE_QUERY_PARAMS\";\r\nexport const KEYWORDS_CHANGED = \"SEARCH/KEYWORDS_CHANGED\";\r\nexport const INCREMENT_PAGE = \"SEARCH/INCREMENT_PAGE\";\r\nexport const CHANGE_PAGE = \"SEARCH/CHANGE_PAGE\";\r\nexport const SORT_CHANGED = \"SEARCH/SORT_CHANGED\";\r\nexport const FACET_CHANGED = \"SEARCH/FACET_CHANGED\";\r\nexport const CLEAR_FACET_GROUP = \"SEARCH/CLEAR_FACET_GROUP\";\r\nexport const SELECT_FACET_GROUP = \"SEARCH/SELECT_FACET_GROUP\";\r\nexport const CLEAR_ALL_FACETS = \"SEARCH/CLEAR_ALL_FACETS\";\r\nexport const TOGGLE_MOBILE_FACETS = \"SEARCH/TOGGLE_MOBILE_FACETS\";\r\nexport const DATE_RANGE_CHANGED = \"SEARCH/DATE_RANGE_CHANGED\"; //datepicker hey-o\r\nexport const EVENT_DATE_RANGE_CHANGED = \"SEARCH/EVENT_DATE_RANGE_CHANGED\"; //event datepicker hey-o\r\nexport const EVENT_SPAN_CHANGED = \"SEARCH/EVENT_SPAN_CHANGED\"; //fake event duration facet tracking\r\n\r\n// Single-dispatch Action Creators\r\nexport function mergeQueryParams(params, facets, preSelectedFacets) {\r\n return {\r\n type: MERGE_QUERY_PARAMS,\r\n payload: { params, facets, preSelectedFacets }\r\n };\r\n}\r\n\r\nexport function loadStart() {\r\n return {\r\n type: LOAD_RESULTS_START,\r\n payload: null\r\n };\r\n}\r\n\r\nexport function loadSuccess(response, resultsDisplay) {\r\n return {\r\n type: LOAD_RESULTS_SUCCESS,\r\n payload: { response, resultsDisplay }\r\n };\r\n}\r\n\r\nexport function loadFail(err) {\r\n return {\r\n type: LOAD_RESULTS_FAIL,\r\n payload: err\r\n };\r\n}\r\n\r\nexport function sortChanged(sorters) {\r\n return {\r\n type: SORT_CHANGED,\r\n payload: sorters\r\n };\r\n}\r\n\r\nexport function incrementPage() {\r\n return {\r\n type: INCREMENT_PAGE,\r\n payload: null\r\n };\r\n}\r\n\r\nexport function changePage(pageNum) {\r\n return {\r\n type: CHANGE_PAGE,\r\n payload: pageNum\r\n };\r\n}\r\n\r\nexport function keywordsChanged(keywords) {\r\n return {\r\n type: KEYWORDS_CHANGED,\r\n payload: keywords\r\n };\r\n}\r\n\r\nexport function facetChanged(uniqueId, facetValue) {\r\n return {\r\n type: FACET_CHANGED,\r\n payload: { uniqueId, facetValue }\r\n };\r\n}\r\n\r\nexport function clearFacetGroup(group) {\r\n return {\r\n type: CLEAR_FACET_GROUP,\r\n payload: group\r\n };\r\n}\r\n\r\nexport function selectFacetGroup(group) {\r\n return {\r\n type: SELECT_FACET_GROUP,\r\n payload: group\r\n };\r\n}\r\n\r\nexport function clearAllFacets() {\r\n return {\r\n type: CLEAR_ALL_FACETS,\r\n payload: null\r\n };\r\n}\r\n\r\nexport function showMobileFacets() {\r\n return {\r\n type: TOGGLE_MOBILE_FACETS,\r\n payload: true\r\n };\r\n}\r\n\r\nexport function hideMobileFacets() {\r\n return {\r\n type: TOGGLE_MOBILE_FACETS,\r\n payload: false\r\n };\r\n}\r\n//datepicker hey-o\r\nexport function changeDateRange(range) {\r\n return { type: DATE_RANGE_CHANGED, payload: range };\r\n}\r\nexport function changeEventDateRange(range) {\r\n return { type: EVENT_DATE_RANGE_CHANGED, payload: range };\r\n}\r\nexport function changeEventSpan(string) {\r\n return {type: EVENT_SPAN_CHANGED, payload: string}\r\n};\r\n// Multi-dispatch Action Creators\r\n// Note that multiple dispatches inside an\r\n// action creator only work when using the\r\n// redux-thunk middleware. These action\r\n// creators MUST return a function.\r\n// https://github.com/gaearon/redux-thunk\r\n\r\nexport function loadResults(resultsDisplay = RESULTS_DISPLAY_APPEND) {\r\n return (dispatch, getState) => {\r\n const state = getState();\r\n const url = state.url;\r\n\r\n // get our query params, and add any pre-selected facets we\r\n // might have\r\n const query = R.merge(state.query, state.preSelectedFacets);\r\n\r\n const facets = selectedFacetIdsByGroup(getState().facets);\r\n\r\n // merge with pre-selected facets\r\n R.merge(facets, state.preSelectedFacets);\r\n\r\n dispatch(loadStart());\r\n fetchSearchResults(url, R.merge(query, facets))\r\n .then(response => {\r\n dispatch(loadSuccess(response, resultsDisplay));\r\n })\r\n .fail(error => {\r\n dispatch(loadFail(error));\r\n });\r\n };\r\n}\r\n\r\nexport function loadNextPage() {\r\n return dispatch => {\r\n dispatch(incrementPage());\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadNewPage(pageNum) {\r\n return dispatch => {\r\n dispatch(changePage(pageNum));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadNewSort(sorters) {\r\n return dispatch => {\r\n dispatch(sortChanged(sorters));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadNewKeywords(keywords) {\r\n return dispatch => {\r\n dispatch(keywordsChanged(keywords));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadFacetChange(uniqueId, facetValue) {\r\n return dispatch => {\r\n dispatch(facetChanged(uniqueId, facetValue));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadClearFacetGroup(group) {\r\n return dispatch => {\r\n dispatch(clearFacetGroup(group));\r\n dispatch(loadResults());\r\n };\r\n}\r\n\r\nexport function loadSelectFacetGroup(group){\r\n return dispatch => {\r\n dispatch(selectFacetGroup(group));\r\n dispatch(loadResults());\r\n }\r\n}\r\n\r\nexport function loadClearAllFacets() {\r\n return dispatch => {\r\n dispatch(clearAllFacets());\r\n dispatch(loadResults());\r\n };\r\n}\r\n//datepicker\r\nexport function loadDateRangeChange(range) {\r\n return dispatch => {\r\n dispatch(changeDateRange(range));\r\n dispatch(loadResults());\r\n };\r\n}\r\nexport function loadEventDateRangeChange(range) {\r\n return dispatch => {\r\n dispatch(changeEventDateRange(range));\r\n dispatch(loadResults());\r\n };\r\n}\r\nexport function loadEventSpanChange(string) {\r\n return(dispatch) => {\r\n dispatch(changeEventSpan(string));\r\n dispatch(loadResults());\r\n };\r\n}","import R from \"ramda\";\r\nimport { mapResponseToState } from \"../service\";\r\nimport { setSelectedOnFacetValues, selectedFacetsFromGroup } from \"../facets\";\r\nimport { flattenObj } from \"../../util\";\r\n\r\nimport {\r\n RESULTS_DISPLAY_APPEND,\r\n RESULTS_DISPLAY_REFRESH\r\n} from \"../resultsDisplay\";\r\n\r\nimport {\r\n LOAD_RESULTS_START,\r\n LOAD_RESULTS_SUCCESS,\r\n LOAD_RESULTS_FAIL,\r\n MERGE_QUERY_PARAMS,\r\n SORT_CHANGED,\r\n KEYWORDS_CHANGED,\r\n INCREMENT_PAGE,\r\n CHANGE_PAGE,\r\n FACET_CHANGED,\r\n CLEAR_FACET_GROUP,\r\n CLEAR_ALL_FACETS,\r\n TOGGLE_MOBILE_FACETS,\r\n SELECT_FACET_GROUP, //selecting all facets in one group to hack RPAll into existence\r\n DATE_RANGE_CHANGED, //datepicker hey-o\r\n EVENT_DATE_RANGE_CHANGED, //event datepicker hey-o\r\n EVENT_SPAN_CHANGED // this is for our fake duration facets (╯°□°)╯︵ ┻━┻\r\n} from \"./search.actions\";\r\n\r\nexport const initialState = {\r\n query: {\r\n q: null,\r\n sortBy: \"relevance\",\r\n sortOrder: \"asc\",\r\n page: 1,\r\n perPage: 10,\r\n pageId: \"00000000-0000-0000-0000-000000000000\",\r\n loadAllPages: true,\r\n date: null,\r\n contentFilter: null,\r\n eventDate: null,\r\n eventSpan: null\r\n },\r\n url: null,\r\n errorMsg: null,\r\n loading: true,\r\n pagination: false,\r\n totalResults: 0,\r\n results: [],\r\n resultsDisplayStrategy: RESULTS_DISPLAY_APPEND,\r\n sorters: [],\r\n dictionary: {},\r\n facets: [],\r\n numOpenGroups: null,\r\n preSelectedFacets: {},\r\n isFirstLoad: true,\r\n mobileFacetsShown: false\r\n};\r\n\r\nconst actionMap = {\r\n [LOAD_RESULTS_START]: loadStart,\r\n [LOAD_RESULTS_SUCCESS]: loadSuccess,\r\n [LOAD_RESULTS_FAIL]: loadError,\r\n [SORT_CHANGED]: updateSort,\r\n [MERGE_QUERY_PARAMS]: updateQueryParams,\r\n [KEYWORDS_CHANGED]: updateKeywords,\r\n [INCREMENT_PAGE]: incrementPage,\r\n [CHANGE_PAGE]: changePage,\r\n [FACET_CHANGED]: changeFacet,\r\n [CLEAR_FACET_GROUP]: clearFacetGroup,\r\n [CLEAR_ALL_FACETS]: clearAllFacets,\r\n [TOGGLE_MOBILE_FACETS]: toggleMobileFacets,\r\n [DATE_RANGE_CHANGED]: updateDateRange, //datepicker\r\n [EVENT_DATE_RANGE_CHANGED]: updateEventDateRange,\r\n [EVENT_SPAN_CHANGED]: updateEventSpan,\r\n [SELECT_FACET_GROUP]: selectFacetGroup //select all for use of RPAll\r\n};\r\n\r\nexport default function searchReducer(state = initialState, action) {\r\n const actionType = actionMap[action.type];\r\n return actionType ? actionType(state, action) : state;\r\n}\r\n\r\nfunction loadStart(state, action) {\r\n return R.merge(state, {\r\n loading: true\r\n });\r\n}\r\n\r\nfunction loadSuccess(state, action) {\r\n const { response } = action.payload;\r\n return R.merge(mapResponseToState(response, state), {\r\n loading: false,\r\n isFirstLoad: false,\r\n preSelectedFacets: {}\r\n });\r\n}\r\n\r\nfunction loadError(state, action) {\r\n return R.merge(state, { loading: false, errorMsg: action.payload });\r\n}\r\n\r\nfunction updateSort(state, action) {\r\n const activeSorter = R.find(R.propEq(\"isActive\", true), action.payload);\r\n\r\n return R.merge(state, {\r\n sorters: action.payload,\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n sortBy: activeSorter.value,\r\n sortOrder: activeSorter.direction,\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction updateQueryParams(state, action) {\r\n return R.merge(state, {\r\n query: R.merge(state.query, action.payload.params),\r\n facets: action.payload.facets,\r\n preSelectedFacets: action.payload.preSelectedFacets\r\n });\r\n}\r\n\r\nfunction incrementPage(state, action) {\r\n const pageNum = parseInt(state.query.page, 10) + 1;\r\n return R.merge(state, {\r\n resultsDisplayStrategy: RESULTS_DISPLAY_APPEND,\r\n query: R.merge(state.query, {\r\n page: pageNum\r\n })\r\n });\r\n}\r\n\r\nfunction changePage(state, action) {\r\n return R.merge(state, {\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n page: action.payload\r\n })\r\n });\r\n}\r\n\r\nfunction updateKeywords(state, action) {\r\n return R.merge(state, {\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n q: action.payload,\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction changeFacet(state, action) {\r\n // We want to provide a new facet object to our\r\n // state with a single facet changed.\r\n\r\n // Lookup the path for the given uniqId\r\n // and change it using assocPath\r\n const uniqueId = action.payload.uniqueId;\r\n const facetValue = action.payload.facetValue;\r\n const newFacets = setSelectedOnFacetValues(\r\n [uniqueId],\r\n facetValue,\r\n state.facets\r\n );\r\n\r\n return R.merge(state, {\r\n facets: newFacets,\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction clearFacetGroup(state, action) {\r\n const group = action.payload;\r\n const selectedFacetUniqueIds = selectedFacetsFromGroup(group).map(\r\n v => v.uniqueId\r\n );\r\n const newFacets = setSelectedOnFacetValues(\r\n selectedFacetUniqueIds,\r\n false,\r\n state.facets\r\n );\r\n\r\n\r\n return R.merge(state, {\r\n facets: newFacets,\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction selectFacetGroup(state, action) {\r\n const group = action.payload;\r\n const flattenGroup = flattenObj(group);\r\n const uniqueKeys = R.filter(key => key.includes(\"uniqueId\"), Object.keys(flattenGroup));\r\n const getAllUniqueIds = R.values(R.pick(uniqueKeys,flattenGroup));\r\n const newFacets = setSelectedOnFacetValues(\r\n getAllUniqueIds,\r\n true,\r\n state.facets\r\n );\r\n\r\n return R.merge(state, {\r\n facets: newFacets,\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n page: 1\r\n })\r\n });\r\n}\r\n\r\nfunction clearAllFacets(state, action) {\r\n const facets = state.facets;\r\n const selectedFacetIds = facets.reduce((all, group) => {\r\n return all.concat(selectedFacetsFromGroup(group).map(v => v.uniqueId));\r\n }, []);\r\n\r\n const newFacets = setSelectedOnFacetValues(selectedFacetIds, false, facets);\r\n\r\n return R.merge(state, {\r\n facets: newFacets,\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n query: R.merge(state.query, {\r\n page: 1,\r\n date: undefined,\r\n contentFilter: undefined,\r\n eventDate: undefined,\r\n eventSpan: undefined\r\n })\r\n });\r\n}\r\n\r\nfunction toggleMobileFacets(state, action) {\r\n return R.merge(\r\n {\r\n mobileFacetsShown: action.payload\r\n },\r\n state\r\n );\r\n}\r\nfunction updateDateRange(state, action) {\r\n return R.merge(state, {\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n\r\n query: R.merge(state.query, {\r\n date: action.payload\r\n })\r\n });\r\n}\r\n\r\nfunction updateEventDateRange(state, action) {\r\n return R.merge(state, {\r\n resultsDisplayStrategy: RESULTS_DISPLAY_REFRESH,\r\n\r\n query: R.merge(state.query, {\r\n eventDate: action.payload\r\n })\r\n });\r\n}\r\n\r\nfunction updateEventSpan(state, action) {\r\n return R.merge(state, {\r\n query: R.merge(state.query, {\r\n eventSpan: action.payload\r\n })\r\n });\r\n}\r\n","import $ from \"jquery\";\r\nimport R from \"ramda\";\r\nimport { RESULTS_DISPLAY_APPEND, RESULTS_DISPLAY_REFRESH } from \"./resultsDisplay\";\r\n\r\nconst newResults = R.curry((newResults, oldResults, strategy) => {\r\n return strategy === RESULTS_DISPLAY_APPEND\r\n ? R.concat(oldResults, newResults)\r\n : newResults;\r\n});\r\n\r\nexport function fetchSearchResults(url, query) {\r\n return $.ajax({\r\n url: url,\r\n data: query\r\n });\r\n}\r\n\r\nexport function mapResponseToState(response, state) {\r\n const request = response.request;\r\n const castToInt = R.curry(parseInt)(R.__, 10);\r\n return R.evolve({\r\n totalResults: () => parseInt(response.totalResults, 10),\r\n results: newResults(response.results, R.__, state.resultsDisplayStrategy),\r\n facets: () => addUniqueFacetId(response.facets),\r\n query: R.merge(R.__, {\r\n pageId: request.pageId,\r\n page: castToInt(request.page),\r\n perPage: castToInt(request.perPage),\r\n sortOrder: request.sortOrder,\r\n loadAllPages: false,\r\n eventDate: request.queryParameters.eventDate,\r\n date: request.queryParameters.date\r\n\r\n })\r\n }, state);\r\n}\r\n\r\n\r\n\r\n// Some id's coming from the backend are no unique. ie. group1>blog, group2>blog\r\nfunction addUniqueFacetId(groups){\r\n\r\n const addUniqueFacetIdToFacet = R.curry((groupId, facet) => {\r\n return R.merge(facet, {\r\n uniqueId: `${groupId}-${facet.id}`,\r\n childValues: facet.childValues.map(addUniqueFacetIdToFacet(groupId))\r\n });\r\n });\r\n\r\n const addUniqueFacetIdToGroup = (group) => {\r\n const values = group.values.map(addUniqueFacetIdToFacet(group.id));\r\n return R.merge(group, { values });\r\n };\r\n const newGroups = groups.map(addUniqueFacetIdToGroup);\r\n return newGroups;\r\n\r\n}\r\n","module.exports={\r\n \"links\": [\r\n {\"displayText\": \"Virtual Leadership Symposium\", \"url\": \"https://www.ache.org/learning-center/education-and-events/virtual-leadership-symposium\", \"keyWords\": \"virtual leadership symposium\"},\r\n {\"displayText\": \"Chapters\", \"url\": \"https://www.ache.org/CHAPTERS\", \"keyWords\": \"chapters\"},\r\n {\"displayText\": \"Albert W. Dent Graduate Student Scholarship\", \"url\": \"https://www.ache.org/membership/student-resources/albert-w-dent-graduate-student-scholarship\", \"keyWords\": \"albert dent graduate student scholarships\"},\r\n {\"displayText\": \"Foster G. McGaw Graduate Student Scholarship\", \"url\": \"https://www.ache.org/membership/student-resources/foster-g-mcgaw-graduate-student-scholarship\", \"keyWords\": \"foster mcgaw graduate student scholarships\"},\r\n {\"displayText\": \"Healthcare Consultants Forum\", \"url\": \"https://www.ache.org/membership/communities-forums-and-networks/healthcare-consultants-forum\", \"keyWords\": \"healthcare consultants medical consultants health care consultant firms\"},\r\n {\"displayText\": \"ACHE Membership Dues\", \"url\": \"https://www.ache.org/membership/pay-my-dues/\", \"keyWords\": \"pay dues annual dues ache dues membership dues\"},\r\n {\"displayText\": \"Job Center\", \"url\": \"https://www.ache.org/career-resource-center/job-center\", \"keyWords\": \"ache jobs job center jobcenter healthcare executive jobs near me job listings career\"},\r\n {\"displayText\": \"Job Board\", \"url\": \"https://www.ache.org/career-resource-center/job-center\", \"keyWords\": \"crc ache jobs job board healthcare executive jobs near me job listings\"},\r\n {\"displayText\": \"Job Posting Portal (Employers)\", \"url\": \"https://careers.ache.org/employers/\", \"keyWords\": \"employers crc ache jobs job board healthcare executive job posting search resumes\"},\r\n {\"displayText\": \"Career EDGE\", \"url\": \"https://www.ache.org/career-resource-center/advance-your-career/career-edge\", \"keyWords\": \"ache jobs career edge login careeredge\"},\r\n {\"displayText\": \"ACHE Ethics Resources\", \"url\": \"https://www.ache.org/about-ache/our-story/our-commitments/ethics\", \"keyWords\": \"ethical healthcare ethics in healthcare written code of ethics patient confidentiality medical confidentiality privacy\"},\r\n {\"displayText\": \"Top Issues Confronting Hospitals (Research)\", \"url\": \"https://www.ache.org/learning-center/research/about-the-field/top-issues-confronting-hospitals\", \"keyWords\": \"healthcare issues confronting hospitals issues in america research problems in healthcare current issues in healthcare\"},\r\n {\"displayText\": \"ACHE Policy Statements\", \"url\": \"https://www.ache.org/about-ache/our-story/our-commitments/policy-statements\", \"keyWords\": \"ache policy statements access appropriate ethical responsibility role agreements decisions impaired donation behavior opportunity opportunities\"},\r\n {\"displayText\": \"Membership\", \"url\": \"https://www.ache.org/membership\", \"keyWords\": \"membership join become a member\"},\r\n {\"displayText\": \"My Online Learning Portal\", \"url\": \"https://www.pathlms.com/ache\", \"keyWords\": \"ache learning management lms webinars e-learning my online learning board of governors online tutorial my events calendar courses schedule\"},\r\n {\"displayText\": \"Student and Early Careerist Resources\", \"url\": \"https://www.ache.org/career-resource-center/special-groups/resources-for-students-and-early-careerists\", \"keyWords\": \"students early careerists resources healthcare management degree scholarships internships fellowships support carreeredge interviews networking\"},\r\n {\"displayText\": \"Resume Reviewer Service\", \"url\": \"https://www.ache.org/career-resource-center/products-and-services/resume-and-interview/resume-review-critique-service\", \"keyWords\": \"resume reviewer crc interviews\"},\r\n {\"displayText\": \"Postgraduate Fellowships\", \"url\": \"https://www.ache.org/career-resource-center/seek-new-opportunities/postgraduate-fellowships\", \"keyWords\": \"postgraduate fellowships post graduate fellowships administrative fellowships listings\"},\r\n {\"displayText\": \"Physician Leadership\", \"url\": \"https://www.ache.org/membership/physician-leader\", \"keyWords\": \"membership physician leadership join physician executives community\"},\r\n {\"displayText\": \"Baldrige Program\", \"url\": \"https://www.ache.org/about-ache/our-story/our-commitments/baldrige\", \"keyWords\": \"baldrige leadership model baldrige model white paper baldrige award balridge\"},\r\n {\"displayText\": \"Healthcare Management Career Overview\", \"url\": \"https://www.ache.org/career-resource-center/special-groups/resources-for-students-and-early-careerists/healthcare-management-career-overview\", \"keyWords\": \"healthcare management salary entry-level entry level jobs career path\"},\r\n {\"displayText\": \"My Events\", \"url\": \"https://account.ache.org/eweb/DynamicPage.aspx?Webcode=MyEvents\", \"keyWords\": \"my events\"},\r\n {\"displayText\": \"Executive Search Firms\", \"url\": \"https://www.ache.org/career-resource-center/seek-new-opportunities/job-search-and-career-transition-resources/executive-search-firms\", \"keyWords\": \"executive search firms list fache hiring\"},\r\n {\"displayText\": \"Higher Education Network\", \"url\": \"https://www.ache.org/membership/communities-forums-and-networks/higher-education-network\", \"keyWords\": \"higher education network\"},\r\n {\"displayText\": \"LGBTQ+ Healthcare Leaders Community\", \"url\": \"https://www.ache.org/membership/communities-forums-and-networks/lgbt-community\", \"keyWords\": \"lgbtqia+ lgbtq healthcare leaders community queer leadership\"},\r\n {\"displayText\": \"Asian Healthcare Leaders Community\", \"url\": \"https://www.ache.org/membership/communities-forums-and-networks/asian-healthcare-leaders-community\", \"keyWords\": \"asian healthcare leaders community leadership\"},\r\n {\"displayText\": \"Dolan Diversity Programs\", \"url\": \"https://www.ache.org/about-ache/the-fund/dolan-diversity-programs\", \"keyWords\": \"cap thomas c dolan diversity programs the fund for healthcare leadership executive diversity career accelerator donate donation scholarship\"},\r\n {\"displayText\": \"Mentor Network\", \"url\": \"https://www.ache.org/career-resource-center/advance-your-career/leadership-mentoring-network\", \"keyWords\": \"mentorship mentoring leadership mentor network\"},\r\n {\"displayText\": \"About Health Administration Press (HAP)\", \"url\": \"https://www.ache.org/learning-center/publications/books/book-resources/about-hap\", \"keyWords\": \"health administration press what is hap books\"},\r\n {\"displayText\": \"Retired or Life Member Status\", \"url\": \"https://www.ache.org/membership/why-join-ache/retired-status-or-life-status\", \"keyWords\": \"retired lifetime member\"},\r\n {\"displayText\": \"Member Directory\", \"url\": \"https://www.ache.org/membership/member-directory\", \"keyWords\": \"member directory search members find members\"},\r\n {\"displayText\": \"Webinars\", \"url\": \"https://www.ache.org/learning-center/education-and-events/e-learning/webinars\", \"keyWords\": \"webinars online learning\"}\r\n\r\n \r\n ],\r\n \"defaults\": [\r\n {\"displayText\": \"Congress\", \"url\": \"https://congress.ache.org/\", \"keyWords\": \"congress conference annual meeting\"},\r\n {\"displayText\": \"Bookstore\", \"url\": \"https://www.ache.org/learning-center/publications/books\", \"keyWords\": \"bookstore books textbooks press administration hap\"},\r\n {\"displayText\": \"Earn My FACHE\", \"url\": \"https://www.ache.org/fache\", \"keyWords\": \"fellowship what is fache certification fache credential about fache degree\"} ]\r\n}","import R from \"ramda\";\r\n\r\n// Utility function to map object paths to values\r\n// See: https://github.com/ramda/ramda/wiki/Cookbook#flatten-a-nested-object-into-dot-separated-key--value-pairs\r\nexport function flattenObj(obj) {\r\n const go = obj_ => R.chain(([k, v]) => {\r\n if (typeof v == \"object\") {\r\n return R.map(([k_, v_]) => [`${k}.${k_}`, v_], go(v));\r\n } else {\r\n return [[k, v]];\r\n }\r\n }, R.toPairs(obj_));\r\n\r\n return R.fromPairs(go(obj));\r\n}\r\n","import $ from \"jquery\";\r\n\r\nconst showMoreBooksButton = $(\".showMoreBtn\");\r\nconst hiddenBooksWrapper = $(\".showMoreBooks\");\r\n\r\n$(document).ready(function(){\r\n if (showMoreBooksButton.length > 0) {\r\n $(showMoreBooksButton).click(function() {\r\n $(hiddenBooksWrapper).show();\r\n $(showMoreBooksButton).hide();\r\n });\r\n }\r\n});","import \"./polyfill\";\r\nimport $ from \"jquery\";\r\n// export for others scripts to use\r\nwindow.$ = $;\r\nwindow.jQuery = $;\r\n\r\nimport \"picturefill\";\r\nimport { initSearchApp } from \"./ACHE/search\";\r\nimport { BookDetailPdf } from \"./ACHE/BookPdfList\";\r\nimport { BookReadMore } from \"./ACHE/BookReadMore\";\r\nimport { FeaturedSearch } from \"./ACHE/FeaturedSearch\";\r\nimport { PrimaryNav } from \"./ACHE/navigation/PrimaryNav\";\r\nimport { ViewAllExpand } from \"./ACHE/ViewAllExpand\";\r\nimport { ImageSlider } from \"./ACHE/ImageSlider\";\r\nimport { ObjectFitCaptionOverlay } from \"./ACHE/ObjectFitCaptionOverlay\";\r\nimport { NewsSlideshow } from \"./ACHE/NewsSlideshow\";\r\nimport { SecondaryNav } from \"./ACHE/navigation/SecondaryNav\";\r\nimport { DynamicBanner } from \"./ACHE/DynamicBanner\";\r\nimport { UserMenu } from \"./ACHE/UserMenu\";\r\nimport { SearchToggle } from \"./ACHE/SearchToggle\";\r\nimport { VideoBlock } from \"./ACHE/VideoBlock\";\r\nimport { ResourceSlider } from \"./ACHE/ResourceSlider\";\r\nimport { PromoSlideshow } from \"./ACHE/PromoSlideshow\";\r\nimport { WffmHacks } from \"./ACHE/WffmHacks\";\r\nimport { TruncateText } from \"./ACHE/TruncateText\";\r\nimport { JobFeedSlider } from \"./ACHE/JobFeedSlider\";\r\nimport { Ads } from \"./ACHE/Ads\";\r\nimport { Accordion } from \"./ACHE/accordion.js\";\r\nimport { AccordionList } from \"./ACHE/AccordionList\";\r\nimport initializeTables from \"./ACHE/ResponsiveTables\";\r\nimport \"./ACHE/ProfileBrowser\";\r\nimport \"./ACHE/Tabs\";\r\nimport \"./ACHE/UtilityNav\";\r\nimport \"./ACHE/showMoreBooks\";\r\n\r\n// PrimaryNav\r\nconst $primaryNavEl = $(\".js-primary-nav\");\r\nif ($primaryNavEl.length) {\r\n let primaryNav = new PrimaryNav($primaryNavEl);\r\n}\r\n\r\n// Expandable Listings\r\nconst viewAllables = $.makeArray($(\".js-view-all-expand\")).map((el) => {\r\n return new ViewAllExpand($(el));\r\n});\r\n\r\n//accordions\r\nconst $accordionList = $.makeArray($(\".js-accordion-list\")).map((el) => {\r\n new AccordionList($(el));\r\n});\r\n\r\n// Slideshows\r\n\r\n// do not intialize slideshows inside\r\n// page editor\r\nif (!$(\"body\").hasClass(\"is-page-editor\")) {\r\n const slideshows = $.makeArray($(\".slideshow .js-slider\")).map((el) => {\r\n return new ImageSlider($(el), {});\r\n });\r\n}\r\n\r\nif (!$(\"body\").hasClass(\"is-page-editor\")) {\r\n const newsSlideshows = $.makeArray($(\".news-slideshow .js-slider\")).map(\r\n (el) => {\r\n return new NewsSlideshow($(el), {});\r\n }\r\n );\r\n}\r\n\r\nif (!$(\"body\").hasClass(\"is-page-editor\")) {\r\n const jobFeedSlider = $.makeArray($(\".job-feed.js-slider\")).map((el) => {\r\n return new JobFeedSlider($(el), {});\r\n });\r\n}\r\n\r\nif (!$(\"body\").hasClass(\"is-page-editor\")) {\r\n const ads = $.makeArray($(\".js-ad\")).map((el) => new Ads($(el), {}));\r\n\r\n const interstitialAds = $.makeArray($(\".js-ad-interstitial\")).map(\r\n (el) => new Ads($(el), {})\r\n );\r\n}\r\n\r\nif (!$(\"body\").hasClass(\"is-page-editor\")) {\r\n const newsSlideshows = $.makeArray($(\".related-resources .js-slider\")).map(\r\n (el) => {\r\n return new ResourceSlider($(el), {});\r\n }\r\n );\r\n}\r\n\r\nif (!$(\"body\").hasClass(\"is-page-editor\")) {\r\n const promoSlideshows = $.makeArray($(\".promo-slideshow .js-slider\")).map(\r\n (el) => {\r\n return new PromoSlideshow($(el), {});\r\n }\r\n );\r\n}\r\n\r\n// Secondary Nav\r\nif ($(\".js-secondary-nav\").length) {\r\n const secondaryNav = new SecondaryNav($(\".js-secondary-nav\"));\r\n}\r\n\r\n//Book Detail Page Expandable PDF list\r\nif ($(\".js-microsite-nav--books\").length) {\r\n const bookDetailPdf = new BookDetailPdf($(\".js-microsite-nav--books\"));\r\n}\r\n\r\n/* Book Detail Page Expandable Description Removed Read More functionality for AC-1009\r\nif ($(\".js-book-details__description\").length) {\r\n const bookReadMore = new BookReadMore($(\".js-book-details__description\"));\r\n} */\r\n\r\n// User Menu\r\nif ($(\".js-user-menu\").length) {\r\n const userMenu = new UserMenu($(\".js-user-menu\"));\r\n}\r\n\r\nif ($(\".js-video-block\").length) {\r\n const videoBlocks = $.makeArray($(\".js-video-block\")).map((el) => {\r\n return new VideoBlock($(el));\r\n });\r\n}\r\n\r\nif ($(\"form[data-wffm]\").length) {\r\n const wffmForm = new WffmHacks($(\"form[data-wffm]\"));\r\n}\r\n\r\n// Dynamic Banners (Hero and Page Banner)\r\nconst $banners = $(\".js-dynamic-banner\");\r\nif ($banners.length) {\r\n const dynamicBanners = $.makeArray($banners).map((el) => {\r\n return new DynamicBanner($(el));\r\n });\r\n}\r\n// Re-usable object fit\r\nconst $objectFit = $(\".js-object-fit\");\r\nif ($objectFit.length) {\r\n const objectFitCaptionOverlay = $.makeArray($objectFit).map((el) => {\r\n return new ObjectFitCaptionOverlay($(el));\r\n });\r\n}\r\n\r\n//Featured Search Bar\r\nif ($(\".js-featured-search\").length) {\r\n const featuredsearch = new FeaturedSearch($(\".js-featured-search\"));\r\n}\r\n\r\n//Truncate Text\r\nconst $textToTruncate = $(\".js-truncate\");\r\nif ($textToTruncate.length) {\r\n const truncatedText = $.makeArray($textToTruncate).map((el) => {\r\n return new TruncateText($(el));\r\n });\r\n}\r\n\r\n// Search Apps\r\n// only init if results are included\r\nif ($(\".js-search-results\").length) {\r\n initSearchApp(\r\n $.makeArray($(\".js-search-query,.js-search-results,.js-search-facets\"))\r\n );\r\n}\r\nif ($(\".js-resource-search-results\").length) {\r\n initSearchApp(\r\n $.makeArray($(\".js-search-query,.js-search-results,.js-search-facets\"))\r\n );\r\n}\r\n\r\nif ($(\".rich-text table\").length) {\r\n initializeTables();\r\n}\r\n\r\nif (!$(\"body\").hasClass(\"is-page-editor\")) {\r\n //only edit qna answer classes outside of page editor\r\n if ($(\".qna__answer\").length) {\r\n $(\".qna__answer\").last().css(\"border-bottom\", \"0\");\r\n }\r\n if ($(\".answer\").length) {\r\n $(\".answer\").last().css(\"border-bottom\", \"0\");\r\n }\r\n}\r\n$(\"document\").ready(function () {\r\n if ($(\".js-agenda__session_summary\").length) {\r\n $(\".js-agenda__session_summary\").each(function () {\r\n if ($(this).text().length > 300) {\r\n let summary = $(this).text().substring(0, 300) + \"...\";\r\n $(this).html(summary);\r\n }\r\n });\r\n }\r\n});\r\n\r\n//seminar line-up highlights\r\n\r\n$(document).ready(function() {\r\n var filtersWrapper = $(\".seminar-line-up-component__filters\");\r\n var filterItem = $(\".seminar-line-up-component__filter\");\r\n var filterByDate = $(\".byDate\");\r\n var filterByCredits = $(\".byCredits\");\r\n var resultsByDate= $(\".seminar-line-up-component__byDate\");\r\n var resultsByCredits = $(\".seminar-line-up-component__byCredits\");\r\n\r\n if ($(filtersWrapper).length > 0) { \r\n $(resultsByCredits).hide();\r\n $(filterItem).click(function () {\r\n $(filterItem).removeClass('active');\r\n $(this).addClass('active');\r\n });\r\n\r\n $(filterByCredits).click(function () {\r\n $(resultsByCredits).show();\r\n $(resultsByDate).hide();\r\n });\r\n\r\n $(filterByDate).click(function () {\r\n $(resultsByDate).show();\r\n $(resultsByCredits).hide();\r\n });\r\n }\r\n});","(function (ElementProto) {\r\n if (typeof ElementProto.matches !== \"function\") {\r\n ElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {\r\n var element = this;\r\n var elements = (element.document || element.ownerDocument).querySelectorAll(selector);\r\n var index = 0;\r\n\r\n while (elements[index] && elements[index] !== element) {\r\n ++index;\r\n }\r\n\r\n return Boolean(elements[index]);\r\n };\r\n }\r\n\r\n if (typeof ElementProto.closest !== \"function\") {\r\n ElementProto.closest = function closest(selector) {\r\n var element = this;\r\n\r\n while (element && element.nodeType === 1) {\r\n if (element.matches(selector)) {\r\n return element;\r\n }\r\n\r\n element = element.parentNode;\r\n }\r\n\r\n return null;\r\n };\r\n }\r\n})(window.Element.prototype);\r\n","import \"core-js/fn/object/assign\";\r\nimport \"core-js/fn/object\";\r\nimport \"core-js/fn/array/find\";\r\nimport \"core-js/fn/array/find-index\";\r\nimport \"core-js/fn/array/fill\";\r\nimport \"core-js/fn/array/includes\";\r\nimport \"core-js/fn/array/from\";\r\nimport \"core-js/fn/string/includes\";\r\nimport \"core-js/fn/symbol\";\r\nimport \"core-js/fn/symbol/iterator\"\r\n","// Note: object-fit has been refactored to be applied on-demand instead of automatically\r\n// You may invoke it directly in your scripts\r\n\r\nimport \"./es6-polyfill\";\r\nimport \"./closest\";\r\nimport \"./object-fit\";\r\nimport svg4everybody from \"svg4everybody\";\r\n\r\nsvg4everybody();\r\n","/*----------------------------------------\r\n * objectFitPolyfill 2.0.3\r\n *\r\n * Made by Constance Chen\r\n * Released under the MIT license\r\n *\r\n * * https://github.com/constancecchen/object-fit-polyfill\r\n *\r\n * CUSTOMIZATIONS MADE BY VELIR. SEE LINES TAGGED 'VELIR'\r\n * - Due to issues with object-fit and