{"version":3,"sources":["productSelectorWidget.js"],"names":["$","ready","isIE","hide","autocomplete","delay","source","searchTermJSON","select","event","ui","makeRecommendation","item","hvalue","submit","ev","preventDefault","matchedTerm","find","term","label","val","let","target","document","querySelector","innerHTML","show","removeClass","get","response","parsedResponse","JSON","parse","data","products","length","addClass","forEach","object","index","product","createProduct","appendChild","jurisdictionShowHide","click","searchInput","value","change","templates","toString","jurisdictionID","children","template","clone","content","cloneNode","productTitleHref","productTitleText","productButton","productJurFlagsLabel","productDescription","jurisdictionIDs","JURISDICTIONIDLIST","jurisdictionIDList","split","URL","href","ele","uri","buildUrl","productid","PRODUCTID","textContent","PRODUCTNAME","PRODUCTDESCRIPTION","classList","add","window","navigator","userAgent","match"],"mappings":"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","file":"productSelectorWidget.min.js","sourcesContent":["$('document').ready(function(){\r\n\r\n if(isIE()){\r\n $('.product-selector').hide();\r\n }\r\n\r\n $('#searchTerm').autocomplete({\r\n delay: 0, /* only if data remains local */\r\n source: searchTermJSON, // see the CMS component for this variable\r\n select: function(event, ui){\r\n makeRecommendation(ui.item.hvalue);\r\n }\r\n });\r\n\r\n $('#productSelectionForm').submit(function(ev){\r\n $('.ui-menu').hide();\r\n ev.preventDefault();\r\n // If the search matches a search term, run that\r\n let matchedTerm = searchTermJSON.find(term => term.label === $('#searchTerm').val());\r\n if(typeof matchedTerm != 'undefined'){\r\n makeRecommendation(matchedTerm.hvalue);\r\n } else {\r\n // If it does not then run searchAJAX\r\n let target = document.querySelector('#searchResultsTarget');\r\n target.innerHTML = \"\";\r\n\r\n $('.loadingSpinner').show();\r\n $('.noResults').hide();\r\n $('.resultsIntro').hide();\r\n $('#searchResultsTarget').removeClass('hasResults');\r\n\r\n $.get('?event=searchAJAX&search=\"' + $('#searchTerm').val() + '\"&productSearchOnly=1', function (response) {\r\n $('.loadingSpinner').hide();\r\n let parsedResponse = JSON.parse(response);\r\n\r\n if (parsedResponse.data.products.length > 0) {\r\n $('.resultsIntro').show();\r\n $('#searchResultsTarget').addClass('hasResults');\r\n parsedResponse.data.products.forEach(function (object, index) {\r\n let product = createProduct(object)\r\n target.appendChild(product);\r\n });\r\n jurisdictionShowHide();\r\n } else {\r\n $('.resultsIntro').hide();\r\n $('#searchResultsTarget').removeClass('hasResults');\r\n $('.noResults').show()\r\n }\r\n });\r\n }\r\n });\r\n\r\n $('#searchClearance').click(function() {\r\n let products = document.querySelector('#searchResultsTarget');\r\n let searchInput = document.querySelector('#searchTerm');\r\n $('.noResults').hide();\r\n $('.resultsIntro').hide();\r\n $('#searchResultsTarget').removeClass('hasResults');\r\n products.innerHTML = \"\";\r\n searchInput.value = \"\";\r\n });\r\n\r\n $('#jurisdictionSelector').change(function(){\r\n let jurisdictionID = $('#jurisdictionSelector').val();\r\n jurisdictionShowHide();\r\n });\r\n\r\n});\r\n\r\nvar makeRecommendation = function(templates){\r\n $('.loadingSpinner').show();\r\n $('.noResults').hide();\r\n $('.resultsIntro').hide();\r\n $('#searchResultsTarget').removeClass('hasResults');\r\n\r\n $.get('?event=objectsToProducts&search=' + templates.toString(), function( response ) {\r\n\r\n $('.loadingSpinner').hide();\r\n $('#searchResultsTarget').addClass('hasResults');\r\n\r\n let parsedResponse = JSON.parse(response);\r\n let target = document.querySelector('#searchResultsTarget');\r\n target.innerHTML = \"\";\r\n\r\n if(parsedResponse.data.length > 0){\r\n $('.resultsIntro').show();\r\n parsedResponse.data.forEach(function(object, index) {\r\n let product = createProduct(object)\r\n target.appendChild(product);\r\n });\r\n jurisdictionShowHide();\r\n }\r\n else {\r\n $('.resultsIntro').hide();\r\n $('#searchResultsTarget').removeClass('hasResults');\r\n $('.noResults').show()\r\n }\r\n })\r\n}\r\n\r\nvar jurisdictionShowHide = function(){\r\n let jurisdictionID = $('#jurisdictionSelector').val();\r\n if(jurisdictionID > 0){\r\n $('.e_product').hide();\r\n $('.e_jurId_' + jurisdictionID).show();\r\n } else {\r\n $('.e_product').show();\r\n }\r\n if($('#searchResultsTarget').children(':visible').length == 0) {\r\n $('.resultsIntro').hide();\r\n $('#searchResultsTarget').removeClass('hasResults');\r\n $('.noResults').show();\r\n } else {\r\n $('.noResults').hide();\r\n $('.resultsIntro').show();\r\n $('#searchResultsTarget').addClass('hasResults');\r\n }\r\n}\r\n\r\nvar createProduct = function(object){\r\n let template = document.querySelector('#searchResult');\r\n\r\n let clone = template.content.cloneNode(true);\r\n let productTitleHref = clone.querySelector('.e_name_container');\r\n let productTitleText = clone.querySelector('.e_name_actual');\r\n let productButton = clone.querySelector('.getStartedButton');\r\n let productJurFlagsLabel = clone.querySelector('.e_jurItem');\r\n let productDescription = clone.querySelector('.e_shortDesc');\r\n let productJurisdictionSpanContainer = clone.querySelector('.wrap_jurFlag');\r\n let jurisdictionIDs = object.JURISDICTIONIDLIST;\r\n let jurisdictionIDList = [jurisdictionIDs];\r\n if(typeof jurisdictionIDs == \"string\") {\r\n jurisdictionIDList = jurisdictionIDs.split(',');\r\n }\r\n\r\n if(typeof object.URL != 'undefined'){\r\n productTitleHref.href = object.URL;\r\n } else {\r\n productTitleHref.href = ele.uri.buildUrl(\"product\",{productid:object.PRODUCTID});\r\n }\r\n productTitleText.textContent = object.PRODUCTNAME;\r\n productDescription.innerHTML = object.PRODUCTDESCRIPTION + \"…\";\r\n productButton.href = productTitleHref.href;\r\n\r\n if(jurisdictionIDList.length > 0){\r\n jurisdictionIDList.forEach(function(value, index) {\r\n productJurFlagsLabel.classList.add(\"e_jurId_\" + value);\r\n });\r\n }\r\n\r\n return clone;\r\n}\r\n\r\nvar isIE = function() {\r\n return (window.navigator.userAgent.match(/MSIE|Trident/) !== null);\r\n}\r\n\r\n\r\n"]}