{"version":3,"file":"rates.min.js?v=d83e1feb7b091236fa57","mappings":"kPASIA,EAAU,KAwBDC,EAAM,CAEfC,KAAI,WACA,IAAMC,EAAY,GAISC,IAAO,uBAEfC,MAAK,WACpB,IAAMC,EAAYF,IAAOG,MAAMC,KAAK,MACpCL,EAAUM,MAAK,SAAUC,GACrBN,IAAAA,KACI,gCACA,CACIM,IAAAA,EACAC,YAAaL,EACbM,aAAc,OACdC,SAAU,uBAEd,SAAUC,GACNC,YAAW,WACPf,EAAQgB,OAAO,sBACfZ,IAAO,IAAME,GAAWW,KAAKH,GAC7BI,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,MACJ,GAAG,IAEP,GACR,GACJ,IAGAf,IAAO,oBAAoBgB,QAAO,SAASC,GACvCA,EAAEC,iBAxDW,SAASnB,GAC9B,IAAMoB,EAAgBnB,IAAO,oBAI7B,GAFwBmB,EAAcC,UAElBC,UAAW,CAC3B,IAAMC,EAAiBH,EAAcI,MACrCvB,IAAO,WAAWwB,YAAY,UAG9BxB,IAAAA,KAAYD,GAAW,SAAS0B,EAAcC,GAC1C9B,EAAQ+B,UACRD,EAAgBJ,EACpB,IAGAtB,IAAO,mBAAmBa,MAAK,SAASe,EAAGC,GACvC,OAAOA,EAAIC,QAAQ,QAA6BR,EACpD,GACJ,CACJ,CAqCYS,CAAiBhC,GAEjBC,IAAO,sBAAsBgC,OACjC,IAEA,IAAMC,EAAcC,SAASC,eAAe,0BACxCF,IACArC,EAAU,IAAIwC,EAAAA,EAAQH,GAE9B,GAEJ,W","sources":["webpack://huntington.com-toolkit/./src/assets/toolkit/scripts/ui/rates.js"],"sourcesContent":["//@ts-check\r\nimport jquery from 'jquery';\r\nimport RateSwitcher from '../ui/RateSwitcher.js';\r\nimport MobileOverflowShadowInit from './MobileOverflowShadowInit.js';\r\nimport Spinner from './Spinner.js';\r\n\r\n/**\r\n * @type {Spinner}\r\n */\r\nlet spinner = null;\r\n\r\nconst updateRateTables = function(callbacks) {\r\n const zipCodeUpdate = jquery('#zip-code-update');\r\n //@ts-ignore\r\n const parsleyInstance = zipCodeUpdate.parsley();\r\n\r\n if (parsleyInstance.isValid()) {\r\n const zipCodeEntered = zipCodeUpdate.val();\r\n jquery('.dimmer').toggleClass('active');\r\n\r\n\r\n jquery.each(callbacks, function(propertyName, valueOfProperty) {\r\n spinner.loading();\r\n valueOfProperty(zipCodeEntered);\r\n });\r\n\r\n /* update the zipCodeMessage to reflect zip code entered, replaces the 5-digit zip code numbers with zip code entered */\r\n jquery('#zipCodeMessage').html(function(i, txt) {\r\n return txt.replace(/\\d{5}/, /**@type {String}*/(zipCodeEntered));\r\n });\r\n }\r\n};\r\n\r\nexport const api = {\r\n /* Initialize rate submit form to do an asynchronous update of all rate tables. */\r\n init () {\r\n const callbacks = [];\r\n /* Note that all rate table wrappers have come back in the initial page load,\r\n * so we don't need to recalculate as long as we look them up by ID on each submit.\r\n */\r\n const $rateTableWrappers = jquery('.rate-table-wrapper');\r\n\r\n $rateTableWrappers.each(function() {\r\n const wrapperId = jquery(this).attr('id');\r\n callbacks.push(function (zip) {\r\n jquery.post(\r\n '/post/Rate/GetRateTableFromId',\r\n {\r\n zip,\r\n rateTableId: wrapperId,\r\n scController: 'Rate',\r\n scAction: 'GetRateTableFromId'\r\n },\r\n function (data) {\r\n setTimeout(() => {\r\n spinner.loaded('Rates have loaded.');\r\n jquery('#' + wrapperId).html(data);\r\n RateSwitcher.init();\r\n MobileOverflowShadowInit.init();\r\n }, 350);\r\n\r\n });\r\n });\r\n });\r\n\r\n /* Invoke the callbacks against all the tables when the form is submitted. */\r\n jquery('#rateZipCodeForm').submit(function(e) {\r\n e.preventDefault();\r\n updateRateTables(callbacks);\r\n /* Trigger a synthetic click on each table for SiteCatalyst tracking of the user interaction with the form. */\r\n jquery('.rateUpdateSuccess').click();\r\n });\r\n\r\n const formSpinner = document.getElementById('rateZipCodeFormSpinner');\r\n if (formSpinner) {\r\n spinner = new Spinner(formSpinner);\r\n }\r\n }\r\n};\r\nexport default api;\r\n"],"names":["spinner","api","init","callbacks","jquery","each","wrapperId","this","attr","push","zip","rateTableId","scController","scAction","data","setTimeout","loaded","html","RateSwitcher","MobileOverflowShadowInit","submit","e","preventDefault","zipCodeUpdate","parsley","isValid","zipCodeEntered","val","toggleClass","propertyName","valueOfProperty","loading","i","txt","replace","updateRateTables","click","formSpinner","document","getElementById","Spinner"],"sourceRoot":""}