{"version":3,"sources":["AX6UIGrid_page.js"],"names":["_AX6Util","require","_AX6Mustache","onclickPageMove","_act","callback","_pageNo","this","page","currentPage","selectPage","config","onChange","call","self","data","first","prev","pageNo","next","totalPages","last","navigationUpdate","hasPage","processor","pageSize","totalElements","firstIcon","prevIcon","nextIcon","navigationItemCount","startI","lastIcon","endI","returns","Math","floor","p","selected","render","__tmpl","page_navigation","$","find","on","getAttribute","empty","statusUpdate","statusDisplay","toRowIndex","rangeCount","xvar","dataRowCount","virtualPaintRowCount","virtualPaintStartRowIndex","fromRowIndex","money","_AX6Util2","default","number","dataRealRowCount","min","appendProgressIcon","toRowIndex_page","html","fromRowIndex_page"],"mappings":"4IAAA,IAAAA,SAAAC,QAAA,yDACAC,aAAAD,QAAA,qEAEME,gBAAkB,SAAUC,GAChC,IAAMC,EAAW,SAAUC,GACrBC,KAAKC,KAAKC,aAAeH,IALjCC,KAAAC,KAAAE,WAAAJ,EAOUC,KAAKI,OAAOH,KAAKI,UACnBL,KAAKI,OAAOH,KAAKI,SAASC,MACxBC,KAAMP,KARhBC,KAAAD,KAAAC,KAUUO,KAAMR,KAAKQ,SARfZ,GACJa,MAAMX,WACJA,EAASG,KAAKC,KAAAA,IAEZQ,KAAI,WACF,IAAAC,EAAAX,KAAAC,KAAiBI,YAAc,EAC7BE,EAAM,IADuBI,EAAA,GAE7BV,EAAAA,KAAMD,KAFuBW,IAAAC,KAA/B,WAKD,IAAAD,EAAAX,KAAAC,KAAAC,YAAA,EACFS,EAAAX,KAAAC,KAAAY,WAAA,IAAAF,EAAAX,KAAAC,KAAAY,WAAA,GAVHf,EAAAQ,KAAAN,KAAAW,IAaEG,KAAA,WACEhB,EAASQ,KAAKN,KAAMA,KAApBC,KAAAY,WAAA,KAIAhB,KAAIc,EACJb,EAAAA,GAAcQ,KAAdN,MAGAF,EAAIa,KAAAA,KAAcV,EAAKC,IAIzBa,iBAAQ,WACNjB,IAAAA,EAAAA,KACD,GAAAE,KAAAC,KAAA,CAhBH,IAAAA,GA+BIe,SAAS,EAZTnB,YAAQoB,KAAZhB,KAAuBC,YACrBe,SAAUpB,KAAMS,KAAKY,SADvBC,cAGKnB,KAAAC,KAAAkB,cACHrB,WAAcE,KAAdC,KAAoBJ,WACrBuB,UAAApB,KAAAI,OAAAH,KAAAmB,UArCHC,SAAArB,KAAAI,OAAAH,KAAAoB,UAAA,IAmDMC,SAAUtB,KAAKI,OAAOH,KAAKqB,UAAY,IAXvCP,SAAAA,KAAAA,OAAmBd,KAAnBc,UAEAQ,EAAWvB,KAAAI,OAAAH,KAAAsB,oBAEXP,EAAAA,WADS,WAETd,IAAAA,KAAkBD,OAAAA,EAAKC,OAAAA,GAEvBiB,EAAAA,EAAAA,YAAyBA,KAAAA,MAJhBI,EAAA,IAKG,IAAAC,EAAUX,IACtBO,EAAAA,EAAWlB,YAAYD,GACbA,EAAKG,aAAYiB,EAAjBpB,EAA6BY,YAEvCY,EAAUD,EAAKpB,IATjBsB,EAAAF,EAAAD,GAaKG,EAAAF,EAAcD,IACjBC,EAAIG,EAAJJ,GAA0BG,EAAAA,IAAAA,EAA1B,GAEAF,IAAAA,IAASvB,EAAAA,EAAKC,EAALwB,EAAmBE,EAAKC,EAALC,IAC5BH,EAAIH,MAAYA,OAAAM,EAAA,EAAAC,SAAA9B,EAAAC,aAAA4B,IAEhB,OAAIJ,EAnBK,GAsBPA,EAAAA,WAAgBH,OAAAA,IACjBtB,EAAAe,SAAA,GAGCQ,KAAAA,EAAAA,KAAAA,WAAgBD,KAAAA,cAAAA,QAAhBS,OAAAhC,KAAAiC,OAAAC,gBAAA5B,KAAAN,MAAAC,IACDD,KAAAmC,EAAA,KAAA,WAAAC,KAAA,4BAAAC,GAAA,QAAA,WACDzC,gBAAgB4B,KAAAA,EAAAxB,KAAAsC,aAAA,kCAIftC,KAAAmC,EAAA,KAAA,WAAAI,SAIHC,aAAS,WACPvC,GAAAA,KAAKe,OAALf,KAAewC,cAAfxC,CAIF,IAAAyC,OAAAA,EAAAC,EAAAf,KAA6BQ,IAAKpC,KAAA4C,KAAAC,aAAlC7C,KAAiE4C,KAAAE,sBAC/DlD,MAGH8C,EAAM1C,KAAA4C,KAAAG,0BAAAJ,GAEN3C,KAAA4C,KAAAC,eAlDHH,EAAA1C,KAAA4C,KAAAC,cAsDErC,EAAKwC,aAAY/C,UAAAA,QAAKwC,OAAAA,KAAAA,KAAeM,0BAAA,GAAAE,OAAA,IACnCzC,EAAAkC,WAAAQ,UAAAC,QAAAC,OAAAV,GAAAO,OAAA,IACDzC,EAAAW,eAAA,EAcDX,EAAK6C,iBAAoBrD,KAAK4C,KAAKC,eAAiB7C,KAAK4C,KAAKS,kBAAoBH,UAAAC,QAAEC,OAAOpD,KAAK4C,KAAKS,kBAAmBJ,OAAS,IAZjIzC,EAAIkC,aAAAA,UAAAA,QAAAA,OAAJ1C,KAAA4C,KAAAC,cAAAI,OAAA,IAAAzC,EAAgBmC,SAAaf,KAAK0B,eAAcT,KAAAA,OAAcU,mBAAUT,GAgBpE9C,KAAKC,OAbTyC,EAAAA,kBAAuBK,UAAAA,QAAAA,OAAAA,KAAAA,KAAAA,0BAAvB/C,KAAAC,KAAAC,YAAAF,KAAAC,KAAAiB,SAAA,GAAA+B,OAAA,IAeEzC,EAAKgD,gBAAkBN,UAAAC,QAAEC,OAAOpD,KAAK4C,KAAKG,0BAA4BJ,EAAc3C,KAAKC,KAAKC,YAAcF,KAAKC,KAAKiB,UAAY+B,OAAS,IAb7IzC,EAAIkC,cAAkBE,UAAAA,QAAAA,OAAKC,KAAAA,KAAc1B,eAAA8B,OAAA,IAExCzC,EAAAgD,gBAAAxD,KAAAC,KAAAkB,gBAeGX,EAAKgD,gBAAkBxD,KAAKC,KAAKkB,gBAVrCX,KAAK6C,EAAL7C,KAAAA,OAAyBiD,KAAKb,cAAAA,QAAKC,OAAV7C,KAA2BiC,OAAKW,YAAKS,KAAAA,MAAoB7C,uBAIlFO,iBAAeA,iBACbP,aAAKkD","file":"AX6UIGrid_page.js","sourcesContent":["import U from \"../AX6Util\";\nimport mustache from \"../AX6Mustache\";\n\nconst onclickPageMove = function (_act) {\n  const callback = function (_pageNo) {\n    if (this.page.currentPage != _pageNo) {\n      this.page.selectPage = _pageNo;\n      if (this.config.page.onChange) {\n        this.config.page.onChange.call({\n          self: this,\n          page: this.page,\n          data: this.data\n        });\n      }\n    }\n  };\n  const processor = {\n    \"first\": function () {\n      callback.call(this, 0);\n    },\n    \"prev\": function () {\n      let pageNo = this.page.currentPage - 1;\n      if (pageNo < 0) pageNo = 0;\n      callback.call(this, pageNo);\n    },\n    \"next\": function () {\n      let pageNo = this.page.currentPage + 1;\n      if (pageNo > this.page.totalPages - 1) pageNo = this.page.totalPages - 1;\n      callback.call(this, pageNo);\n    },\n    \"last\": function () {\n      callback.call(this, this.page.totalPages - 1);\n    }\n  };\n\n  if (_act in processor) {\n    processor[_act].call(this);\n  }\n  else {\n    callback.call(this, _act - 1);\n  }\n};\n\nconst navigationUpdate = function () {\n  let self = this;\n  if (this.page) {\n    let page = {\n      hasPage: false,\n      currentPage: this.page.currentPage,\n      pageSize: this.page.pageSize,\n      totalElements: this.page.totalElements,\n      totalPages: this.page.totalPages,\n      firstIcon: this.config.page.firstIcon,\n      prevIcon: this.config.page.prevIcon || \"«\",\n      nextIcon: this.config.page.nextIcon || \"»\",\n      lastIcon: this.config.page.lastIcon,\n    };\n    let navigationItemCount = this.config.page.navigationItemCount;\n\n    page[\"@paging\"] = (function () {\n      let returns = [], startI, endI;\n\n      startI = page.currentPage - Math.floor(navigationItemCount / 2);\n      if (startI < 0) startI = 0;\n      endI = page.currentPage + navigationItemCount;\n      if (endI > page.totalPages) endI = page.totalPages;\n\n      if (endI - startI > navigationItemCount) {\n        endI = startI + navigationItemCount;\n      }\n\n      if (endI - startI < navigationItemCount) {\n        startI = endI - navigationItemCount;\n      }\n      if (startI < 0) startI = 0;\n\n      for (let p = startI, l = endI; p < l; p++) {\n        returns.push({'pageNo': (p + 1), 'selected': page.currentPage == p});\n      }\n      return returns;\n    })();\n\n    if (page[\"@paging\"].length > 0) {\n      page.hasPage = true;\n    }\n\n    this.$[\"page\"][\"navigation\"].html(mustache.render(this.__tmpl.page_navigation.call(this), page));\n    this.$[\"page\"][\"navigation\"].find(\"[data-ax6grid-page-move]\").on(\"click\", function () {\n      onclickPageMove.call(self, this.getAttribute(\"data-ax6grid-page-move\"));\n    });\n\n  } else {\n    this.$[\"page\"][\"navigation\"].empty();\n  }\n};\n\nconst statusUpdate = function () {\n  if (!this.config.page.statusDisplay) {\n    return;\n  }\n\n  let toRowIndex, rangeCount = Math.min(this.xvar.dataRowCount, this.xvar.virtualPaintRowCount);\n  let data = {};\n\n  toRowIndex = this.xvar.virtualPaintStartRowIndex + rangeCount;\n\n  if (toRowIndex > this.xvar.dataRowCount) {\n    toRowIndex = this.xvar.dataRowCount;\n  }\n\n  data.fromRowIndex = U.number(this.xvar.virtualPaintStartRowIndex + 1, {\"money\": true});\n  data.toRowIndex = U.number(toRowIndex, {\"money\": true});\n  data.totalElements = false;\n  data.dataRealRowCount = (this.xvar.dataRowCount !== this.xvar.dataRealRowCount) ? U.number(this.xvar.dataRealRowCount, {\"money\": true}) : false;\n  data.dataRowCount = U.number(this.xvar.dataRowCount, {\"money\": true});\n  data.progress = (this.appendProgress) ? this.config.appendProgressIcon : \"\";\n\n  if (this.page) {\n    data.fromRowIndex_page = U.number(this.xvar.virtualPaintStartRowIndex + (this.page.currentPage * this.page.pageSize) + 1, {\"money\": true});\n    data.toRowIndex_page = U.number(this.xvar.virtualPaintStartRowIndex + rangeCount + (this.page.currentPage * this.page.pageSize), {\"money\": true});\n    data.totalElements = U.number(this.page.totalElements, {\"money\": true});\n\n    if (data.toRowIndex_page > this.page.totalElements) {\n      data.toRowIndex_page = this.page.totalElements;\n    }\n  }\n\n  this.$[\"page\"][\"status\"].html(mustache.render(this.__tmpl.page_status.call(this), data));\n};\n\nexport default {\n  navigationUpdate: navigationUpdate,\n  statusUpdate: statusUpdate\n};"]}