{"version":3,"sources":["webpack:////home/vsts/work/1/s/src/views/blocks/pageListingListViewBlock/js/pageListingListViewBlock.js","webpack:///./api.js","webpack:///./constants.js"],"names":["Api","CLS","BLK","PageListingListViewBlock","$el","this","pagination","$","pageSize","pageNumber","totalCount","pageTypes","category","keyword","jsonObject","data","query","initApi","switchView","require","parse","window","location","href","length","val","setPageListingListViewBlock","on","e","searchType","param","resetTabStyle","arr","split","filters","i","encodeURI","urlString","searchUrl","replace","API_SEARCH_KEYWORD","formatPageTypes","apiEndpoints","url","api","params","$filterParam","apiUrl","getFilters","getApi","filterParam","keys","Object","key","addClass","removeClass","fetchResults","then","response","results","renderList","renderSwitchTab","renderPagination","renderOverview","find","html","hideResultElements","paginationModel","pageTotal","trigger","allCount","postCount","postsCount","pageCount","pagesCount","text","theTemplateScript","precompiled","Function","handlebars","precompile","theCompiledHtml","template","children","each","index","el","target","siblings","currentTarget","hasClass","number1","number2","str","fetch","headers","json","Promise","resolve","catch","error","reject","callApi","method","body","JSON","stringify","Headers","ENDPOINT_URL","API_SEARCH_LOCATION_KEYWORD"],"mappings":"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","file":"block-41.4dfb74c0df403e09dc00.js","sourcesContent":["const NS = 'PageListingListViewBlock';\r\nconst CLS = 'pageListingListViewBlock';\r\nconst BLK = '.' + CLS + '-';\r\nimport * as Api from '../../../../global/js/api';\r\nimport {ENDPOINT_URL, API_SEARCH_KEYWORD} from '../../../../global/js/constants';\r\nimport handlebars from 'handlebars';\r\n\r\nexport class PageListingListViewBlock {\r\n\tconstructor($el) {\r\n\t\t// $el is the blk node return by the loadPageListingListViewBlock function\r\n\t\tthis.$el = $el;\r\n\t\tthis.pagination = $('.pagination');\r\n\t\t// pageSize can be set up to any number depends on requirement...\r\n\t\tthis.pageSize = 10;\r\n\t\tthis.pageNumber = 1;\r\n\t\tthis.totalCount = 0;\r\n\t\tthis.pageTypes = '';\r\n\t\tthis.category = 'all';\r\n\t\tthis.keyword = '';\r\n\t\tthis.jsonObject = $('main.searchPage').data('json');\r\n\t}\r\n\r\n\tinit() {\r\n\t\tthis.initApi();\r\n\t\tthis.switchView();\r\n\r\n\t\tlet query = require('url').parse(window.location.href, true).query;\r\n\t\tif(query.keyword != null && query.keyword != '') {\r\n\t\t\tthis.keyword = query.keyword;\r\n\t\t\tthis.initApi();\r\n\t\t\tif ( $('.searchBlock-input').length ) {\r\n\t\t\t\t$('.searchBlock-input').val(query.keyword);\r\n\t\t\t}\r\n\t\t\tthis.setPageListingListViewBlock();\r\n\t\t}\r\n\r\n\t\t// trigger refresh the block when click search...\r\n\t\t$(this.$el).on('pageListingListViewBlockSearch', (e, searchType, param) => {\r\n\t\t\t/**\r\n\t\t\t * search Type: keyword, pageNumber, pageTypes\r\n\t\t\t */\r\n\t\t\tif(searchType === 'keyword') {\r\n\t\t\t\tthis.keyword = param;\r\n\t\t\t\tthis.pageNumber = 1;\r\n\t\t\t\tthis.category = 'all';\r\n\t\t\t\tthis.pageTypes = '';\r\n\t\t\t\tthis.resetTabStyle();\r\n\t\t\t} else if(searchType === 'pageNumber') {\r\n\t\t\t\tthis.pageNumber = param;\r\n\t\t\t} else if(searchType === 'category') {\r\n\t\t\t\t/**\r\n\t\t\t\t * @TODO\r\n\t\t\t\t */\r\n\t\t\t\tthis.category = param;\r\n\t\t\t\tthis.pageNumber = 1;\r\n\t\t\t}\r\n\r\n\t\t\t// init API params;\r\n\t\t\tthis.initApi();\r\n\t\t\tthis.setPageListingListViewBlock();\r\n\t\t});\r\n\t}\r\n\r\n\tformatPageTypes(pageTypes) {\r\n\t\tlet arr = pageTypes.split(',');\r\n\t\tlet filters = '';\r\n\r\n\t\tfor (let i = arr.length - 1; i >= 0; i--) {\r\n\t\t\tfilters += encodeURI('pageTypes') + '=' + encodeURI(arr[i]) + '&';\r\n\t\t}\r\n\r\n\t\treturn filters;\r\n\t}\r\n\r\n\tinitApi() {\r\n\t\t/**\r\n\t\t * @param {keyword} required\r\n\t\t * @param {pageNumber} required\r\n\t\t * @param {pageSize} required\r\n\t\t * @param {category} optional \"all, post, page\"\r\n\t\t * @param {pageTypes} optional \"SectionLandingPage\"\r\n\t\t */\r\n\t\tlet urlString = this.jsonObject.searchUrl.replace(API_SEARCH_KEYWORD, '');\r\n\r\n\t\tthis.pageTypes = this.formatPageTypes(this.jsonObject.pageTypes);\r\n\r\n\t\tthis.apiEndpoints = {\r\n\t\t\turl: urlString,\r\n\t\t\tapi: API_SEARCH_KEYWORD,\r\n\t\t\tparams: {\r\n\t\t\t\t'keyword': this.keyword,\r\n\t\t\t\t'pageNumber': this.pageNumber,\r\n\t\t\t\t'pageSize': this.pageSize,\r\n\t\t\t\t'category': this.category,\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * due to differenceo of the pageTypes\r\n\t\t\t * will be wrapped in different function\r\n\t\t\t */\r\n\t\t};\r\n\t}\r\n\r\n\tfetchResults(url, api, $filterParam) {\r\n\t\tlet paramsString = this.getFilters($filterParam);\r\n\t\t/**\r\n\t\t * due to differenceo of the pageTypes\r\n\t\t * will be wrapped in different function\r\n\t\t */\r\n\t\tlet apiUrl = url + api + '?' + paramsString + this.pageTypes;\r\n\r\n\t\treturn Api.getApi(apiUrl);\r\n\t}\r\n\r\n\tgetFilters(filterParam) {\r\n\t\tlet keys = Object.keys(filterParam);\r\n\t\tlet filters = '';\r\n\r\n\t\tfor (let i = keys.length - 1; i >= 0; i--) {\r\n\t\t\tlet key = keys[i];\r\n\r\n\t\t\tfilters += encodeURI(key) + '=' + encodeURI(filterParam[key]) + '&';\r\n\t\t}\r\n\r\n\t\treturn filters;\r\n\t}\r\n\r\n\tsetPageListingListViewBlock() {\r\n\t\t// Add Some logic here\r\n\r\n\t\t$(`.pageListingListViewBlock-result-list`).addClass('d-none');\r\n\t\t$(`${BLK}viewContainer-spinner`).removeClass('d-none');\r\n\t\t$(`${BLK}viewContainer-spinner`).addClass('d-flex');\r\n\r\n\t\tthis.fetchResults(this.apiEndpoints.url, this.apiEndpoints.api, this.apiEndpoints.params).then((response) => {\r\n\t\t\tif (response &&\r\n\t\t\t\tresponse.data &&\r\n\t\t\t\tresponse.data.results &&\r\n\t\t\t\tresponse.data.results.length > 0) {\r\n\t\t\t\t/**\r\n\t\t\t\t * 1. render list\r\n\t\t\t\t * 2. render switch tab\r\n\t\t\t\t * 3. render pagination\r\n\t\t\t\t */\r\n\t\t\t\t$(`.pageListingListViewBlock`).removeClass('d-none');\r\n\t\t\t\t$(`.pageListingListViewBlock-result-list`).removeClass('d-none');\r\n\t\t\t\t$(`${BLK}viewContainer-spinner`).addClass('d-none');\r\n\t\t\t\t$(`${BLK}viewContainer-spinner`).removeClass('d-flex');\r\n\r\n\t\t\t\tthis.renderList(response.data);\r\n\t\t\t\tthis.renderSwitchTab(response.data);\r\n\t\t\t\tthis.renderPagination(response.data);\r\n\t\t\t\tthis.renderOverview(response.data);\r\n\t\t\t} else {\r\n\t\t\t\t$(`.pageListingListViewBlock`).removeClass('d-none');\r\n\t\t\t\t$(`.pageListingListViewBlock-result-list`).removeClass('d-none');\r\n\t\t\t\t$(`${BLK}viewContainer-spinner`).addClass('d-none');\r\n\t\t\t\t$(`${BLK}viewContainer-spinner`).removeClass('d-flex');\r\n\t\t\t\t$(this.$el).find(`.pageListingListViewBlock-result-list`).html(`\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Oops, No result found...

\r\n\t\t\t\t\t
\r\n\t\t\t\t`);\r\n\t\t\t\tthis.hideResultElements();\r\n\r\n\t\t\t\tconsole.log('return response is null');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thideResultElements() {\r\n\t\t$(`${BLK}overview`).addClass('d-none');\r\n\t\t$(`${BLK}tab-wrapper`).removeClass('d-flex');\r\n\t\t$(`${BLK}tab-wrapper`).addClass('d-none');\r\n\t\t$(`${BLK}pagination-wrapper`).removeClass('d-flex');\r\n\t\t$(`${BLK}pagination-wrapper`).addClass('d-none');\r\n\t}\r\n\r\n\trenderPagination(data) {\r\n\t\tlet paginationModel = {\r\n\t\t\tpageNumber: data.pageNumber,\r\n\t\t\tpageTotal: data.pageTotal,\r\n\t\t};\r\n\r\n\t\t$(`${BLK}pagination-wrapper`).removeClass('d-none');\r\n\t\t$(`${BLK}pagination-wrapper`).addClass('d-flex');\r\n\r\n\t\tthis.pagination.trigger('paginationSetPagination', paginationModel);\r\n\t}\r\n\r\n\trenderSwitchTab(data) {\r\n\t\tlet allCount = data.totalCount;\r\n\t\tlet postCount = data.postsCount;\r\n\t\tlet pageCount = data.pagesCount;\r\n\r\n\t\t$(`${BLK}tab-all`).text(`All results (${allCount})`);\r\n\t\t$(`${BLK}tab-posts`).text(`Posts (${postCount})`);\r\n\t\t$(`${BLK}tab-pages`).text(`Pages (${pageCount})`);\r\n\r\n\t\t$(`${BLK}tab-wrapper`).removeClass('d-none');\r\n\t\t$(`${BLK}tab-wrapper`).addClass('d-flex');\r\n\t}\r\n\r\n\trenderList(data) {\r\n\t\t// console.log(data);\r\n\r\n\t\tlet theTemplateScript = `\r\n\t\t\t{{#each results as |result|}}\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\"Image\"/\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{{result.date}}
\r\n\t\t\t\t\t\t\t {{result.title}} \r\n\t\t\t\t\t\t\t
{{result.summary}}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t{{/each}}\r\n\t\t`;\r\n\r\n\t\tlet precompiled = new Function('return ' + handlebars.precompile(theTemplateScript))();\r\n\t\tlet theTemplate = handlebars.template(precompiled);\r\n\t\tlet theCompiledHtml = theTemplate(data);\r\n\r\n\t\t$(this.$el).find(`.pageListingListViewBlock-result-list`).html(theCompiledHtml);\r\n\t}\r\n\r\n\tresetTabStyle() {\r\n\t\t// reset to tab-all\r\n\t\t$(`.${CLS}-tab-wrapper`).children().removeClass(`${CLS}-tab-active`);\r\n\t\t$(`.${CLS}-tab-all`).addClass(`${CLS}-tab-active`);\r\n\t}\r\n\r\n\tswitchView() {\r\n\t\t$(`.${CLS}-tab-wrapper`).children().each((index, el)=>{\r\n\t\t\t$(el).on('click', (e)=>{\r\n\t\t\t\t$(e.target).addClass(`${CLS}-tab-active`);\r\n\t\t\t\t$(e.target).siblings().removeClass(`${CLS}-tab-active`);\r\n\r\n\t\t\t\tif($(e.currentTarget).hasClass(`${CLS}-tab-all`)) {\r\n\t\t\t\t\tthis.category = 'all';\r\n\r\n\t\t\t\t\t$(this.$el).trigger('pageListingListViewBlockSearch', ['category', this.category]);\r\n\t\t\t\t}\r\n\t\t\t\tif($(e.currentTarget).hasClass(`${CLS}-tab-posts`)) {\r\n\t\t\t\t\tthis.category = 'posts';\r\n\r\n\t\t\t\t\t$(this.$el).trigger('pageListingListViewBlockSearch', ['category', this.category]);\r\n\t\t\t\t}\r\n\t\t\t\tif($(e.currentTarget).hasClass(`${CLS}-tab-pages`)) {\r\n\t\t\t\t\tthis.category = 'pages';\r\n\r\n\t\t\t\t\t$(this.$el).trigger('pageListingListViewBlockSearch', ['category', this.category]);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\trenderOverview(data) {\r\n\t\tif(this.category === 'all') {\r\n\t\t\tthis.totalCount = data.totalCount;\r\n\t\t} else if(this.category === 'posts') {\r\n\t\t\tthis.totalCount = data.postsCount;\r\n\t\t} else if(this.category === 'pages') {\r\n\t\t\tthis.totalCount = data.pagesCount;\r\n\t\t}\r\n\r\n\t\tlet number1 = this.pageSize * ( this.pageNumber - 1 ) + 1;\r\n\t\tlet number2 = this.pageSize * this.pageNumber;\r\n\t\tlet str = '';\r\n\r\n\t\tif(number2 > this.totalCount) {\r\n\t\t\tstr = `Showing Results ${number1}-${this.totalCount} of ${this.totalCount}`;\r\n\t\t} else {\r\n\t\t\tstr = `Showing Results ${number1}-${number2} of ${this.totalCount}`;\r\n\t\t}\r\n\t\t$(`${BLK}overview`).removeClass('d-none');\r\n\t\t$(`${BLK}overview`).text(str);\r\n\t}\r\n}\r\n","// fetch with GET does not allow body data\r\nexport function getApi(url) {\r\n\treturn fetch(url, {\r\n\t\theaders: {\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t},\r\n\t})\r\n\t\t.then((response) => response.json())\r\n\t\t.then((response) => Promise.resolve(response))\r\n\t\t.catch((error) => {\r\n\t\t\tPromise.reject(error);\r\n\t\t});\r\n}\r\n\r\n// fetch with POST and others (DELETE, etc.)\r\nexport function callApi(url, data = {}, method = 'POST') {\r\n\treturn fetch(url, {\r\n\t\tmethod: method,\r\n\t\tbody: JSON.stringify(data),\r\n\t\theaders: new Headers({\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t}),\r\n\t})\r\n\t\t.then((response) => response.json())\r\n\t\t.then((response) => Promise.resolve(response))\r\n\t\t.catch((error) => {\r\n\t\t\tPromise.reject(error);\r\n\t\t});\r\n}\r\n","// const ENDPOINT_URL = '{switch from dev api to real API}';\r\nconst ENDPOINT_URL = 'https://int.boltonclarke.com.au';\r\n\r\n// API services\r\nconst API_SEARCH_KEYWORD = '/api/search/keyword'; // Keyword search api for page listing\r\nconst API_SEARCH_LOCATION_KEYWORD = '/api/search/location'; // Keyword search api for location search\r\n\r\nexport {\r\n\tENDPOINT_URL,\r\n\tAPI_SEARCH_KEYWORD,\r\n\tAPI_SEARCH_LOCATION_KEYWORD,\r\n};\r\n"],"sourceRoot":""}