export declare const NSPaginationCode = "var nsModuleExport = function(root,name,prototype)\r\n\t{\r\n\t\tif(typeof exports === 'object' && typeof module === 'object')\r\n\t\t{\r\n\t\t\tmodule.exports[name] = prototype;\r\n\t\t}\r\n\t\telse if (typeof define === \"function\" && define.amd)\r\n\t\t{\r\n\t\t\tdefine(name,[], function () {return prototype;});\r\n\t\t}\r\n\t\telse if(typeof exports === 'object')\r\n\t\t{\r\n\t\t\texports[name] = prototype;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\troot[name] = prototype;\r\n\t\t}\r\n\t};var nsIsWeb = function(root)\r\n\t{\r\n\t\tif(typeof exports === 'object' && typeof module === 'object')\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse if (typeof define === \"function\" && define.amd)\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse if(typeof exports === 'object')\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn true;\r\n\t\t}\r\n\t};if(!nsIsWeb())\r\n\t\t{\r\nvar nsutilRef = require('./nsUtil.min.js');\r\nvar NSUtil = nsutilRef.NSUtil;\r\nvar nscontainerbaseRef = require('./nsContainerBase.min.js');\r\nvar nsExtendPrototype = nscontainerbaseRef.nsExtendPrototype;\r\nvar NSContainerBase = nscontainerbaseRef.NSContainerBase;\r\nvar svgRef = require('./nsSVG.min.js');\r\nvar NSSvg = svgRef.NSSvg;\r\nvar NSSvgShapes = svgRef.NSSvgShapes;\r\nvar plugginsRef = require('./nsPluggins.min.js');\r\nvar nsTextEditor = plugginsRef.nsTextEditor;\r\nvar nsTextAreaEditor = plugginsRef.nsTextAreaEditor;\r\nvar NSCellSelection = plugginsRef.NSCellSelection;\r\nvar NSTableCellNavigator = plugginsRef.NSTableCellNavigator;\r\nvar dateutilRef = require('./nsDateUtil.min.js');\r\nvar NSDateUtil = dateutilRef.NSDateUtil;\r\n\r\n\t\t}\r\n \"use strict\";\r\nvar NSPagination = (function()\r\n{\r\n\tfunction NSPagination(setting) \r\n\t{\r\n\t\tthis.PAGE_CLICK = \"pageClick\";\r\n\t\tthis.PAGE_CHANGE = \"pageChange\";\r\n\t\tthis.util = new NSUtil();\r\n\t\t\r\n\t\tthis.__setting = setting;\r\n\t\tthis.__config = null;\r\n\t\t\r\n\t\tthis.__id = null;\r\n\t\tthis.__container = null;\r\n\t\tthis.__itemFirst = null;\r\n\t\tthis.__itemLast = null;\r\n\t\tthis.__itemPrev = null;\r\n\t\tthis.__itemNext = null;\r\n\t\tthis.__arrItemPage = [];\r\n\t\tthis.__pageCount = 0;\r\n\t\tthis.__selectedPage = -1;\r\n\t\tthis.__initialize();\r\n\t}\r\n\t\r\n\tNSPagination.prototype.__initialize = function ()\r\n\t{\r\n\t\tif(this.__setting)\r\n\t\t{\r\n\t\t\tthis.__config = {\r\n\t\t\t\t\tparent: this.__setting[\"parent\"] || null,\r\n\t\t\t\t\ttotalRecords: parseInt(this.__setting[\"totalRecords\"]) || 0,\r\n\t\t\t\t\tpageSize: parseInt(this.__setting[\"pageSize\"]) || 0,\r\n\t\t\t\t\ttotalPageCount: parseInt(this.__setting[\"totalPageCount\"]) || 0,\r\n\t\t\t\t\tvisiblePages: parseInt(this.__setting[\"visiblePages\"]) || 5,\r\n\t\t\t\t\tcontainerStyle: this.__setting[\"containerStyle\"] || \"nsPaginationContainer\",\r\n\t\t\t\t\tactiveStyle: this.__setting[\"activeStyle\"] || \"nsPageActive\",\r\n\t\t\t\t\tdisabledStyle: this.__setting[\"disabledStyle\"] || \"nsPageDisabled\",\r\n\t\t\t\t\ttextFirst : this.__setting[\"textFirst\"] || \"&laquo;\",\r\n\t\t\t\t\ttextLast : this.__setting[\"textLast\"] || \"&raquo;\",\r\n\t\t\t\t\ttextNext : this.__setting[\"textNext\"] || \"&rsaquo;\",\r\n\t\t\t\t\ttextPrev : this.__setting[\"textPrev\"] || \"&lsaquo;\",\r\n\t\t\t\t\ttextTitlePagePrefix: this.__setting[\"textTitlePagePrefix\"] || \"Page\",\r\n\t\t\t        textTitleFirst : this.__setting[\"textTitleFirst\"] || 'First Page', \r\n\t\t\t        textTitleLast : this.__setting[\"textTitleLast\"] || 'Last Page',\r\n\t\t\t        textTitleNext : this.__setting[\"textTitleNext\"] || 'Next Page', \r\n\t\t\t        textTitlePrev : this.__setting[\"textTitlePrev\"] || 'Previous Page', \r\n\t\t\t\t\tshowPrevNext : (!this.util.isUndefined(this.__setting[\"showPrevNext\"]) && this.__setting[\"showPrevNext\"] != null) ? Boolean.parse(this.__setting[\"showPrevNext\"]) : true,\r\n\t\t\t\t\tshowFirstLast : (!this.util.isUndefined(this.__setting[\"showFirstLast\"]) && this.__setting[\"showFirstLast\"] != null) ? Boolean.parse(this.__setting[\"showFirstLast\"]) : false\r\n\t\t\t\t};\r\n\t\t\tthis.__create();\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSPagination.prototype.changePageSize = function(pageSize)\r\n\t{\r\n\t\tif(pageSize > 0 && this.__config)\r\n\t\t{\r\n\t\t\tthis.__config.pageSize = pageSize;\r\n\t\t\tthis.__create();\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSPagination.prototype.setSelectedPage = function(pageNumber)\r\n\t{\r\n\t\tthis.__update(pageNumber);\r\n\t};\r\n\t\r\n\tNSPagination.prototype.getSelectedPage = function(pageNumber)\r\n\t{\r\n\t\treturn this.__selectedPage;\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__create = function()\r\n\t{\r\n\t\tif(this.__config.parent)\r\n\t\t{\r\n\t\t\tif(this.__container)\r\n\t\t\t{\r\n\t\t\t\tthis.__container.parentNode.removeChild(this.__container);\r\n\t\t\t\tthis.__arrItemPage = [];\r\n\t\t\t\tthis.__selectedPage = -1;\r\n\t\t\t}\r\n\t\t\tif(this.__config.totalPageCount > 0)\r\n\t\t\t{\r\n\t\t\t\tthis.__pageCount = this.__config.totalPageCount;\r\n\t\t\t}\r\n\t\t\telse if(this.__config.pageSize > 0)\r\n\t\t\t{\r\n\t\t\t\tthis.__pageCount =  Math.ceil(this.__config.totalRecords / this.__config.pageSize);\r\n\t\t\t}\r\n\t\t\tthis.__container = this.util.createElement(\"ul\",this.__getID() + \"container\",this.__config.containerStyle);\r\n\t\t\tthis.__config.parent.appendChild(this.__container);\r\n\t\t\tif(this.__config.showFirstLast)\r\n\t\t\t{\r\n\t\t\t\tthis.__itemFirst = this.__createItem(\"-4\",this.__config[\"textFirst\"],this.__config.textTitleFirst,this.__controlItemClickHandler);\r\n\t\t\t}\r\n\t\t\tif(this.__config.showPrevNext)\r\n\t\t\t{\r\n\t\t\t\tthis.__itemPrev = this.__createItem(\"-3\",this.__config[\"textPrev\"],this.__config.textTitlePrev,this.__controlItemClickHandler);\r\n\t\t\t}\r\n\t\t\tvar createdNumber = Math.min(this.__pageCount,this.__config.visiblePages);\r\n\t\t\tfor(var count = 1;count <= createdNumber;count++)\r\n\t\t\t{\r\n\t\t\t\tvar pageItem = this.__createItem(count,count,this.__config.textTitlePagePrefix + \" \" + count,this.__pageItemClickHandler);\r\n\t\t\t\tthis.__arrItemPage.push(pageItem);\r\n\t\t\t}\r\n\t\t\tif(this.__config.showPrevNext)\r\n\t\t\t{\r\n\t\t\t\tthis.__itemNext = this.__createItem(\"-2\",this.__config[\"textNext\"],this.__config.textTitleNext,this.__controlItemClickHandler);\r\n\t\t\t}\r\n\t\t\tif(this.__config.showFirstLast)\r\n\t\t\t{\r\n\t\t\t\tthis.__itemLast = this.__createItem(\"-1\",this.__config[\"textLast\"],this.__config.textTitleLast,this.__controlItemClickHandler);\r\n\t\t\t}\r\n\t\t\t//this.__selectPage(1);\r\n\t\t\tthis.__updateControlState(1);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__controlItemClickHandler = function(event)\r\n\t{\r\n\t\tvar target = this.util.getTarget(event);\r\n\t\ttarget = this.util.findParent(target,\"li\");\r\n\t\tvar index = parseInt(target.getAttribute(\"pageNum\"));\r\n\t\tvar pageSelected = -1;\r\n\t\tswitch(index)\r\n\t\t{\r\n\t\t\tcase -4:\r\n\t\t\t\tpageSelected = 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase -3:\r\n\t\t\t\tpageSelected = this.__selectedPage - 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase -2:\r\n\t\t\t\tpageSelected = this.__selectedPage + 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase -1:\r\n\t\t\t\tpageSelected = this.__pageCount;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthis.__update(pageSelected);\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__pageItemClickHandler = function(event)\r\n\t{\r\n\t\tvar target = this.util.getTarget(event);\r\n\t\ttarget = this.util.findParent(target,\"li\");\r\n\t\tvar index = parseInt(target.getAttribute(\"pageNum\"));\r\n\t\tthis.__update(index);\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__createItem = function(pageNumber,htmlText,titleText,clickHandler)\r\n\t{\r\n\t\tvar pageItem = this.util.createElement(\"li\",this.__getID() + \"Page\" + pageNumber,null);\r\n\t\tpageItem.setAttribute(\"pageNum\",pageNumber);\r\n\t\tpageItem.setAttribute(\"title\",titleText);\r\n\t\tthis.util.addEvent(pageItem,\"click\",clickHandler.bind(this));\r\n\t\tvar pageText = this.util.createElement(\"a\",null,null);\r\n\t\tpageText.setAttribute(\"href\",\"javascript:void(0);\");\r\n\t\tpageText.innerHTML = htmlText;\r\n\t\tpageItem.appendChild(pageText);\r\n\t\tthis.__container.appendChild(pageItem);\r\n\t\treturn pageItem;\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__update = function(pageNumber)\r\n\t{\r\n\t\tif(pageNumber <= 0)\r\n\t\t{\r\n\t\t\tpageNumber = 1;\r\n\t\t}\r\n\t\telse if(pageNumber > this.__pageCount)\r\n\t\t{\r\n\t\t\tpageNumber = this.__pageCount;\r\n\t\t}\r\n\t\tvar range = this.__calculateRange(this.__pageCount,Math.min(this.__pageCount,this.__config.visiblePages),pageNumber);\r\n\t\tthis.__updateItem(range[0],range[1]);\r\n\t\tthis.__selectPage(pageNumber);\r\n\t\tthis.__updateControlState(pageNumber);\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__updateItem = function(fromPage,toPage)\r\n\t{\r\n\t\tvar firstNumber = parseInt(this.__arrItemPage[0].getAttribute(\"pageNum\"));\r\n\t\tvar lastNumber = parseInt(this.__arrItemPage[this.__arrItemPage.length - 1].getAttribute(\"pageNum\"));\r\n\t\tif(!(firstNumber === fromPage && lastNumber === toPage))\r\n\t\t{\r\n\t\t\tfor(var count = 0;count < this.__arrItemPage.length;count++)\r\n\t\t\t{\r\n\t\t\t\tvar pageItem = this.__arrItemPage[count];\r\n\t\t\t\tvar index = count + fromPage;\r\n\t\t\t\tpageItem.setAttribute(\"pageNum\",index);\r\n\t\t\t\tpageItem.setAttribute(\"title\",this.__config.textTitlePagePrefix + \" \" + index);\r\n\t\t\t\tvar pageText = pageItem.firstChild;\r\n\t\t\t\tpageText.innerHTML = index;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__updateControlState = function(pageNumber)\r\n\t{\r\n\t\tif(pageNumber === 1)\r\n\t\t{\r\n\t\t\tthis.__itemFirst ? this.util.addStyleClass(this.__itemFirst,this.__config.disabledStyle) : \"\";\r\n\t\t\tthis.__itemPrev ? this.util.addStyleClass(this.__itemPrev,this.__config.disabledStyle) : \"\";\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.__itemFirst ? this.util.removeStyleClass(this.__itemFirst,this.__config.disabledStyle) : \"\";\r\n\t\t\tthis.__itemPrev ? this.util.removeStyleClass(this.__itemPrev,this.__config.disabledStyle) : \"\";\r\n\t\t}\r\n\t\tif(pageNumber === this.__pageCount)\r\n\t\t{\r\n\t\t\tthis.__itemNext ? this.util.addStyleClass(this.__itemNext,this.__config.disabledStyle) : \"\";\r\n\t\t\tthis.__itemLast ? this.util.addStyleClass(this.__itemLast,this.__config.disabledStyle) : \"\";\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.__itemNext ? this.util.removeStyleClass(this.__itemNext,this.__config.disabledStyle) : \"\";\r\n\t\t\tthis.__itemLast ? this.util.removeStyleClass(this.__itemLast,this.__config.disabledStyle) : \"\";\r\n\t\t};\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__calculateRange = function(totalPages,visiblePages,pageToBeSelected)\r\n\t{\r\n\t\tvar renderPage = [1,totalPages];\r\n\t\tvar limit = Math.floor(visiblePages/2);\r\n\t\tif(visiblePages > 0)\r\n\t\t{\r\n\t\t\trenderPage[0] = Math.max(pageToBeSelected - limit, 1);\r\n\t\t\trenderPage[1] = Math.min(pageToBeSelected + limit, totalPages);\r\n\t\t\tvar difference = renderPage[1] - renderPage[0];\r\n\t\t\tif(renderPage[0] === 1 && difference < visiblePages)\r\n\t\t\t{\r\n\t\t\t\trenderPage[1] = visiblePages;\r\n\t\t\t}\r\n\t\t\telse if(renderPage[1] === totalPages && difference < visiblePages)\r\n\t\t\t{\r\n\t\t\t\trenderPage[0] = renderPage[1] - visiblePages + 1;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn renderPage;\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__selectPage = function(pageIndex)\r\n\t{\r\n\t\tvar selectedIndex = -1;\r\n\t\tfor(var count = 0;count < this.__arrItemPage.length;count++)\r\n\t\t{\r\n\t\t\tvar pageItem = this.__arrItemPage[count];\r\n\t\t\tthis.util.removeStyleClass(pageItem,this.__config.activeStyle);\r\n\t\t\tvar index = parseInt(pageItem.getAttribute(\"pageNum\"));\r\n\t\t\tif(index === pageIndex)\r\n\t\t\t{\r\n\t\t\t\tselectedIndex = count;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(selectedIndex > -1)\r\n\t\t{\r\n\t\t\tvar oldPage = this.__selectedPage;\r\n\t\t\tthis.util.addStyleClass(this.__arrItemPage[selectedIndex],this.__config.activeStyle);\r\n\t\t\tthis.__selectedPage = pageIndex;\r\n\t\t\tvar fromRecord =  (pageIndex - 1) * this.__config.pageSize;\r\n\t\t\tvar toRecord = fromRecord +  this.__config.pageSize - 1;\r\n\t\t\ttoRecord = (toRecord < this.__config.totalRecords) ? toRecord : ((toRecord === this.__config.totalRecords) ? this.__config.totalRecords - 1 : this.__config.totalRecords);\r\n\t\t\tvar item = {oldIndex:oldPage,newIndex:this.__selectedPage,fromRecord:fromRecord,toRecord:toRecord};\r\n\t\t\tthis.util.dispatchEvent(this.__config.parent,this.PAGE_CLICK,item,item);\r\n\t\t\tif(oldPage !== this.__selectedPage)\r\n\t\t\t{\r\n\t\t\t\tthis.util.dispatchEvent(this.__config.parent,this.PAGE_CHANGE,item,item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSPagination.prototype.__getID = function()\r\n\t{\r\n\t\tif(!this.__id)\r\n\t\t{\r\n\t\t\tif(this.__config.parent.hasAttribute(\"id\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__id = this.__config.parent.getAttribute(\"id\");\r\n\t\t\t}\r\n\t\t\telse if(this.__config.parent.hasAttribute(\"name\"))\r\n\t\t\t{\r\n\t\t\t\tthis.__id = this.__config.parent.getAttribute(\"name\");\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.__id = \"comp\" + this.util.getUniqueId();\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.__id;\r\n\t};\r\n\t\r\n\treturn NSPagination;\r\n})();\r\nnsModuleExport(this,\"NSPagination\",NSPagination);\r\n";
