{"version":3,"sources":["_320-ajax.js","_320-masonry-grid-with-filter.js"],"names":["e","t","n","r","s","o","u","a","require","i","Error","f","exports","call","length","1","module","window","factory","define","amd","matchesSelector","matchesMethod","ElemProto","Element","prototype","matches","prefixes","method","elem","selector","2","global","this","EvEmitter","proto","on","eventName","listener","listeners","events","_events","indexOf","push","once","onceEvents","_onceEvents","off","index","splice","emitEvent","args","slice","onceListeners","apply","allOff","3","utils","extend","b","prop","modulo","num","div","arraySlice","Array","console","makeArray","obj","isArray","removeFrom","ary","getParent","parentNode","document","body","getQueryElement","querySelector","handleEvent","event","type","filterFindElements","elems","ffElems","forEach","HTMLElement","childElems","querySelectorAll","debounceMethod","_class","methodName","threshold","timeoutName","timeout","clearTimeout","arguments","_this","setTimeout","docReady","callback","readyState","addEventListener","toDashed","str","replace","match","$1","$2","toLowerCase","htmlInit","WidgetClass","namespace","dashedNamespace","dataAttr","dataAttrElems","jsDashElems","concat","dataOptionsAttr","jQuery","options","attr","getAttribute","JSON","parse","error","className","instance","data","fizzyUIUtils","desandro-matches-selector","4","getStyleSize","value","parseFloat","isNaN","logError","message","measurements","measurementsLength","getStyle","style","getComputedStyle","isBoxSizeOuter","isSetup","createElement","width","padding","borderStyle","borderWidth","boxSizing","documentElement","appendChild","Math","round","getSize","size","height","innerWidth","innerHeight","outerWidth","outerHeight"],"mappings":"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","file":"320-masonry-grid-with-filter.min.js","sourcesContent":["var $ = require('jquery');\r\n\r\n$(function () {\r\n $('.masonry-grid-with-filter').each(function () {\r\n var viewMoreButton,\r\n currentPage,\r\n previousGridLength,\r\n servicesFilters,\r\n industriesFilters,\r\n publicationsFilters,\r\n insightsSubjectsFilters,\r\n itemTypesFilters,\r\n locationsFilters,\r\n authorCategorizationFilters,\r\n makeRequest,\r\n getFilterValues,\r\n dateDesc,\r\n updateClearLinkVisibility,\r\n clearLink,\r\n scrollToTop,\r\n uncheckAllFilterCheckboxes,\r\n clearAllFilters,\r\n clearAllFiltersText,\r\n initFilterGroups,\r\n applySelectedFiltersVisibility,\r\n filterDropdownCheckboxes,\r\n updateSelectedFilters,\r\n updateViewMoreBtnVisibility,\r\n isExperienceEditor,\r\n ajaxTimer;\r\n\r\n // settings\r\n var dateDesc = true;\r\n var apiUrlGetGrid = '/api/sitecore/FilteredGrid/GetGrid';\r\n\r\n // end settings\r\n var currentModule = $(this);\r\n\r\n var FilterCheckboxCollection = function () {\r\n return {\r\n services: null,\r\n industries: null,\r\n publications: null,\r\n insightsSubjects: null,\r\n itemTypes: null,\r\n locations: null,\r\n authorCategorization: null\r\n };\r\n }\r\n\r\n filterDropdownCheckboxes = new FilterCheckboxCollection();\r\n filterDropdownCheckboxes.services = currentModule.find('[data-services]');\r\n filterDropdownCheckboxes.industries = currentModule.find('[data-industries]');\r\n filterDropdownCheckboxes.publications = currentModule.find('[data-publications]');\r\n filterDropdownCheckboxes.insightsSubjects = currentModule.find('[data-insightssubjects]');\r\n filterDropdownCheckboxes.itemTypes = currentModule.find('[data-itemtypes]');\r\n filterDropdownCheckboxes.locations = currentModule.find('[data-locations]');\r\n filterDropdownCheckboxes.authorCategorization = currentModule.find('[data-authorcategorization]');\r\n\r\n var gridContainer = currentModule.find('.masonry-grid-container');\r\n var datasourceId = currentModule.attr('data-context-item');\r\n var language = currentModule.attr('data-language');\r\n var isNormal = currentModule.attr('data-is-normal');\r\n var clearAllFiltersText = currentModule.attr('data-clear-filters-text');\r\n clearLink = currentModule.find('[data-clear-filters]');\r\n\r\n viewMoreButton = currentModule.find('.view-more');\r\n currentPage = 0;\r\n\r\n var init = function () {\r\n applySelectedFiltersVisibility();\r\n servicesFilters = getFilterValues(filterDropdownCheckboxes.services);\r\n industriesFilters = getFilterValues(filterDropdownCheckboxes.industries);\r\n publicationsFilters = getFilterValues(filterDropdownCheckboxes.publications);\r\n insightsSubjectsFilters = getFilterValues(filterDropdownCheckboxes.insightsSubjects);\r\n itemTypesFilters = getFilterValues(filterDropdownCheckboxes.itemTypes);\r\n locationsFilters = getFilterValues(filterDropdownCheckboxes.locations);\r\n authorCategorizationFilters = getFilterValues(filterDropdownCheckboxes.authorCategorization);\r\n // Firefox preserves checkbox state on reload.\r\n uncheckAllFilterCheckboxes();\r\n initFilterGroups();\r\n updateViewMoreBtnVisibility();\r\n };\r\n\r\n uncheckAllFilterCheckboxes = function () {\r\n currentModule.find('input[type=checkbox]:checked').each(function () {\r\n var me = $(this);\r\n me.removeAttr('checked');\r\n me.prop('checked', false);\r\n });\r\n };\r\n\r\n initFilterGroups = function () {\r\n servicesFilters = [];\r\n industriesFilters = [];\r\n publicationsFilters = [];\r\n insightsSubjectsFilters = [];\r\n itemTypesFilters = [];\r\n locationsFilters = [];\r\n authorCategorizationFilters = [];\r\n };\r\n\r\n clearAllFilters = function () {\r\n initFilterGroups();\r\n var me = currentModule.closest('.masonry-grid-with-filter'),\r\n selectedFiltersBox = me.find('.selected-filters');\r\n selectedFiltersBox.find('.selected-filters-list').children().addClass('animated fadeOutDown faster');\r\n window.clearTimeout(ajaxTimer);\r\n ajaxTimer = window.setTimeout(function() {\r\n selectedFiltersBox.find('.selected-filters-list').empty();\r\n currentModule.find('input[type=checkbox]:checked').each(function (index, item) {\r\n var $c = $(this);\r\n $c.removeAttr('checked');\r\n $c.prop('checked', false);\r\n });\r\n makeRequest(servicesFilters, industriesFilters, publicationsFilters, insightsSubjectsFilters, itemTypesFilters, locationsFilters, authorCategorizationFilters, 0, dateDesc);\r\n applySelectedFiltersVisibility();\r\n }, 500);\r\n };\r\n\r\n applySelectedFiltersVisibility = function () {\r\n var me = currentModule.closest('.masonry-grid-with-filter'),\r\n selectedFiltersBox = me.find('.selected-filters');\r\n if ( selectedFiltersBox.find('ul').length == 0 ) {\r\n selectedFiltersBox.append('');\r\n }\r\n if ( selectedFiltersBox.find('.selected-filters-list').children().length === 0 ) {\r\n if ( !isExperienceEditor() ) {\r\n selectedFiltersBox.addClass('inactive');\r\n }\r\n } else {\r\n selectedFiltersBox.removeClass('inactive');\r\n }\r\n };\r\n\r\n updateViewMoreBtnVisibility = function (visible) {\r\n var me = currentModule.closest('.masonry-grid-with-filter'),\r\n viewMoreContainer = me.find('.view-more').closest('.row'),\r\n myGridContainer = me.find('.masonry-grid-container');\r\n\r\n var hidden = (typeof visible !== 'undefined') ? !visible : (myGridContainer.children('.grid-item').length === 0 || myGridContainer.find('.grid-item .inner[data-is-last-page=\"True\"]').length > 0);\r\n\r\n viewMoreContainer.toggleClass('hidden', hidden);\r\n };\r\n\r\n scrollToTop = function (selector, speed) {\r\n selector = typeof selector === 'undefined' ? '.grid-table-scrollTop' : selector;\r\n speed = typeof speed !== 'number' ? 500 : speed;\r\n\r\n $('html, body').animate({\r\n scrollTop: currentModule.find(selector).offset().top - 100\r\n }, speed);\r\n };\r\n\r\n isExperienceEditor = function () {\r\n return $('html').hasClass('experience-editor');\r\n };\r\n\r\n makeRequest = function (targetServicesFilters,\r\n targetIndustriesFilters,\r\n targetPublicationsFilters,\r\n targetInsightsSubjectsFilters,\r\n targetItemTypesFilters,\r\n targetLocationsFilters,\r\n targetAuthorCategorizationFilters,\r\n targetPage, dateSortDesc, append) {\r\n append = (typeof append === 'undefined') ? false : append;\r\n\r\n var loadingElement = currentModule.find('.loading');\r\n loadingElement.addClass('show');\r\n\r\n $.ajax({\r\n type: 'GET',\r\n url: apiUrlGetGrid,\r\n traditional: true,\r\n data: {\r\n id: datasourceId,\r\n languageName: language,\r\n servicesFilters: targetServicesFilters,\r\n industriesFilters: targetIndustriesFilters,\r\n publicationsFilters: targetPublicationsFilters,\r\n insightsSubjectsFilters: targetInsightsSubjectsFilters,\r\n itemTypesFilters: targetItemTypesFilters,\r\n locationsFilters: targetLocationsFilters,\r\n authorCategorizationFilters: targetAuthorCategorizationFilters,\r\n page: targetPage,\r\n isDateDesc: dateSortDesc,\r\n enforceNormal: isNormal\r\n },\r\n success: function (data) {\r\n currentModule.find('.no-results').remove();\r\n\r\n var hasResults = data.indexOf('
' + name + '');\r\n\r\n listItem.on('click', function() {\r\n var $item = $(this);\r\n var id = $(this).data('input-id'),\r\n checkbox = dropdownFiltersBox.find('input[type=\"checkbox\"][data-id=\"'+id+'\"]');\r\n $item.addClass('animated fadeOutUp animated faster');\r\n window.setTimeout(function() {\r\n checkbox.click().prop('checked', false).trigger('change');\r\n }, 500);\r\n });\r\n activeFiltersList.append(listItem)\r\n });\r\n if ( activeFiltersList.find('.clear-filter').length === 0 ) {\r\n var clearBtn = $('
  • ' + clearAllFiltersText + '
  • ');\r\n clearBtn.on('click', function() {\r\n clearAllFilters();\r\n });\r\n activeFiltersList.append(clearBtn);\r\n }\r\n } else {\r\n if ( !isExperienceEditor() ) {\r\n selectedFiltersBox.addClass('inactive');\r\n }\r\n }\r\n };\r\n\r\n updateClearLinkVisibility = function () {\r\n if (!!getFilterValues(filterDropdownCheckboxes.services).length ||\r\n !!getFilterValues(filterDropdownCheckboxes.industries).length ||\r\n !!getFilterValues(filterDropdownCheckboxes.publications).length ||\r\n !!getFilterValues(filterDropdownCheckboxes.insightsSubjects).length ||\r\n !!getFilterValues(filterDropdownCheckboxes.itemTypes).length ||\r\n !!getFilterValues(filterDropdownCheckboxes.locations).length ||\r\n !!getFilterValues(filterDropdownCheckboxes.authorCategorization).length) {\r\n clearLink.show();\r\n } else {\r\n clearLink.hide();\r\n }\r\n };\r\n\r\n /**\r\n * Event Listeners\r\n */\r\n\r\n /* View More Button Events */\r\n currentModule.on('click', '.view-more', function (e) {\r\n var $me = $(e.target);\r\n const targetPage = parseInt($(e.target).attr('data-page'), 10);\r\n if (Number.isInteger(targetPage) && targetPage !== currentPage) {\r\n $me.attr('disabled', true);\r\n makeRequest(servicesFilters, industriesFilters, publicationsFilters, insightsSubjectsFilters, itemTypesFilters, locationsFilters, authorCategorizationFilters, targetPage, dateDesc, true);\r\n }\r\n });\r\n\r\n /* Filter Selection Change Events */\r\n filterDropdownCheckboxes.services.on('input', 'input[type=\"checkbox\"]', function () {\r\n makeRequest(getFilterValues(filterDropdownCheckboxes.services), industriesFilters, publicationsFilters, insightsSubjectsFilters, itemTypesFilters, locationsFilters, authorCategorizationFilters, 0, dateDesc);\r\n updateClearLinkVisibility();\r\n updateSelectedFilters();\r\n });\r\n filterDropdownCheckboxes.industries.on('input', 'input[type=\"checkbox\"]', function () {\r\n makeRequest(servicesFilters, getFilterValues(filterDropdownCheckboxes.industries), publicationsFilters, insightsSubjectsFilters, itemTypesFilters, locationsFilters, authorCategorizationFilters, 0, dateDesc);\r\n updateClearLinkVisibility();\r\n updateSelectedFilters();\r\n });\r\n filterDropdownCheckboxes.publications.on('input', 'input[type=\"checkbox\"]', function () {\r\n makeRequest(servicesFilters, industriesFilters, getFilterValues(filterDropdownCheckboxes.publications), insightsSubjectsFilters, itemTypesFilters, locationsFilters, authorCategorizationFilters, 0, dateDesc);\r\n updateClearLinkVisibility();\r\n updateSelectedFilters();\r\n });\r\n filterDropdownCheckboxes.insightsSubjects.on('input', 'input[type=\"checkbox\"]', function () {\r\n makeRequest(servicesFilters, industriesFilters, publicationsFilters, getFilterValues(filterDropdownCheckboxes.insightsSubjects), itemTypesFilters, locationsFilters, authorCategorizationFilters, 0, dateDesc);\r\n updateClearLinkVisibility();\r\n updateSelectedFilters();\r\n });\r\n filterDropdownCheckboxes.itemTypes.on('input', 'input[type=\"checkbox\"]', function () {\r\n makeRequest(servicesFilters, industriesFilters, publicationsFilters, insightsSubjectsFilters, getFilterValues(filterDropdownCheckboxes.itemTypes), locationsFilters, authorCategorizationFilters, 0, dateDesc);\r\n updateClearLinkVisibility();\r\n updateSelectedFilters();\r\n });\r\n filterDropdownCheckboxes.locations.on('input', 'input[type=\"checkbox\"]', function () {\r\n makeRequest(servicesFilters, industriesFilters, publicationsFilters, insightsSubjectsFilters, itemTypesFilters, getFilterValues(filterDropdownCheckboxes.locations), authorCategorizationFilters, 0, dateDesc);\r\n updateClearLinkVisibility();\r\n updateSelectedFilters();\r\n });\r\n filterDropdownCheckboxes.authorCategorization.on('input', 'input[type=\"checkbox\"]', function () {\r\n makeRequest(servicesFilters, industriesFilters, publicationsFilters, insightsSubjectsFilters, itemTypesFilters, locationsFilters, getFilterValues(filterDropdownCheckboxes.authorCategorization), 0, dateDesc);\r\n updateClearLinkVisibility();\r\n updateSelectedFilters();\r\n });\r\n\r\n /* Clear Filters Button Event */\r\n clearLink.on('click', function () {\r\n uncheckAllFilterCheckboxes();\r\n makeRequest(getFilterValues(filterDropdownCheckboxes.services), getFilterValues(filterDropdownCheckboxes.industries), getFilterValues(filterDropdownCheckboxes.publications), getFilterValues(filterDropdownCheckboxes.insightsSubjects), getFilterValues(filterDropdownCheckboxes.itemTypes), getFilterValues(filterDropdownCheckboxes.locations), getFilterValues(filterDropdownCheckboxes.authorCategorization), 0, dateDesc);\r\n updateClearLinkVisibility();\r\n updateSelectedFilters();\r\n });\r\n\r\n init();\r\n\r\n });\r\n});\r\n","var $ = require('jquery');\r\nvar Masonry = require('masonry-layout');\r\n\r\n$.fn.visible = function() {\r\n var elementTop = $(this).offset().top;\r\n var elementBottom = elementTop + $(this).outerHeight();\r\n\r\n var viewportTop = $(window).scrollTop();\r\n var viewportBottom = viewportTop + $(window).height();\r\n\r\n return elementBottom > viewportTop && elementTop < viewportBottom;\r\n};\r\n\r\n/**\r\n * Document Ready\r\n */\r\n$(function () {\r\n\r\n if ( $('.masonry-grid-with-filter').length !== 0 ) {\r\n\r\n /**\r\n * Masonry Methods\r\n */\r\n window.MasonryJS = {\r\n\r\n initialize: function(refresh, gridElem) {\r\n refresh = (typeof refresh === 'undefined') ? false : refresh;\r\n\r\n if (refresh === false) {\r\n gridElem.find('.grid-item:first-child').first().addClass('featured-item');\r\n }\r\n\r\n if ( gridElem.find('.grid-sizer').length === 0 ) {\r\n if ( gridElem.find('.grid-item:nth-child(2)').length ) {\r\n gridElem.find('.grid-item:nth-child(2)').addClass('grid-sizer');\r\n } else {\r\n gridElem.find('.grid-item:first-child').addClass('grid-sizer');\r\n }\r\n }\r\n\r\n var elem = gridElem[0].querySelector('.masonry-grid-container');\r\n var gridTileWidth = elem.querySelectorAll('.grid-sizer')[0];\r\n\r\n var msnry = new Masonry( elem, {\r\n percentPosition: true,\r\n columnWidth: '.grid-sizer',\r\n itemSelector: '.grid-item'\r\n });\r\n\r\n if ( gridElem.find('.loading').length === 0 ) {\r\n var imgSrc = '/assets/images/dual-ring-loader-blue-3s-120px.gif';\r\n gridElem.find('.container-fluid').append(\r\n '
    ' +\r\n '\"loading' +\r\n '
    '\r\n );\r\n }\r\n\r\n return msnry;\r\n },\r\n\r\n refreshGrid: function(gridElem) {\r\n masonryGridAnimations = new MasonryJS.initialize(true, gridElem);\r\n },\r\n\r\n animations: function() {\r\n\r\n /**\r\n * jQuery.visible Alternative\r\n *\r\n * @ link stackoverflow.com/questions/487073/check-if-element-is-visible-after-scrolling\r\n */\r\n $.fn.visible = function() {\r\n var elementTop = $(this).offset().top;\r\n var elementBottom = elementTop + $(this).outerHeight();\r\n\r\n var viewportTop = $(window).scrollTop();\r\n var viewportBottom = viewportTop + $(window).height();\r\n\r\n return elementBottom > viewportTop && elementTop < viewportBottom;\r\n };\r\n\r\n /* If element is scrolled into view, fade it in */\r\n $(window).on('scroll', function() {\r\n $('.animated.inactive').each(function() {\r\n var me = $(this);\r\n var animateIn = me.data('animation') || 'fadeInUp fast',\r\n animateOut = me.data('animation-out') || false;\r\n if (me.visible(true)) {\r\n me.addClass(animateIn + ' active').removeClass('inactive').removeClass(animateOut);\r\n if (me.data('remove-animated-class')) {\r\n var animationLength = ((parseFloat(getComputedStyle(me[0]).animationDuration)) || 0) * 1000;\r\n if (animationLength >= 0) {\r\n setTimeout(function() {\r\n me.removeClass('animated');\r\n }, (animationLength + 200));\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n };\r\n\r\n $('.masonry-grid-with-filter').each(function () {\r\n var currentModule = $(this);\r\n var masonryGridModule = new MasonryJS.initialize(false, currentModule);\r\n });\r\n\r\n $(window).on('resize', function () {\r\n $('.masonry-grid-with-filter').each(function () {\r\n var currentModule = $(this);\r\n MasonryJS.refreshGrid(currentModule);\r\n });\r\n });\r\n\r\n var masonryGridAnimations = new MasonryJS.animations();\r\n }\r\n});\r\n\r\n/**\r\n * Window Load\r\n */\r\n$(window).on('load', function () {\r\n if ( $('.masonry-grid-with-filter').length !== 0 ) {\r\n $(window).trigger('scroll');\r\n }\r\n});\r\n"]}