<html><head></head><body>{"version":3,"file":"homepageSearchWidgetCosmosChunk.038a171154e3d086215e.js","mappings":"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","sources":["webpack://site-client-side/./src/components/homepageSearchWidget/cosmos/homepageSearchWidgetCosmos.ts"],"sourcesContent":["\"use strict\";\r\nimport { importClassOnScroll } from '../../../utilities/dynamicImportsUtility';\r\n\r\ninterface ISearchFilters {\r\n    vehicleCount: number\r\n    minPrice: number\r\n    maxPrice: number\r\n    minFinancePrice: number\r\n    maxFinancePrice: number\r\n    minLeasePrice: number\r\n    maxLeasePrice: number\r\n}\r\n\r\nexport default class HomepageSearchWidget {\r\n    public searchFilters: ISearchFilters;\r\n\r\n    constructor() {\r\n        this.init();\r\n        this.setupEvents();\r\n    }\r\n\r\n    private init(){\r\n        this.fetchSearchFilters()\r\n            .then((searchFilters) =&gt; {\r\n                this.searchFilters = searchFilters;\r\n                this.updateVehicleCount(searchFilters);      \r\n            });            \r\n    }  \r\n    private setupEvents() {\r\n        const startEvent = new Array<mouseeventtype|toucheventtype>('mousedown','touchstart');\r\n        const navTabs = document.getElementById('homepageSearchWidgetCosmos')?.getElementsByClassName('nav-item');\r\n        startEvent.forEach( (eventType) =&gt;  {\r\n            Array.prototype.forEach.call(navTabs, (tab:HTMLElement) =&gt; {\r\n                tab.addEventListener(eventType, () =&gt; this.fetchSearchFilters()\r\n                .then((vehicles) =&gt; this.updateVehicleCount(vehicles, tab)));\r\n            });\r\n        });\r\n\r\n        const tabButtonSelector = 'data-homepage-search-tab-pane';\r\n        const filterTabContent = document.querySelector(`[${tabButtonSelector}=\"filter\"]`);\r\n        const keywordTabContent = document.querySelector(`[${tabButtonSelector}=\"keyword\"]`);\r\n        const budgetTabContent = document.querySelector(`[${tabButtonSelector}=\"budget\"]`);\r\n        if (filterTabContent) {\r\n            // Import keyword tab on click\r\n            importClassOnScroll(\r\n                () =&gt; import(/* webpackChunkName: \"searchByFilter\" */ './shopByVehicle/searchByFilter/searchByFilter'),\r\n                filterTabContent,\r\n                true\r\n            );\r\n        }\r\n        \r\n        if (keywordTabContent) {  \r\n            // Import keyword tab on click\r\n            importClassOnScroll(\r\n                () =&gt; import(/* webpackChunkName: \"searchByKeyword\" */ './shopByVehicle/searchByKeyword/searchByKeyword'),\r\n                keywordTabContent,\r\n                true\r\n            );\r\n        }\r\n\r\n        if (budgetTabContent) {\r\n            // Import budget tab on click\r\n            importClassOnScroll(\r\n                () =&gt; import(/* webpackChunkName: \"searchByBudget\" */ './shopByVehicle/searchByBudget/searchByBudget'),\r\n                budgetTabContent,\r\n                true\r\n            );\r\n        }\r\n    }\r\n\r\n    private fetchSearchFilters = (): Promise<isearchfilters> =&gt; {\r\n        var header = this.getParameterByName(\"header\") || \"\";\r\n        header = (header &amp;&amp; ((header.substr(0,2) != \"//\" &amp;&amp; \"//\" + header) || header) || \"\");\r\n        return new Promise((resolve, reject) =&gt; {\r\n            this.ajaxRequest(header + '/api/inventory/homepagesearchwidgetfilters', \"json\", \"GET\", null, (xhr: XMLHttpRequest) =&gt; {\r\n                const searchFilters = JSON.parse(xhr.response) as ISearchFilters;\r\n                resolve(searchFilters);\r\n            })\r\n        });\r\n    }\r\n\r\n    private updateVehicleCount(searchFilters: ISearchFilters, tabElement?: HTMLElement) {\r\n        //search by filter has dynamic vehicle count\r\n        if (tabElement?.querySelector(\"button\")?.id === \"searchByFilterBtn\") {\r\n            //get the count stored in our hidden inventory-info div that was populated by the inventoryWidgetController                             \r\n            const count = tabElement.closest(\".nav-tabs\").nextElementSibling.querySelector(\"#searchByFilterLess\")\r\n                ?.querySelector(\"[inventory-info]\")?.innerHTML.trim() || \"0\";\r\n            const event = new CustomEvent('inventorywidget-update-inventory-count', { detail: count });\r\n            document.dispatchEvent(event);\r\n        }\r\n        else if (tabElement?.querySelector(\"button\")?.id === \"searchByKeywordBtn\") {     \r\n            //get the count stored in our hidden inventory-info div that was populated by the inventoryWidgetController                             \r\n            const count = tabElement.closest(\".nav-tabs\").nextElementSibling.querySelector(\"#searchByFilterLess\")\r\n                ?.querySelector(\"[total-inventory]\")?.getAttribute(\"total-inventory\") || \"0\";\r\n            const event = new CustomEvent('inventorywidget-update-inventory-count', { detail: count });\r\n            document.dispatchEvent(event);\r\n        }\r\n        else if (tabElement?.querySelector(\"button\")?.id === \"searchByBudgetBtn\") {\r\n            //get the count stored in our hidden inventory-info div that was populated by the inventoryWidgetController                             \r\n            const count = tabElement.closest(\".nav-tabs\").nextElementSibling.querySelector(\"#searchByFilterLess\")\r\n                ?.querySelector(\"[total-inventory]\")?.getAttribute(\"total-inventory\") || \"0\";\r\n            const event = new CustomEvent('inventorywidget-update-inventory-count', { detail: count });\r\n            document.dispatchEvent(event);\r\n        }\r\n        else {\r\n            const homepageSearchWidgetVehicleCount = document.getElementById('homepageSearchWidgetVehicleCount');\r\n            if(homepageSearchWidgetVehicleCount) {\r\n                homepageSearchWidgetVehicleCount.innerText = searchFilters?.vehicleCount ? searchFilters.vehicleCount.toLocaleString(\"en-us\") : \"\";\r\n                document.querySelector(\"[total-inventory]\")?.setAttribute(\"total-inventory\", searchFilters?.vehicleCount ? searchFilters.vehicleCount.toLocaleString(\"en-us\") : \"\");\r\n            }\r\n            \r\n        }\r\n    }\r\n\r\n    private getParameterByName (name: string) {\r\n        const url = window.location.href;\r\n        name = name.replace(/[\\[\\]]/g, \"\\\\$&amp;\");\r\n        var regex = new RegExp(\"[?&amp;]\" + name + \"(=([^&amp;#]*)|&amp;|#|$)\"),\r\n            results = regex.exec(url);\r\n        if (!results) return null;\r\n        if (!results[2]) return '';\r\n        return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n      }\r\n\r\n    private ajaxRequest(url: string, contentType: string, methodType: string, data: object = null, onloadFunc: Function = () =&gt; {}) {\r\n        const xhr = new XMLHttpRequest();\r\n        xhr.open(methodType, url);\r\n        xhr.setRequestHeader(\"Content-Type\", `application/${contentType}`);\r\n        xhr.onreadystatechange = () =&gt; {\r\n          if (xhr.readyState === XMLHttpRequest.DONE) {\r\n            if (xhr.status !== 200) {\r\n              console.error(`HTTP error ${xhr.status} returned when attempting to access ${url}`);\r\n            }\r\n          }\r\n        }\r\n        xhr.onerror = () =&gt; { console.error(`HTTP error ${xhr.status} returned when attempting to access ${url}`) };\r\n        const body = data ? JSON.stringify(data) : null;\r\n        xhr.send(body);\r\n        xhr.onload = () =&gt; { onloadFunc(xhr); }\r\n    }\r\n\r\n}\r\n"],"names":["HomepageSearchWidget","constructor","fetchSearchFilters","header","this","getParameterByName","substr","Promise","resolve","reject","ajaxRequest","xhr","searchFilters","JSON","parse","response","init","setupEvents","then","updateVehicleCount","startEvent","Array","navTabs","document","getElementById","getElementsByClassName","forEach","eventType","prototype","call","tab","addEventListener","vehicles","tabButtonSelector","filterTabContent","querySelector","keywordTabContent","budgetTabContent","tabElement","id","count","closest","nextElementSibling","innerHTML","trim","event","CustomEvent","detail","dispatchEvent","getAttribute","homepageSearchWidgetVehicleCount","innerText","vehicleCount","toLocaleString","setAttribute","name","url","window","location","href","replace","results","RegExp","exec","decodeURIComponent","contentType","methodType","data","onloadFunc","XMLHttpRequest","open","setRequestHeader","onreadystatechange","readyState","DONE","status","console","error","onerror","body","stringify","send","onload"],"sourceRoot":""}</isearchfilters></mouseeventtype|toucheventtype><style>
.hidden {
display: none;
}
</style>

