{"version":3,"sources":["webpack:///./src/feature/search-bar/search-bar.js","webpack:///./src/feature/search-bar/search-typeahead-api.js","webpack:///./src/feature/search-navigation/search-typeahead-api-test.js"],"names":["defaultSettings","endpoint","searchPage","tags","dev","minChars","fetchDelay","maxItems","SearchBar","element","el","initDomCache","settings","Object","assign","parseSettings","log","fetchResults","query","searchTypeaheadTest","awesomplete","Awesomplete","dom","searchInput","parentNode","insertBefore","updateResults","bind","addEventListeners","addEventListener","form","e","preventDefault","submitForm","handleKeyup","handleSelect","getAttribute","JSON","parse","ignoredKeyCodes","indexOf","keyCode","value","text","length","then","json","list","toAwesompleteList","trim","target","encodeURIComponent","window","location","href","jsonResult","map","label","result","name","BaseFeature","searchTypeahead","searchString","tagArray","split","path","Promise","resolve","fetch","response","suggestions","emulatedNetworkDelay","setTimeout","s"],"mappings":"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","file":"40-f765c8ea.pkg.js","sourcesContent":["import Awesomplete from 'awesomplete';\r\nimport BaseFeature from '../../foundation/base/base';\r\nimport { debounce } from '../../foundation/utilities/debounce';\r\nimport { searchTypeaheadTest } from '../search-navigation/search-typeahead-api-test';\r\nimport { searchTypeahead } from './search-typeahead-api';\r\n\r\nconst defaultSettings = {\r\n\tendpoint: 'http://perstorp.website.local/sitecore/api/searchapi/typeahead',\r\n\tsearchPage: '/search?q=',\r\n\ttags: '',\r\n\tdev: false,\r\n\tminChars: 1,\r\n\tfetchDelay: 250,\r\n\tmaxItems: 4\r\n};\r\n\r\nexport default class SearchBar extends BaseFeature {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tthis.el = element;\r\n\t\tthis.initDomCache();\r\n\t\tthis.settings = Object.assign({}, defaultSettings, this.parseSettings());\r\n\t\tthis.log(this.settings.tags);\r\n\r\n\t\t// Fetch results from API depending on dev\r\n\t\tthis.fetchResults = !this.settings.dev ?\r\n\t\t\tquery => searchTypeahead(this.settings.endpoint, this.settings.tags, query) :\r\n\t\t\tsearchTypeaheadTest;\r\n\r\n\t\tthis.awesomplete = new Awesomplete(this.dom.searchInput, {\r\n\t\t\tminChars: this.settings.minChars,\r\n\t\t\tmaxItems: this.settings.maxItems\r\n\t\t});\r\n\r\n\t\t// Move input field outside\r\n\t\tthis.dom.searchInput.parentNode.parentNode.insertBefore(\r\n\t\t\tthis.dom.searchInput,\r\n\t\t\tthis.dom.searchInput.parentNode\r\n\t\t);\r\n\r\n\t\tthis.updateResults = debounce(this.updateResults.bind(this), this.settings.fetchDelay);\r\n\r\n\t\tthis.addEventListeners();\r\n\t}\r\n\r\n\taddEventListeners() {\r\n\t\tthis.addEventListener(this.dom.form, 'submit', (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.submitForm(e);\r\n\t\t});\r\n\t\tthis.addEventListener(this.dom.searchInput, 'keyup', (e) => {\r\n\t\t\tthis.handleKeyup(e);\r\n\t\t});\r\n\t\tthis.addEventListener(this.dom.searchInput, 'awesomplete-select', (e) => {\r\n\t\t\tthis.handleSelect(e);\r\n\t\t});\r\n\t}\r\n\r\n\t// Get settings from data-attributes\r\n\tparseSettings() {\r\n\t\tconst settings = this.el.getAttribute('data-settings') || '{}';\r\n\t\treturn JSON.parse(settings);\r\n\t}\r\n\r\n\t/*\r\n\t*\tSearch logic\r\n\t*/\r\n\r\n\thandleKeyup(e) {\r\n\t\tconst ignoredKeyCodes = [\r\n\t\t\t13, // return\r\n\t\t\t27, // esc\r\n\t\t\t37, // left arrow\r\n\t\t\t38, // up arrow\r\n\t\t\t39, // right arrow\r\n\t\t\t40, // down arrow\r\n\t\t];\r\n\r\n\t\tif (ignoredKeyCodes.indexOf(e.keyCode) > -1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.updateResults();\r\n\t}\r\n\r\n\t// On click on awesomplete list-item\r\n\thandleSelect(e) {\r\n\t\tthis.dom.searchInput.value = e.text;\r\n\t\tthis.submitForm();\r\n\t}\r\n\r\n\tupdateResults() {\r\n\t\tconst query = this.dom.searchInput.value;\r\n\r\n\t\tif (query.length < this.settings.minChars) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.fetchResults(query).then((json) => {\r\n\t\t\tthis.awesomplete.list = SearchBar.toAwesompleteList(json);\r\n\t\t});\r\n\t}\r\n\r\n\t// Get the input value and search\r\n\tsubmitForm() {\r\n\t\tconst query = this.dom.searchInput.value.trim();\r\n\t\tif (!query) return;\r\n\t\tconst target = this.settings.searchPage + encodeURIComponent(query);\r\n\t\twindow.location.href = target;\r\n\t}\r\n\r\n\tstatic toAwesompleteList(json) {\r\n\t\tconst jsonResult = JSON.parse(json);\r\n\t\treturn jsonResult.map(result => ({\r\n\t\t\tlabel: `${result.name}`,\r\n\t\t\tvalue: result.name\r\n\t\t}));\r\n\t}\r\n}\r\n","export function searchTypeahead(endpoint, tags, searchString) {\r\n\tconst tagArray = tags.split(',');\r\n\tconst path = `${endpoint}?query=${searchString}&tags=${tagArray}`;\r\n\t\r\n\treturn new Promise((resolve) => {\r\n\t\tfetch(path).then((response) => {\r\n\t\t\tresponse.json().then((json) => {\r\n\t\t\t\tresolve(json);\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n}\r\n","const suggestions = [\r\n\t{ name: '2-Ethylhexanol' },\r\n\t{ name: '2-Ethylhexanoic Acid' },\r\n\t{ name: '5 ways to upgrade feed' },\r\n\t{ name: 'Adhesives' },\r\n\t{ name: 'BioPlastics' },\r\n\t{ name: 'Biodegradable plastic with Capa' },\r\n\t{ name: 'Albin, SPPO Plant' },\r\n\t{ name: 'Benchmark for non-phthalate plasticizers' },\r\n\t{ name: 'BioPlastics: The Re-Invention of Plastics via Renewable Chemicals 2015' },\r\n\t{ name: 'Glycerine tech' },\r\n\t{ name: 'Neopentyl Glycol molten' },\r\n\t{ name: 'Molds and mycotoxins' },\r\n\t{ name: 'New ProMyr website launched' },\r\n\t{ name: 'Metalworking fluids' },\r\n\t{ name: 'Perstorp acquires TallOil' },\r\n\t{ name: 'Chaitali Danave' },\r\n\t{ name: 'Natalia Sapranova' },\r\n];\r\n\r\nconst emulatedNetworkDelay = 1500;\r\n\r\nexport function searchTypeaheadTest() {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tresolve(\r\n\t\t\t\tsuggestions.map(s => ({\r\n\t\t\t\t\tname: s.name\r\n\t\t\t\t}))\r\n\t\t\t);\r\n\t\t}, emulatedNetworkDelay);\r\n\t});\r\n}\r\n"],"sourceRoot":""}
中国宁德
有道专业翻译
Crown-football-billing@lsxythnjy.com
体育平台
中国彭泽网
数字标牌网
皇冠体育投注
Asian-gaming-platform-rankings-hr@cesametal.net
北控集团
365体育
皇冠app下载
安华卫浴官方网站
Crown-Sports-admin@yopin365.com
Crown-Sports-service@hwfj-art.com
Sports-platform-contactus@tassahil.net
Asian-sports-betting-platform-billing@kongtiao11.com
芙丽芳丝
Sun-City-official-website-media@ruansaen.com
体育博彩平台排名
Gaming-platform-customerservice@rf518.com
我爱卡汽车贷款频道
58同城咸阳分类信息网
大江东网
寻医问药药品网
德尔股份
佛山易登网
大汉印邦
游戏多网页游戏平台
日语入门
|电玩之家索尼PS2模拟中文游戏
站点地图
同仁社区
TT浏览器
重庆三峡医药高等专科学校