{"version":3,"sources":["webpack:////Users/xingli/Documents/projects/projects/ara-fe/src/views/blocks/courseSearchContainer/js/courseSearchContainer.js","webpack:///./pagination.js"],"names":["getTemplate","__webpack_require__","_spinnerContainerWidgetService","_alertService","_pagination","Api","_utils","CLS","CourseSearchContainer","element","_this","this","_classCallCheck","$element","$","$pagination","find","$content","$list","$result","$browse","$search","$searchInput","$searchBtn","$select","$error","$footer","$filter","getApi","data","pageSize","articleTileTemplate","spinnerContainerWidgetService","alertService","params","keyword","pageNumber","firstLoadRequest","filters","parsedQuery","utils","queryStringParsed","location","search","keys","Object","i","length","updateBrowseUrl","getItems","handlePagination","handleKeyword","on","val","window","history","replaceState","updateUrlParameter","href","_this2","getCurrentFilters","attr","k","trim","_this3","_","debounce","event","currentTarget","key","isEmpty","$labels","$label","groupkey","bool","hasClass","undefined","includes","push","_this4","e","toggleClass","_this5","url","html","create","callApi","then","successful","getPrimaryMarkup","removeClass","destroy","items","results","facets","addClass","tmpl","filterTmpl","courseTileTemplate","filterTemplate","forEach","filter","handleFilter","item","date","assign","hasDate","description","txt","document","createElement","innerHTML","value","setResultText","totalCount","paginationjs","catch","error","start","end","itemsPerPage","arguments","itemsCount","paginationGroup","self","pages","Math","ceil","Number","pagination","dataSource","done","res","prevText","nextText","hideWhenLessThanOnePage","triggerPagingOnInit","ulClassName","callback","trigger"],"mappings":"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","file":"block-5.317c86355b23b3978b5f.js","sourcesContent":["const NS = 'CourseSearchContainer';\nconst CLS = 'courseSearchContainer';\n\nimport * as getTemplate from '../../../../global/js/template';\nimport { spinnerContainerWidgetService } from '../../../../global/js/ara/spinnerContainerWidgetService';\nimport { alertService } from '../../../../global/js/ara/alertService';\nimport { paginationjs } from '../../../../global/js/pagination';\nimport * as Api from '../../../../global/js/api';\nimport {utils} from '../../../../global/js/utils';\n// import queryString from 'query-string';\n\nexport class CourseSearchContainer {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.$pagination = this.$element.find(`.${CLS}-pagination`);\n\t\tthis.$content = this.$element.find(`.${CLS}-content`);\n\t\tthis.$list = this.$element.find(`.${CLS}-list`);\n\t\tthis.$result = this.$element.find(`.${CLS}-result`);\n\t\tthis.$browse = this.$element.find(`.${CLS}-browse`);\n\n\t\tthis.$search = this.$element.find(`.${CLS}-search`);\n\t\t// this.$searchInput = this.$element.find(`.${CLS}-search-input`);\n\t\tthis.$searchInput = this.$element.find(`.searchPageAutoCompleteWidget-searchInput`);\n\t\tthis.$searchBtn = this.$element.find(`.${CLS}-search-btn`);\n\n\t\tthis.$select = this.$element.find(`.${CLS}-select`);\n\t\tthis.$error = this.$element.find(`.${CLS}-error`);\n\t\tthis.$footer = this.$element.find(`.${CLS}-footer`);\n\t\tthis.$filter = this.$element.find(`.${CLS}-filterWrap`);\n\n\t\tthis.getApi = this.$element.data('api');\n\t\tthis.pageSize = this.$element.data('pageSize') || 9;\n\n\t\tthis.articleTileTemplate = null;\n\t\tthis.spinnerContainerWidgetService = spinnerContainerWidgetService;\n\t\tthis.alertService = alertService;\n\t\t// this.firstLoadRequest = true;\n\n\t\tthis.params = {\n\t\t\t\"keyword\":\"\",\n\t\t\t\"pageNumber\": 1,\n\t\t\t\"firstLoadRequest\": true,\n\t\t\t\"pageSize\": this.pageSize,\n\t\t\t\"filters\":{\n\n\t\t\t}\n\t\t};\n\n\t\tlet parsedQuery = utils.queryStringParsed(location.search);\n\t\tlet keys = Object.keys(parsedQuery);\n\n\t\t// console.log(location.search, parsedQuery, keys);\n\n\t\tif(parsedQuery.keyword && parsedQuery.keyword !== '') {\n\t\t\tthis.params['keyword'] = parsedQuery.keyword;\n\t\t}\n\n\t\tfor(let i = 0; i < keys.length; i++) {\n\t\t\tthis.params[keys[i]] = parsedQuery[keys[i]]\n\t\t}\n\t\t// console.log(this.params);\n\n\n\t\tthis.updateBrowseUrl();\n\n\t\tthis.getItems();\n\t\tthis.handlePagination();\n\t\tthis.handleKeyword();\n\n\t\tthis.$searchInput.on('renderCourseSearchContainer', () => {\n\t\t\tconsole.log('trigger la renderCourseSearchContainer', this.params, this.$searchInput.val());\n\t\t\tthis.params.keyword = this.$searchInput.val();\n\t\t\tthis.updateBrowseUrl();\n\t\t\twindow.history.replaceState('', '', utils.updateUrlParameter(window.location.href, 'keyword', this.params['keyword']));\n\t\t\tthis.getItems();\n\t\t})\n\t}\n\n\thandlePagination() {\n\t\tthis.$element.on('pagination.trigger', () => {\n\t\t\tthis.getCurrentFilters();\n\t\t\tthis.getItems();\n\t\t});\n\t}\n\n\tupdateBrowseUrl() {\n\t\tlet href = this.$browse.attr('href');\n\t\tlet k = this.$searchInput.val().trim();\n\t\t// this.$browse.attr('href', utils.updateUrlParameter(href, 'keyword', this.params['keyword']));\n\t\tthis.$browse.attr('href', utils.updateUrlParameter(href, 'keyword', k));\n\t}\n\n\thandleKeyword() {\n\t\t// this.$searchInput.val(this.params['keyword']);\n\n\t\tthis.$searchInput.on('keyup', _.debounce((event) => {\n\t\t\tlet keyword = $(event.currentTarget).val().trim();\n\t\t\tconsole.log('hahahahahha', keyword);\n\n\t\t\tif(event.key === 'Enter') {\n\t\t\t\tconsole.log('container enter!!!');\n\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(_.isEmpty(keyword)) {\n\t\t\t\tthis.params['keyword'] = '';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.params['keyword'] = $(event.currentTarget).val().trim();\n\t\t\t}\n\t\t\tthis.params.pageNumber = 1;\n\t\t\tthis.params.filters = {};\n\n\t\t\tthis.updateBrowseUrl();\n\t\t\twindow.history.replaceState('', '', utils.updateUrlParameter(window.location.href, 'keyword', this.params['keyword']));\n\t\t\tthis.getItems();\n\t\t}, 250));\n\n\t\tthis.$searchBtn.on('click', _.debounce((event) => {\n\t\t\tlet keyword = this.$searchInput.val().trim();\n\n\t\t\tif(_.isEmpty(keyword)) {\n\t\t\t\tthis.params['keyword'] = '';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.params['keyword'] = keyword;\n\t\t\t}\n\n\t\t\tthis.params.pageNumber = 1;\n\t\t\tthis.params.filters = {};\n\t\t\tthis.getItems();\n\t\t}, 250));\n\t}\n\n\t// {\n\t// \"keyword\":\"test\",\n\t// \"pageNumber\":1,\n\t// \"pageSize\":10,\n\t// \"sort\":1,\n\t// \"filters\":{\n\t// \"searchPublishDate\":[\n\t// \"2018-01-01|2018-12-31\",\n\t// \"2019-07-01|2019-07-30\"\n\t// ]\n\t// }\n\t// }\n\n\tgetCurrentFilters() {\n\t\tlet $labels = $(this.$filter.find('span.badge'));\n\t\tthis.params.filters = {};\n\n\t\tfor (let i = 0; i < $labels.length; i++) {\n\t\t\tlet $label = $($labels[i]);\n\t\t\tlet groupkey = $label.data('groupkey');\n\t\t\tlet key = $label.data('key');\n\t\t\tlet bool = $label.hasClass('true');\n\n\t\t\tif(!this.params.filters[groupkey] || this.params.filters[groupkey] === undefined) {\n\t\t\t\tif(bool) {\n\t\t\t\t\tthis.params.filters[groupkey] = [key];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(bool) {\n\t\t\t\t\tif(!this.params.filters[groupkey].includes(key)) {\n\t\t\t\t\t\tthis.params.filters[groupkey].push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\thandleFilter() {\n\t\tthis.$filter.find(`span`).on('click', (e) => {\n\t\t\t$(e.currentTarget).toggleClass('true false')\n\n\t\t\tthis.getCurrentFilters();\n\t\t\tconsole.log(this.params.filters, typeof this.params.filters);\n\t\t\tthis.params.pageNumber = 1;\n\t\t\tthis.getItems();\n\t\t});\n\t}\n\n\tgetItems() {\n\t\tlet url = this.getApi;\n\t\tif(!url) {\n\t\t\tconsole.error(`${NS}::Error - getItems. Please provide api-url on 'data-api'.`);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.$error.html('');\n\t\tthis.spinnerContainerWidgetService.create(this.$content);\n\n\t\tApi.callApi(url, this.params).then((data) => {\n\t\t\t// console.log(data);\n\t\t\tthis.params.firstLoadRequest = false;\n\t\t\t// internal server error\n\t\t\t// {\"successful\":false,\"failureMessage\":\"Failed to perform search: Value cannot be null.\\r\\nParameter name: source\",\"data\":null}\n\t\t\tif(data.successful == false) {\n\t\t\t\tthis.$list.html(this.alertService.getPrimaryMarkup(`Sorry, Failed to perform search.`));\n\t\t\t\tthis.$footer.removeClass('hasResults');\n\t\t\t\tthis.$result.html(null);\n\t\t\t\tthis.spinnerContainerWidgetService.destroy();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(data.data) {\n\t\t\t\tlet items = data.data.results;\n\t\t\t\tlet filters = data.data.facets;\n\t\t\t\tif(this.$footer.hasClass('d-none')) {\n\t\t\t\t\tthis.$footer.removeClass('d-none');\n\t\t\t\t}\n\n\t\t\t\tif(items.length === 0) {\n\t\t\t\t\tthis.$list.html(this.alertService.getPrimaryMarkup(`Sorry, no results found.`));\n\t\t\t\t\tthis.$footer.removeClass('hasResults');\n\t\t\t\t\tthis.$footer.addClass('d-none');\n\t\t\t\t\tthis.$result.html(null);\n\t\t\t\t\tthis.spinnerContainerWidgetService.destroy();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet tmpl = '';\n\t\t\t\tlet filterTmpl = '';\n\n\t\t\t\tif(!this.articleTileTemplate) {\n\t\t\t\t\tthis.articleTileTemplate = getTemplate.courseTileTemplate();\n\t\t\t\t}\n\n\t\t\t\tif(!this.filterTemplate) {\n\t\t\t\t\tthis.filterTemplate = getTemplate.filterTemplate();\n\t\t\t\t}\n\t\t\t\t// render the filter\n\t\t\t\t_.forEach(filters, (filter) => {\n\t\t\t\t\t// console.log(filter);\n\t\t\t\t\tfilterTmpl += `\n\t\t\t\t\t\t${this.filterTemplate(filter)}\n\t\t\t\t\t`;\n\t\t\t\t});\n\t\t\t\tthis.$filter.html(`${filterTmpl}`);\n\t\t\t\tthis.handleFilter();\n\n\t\t\t\t// render article cell\n\t\t\t\t_.forEach(items, (item) => {\n\t\t\t\t\tif(item.date != '' && item.date != undefined ) {\n\t\t\t\t\t\titem = Object.assign(item, {hasDate: true});\n\t\t\t\t\t}\n\n\t\t\t\t\t// decode html into plain string txt\n\t\t\t\t\tif(item.description && item.description !== '') {\n\t\t\t\t\t\tlet txt = document.createElement('textarea');\n\t\t\t\t\t\ttxt.innerHTML = item.description;\n\t\t\t\t\t\titem.description = txt.value;\n\t\t\t\t\t}\n\n\t\t\t\t\t// console.log(item);\n\n\t\t\t\t\ttmpl += `\n\t\t\t\t\t
\n\t\t\t\t\t\t${this.articleTileTemplate(item)}\n\t\t\t\t\t
\n\t\t\t\t\t`;\n\t\t\t\t});\n\t\t\t\tthis.$list.html(`
${tmpl}
`);\n\n\t\t\t\tthis.$footer.addClass('hasResults');\n\n\t\t\t\t// render total result\n\t\t\t\tthis.setResultText(data.data.pageNumber, data.data.totalCount);\n\n\t\t\t\t// render pagination\n\t\t\t\tpaginationjs(this.pageSize, data.data.totalCount, this.$pagination, this);\n\t\t\t\tthis.spinnerContainerWidgetService.destroy();\n\t\t\t}\n\t\t}).catch((error) => {\n\t\t\tconsole.log(error);\n\t\t});\n\t}\n\n\tsetResultText(pageNumber, totalCount) {\n\t\tlet start = (pageNumber - 1) * this.pageSize || 1;\n\t\tlet end = this.pageSize > totalCount ? totalCount : pageNumber * this.pageSize;\n\t\t// console.log(end, this.pageSize, totalCount);\n\n\t\tthis.$result.html(`Showing ${start}-${end} of ${totalCount} results`);\n\t}\n}\n","import pagination from 'paginationjs';\n\nexport const paginationjs = (itemsPerPage = 10, itemsCount = 0, paginationGroup, self) => {\n\tlet pages = Math.ceil(Number(itemsCount) / Number(itemsPerPage));\n\tpaginationGroup.pagination({\n\t\tdataSource: (done) => {\n\t\t\tlet res = [];\n\t\t\tfor(let i = 1; i <= pages; i++) {\n\t\t\t\tres.push(i);\n\t\t\t}\n\t\t\tdone(res);\n\t\t},\n\t\tpageSize: 1,\n\t\tpageNumber: (self.params.pageNumber && self.params.pageNumber <= pages) ? self.params.pageNumber : 1,\n\t\tprevText: '',\n\t\tnextText: '',\n\t\thideWhenLessThanOnePage: false,\n\t\ttriggerPagingOnInit: false,\n\t\tulClassName: 'pagination',\n\t\tcallback: (data, pagination) => {\n\t\t\tself.params.pageNumber = pagination.pageNumber;\n\t\t\tself.$element.trigger('pagination.trigger');\n\t\t}\n\t});\n};\n"],"sourceRoot":""}