<a href="http://www.yutb.net"  class="hidden">澳门新葡京博彩</a>
<a href="http://hydgax.datablu.net" class="hidden">土豆电影</a>
<a href="http://www.educoncepts-sdr.com"  class="hidden">Official-entrance-to-Sun-City-hr@educoncepts-sdr.com</a>
<a href="http://www.swissabc.net"  class="hidden">Sabah-sports-betting-careers@swissabc.net</a>
<a href="http://www.smart-launch.net"  class="hidden">Buying-platform-customerservice@smart-launch.net</a>
<a href="http://www.25674.net"  class="hidden">Galaxy-Macau-contact@25674.net</a>
<a href="http://www.lhjcmaigaiti.com"  class="hidden">Sun-City-Entertainment-help@lhjcmaigaiti.com</a>
<a href="http://www.turuntilataksit.net"  class="hidden">太阳城</a>
<a href="http://www.ehulk.net"  class="hidden">足球博彩平台</a>
<a href="http://www.51jiyangshi.com"  class="hidden">Buying-platform-support@51jiyangshi.com</a>
<a href="http://liqleu.amynovel.com" class="hidden">荔浦生活网</a>
<a href="http://www.rf518.com"  class="hidden">Asian-sports-betting-platform-media@rf518.com</a>
<a href="http://www.silvamkt.com"  class="hidden">Crown-Sports-official-website-service@silvamkt.com</a>
<a href="http://www.dandick.net"  class="hidden">Wynn-Sports-admin@dandick.net</a>
<a href="http://www.akingdum.net"  class="hidden">Galaxy-Group-app-download-hr@akingdum.net</a>
<a href="http://rnszvl.yuanzhizuan.com" class="hidden">画客网</a>
<a href="http://www.iconfuture.net"  class="hidden">Sun-City-app-admin@iconfuture.net</a>
<a href="http://usxjmf.qiju123.com" class="hidden">兴华股份</a>
<a href="http://www.vko29.com"  class="hidden">365体育投注</a>

