{"version":3,"sources":["src/scripts/components/search.js"],"names":["$","jQuery","init","$customDropDown","$searchOpen","$modal","$close","$input","$resultsWrapper","$searchForm","$typeAheadResults","$searchInput","$dateRadio","$dateInputs","length","binds","bindSearch","on","toggleModal","toggleSuggestions","toggleDrop","toggleInputs","toggleAllChecks","toggleTopBox","removeClass","createQuery","event","stopPropagation","prop","empty","html","setDropVal","noneCheck","$checks","e","preventDefault","getValues","attr","kind","inputVal","is","getTypes","join","val","lastDayOfMonth","Year","Month","dateObj","Date","month","getMonth","day","getDate","year","getFullYear","isNaN","valuesObj","getOffset","formatEndDate","key","str","String","undefined","replace","formatURL","dateToFormat","updatedDate","split","newest","obj","urlString","param","window","location","href","pathname","date","dateString","test","newStr","arr","each","push","url","ajax","success","data","results","wrapper","createResult","append","error","addClass","clearTimeout","menuTime","setTimeout","i","thisValue","value","link","toggleClass","hasClass","focus","width","closest","siblings","find"],"mappings":"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","file":"search.js","sourcesContent":["var $ = jQuery;\n\nimport {decodeEntities} from '../utils/utilities.js';\n\nfunction init() {\n const $customDropDown = $('.search-custom-dropdowns__value');\n const $searchOpen = $('.search-open');\n const $modal = $('.search-form-modal');\n const $close = $('.search__close-modal');\n const $input = $('#search_overlay_input');\n const $resultsWrapper = $('.search-form__results-wrapper');\n const $searchForm = $('#hf-search-form');\n const $typeAheadResults = $('.typeahead-results');\n // const $typeVal = $('search-custom-dropdowns__type-value');\n // const $dateVal = $('search-custom-dropdowns__date-value');\n\n const $searchInput = $('.search--input');\n // const $checkBoxes = $('.search-custom-dropdowns__checkbox');\n const $dateRadio = $('.search-custom-dropdowns__radio');\n const $dateInputs = $('.search-custom-dropdowns__date');\n\n if($customDropDown.length > 0) {\n binds();\n }\n bindSearch();\n\n function bindSearch() {\n $searchOpen.on('click', toggleModal);\n $close.on('click', toggleModal);\n $input.on('keyup', toggleSuggestions);\n\n }\n\n function binds() {\n $customDropDown.on('click', toggleDrop);\n $dateRadio.on('click', toggleInputs);\n $('#all-types').on('click', toggleAllChecks);\n $('.search-custom-dropdowns__checkbox:not(#all-types)').on('click', toggleTopBox);\n $('body').on('click', function() {\n $('.search-custom-dropdowns__input._active').removeClass('_active');\n });\n\n $searchForm.on('submit', createQuery);\n\n $('.search-custom-dropdowns__drawer').on('click', function(event) {\n event.stopPropagation();\n });\n }\n\n\n function toggleTopBox(event) {\n event.stopPropagation();\n $('#all-types').prop('checked', false);\n $('.search-custom-dropdowns__value');\n $('.search-custom-dropdowns__type-value').empty().html(setDropVal('type'));\n noneCheck();\n }\n\n function noneCheck() {\n if($('.search-custom-dropdowns__checkbox:checked').length === 0) {\n $('#all-types').prop('checked', 'checked');\n $('.search-custom-dropdowns__type-value').empty().html(setDropVal('type'));\n }\n }\n\n function toggleAllChecks(event) {\n event.stopPropagation();\n let $checks = $('.search-custom-dropdowns__checkbox:not(#all-types)');\n $checks.prop('checked', false);\n $('.search-custom-dropdowns__type-value').empty().html(setDropVal('type'));\n noneCheck();\n }\n\n function createQuery(e) {\n e.preventDefault();\n getValues();\n }\n\n function toggleInputs() {\n if($(this).attr('id') === 'from') {\n $dateInputs.prop('disabled', false);\n }\n else {\n $dateInputs.prop('disabled', true);\n }\n\n $('.search-custom-dropdowns__date-value').empty().html(setDropVal('date'));\n }\n\n function setDropVal(kind) {\n let inputVal;\n if(kind === 'type') {\n if($('#all-types').is(':checked')) {\n inputVal = 'All Types';\n }\n else {\n inputVal = getTypes('label').join(', ');\n }\n }\n else {\n if($('.search-custom-dropdowns__radio:checked').attr('data-label') === 'From') {\n inputVal = $('#fromDate').val() + ' - ' + $('#to').val();\n }\n else {\n inputVal = $('.search-custom-dropdowns__radio:checked').attr('data-label');\n }\n }\n\n return inputVal;\n }\n\n\n function lastDayOfMonth(Year, Month) {\n let dateObj = new Date( (new Date(Year, Month,1))-1);\n let month = dateObj.getMonth() +1; //months from 1-12\n let day = dateObj.getDate();\n let year = dateObj.getFullYear();\n if(isNaN(month)) {\n return '';\n }\n else {\n return year + '-' + month + '-' + day;\n }\n }\n\n function getValues() {\n let valuesObj = {\n 'contains': $searchInput.val(),\n 'type': getTypes('val'),\n 'date_offset': getOffset(),\n 'range_start': getDate($('#fromDate').val()) === '' ? '' : getDate($('#fromDate').val()) + '-01',\n 'range_end': formatEndDate(getDate($('#to').val()))\n };\n\n for(var key in valuesObj) {\n let str = String(valuesObj[key]);\n\n if (valuesObj[key] === null || valuesObj[key] === undefined || str.replace(/\\s/g,'') ==='') {\n delete valuesObj[key];\n }\n }\n\n formatURL(valuesObj);\n }\n\n function formatEndDate(dateToFormat) {\n let updatedDate = dateToFormat.split('-');\n let newest = lastDayOfMonth(updatedDate[0], updatedDate[1]);\n return newest;\n }\n\n function formatURL(obj) {\n let urlString = '?'+$.param(obj).replace('+', ' ');\n window.location.href = window.location.pathname + urlString;\n }\n\n function getOffset() {\n return $('.search-custom-dropdowns__radio:checked:not(#from):not(#all-dates)').val();\n }\n\n function getDate(date) {\n let dateString = /(0?[1-9]|1[0-2])\\/(\\d{4})/.test(date);\n if($('#from').is(':checked')) {\n if(dateString === true) {\n let str = date.split('/');\n let newStr = str[1] + '-' +str[0];\n return newStr;\n }\n else {\n return '';\n }\n }\n else {\n return '';\n }\n }\n\n\n function getTypes(prop) {\n let arr = [];\n if($('#all-types').is(':checked')) {\n $('.search-custom-dropdowns__checkbox:not(#all-types)').each(function() {\n // prop === 'val' ? arr.push($(this).val()) : arr.push($(this).attr('data-label'));\n });\n }\n else {\n $('.search-custom-dropdowns__checkbox:checked:not(#all-types)').each(function() {\n prop === 'val' ? arr.push($(this).val()) : arr.push($(this).attr('data-label'));\n });\n }\n\n return arr;\n }\n\n function toggleSuggestions() {\n var val = $(this).val();\n var url = '/solr/callback/nodes?title=' + val;\n\n $.ajax(url, {\n success: function(data) {\n let results;\n let wrapper;\n if(data.length === 0) {\n wrapper = ``;\n }\n else {\n results = createResult(data);\n wrapper = ``;\n }\n\n $('.typeahead-results').empty().append(wrapper);\n },\n error: function() {\n\n }\n });\n\n if($(this).val().length > 0) {\n $resultsWrapper.addClass('_inactive');\n $typeAheadResults.removeClass('_inactive');\n }\n else {\n clearTimeout(menuTime);\n let menuTime = setTimeout(function() {\n $resultsWrapper.removeClass('_inactive');\n $typeAheadResults.addClass('_inactive');\n }, 250);\n }\n }\n\n function createResult(data) {\n var results = '';\n for(let i = 0; i < data.length; i++) {\n let thisValue = decodeEntities(data[i].value);\n results += `
  • ${thisValue}
  • `;\n }\n return results;\n }\n\n function toggleModal() {\n $modal.toggleClass('_active');\n\n if($modal.hasClass('_active')) {\n $('.search__close-modal').focus();\n }\n\n $('body').toggleClass('_search-open');\n\n }\n\n function toggleDrop(event) {\n event.stopPropagation();\n if ($(window).width() > 768) {\n $(this).closest('.search-custom-dropdowns__input').toggleClass('_active');\n }\n else {\n $(this).closest('.search-custom-dropdowns__input').toggleClass('_active');\n $(this).closest('.search-custom-dropdowns__input-wrapper').siblings().find('.search-custom-dropdowns__input').removeClass('_active');\n }\n }\n}\n\nexport { init as init };\n"]}