{"version":3,"sources":["Honeywell.ClientModel.PagingController.ts"],"names":["PagingController","_itemCount","_queryStringParams","_norelad","_showLast","_this","this","renderPagination","values","length","pagination","itemCount","noreload","showLast","settings","IsEnabled","TotalResults","CurrentIndex","getCurentIndexFromQueryString","PageLinks","PerPage","IsFirstPage","CurrentPage","Math","ceil","TotalPages","IsLastPage","$","hide","lnksList","i","toString","startIndex","leftArrowPageLink1","display","link","arrow","prev","cssclass","push","leftArrowPageLink","getLink","startIndexKey","queryStringParams","Object","keys","k","hasOwnProperty","numbersLink","noLink","parseInt","rightArrowPageLink1","next","rightArrowPageLink","data","Pagination","html","trigger","document","on","e","JSRequest","EnsureSetup","Honeywell_ClientModel_MainHelper_1","MainHelper","configSettings","PaginationItemsPerPage","noReload","filter1Key","filter2Key","showLastLink","prototype","loadPagination","paginationFor","templatePromise","Honeywell_ClientModel_TemplateService_1","TemplateService","getTemplate","settingsPromise","getPaginationSettings","Q","all","then","catch","handleError","pp","ShowPaginationOnVideos","PaginationItemsPerPageOnVideos","ShowPaginationOnApps","PaginationItemsPerPageOnApps","ShowPaginationOnPressReleases","PaginationItemsPerPageOnPressReleases","ShowPaginationOnEvents","PaginationItemsPerPageOnEvents","ShowPaginationOnSearchResults","SearchPaginationItemsPerPage","ShowPaginationOnProductInfoResults","ProductInfoPaginationItemsPerPage","ShowPaginationOnFaq","PaginationItemsPerPageOnFaq","ShowPaginationOnTraining","PaginationItemsPerPageOnTraining","resolve","reason","startIndexKeyValue","window","location","pathname","aq","getAllHashQueryKeyValues","each","ind","elem","filter","getHashQueryString","key","searchType","sort","getLinkWithFilters","list","max","undefined","val","toLowerCase","indexOf","startDate","trim","endDate","value","getValueFromQueryString","exports"],"mappings":"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","file":"Honeywell.ClientModel.PagingController.js","sourcesContent":["///<reference path=\"typings/handlebar/handlebars.d.ts\"/>\r\nimport {DataService} from \"./Honeywell.ClientModel.DataService\";\r\nimport {TemplateService} from \"./Honeywell.ClientModel.TemplateService\";\r\nimport {MainHelper} from \"./Honeywell.ClientModel.MainHelper\";\r\nimport * as Q from \"q\";\r\nexport class PagingController {\r\n\r\n\r\n itemCount: any;\r\n startIndexKey: string;\r\n filter1Key: string;\r\n filter2Key: string;\r\n noReload: boolean;\r\n queryStringParams: string[];\r\n settings: any;\r\n showLastLink: boolean;\r\n constructor(_itemCount: any, _queryStringParams: string[] = null, _norelad: boolean = null, _showLast: boolean = true) {\r\n $(document).on('SPContextLoaded', function (e) {\r\n JSRequest.EnsureSetup();\r\n if (MainHelper.configSettings.PaginationItemsPerPage !== null) {\r\n\r\n }\r\n });\r\n this.itemCount = _itemCount;\r\n this.noReload = _norelad;\r\n this.queryStringParams = _queryStringParams;\r\n this.startIndexKey = \"start1\";\r\n this.filter1Key = \"filter1\";\r\n this.filter2Key = \"filter2\";\r\n this.showLastLink = _showLast;\r\n }\r\n \r\n /**\r\n * This methods loads info. and also applies template\r\n */\r\n loadPagination(paginationFor: string = null) {\r\n var templatePromise = new TemplateService(\"tpl_Pagination.html\").getTemplate();\r\n var settingsPromise = PagingController.prototype.getPaginationSettings(paginationFor);\r\n return Q.all<any>([this.itemCount, templatePromise, settingsPromise, this.noReload, this.showLastLink]).then(this.renderPagination).catch(this.handleError);\r\n }\r\n\r\n getPaginationSettings(pp) {\r\n var settings = {};\r\n settings[\"List\"] = pp;\r\n\r\n if (pp === \"Videos\") {\r\n settings[\"PaginationEnabled\"] = MainHelper.configSettings.ShowPaginationOnVideos;\r\n settings[\"ItemsPerPage\"] = MainHelper.configSettings.PaginationItemsPerPageOnVideos;\r\n }\r\n else if (pp == \"Apps\") {\r\n settings[\"PaginationEnabled\"] = MainHelper.configSettings.ShowPaginationOnApps;\r\n settings[\"ItemsPerPage\"] = MainHelper.configSettings.PaginationItemsPerPageOnApps;\r\n }\r\n else if (pp == \"PressReleasesList\") {\r\n settings[\"PaginationEnabled\"] = MainHelper.configSettings.ShowPaginationOnPressReleases;\r\n settings[\"ItemsPerPage\"] = MainHelper.configSettings.PaginationItemsPerPageOnPressReleases;\r\n }\r\n else if (pp == \"EventsList\") {\r\n settings[\"PaginationEnabled\"] = MainHelper.configSettings.ShowPaginationOnEvents;\r\n settings[\"ItemsPerPage\"] = MainHelper.configSettings.PaginationItemsPerPageOnEvents;\r\n }\r\n else if (pp == \"SearchResults\") {\r\n settings[\"PaginationEnabled\"] = MainHelper.configSettings.ShowPaginationOnSearchResults;\r\n settings[\"ItemsPerPage\"] = MainHelper.configSettings.SearchPaginationItemsPerPage;\r\n }\r\n else if (pp == \"ProductInfoResults\") {\r\n settings[\"PaginationEnabled\"] = MainHelper.configSettings.ShowPaginationOnProductInfoResults;\r\n settings[\"ItemsPerPage\"] = MainHelper.configSettings.ProductInfoPaginationItemsPerPage;\r\n }\r\n else if (pp == \"FAQ\") {\r\n settings[\"PaginationEnabled\"] = MainHelper.configSettings.ShowPaginationOnFaq;\r\n settings[\"ItemsPerPage\"] = MainHelper.configSettings.PaginationItemsPerPageOnFaq;\r\n }\r\n else if (pp == \"Training\") {\r\n settings[\"PaginationEnabled\"] = MainHelper.configSettings.ShowPaginationOnTraining;\r\n settings[\"ItemsPerPage\"] = MainHelper.configSettings.PaginationItemsPerPageOnTraining;\r\n }\r\n else {\r\n settings[\"PaginationEnabled\"] = true;\r\n settings[\"ItemsPerPage\"] = 2;\r\n }\r\n return Q.resolve(settings);\r\n }\r\n\r\n /**\r\n * I re-implemented this method to be synchronous.\r\n */\r\n renderPagination = (values: any[]) => {\r\n //The array contains two elements.\r\n if (values.length < 3) {\r\n throw \"Too few elements in the array\";\r\n }\r\n var itemCount = <any[]> values[0];\r\n var noreload = <boolean> values[3];\r\n var showLast = <boolean> values[4];\r\n // Creating the pagination object\r\n var pagination: any;\r\n\r\n this.settings = values[2];\r\n pagination = {};\r\n pagination.IsEnabled = values[2][\"PaginationEnabled\"] === 'True';\r\n pagination.TotalResults = itemCount;\r\n pagination.CurrentIndex = this.getCurentIndexFromQueryString();\r\n pagination.PageLinks = [];\r\n pagination.PerPage = values[2][\"ItemsPerPage\"];\r\n pagination.IsFirstPage = (pagination.CurrentIndex === 0);\r\n pagination.CurrentPage = (pagination.CurrentIndex === 0) ? 1 : Math.ceil(pagination.CurrentIndex / pagination.PerPage) + 1;\r\n pagination.TotalPages = Math.ceil(pagination.TotalResults / pagination.PerPage);\r\n pagination.IsLastPage = pagination.CurrentPage == pagination.TotalPages;\r\n\r\n if (pagination.TotalPages < 2) {\r\n $('.js-pagination-row').hide();\r\n return;\r\n }\r\n\r\n if (itemCount > pagination.PerPage) {\r\n var lnksList = {};\r\n\r\n if (pagination.TotalPages < 5 && showLast) {\r\n for (var i = 1; i <= pagination.TotalPages; i++) {\r\n lnksList[i] = i.toString();\r\n }\r\n } else if (pagination.TotalPages < 4) {\r\n for (var i = 1; i <= pagination.TotalPages; i++) {\r\n lnksList[i] = i.toString();\r\n }\r\n }\r\n else {\r\n for (var i = 1; i <= pagination.TotalPages; i++) {\r\n if (pagination.CurrentPage === 1 && i < 4) {\r\n lnksList[i] = i.toString();\r\n }\r\n else if (pagination.CurrentPage === pagination.TotalPages && i > (pagination.TotalPages - 3)) {\r\n lnksList[i] = i.toString();\r\n }\r\n else if (pagination.TotalPages === i && showLast) {\r\n lnksList[i] = i.toString();\r\n }\r\n else if (i === 1) {\r\n lnksList[i] = i.toString();\r\n }\r\n else if (i === pagination.TotalPages && showLast) {\r\n lnksList[i] = i.toString();\r\n }\r\n else if (pagination.IsFirstPage && i === (pagination.CurrentPage + 3)) {\r\n lnksList[i] = '...';\r\n }\r\n else if (pagination.IsLastPage && i === (pagination.CurrentPage - 3)) {\r\n lnksList[i] = '...';\r\n }\r\n else if (i === (pagination.CurrentPage - 1) || i === pagination.CurrentPage || i === (pagination.CurrentPage + 1)) {\r\n lnksList[i] = i.toString();\r\n }\r\n else if (i === (pagination.CurrentPage - 2) || i === (pagination.CurrentPage + 2)) {\r\n lnksList[i] = '...';\r\n }\r\n }\r\n }\r\n if (pagination.IsFirstPage) {\r\n var startIndex = (pagination.CurrentPage * pagination.PerPage) - pagination.PerPage;\r\n\r\n var leftArrowPageLink1 = { display: '<', link: '#', arrow: true, prev: true, cssclass: 'disabled' }\r\n pagination.PageLinks.push(leftArrowPageLink1);\r\n }\r\n else {\r\n var startIndex = ((pagination.CurrentPage - 1) * pagination.PerPage) - pagination.PerPage;\r\n\r\n var leftArrowPageLink = { display: '<', link: this.getLink(this.startIndexKey + '=' + startIndex, this.queryStringParams, noreload, values[2]), arrow: true, prev: true }\r\n pagination.PageLinks.push(leftArrowPageLink);\r\n }\r\n if (Object.keys(lnksList).length > 0) {\r\n for (var k in lnksList) {\r\n // use hasOwnProperty to filter out keys from the Object.prototype\r\n if (lnksList.hasOwnProperty(k)) {\r\n var startIndex = ((pagination.CurrentPage - 1) * pagination.PerPage) - pagination.PerPage;\r\n if (lnksList[k] === '...') {\r\n var numbersLink = { display: lnksList[k], link: '#', noLink: true }\r\n pagination.PageLinks.push(numbersLink);\r\n }\r\n else if (parseInt(k) === pagination.CurrentPage) {\r\n var numbersLink = { display: lnksList[k], link: '', noLink: false }\r\n pagination.PageLinks.push(numbersLink);\r\n }\r\n else {\r\n var numbersLink = { display: lnksList[k], link: this.getLink(this.startIndexKey + '=' + (parseInt(k) - 1) * pagination.PerPage, this.queryStringParams, noreload, values[2]), noLink: false }\r\n pagination.PageLinks.push(numbersLink);\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n if (pagination.IsLastPage) {\r\n var startIndex = pagination.CurrentPage * pagination.PerPage;\r\n var rightArrowPageLink1 = { display: '>', link: '#', arrow: true, next: true, cssclass: 'disabled' };\r\n pagination.PageLinks.push(rightArrowPageLink1);\r\n }\r\n else {\r\n var startIndex = pagination.CurrentPage * pagination.PerPage;\r\n var rightArrowPageLink = { display: '>', link: this.getLink(this.startIndexKey + '=' + startIndex, this.queryStringParams, noreload, values[2]), arrow: true, next: true }\r\n pagination.PageLinks.push(rightArrowPageLink);\r\n }\r\n // console.log(lnksList);\r\n \r\n }\r\n\r\n var data = {\r\n Pagination: pagination\r\n }\r\n\r\n $('.js-Pagination-List').html(values[1](data));\r\n $('.js-paging-link').trigger('click');\r\n return values;\r\n }\r\n\r\n handleError(reason: string) {\r\n $('#js-drawer-content').html(\"<h3>Failed To Load on page\" + reason + \"</h3>\");\r\n }\r\n\r\n public getLink(startIndexKeyValue: string, queryStringParams: string[], noreload: boolean, settings: any) {\r\n var link = window.location.pathname + '#';\r\n if (noreload !== null && noreload === true) {\r\n link = '';\r\n }\r\n link = link + startIndexKeyValue;\r\n if (queryStringParams.length > 0) {\r\n var aq = MainHelper.getAllHashQueryKeyValues();\r\n $.each(queryStringParams, function (ind, elem) {\r\n if (elem !== 'start1') {\r\n link = link + '&' + elem + '=' + aq[elem];\r\n }\r\n });\r\n\r\n } else {\r\n\r\n var filter = MainHelper.getHashQueryString('filter');\r\n var key = MainHelper.getHashQueryString('k');\r\n var searchType = MainHelper.getHashQueryString('t');\r\n var sort = MainHelper.getHashQueryString('sort');\r\n\r\n if (filter.length > 0) {\r\n link = link + '&filter=' + filter;\r\n }\r\n\r\n if (key.length > 0) {\r\n link = link + '&k=' + key;\r\n }\r\n\r\n if (searchType.length > 0) {\r\n link = link + '&t=' + searchType;\r\n }\r\n\r\n if (sort.length > 0) {\r\n link = link + '&sort=' + sort;\r\n }\r\n\r\n link += \"&max=\" + settings[\"ItemsPerPage\"];\r\n if (settings[\"List\"] !== 'SearchResults' || settings[\"List\"] !== 'ProductInfoResults') {\r\n link += \"&list=\" + settings[\"List\"];\r\n }\r\n }\r\n\r\n return link;\r\n }\r\n\r\n public getLinkWithFilters(startIndex: any, filter: string, sort: string, list: string, max: string) {\r\n var link = window.location.pathname;\r\n link = link + '#start1=' + startIndex;\r\n if (filter.length > 0) {\r\n link = link + '&filter=' + filter;\r\n }\r\n\r\n if (sort !== undefined && sort.length > 0) {\r\n link = link + '&sort=' + sort;\r\n }\r\n\r\n link += '&list=' + list;\r\n link += '&max=' + max;\r\n\r\n if ($('#rowLimit').length === 1 && $('#rowLimit').val() != '' && link.toLowerCase().indexOf(\"rowlimit\") === -1) {\r\n link += \"&rowlimit=\" + $('#rowLimit').val();\r\n }\r\n\r\n if (list === 'PressReleasesList') {\r\n if ($('#datePickerStart') != undefined && $('#datePickerStart').val() != '') {\r\n var startDate = $('#datePickerStart').val();\r\n if ((startDate !== '' && (startDate.indexOf(\".\") || startDate.indexOf(\"/\")) > -1)) {\r\n link += '&startdate=' + startDate.trim();\r\n }\r\n }\r\n\r\n if ($('#datePickerEnd') != undefined && $('#datePickerEnd').val() != '') {\r\n var endDate = $('#datePickerEnd').val();\r\n if ((endDate !== '' && (endDate.indexOf(\".\") || endDate.indexOf(\"/\")) > -1)) {\r\n link += '&enddate=' + endDate.trim();\r\n }\r\n }\r\n }\r\n\r\n return link;\r\n }\r\n\r\n public getCurentIndexFromQueryString() {\r\n var value = MainHelper.getHashQueryString(this.startIndexKey);\r\n if (value == '') {\r\n return 0;\r\n }\r\n\r\n return parseInt(value);\r\n }\r\n\r\n public getValueFromQueryString(key: string) {\r\n var value = MainHelper.getHashQueryString(key);\r\n return value;\r\n }\r\n}\r\n\r\n$(document).on('SPContextLoaded', function (e) {\r\n\r\n // This is for testing only. This call should be made from the page after the list items are loaded. \r\n // var pc = new PaginationController(70); \r\n // pc.loadPagination();\r\n\r\n});"]}