<a href="https://acrmc.com/search/cq9英雄捕魚(中国)有限公司✔️最新网址:la55.net✔️.ufm" class="hidden">中国历史网</a>
<a href="https://m.facebook.com/public/十大正规赌博网站排名(中国)有限公司✔️官方网址:la777.net✔️" class="hidden">沈阳杏林整形美容医</a>
<a href="https://www.deep6gear.com/catalogsearch/result/?q=葡京网投app-维基百科✔️网址:ad11.net✔️" class="hidden">阿勇时尚饰品批发网</a>
<a href="https://tw.dictionary.yahoo.com/dictionary?p=365体育比分>>✔️官方网址:la777.net✔️手输<<365体育比分>>✔️官方网址:la777.net✔️手输<<.wfz" class="hidden">潮流家电网</a>
<a href="https://stock.adobe.com/search/images?k=✔️网址:ad11.net✔️最正规网上赌博信誉网赌网站(中国)有限公司" class="hidden">中国环境管理干部学院</a>
<a href="https://es-la.facebook.com/public/✔️网址:la66.net✔️老虎机飞禽走兽破解-维基百科✔️网址:la66.net✔️老虎机飞禽走兽破解-维基百科.tro" class="hidden">放假安排网</a>
<a href="https://m.facebook.com/public/>>✔️官方网址:la777.net✔️手输<<新甫京娱乐娱城" class="hidden">七台河天气预报</a>
<a href="https://acrmc.com/search/冰球突破登录网站(中国)有限公司✔️最新网址:ad22.net✔️冰球突破登录网站(中国)有限公司✔️最新网址:ad22.net✔️" class="hidden">西部牧业</a>
<a href="https://www.deep6gear.com/catalogsearch/result/?q=澳门赌场官方软件✔️网址:ad11.net✔️澳门赌场官方软件✔️网址:ad11.net✔️.pna" class="hidden">校园娱乐</a>
<a href="https://tw.dictionary.yahoo.com/dictionary?p=✔️网址:la666.net✔️博彩app推荐-维基百科" class="hidden">彩经网体彩11选5</a>

<a href="/sitemap.xml" class="hidden">站点地图</a>
<a href="/cn/mqgthd-931751" class="hidden">耐思尼克</a>
<a href="/news/moielh-323390" class="hidden">7M体育网</a>
<a href="/cn/qwqbcs-597193" class="hidden">西安天气预报</a>


</body></html>