{"version":3,"file":"searchResults.js","mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,sBAAsB,8BAA8B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,CAAC,E","sources":["webpack://nv-base-template/./src/js/features/searchResults.js"],"sourcesContent":["//\r\n// loaded by General/_SearchResults.cshtml\r\n//\r\n\r\nfunction getUrlVars() {\r\n var vars = [], hash;\r\n var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');\r\n for (var i = 0; i < hashes.length; i++) {\r\n hash = hashes[i].split('=');\r\n vars.push(hash);\r\n vars[hash[0]] = hash[1];\r\n }\r\n return vars;\r\n}\r\n\r\n//\r\n// attach a listener to the global search box to submit the search filter/refine form instead \r\n// on the search results page only\r\n// pre-load any search filters etc from querystring\r\n//\r\n$(function () {\r\n document.getElementById(\"search-results\").classList.add(\"search-loaded\");\r\n var search = $('form#search_sitewide');\r\n\r\n search.submit(function (e) {\r\n\r\n var search = $('form#search_sitewide');\r\n\r\n var searchTerm = search.find('input#search_query');\r\n\r\n var searchRefine = $('form#search_results_refine');\r\n\r\n searchRefine.attr('action', search.attr('action'));\r\n\r\n var searchRefineSearchTerm = searchRefine.find('input[name=query]');\r\n if (searchRefineSearchTerm.length >0) {\r\n e.preventDefault();\r\n\r\n searchRefineSearchTerm.val(searchTerm.val());\r\n\r\n searchRefine[0].submit();\r\n }\r\n\r\n });\r\n\r\n var allTopicsCheckbox = $('#search_filter_topics_all');\r\n var allContentTypesCheckbox = $('#search_filter_contentTypes_all');\r\n\r\n allTopicsCheckbox.on('checked', function() {\r\n $(\"#checkAll\").click(function () {\r\n $('input:checkbox').not(this).prop('checked', this.checked);\r\n });\r\n });\r\n\r\n allContentTypesCheckbox.on('click', function() {\r\n $(\"input[name=search_content_type]\").prop('checked', this.checked);\r\n });\r\n\r\n allTopicsCheckbox.on('click', function () {\r\n $(\"input[name=search_content_topic]\").prop('checked', this.checked);\r\n });\r\n\r\n var queryStringVars = getUrlVars();\r\n\r\n var initialLanding = true; // come straight from searchbox elsewhere in site...\r\n\r\n for (var idx = 0; idx < queryStringVars.length; idx++) {\r\n\r\n if ('search_content_topic/search_content_type'.indexOf(queryStringVars[idx][0]) != -1) {\r\n var name = queryStringVars[idx][0];\r\n var value = queryStringVars[idx][1];\r\n\r\n $('input[name=' + name + '][value=' + value + ']').prop('checked', true);\r\n }\r\n else\r\n if (queryStringVars[idx][0] === 'search_results_sort_by') {\r\n $(\"#\" + queryStringVars[idx][1])[0].checked = true;\r\n }\r\n else\r\n if (queryStringVars[idx][0] === 'refine') {\r\n initialLanding = false;\r\n }\r\n }\r\n\r\n //var d = new Date();\r\n //$('input[name=refine]').val(d.getMilliseconds());\r\n\r\n if (initialLanding) {\r\n // if none, then turn all on\r\n //\r\n //if ($('input[name=search_content_topic]:checked').length == 0) {\r\n // $('input[name=search_content_topic]').prop('checked', true);\r\n //}\r\n //if ($('input[name=search_content_type]:checked').length == 0) {\r\n // $('input[name=search_content_type]').prop('checked', true);\r\n //}\r\n $('input[name=search_content_type][value=pages]')\r\n .prop('checked', true);\r\n }\r\n\r\n // All checked ?\r\n if ($('input[name=search_content_topic]:checked').length == $('input[name=search_content_topic]').length) {\r\n $('input#search_filter_topics_all').prop('checked', true);\r\n }\r\n if ($('input[name=search_content_type]:checked').length == $('input[name=search_content_type]').length) {\r\n $('input#search_filter_contentTypes_all').prop('checked', true);\r\n }\r\n\r\n $('input[name=search_content_topic]').on('click',\r\n function () {\r\n $('input#search_filter_topics_all').prop('checked', $('input[name=search_content_topic]:checked').length == $('input[name=search_content_topic]').length);\r\n });\r\n $('input[name=search_content_type]').on('click',\r\n function () {\r\n $('input#search_filter_contentTypes_all').prop('checked', $('input[name=search_content_type]:checked').length == $('input[name=search_content_type]').length);\r\n });\r\n\r\n //Handle dropdowns\r\n var $dropdowns = $(\".js-dropdown\");\r\n var $dropdownLists = $(\".js-dropdown-list\");\r\n var contentType = \"All Types\";\r\n var topic = \"All Topics\";\r\n $dropdownLists.slideUp();\r\n \r\n //btn click\r\n $dropdowns.on(\"click\", function(e){\r\n var dropdownList = $(e.target).next();\r\n dropdownList.slideToggle();\r\n })\r\n\r\n //blur\r\n $(window).on(\"click\", function(e){\r\n var $target = $(e.target)\r\n if ($target.hasClass(\"c-checkbox__label\")){\r\n setTimeout(function(){\r\n handleFilters();\r\n }, 1)\r\n return;\r\n }\r\n if ($target.parents('.c-dropdown').length) {\r\n return;\r\n }\r\n if ($target.hasClass(\"c-dropdown\")){\r\n return;\r\n }\r\n $dropdownLists.slideUp();\r\n })\r\n\r\n var handleFilters = function() {\r\n $dropdownLists.each(function(i, dropdown) {\r\n var inputs = $(dropdown).find(\":input\");\r\n var btn = $(dropdown).prev();\r\n var values = [];\r\n\r\n inputs.each(function(k, input) {\r\n if ($(input).prop(\"checked\") === true) {\r\n //guids are used for the actual value.\r\n //use labels for the visible filter text.\r\n var label = $(input).next();\r\n values.push($(label).text());\r\n }\r\n })\r\n\r\n if (values.length == 0 || values.indexOf(\"All Topics\") != -1 || values.indexOf(\"All Types\") != -1) {\r\n btn.text(btn.data(\"default\"));\r\n } else {\r\n btn.text(values.toString());\r\n }\r\n });\r\n }\r\n handleFilters();\r\n\r\n $(\"#psuedo_submit\").on(\"click\",\r\n function(e) {\r\n e.preventDefault();\r\n $(\"#search_sitewide_submit\").click();\r\n });\r\n});"],"names":[],"sourceRoot":""}