{"version":3,"sources":["webpack:////Users/xingli/Documents/projects/projects/ara-fe/src/views/widgets/searchPageAutoCompleteWidget/js/searchPageAutoCompleteWidget.js","webpack:///./api.js"],"names":["Api","__webpack_require__","_utils","CLS","WG","SearchPageAutoCompleteWidget","el","_classCallCheck","this","$el","$","emptyMessage","data","id","$searchResult","find","$searchInp","$searchList","searchPagePath","init","handleSearchInput","handleKeyboard","on","_","debounce","search","bind","e","_this","searchTerm","val","length","addClass","searchCall","then","isSuccessful","res","hits","renderedHtml","i","result","newText","matchResult","query","encodeURI","url","html","handleDocumentClick","removeClass","currentTarget","selectSearchLink","catch","error","endpoint","getApi","encodeURIComponent","text","matcher","RegExp","replace","term","fromClick","$activeItem","closeSearch","trigger","_this2","key","navigateSearch","isDown","$firstItem","$lastItem","$nextItem","next","$prevItem","prev","timeout","hasClass","$siteHeader","closest","setTimeout","_this3","utils","docClick","fetch","headers","Content-Type","response","json","Promise","resolve","reject","callApi","arguments","undefined","method","body","JSON","stringify","Headers","credentials","status","successful"],"mappings":"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","file":"widget-3.317c86355b23b3978b5f.js","sourcesContent":["\n// CONSTANTS are all caps.\nconst NS = 'SearchPageAutoCompleteWidget';\nconst CLS = 'searchPageAutoCompleteWidget';\nconst WG = '.' + CLS + '-';\nconst CLS_ACTIVE = 'is-active';\nconst CLS_HIDE = 'd-none';\n\n// Import stuff here if you need to or even better to import them dynamically\n// import $ from 'jquery'\nimport * as Api from '../../../../global/js/api';\nimport _ from 'lodash';\nimport {utils} from 'global/js/utils';\n\n\nexport class SearchPageAutoCompleteWidget {\n\tconstructor(el) {\n\t\tthis.el = el;\n\t\tthis.$el = $(el);\n\n\t\tthis.emptyMessage = this.$el.data('emptyMessage') || 'No result.';\n\t\tthis.id = this.$el.data('id');\n\t\tthis.$searchResult = this.$el.find(`${WG}searchResult`);\n\t\tthis.$searchInp = this.$el.find(`${WG}searchInput`);\n\t\tthis.$searchList = this.$el.find(`${WG}searchList`);\n\t\tthis.searchPagePath = this.$el.data('search-page');\n\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tthis.handleSearchInput();\n\t\tthis.handleKeyboard();\n\t}\n\n\thandleSearchInput() {\n\t\tconst This = this;\n\t\tThis.$searchInp.on('input', _.debounce(This.search.bind(This), 500));\n\t}\n\n\tsearch(e) {\n\t\tlet searchTerm = this.$searchInp.val();\n\n\t\tif (searchTerm.length < 3) {\n\t\t\tthis.$searchResult.addClass(CLS_HIDE);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.searchCall(searchTerm).then((data) => {\n\t\t\tif (Api.isSuccessful(data)) {\n\t\t\t\t// http://www.mocky.io/v2/5dca28d433000071003deb58\n\t\t\t\tlet res = data.hits || [];\n\t\t\t\tif (res.length > 0) {\n\t\t\t\t\tlet renderedHtml = '';\n\t\t\t\t\tfor (let i = 0; i < res.length; i++) {\n\t\t\t\t\t\tlet result = res[i];\n\t\t\t\t\t\tlet newText = this.matchResult(result.query);\n\t\t\t\t\t\tlet param = encodeURI(result.query);\n\t\t\t\t\t\tlet url = result.url;\n\n\t\t\t\t\t\t// ${newText}\n\n\t\t\t\t\t\trenderedHtml += `\n\t\t\t\t\t\t