Toolbar.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. Ext.define('erp.view.common.multiDbfind.Toolbar', {
  2. extend: 'Ext.toolbar.Paging',
  3. alias: 'widget.erpMultiDbfindToolbar',
  4. doRefresh:function(){
  5. window.location = basePath + "common/multidbfind.jsp?whoami=" + caller + "&condition=" + condition;
  6. },
  7. updateInfo : function(){
  8. var page=this.child('#inputItem').getValue();
  9. var me = this,
  10. displayItem = me.child('#displayItem'),
  11. //store = me.store,
  12. pageData = me.getPageData();
  13. pageData.fromRecord=(page-1)*pageSize+1;
  14. pageData.toRecord=page*pageSize;
  15. pageData.total=count;
  16. count, msg;
  17. if (displayItem) {
  18. if (count === 0) {
  19. msg = me.emptyMsg;
  20. } else {
  21. msg = Ext.String.format(
  22. me.displayMsg,
  23. pageData.fromRecord,
  24. pageData.toRecord,
  25. pageData.total
  26. );
  27. }
  28. displayItem.setText(msg);
  29. me.doComponentLayout();
  30. }
  31. },
  32. getPageData : function(){
  33. var store = this.store,
  34. totalCount = store.getTotalCount();
  35. totalCount=count;
  36. return {
  37. total : totalCount,
  38. currentPage : store.currentPage,
  39. pageCount: Math.ceil(totalCount / store.pageSize),
  40. fromRecord: ((store.currentPage - 1) * store.pageSize) + 1,
  41. toRecord: Math.min(store.currentPage * store.pageSize, totalCount)
  42. };
  43. },
  44. onPagingKeyDown : function(field, e){
  45. var me = this,
  46. k = e.getKey(),
  47. pageData = me.getPageData(),
  48. increment = e.shiftKey ? 10 : 1,
  49. pageNum = 0;
  50. if (k == e.RETURN) {
  51. e.stopEvent();
  52. pageNum = me.readPageFromInput(pageData);
  53. if (pageNum !== false) {
  54. pageNum = Math.min(Math.max(1, pageNum), pageData.pageCount);
  55. me.child('#inputItem').setValue(pageNum);
  56. if(me.fireEvent('beforechange', me, pageNum) !== false){
  57. page = pageNum;
  58. Ext.getCmp("dbfindGridPanel").getColumnsAndStore();
  59. }
  60. }
  61. } else if (k == e.HOME || k == e.END) {
  62. e.stopEvent();
  63. pageNum = k == e.HOME ? 1 : pageData.pageCount;
  64. field.setValue(pageNum);
  65. } else if (k == e.UP || k == e.PAGEUP || k == e.DOWN || k == e.PAGEDOWN) {
  66. e.stopEvent();
  67. pageNum = me.readPageFromInput(pageData);
  68. if (pageNum) {
  69. if (k == e.DOWN || k == e.PAGEDOWN) {
  70. increment *= -1;
  71. }
  72. pageNum += increment;
  73. if (pageNum >= 1 && pageNum <= pageData.pages) {
  74. field.setValue(pageNum);
  75. }
  76. }
  77. }
  78. me.updateInfo();
  79. fn(me,pageNum);
  80. },
  81. moveFirst : function(){
  82. var me = this;
  83. me.child('#inputItem').setValue(1);
  84. value=1;
  85. page = value;
  86. Ext.getCmp("dbfindGridPanel").getColumnsAndStore();
  87. me.updateInfo();
  88. fn(me,value);
  89. },
  90. movePrevious : function(){
  91. var me = this;
  92. me.child('#inputItem').setValue(me.child('#inputItem').getValue()-1);
  93. value=me.child('#inputItem').getValue();
  94. page = value;
  95. Ext.getCmp("dbfindGridPanel").getColumnsAndStore();
  96. me.updateInfo();
  97. fn(me,value);
  98. },
  99. moveNext : function(){
  100. var me = this,
  101. last = me.getPageData().pageCount;
  102. total=last;
  103. me.child('#inputItem').setValue(me.child('#inputItem').getValue()+1);
  104. value=me.child('#inputItem').getValue();
  105. page = value;
  106. Ext.getCmp("dbfindGridPanel").getColumnsAndStore();
  107. me.updateInfo();
  108. fn(me,value);
  109. },
  110. moveLast : function(){
  111. var me = this,
  112. last = me.getPageData().pageCount;
  113. total=last;
  114. me.child('#inputItem').setValue(last);
  115. value=me.child('#inputItem').getValue();
  116. page = value;
  117. Ext.getCmp("dbfindGridPanel").getColumnsAndStore();
  118. me.updateInfo();
  119. fn(me,value);
  120. }
  121. });
  122. function fn(me,value){
  123. me.child('#last').setDisabled(value==total);
  124. me.child('#next').setDisabled(value==total);
  125. me.child('#first').setDisabled(value<=1);
  126. me.child('#prev').setDisabled(value<=1);
  127. }