</script>
</head>
<body onload="prettyPrint(); highlight();">
- <pre class="prettyprint lang-js"><span id='Ext-toolbar-Paging-method-constructor'><span id='Ext-toolbar-Paging'>/**
-</span></span> * @class Ext.toolbar.Paging
+ <pre class="prettyprint lang-js"><span id='Ext-toolbar-Paging'>/**
+</span> * @class Ext.toolbar.Paging
* @extends Ext.toolbar.Toolbar
* <p>As the amount of records increases, the time required for the browser to render
* them increases. Paging is used to reduce the amount of data exchanged with the client.
* <li><a href="http://sencha.com/forum/showthread.php?t=71532">Ext.ux.data.PagingStore</a></li>
* <li>Paging Memory Proxy (examples/ux/PagingMemoryProxy.js)</li>
* </ul></div>
- * @constructor Create a new PagingToolbar
- * @param {Object} config The config object
- * @xtype pagingtoolbar
*/
Ext.define('Ext.toolbar.Paging', {
extend: 'Ext.toolbar.Toolbar',
total : totalCount,
currentPage : store.currentPage,
pageCount: Math.ceil(totalCount / store.pageSize),
- //pageCount : store.getPageCount(),
fromRecord: ((store.currentPage - 1) * store.pageSize) + 1,
toRecord: Math.min(store.currentPage * store.pageSize, totalCount)
// private
onPagingKeyDown : function(field, e){
- var k = e.getKey(),
- pageData = this.getPageData(),
+ var me = this,
+ k = e.getKey(),
+ pageData = me.getPageData(),
increment = e.shiftKey ? 10 : 1,
- pageNum,
- me = this;
+ pageNum;
if (k == e.RETURN) {
e.stopEvent();
pageNum = me.readPageFromInput(pageData);
if (pageNum !== false) {
- pageNum = Math.min(Math.max(1, pageNum), pageData.total);
+ pageNum = Math.min(Math.max(1, pageNum), pageData.pageCount);
if(me.fireEvent('beforechange', me, pageNum) !== false){
me.store.loadPage(pageNum);
}
</span> * Move to the first page, has the same effect as clicking the 'first' button.
*/
moveFirst : function(){
- var me = this;
- if(me.fireEvent('beforechange', me, 1) !== false){
- me.store.loadPage(1);
+ if (this.fireEvent('beforechange', this, 1) !== false){
+ this.store.loadPage(1);
}
},
var me = this,
prev = me.store.currentPage - 1;
- if(me.fireEvent('beforechange', me, prev) !== false){
- me.store.previousPage();
+ if (prev > 0) {
+ if (me.fireEvent('beforechange', me, prev) !== false) {
+ me.store.previousPage();
+ }
}
},
</span> * Move to the next page, has the same effect as clicking the 'next' button.
*/
moveNext : function(){
- var me = this;
- if(me.fireEvent('beforechange', me, me.store.currentPage + 1) !== false){
- me.store.nextPage();
+ var me = this,
+ total = me.getPageData().pageCount,
+ next = me.store.currentPage + 1;
+
+ if (next <= total) {
+ if (me.fireEvent('beforechange', me, next) !== false) {
+ me.store.nextPage();
+ }
}
},
*/
moveLast : function(){
var me = this,
- last = this.getPageData().pageCount;
+ last = me.getPageData().pageCount;
- if(me.fireEvent('beforechange', me, last) !== false){
+ if (me.fireEvent('beforechange', me, last) !== false) {
me.store.loadPage(last);
}
},
var me = this,
current = me.store.currentPage;
- if(me.fireEvent('beforechange', me, current) !== false){
+ if (me.fireEvent('beforechange', me, current) !== false) {
me.store.loadPage(current);
}
},