{"version":3,"file":"js/page-find-gear.js","mappings":"0KAEAA,MAAIC,OAAM,WACND,IAAE,gBAAgBE,QAAO,WACrB,IAAMC,EAAOH,IAAEI,MAAMC,QAAQ,QACzBF,GAAMA,EAAKG,QACnB,GACJ,I,wBCgBA,SAASC,EAAaC,GAII,cAAlBA,EAAIC,OAAOC,GACXC,EAAWX,IAAE,cAAeA,IAAE,gBAEP,eAAlBQ,EAAIC,OAAOC,IAChBC,EAAWX,IAAE,eAAgBA,IAAE,cAMvC,CAEA,SAASW,EAAWC,EAAYC,GAIfA,EAAOC,KAAK,gCAElBC,MAAK,SAAUC,EAAcC,GAChC,IAAIC,EAAUlB,IAAEiB,GACZE,EAAUP,EAAOE,KAAK,SAAWI,EAAQE,KAAK,QAAU,KACxDC,EAASH,EAAQI,MAErB,GAAIH,EAAQI,YAQZ,CACI,GAAIL,EAAQM,GAAG,eAAiBN,EAAQM,GAAG,YAEvC,OAGAH,EAAOE,OAAS,GAChBvB,IAAE,UACE,CACIyB,KAAM,SACNC,KAAMR,EAAQE,KAAK,QACnBO,MAAON,IAGdO,SAAShB,E,CAGtB,GACJ,EAEAiB,EAAAA,EAAAA,IAAgB,WAAY,CACxBC,KAAI,YA/DR,WAEI9B,IAAE,mBAAmB+B,GAAG,SAAS,WAC7B/B,IAAE,gBAAgBgC,YAAY,SAClC,GACJ,CA6DQC,GAKAjC,IAAE,eAAeM,OAAOC,IAExB2B,EAAAA,EAAAA,OAKAC,EAAAA,EAAAA,IACJ,G","sources":["webpack://gbase.web/./dev/src/isomorphic/behaviors/postchange-attribute.ts","webpack://gbase.web/./dev/src/isomorphic/pages/page-find-gear.ts"],"sourcesContent":["import $ from \"jquery\";\r\n\r\n$().ready(() => {\r\n $(\".post-change\").change(function () {\r\n const form = $(this).closest(\"form\");\r\n if (form) form.submit(); \r\n });\r\n});\r\n\r\nconsole.log(\"[app-behaviors] Installed post-change behavior (post-change)\");","import { RegisterControl } from '../controller-binding';\r\nimport $ from \"jquery\";\r\n\r\nimport {watchProducts} from \"@/components/toggle-watch/ProductInterest\";\r\nimport { pinToTop } from \"@/utils/pinToUtils\";\r\n\r\nimport \"@/isomorphic/behaviors/clickable-attribute\";\r\nimport \"@/isomorphic/behaviors/lazyload-photos\";\r\nimport \"@/isomorphic/behaviors/postchange-attribute\";\r\nimport \"@/isomorphic/behaviors/datatip-attribute\";\r\n\r\nimport \"waypoints/lib/jquery.waypoints.js\";\r\nimport \"waypoints/lib/shortcuts/sticky.js\";\r\n\r\n\r\n\r\nfunction setupMobileFilters() {\r\n\r\n $(\".drawer-trigger\").on(\"click\", () => {\r\n $(\".side-drawer\").toggleClass(\"active\");\r\n });\r\n}\r\n\r\nfunction searchSubmit(evt: any/*JQuery.Event*/) {\r\n\r\n console.log(\"Search form submit handler.\");\r\n\r\n if (evt.target.id === \"topSearch\") {\r\n mergeForms($(\"#topSearch\"), $(\"#sideSearch\"));\r\n }\r\n else if (evt.target.id === \"sideSearch\") {\r\n mergeForms($(\"#sideSearch\"), $(\"#topSearch\"));\r\n }\r\n /*\r\n else if (evt.target.id === \"headSearch\") {\r\n mergeForms($(\"#headSearch\"), $(\"#topSearch\"));\r\n }*/\r\n}\r\n\r\nfunction mergeForms($form1:any, $form2:any) {\r\n \r\n console.log(\"Merging search form values\");\r\n\r\n var inputs = $form2.find(\":input:not(:button, :hidden)\");\r\n\r\n inputs.each(function (index:number, el:any) {\r\n var $sinput = $(el);\r\n var $tinput = $form1.find(\"[name=\" + $sinput.attr(\"name\") + \"]\");\r\n var svalue = $sinput.val() as string;\r\n\r\n if ($tinput.length) {\r\n // don't overwrite any existing inputs\r\n // because it just messes up the form\r\n // as you can't be sure when the user\r\n // intended that input to be empty\r\n // if (!$tinput.val()) \r\n // $tinput.val(svalue);\r\n } else \r\n {\r\n if ($sinput.is(':checkbox') && !$sinput.is(':checked')) {\r\n console.log(\"not merging unchecked checkbox\");\r\n return;\r\n }\r\n\r\n if (svalue.length > 0) {\r\n $(\"\",\r\n {\r\n type: \"hidden\",\r\n name: $sinput.attr(\"name\"),\r\n value: svalue\r\n }\r\n )\r\n .appendTo($form1);\r\n }\r\n }\r\n });\r\n}\r\n\r\nRegisterControl(\"FindGear\", {\r\n init() { \r\n console.log(\"[app-init] FindGear\");\r\n \r\n setupMobileFilters();\r\n\r\n //\r\n // Merge top and inline forms on submit\r\n // class must match SearchParameters.MergedSearchFormClass\r\n $(\".merge-form\").submit(searchSubmit);\r\n\r\n pinToTop();\r\n \r\n //\r\n // Setup toggle-watch\r\n //\r\n watchProducts(); \r\n }\r\n});\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n"],"names":["$","ready","change","form","this","closest","submit","searchSubmit","evt","target","id","mergeForms","$form1","$form2","find","each","index","el","$sinput","$tinput","attr","svalue","val","length","is","type","name","value","appendTo","RegisterControl","init","on","toggleClass","setupMobileFilters","pinToTop","watchProducts"],"sourceRoot":""}