{"version":3,"file":"/pc/common/js/pager.js.map","sources":["/pc/common/js/pager.js"],"sourcesContent":["/**\n * Created by luojianguo on 2016/7/10.\n * 分页组件\n * 使用方式:\n * 在html中 \n * 两个参数 :recordCount 总的页数,queryData 点击指定页面时应该调用的查询函数\n */\ndefine([\"ko\",\"jquery\"],function(ko,$){\n var pageModel = function(params){\n var self = this;\n this.queryData = params.queryData;\n this.pageSize = ko.observable(params.pageSize ? params.pageSize:5);\n this.recordCount = params.recordCount; //直接赋值为入参的observble才能在变更的时候得到通知\n this.autoPageGoto = params.autoPageGoto || ko.observable(\"\"); //自动跳转到某页,如列表更新后需要回到第一页,可变更为1。subscribe的必须为observable,当pager不加这个参数时默认为observable不然会报错\n this.currentPageNumber = params.currentPageNumber || ko.observable(1);\n this.jumpNum = ko.observable(\"\");\n this.totalPageNumber = ko.observable(Math.ceil(this.recordCount() / this.pageSize()));\n this.pageArray = ko.observableArray(this.setPageArray(1));\n this.className = params.className;\n\n this.recordCount.subscribe(function(newVal){\n self.totalPageNumber( Math.ceil(self.recordCount() / self.pageSize()));\n if( (self.currentPageNumber() > self.totalPageNumber()) && (self.totalPageNumber() !== 0) ){\n self.currentPageNumber(self.totalPageNumber());\n }\n self.pageArray(self.setPageArray(self.currentPageNumber()));\n });\n this.recordCount.extend({notify:'always'});\n\n this.autoPageGoto.subscribe(function(newVal){\n if (newVal > 0){\n self.currentPageNumber(newVal);\n }\n });\n\n $.fn.notifyChange = function () {\n //self.currentPageNumber(1);\n //self.queryData(1);\n };\n\n };\n pageModel.prototype.previous = function () {\n var currentPageNumber = this.currentPageNumber();\n if (currentPageNumber > 1) {\n currentPageNumber--;\n this.currentPageNumber(currentPageNumber);\n this.queryData(currentPageNumber);\n }\n };\n pageModel.prototype.next = function () {\n var currentPageNumber = this.currentPageNumber();\n if (currentPageNumber < this.totalPageNumber()) {\n currentPageNumber++;\n this.currentPageNumber(currentPageNumber);\n this.queryData(currentPageNumber);\n }\n };\n pageModel.prototype.gotoPage = function (currentPageNumber) {\n if (this.currentPageNumber() == currentPageNumber)\n return;\n this.currentPageNumber(currentPageNumber);\n this.queryData(currentPageNumber);\n };\n\n\n pageModel.prototype.btnJump = function (data,e) {\n if (this.jumpNum() > 0){\n var nowNum = parseInt(this.jumpNum(), 10);\n var totNum = this.totalPageNumber();\n if(isNaN(nowNum) || nowNum <0) return;\n if(nowNum > totNum) {\n this.jumpNum(totNum);\n this.gotoPage(totNum);\n }else {\n this.gotoPage(nowNum);\n }\n }\n };\n pageModel.prototype.setPageArray = function (currentPageNumber) {\n var pageArray = [];\n var i, j = 0;\n var length = this.totalPageNumber();\n pageArray.push({\n number: currentPageNumber,\n current: true\n });\n if (currentPageNumber - 2 <= 1) { //总数小3\n for (i = currentPageNumber - 1; i >= currentPageNumber - 2 && i >= 1; i--) {\n pageArray.unshift({\n number: i,\n current: false\n });\n }\n for (j = currentPageNumber + 1; j <= i + 10 && j <= length; j++) {\n pageArray.push({\n number: j,\n current: false\n });\n }\n } else {\n for (j = currentPageNumber + 1; j <= currentPageNumber + 2 && j <= length; j++) {\n pageArray.push({\n number: j,\n current: false\n });\n }\n for (i = currentPageNumber - 1; i >= j - 5 && i >= 1; i--) {\n pageArray.unshift({\n number: i,\n current: false\n });\n }\n\n }\n return pageArray;\n };\n\n\n pageModel.prototype.keydownHandle=function(data,e){ //knockout keydown会阻止输入框输入,要用keyup\n if(e.keyCode==13){ //ie10下keyup 不能阻止回车事件,要用下面的jquery事件阻止\n e.preventDefault();\n e.stopPropagation();\n this.btnJump();\n }\n return false;\n };\n\n //用jquery keydown阻止ie10下回车事件\n $(document).on('keydown', \".group-all-pager .inputNum\", function(e){\n if(e.keyCode==13){\n e.preventDefault();\n e.stopPropagation();\n //self.btnJump(); //这里self取不到\n }\n });\n\n ko.components.register('pager', {\n viewModel:pageModel,\n template: \"\"\n });\n})"],"names":["define","ko","$","pageModel","params","self","this","queryData","pageSize","observable","recordCount","autoPageGoto","currentPageNumber","jumpNum","totalPageNumber","Math","ceil","pageArray","observableArray","setPageArray","className","subscribe","extend","notify","newVal","fn","notifyChange","prototype","previous","next","gotoPage","btnJump","nowNum","parseInt","totNum","isNaN","i","j","length","push","number","current","unshift","keydownHandle","data","e","keyCode","preventDefault","stopPropagation","document","on","components","register","viewModel","template"],"mappings":"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"}