1 <html><head><title>Roo/PagingToolbar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
4 * Copyright(c) 2006-2007, Ext JS, LLC.
6 * Originally Released Under LGPL - original licence link has changed is not relivant.
9 * <script type="text/javascript">
13 * @class Roo.PagingToolbar
14 * @extends Roo.Toolbar
15 * A specialized toolbar that is bound to a {@link Roo.data.Store} and provides automatic paging controls.
17 * Create a new PagingToolbar
18 * @param {Object} config The config object
20 </span><span class="jsdoc-var">Roo.PagingToolbar </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">)
22 </span><span class="jsdoc-comment">// old args format still supported... - xtype is prefered..
23 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'object' </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">el.xtype</span><span class="jsdoc-syntax">) {
24 </span><span class="jsdoc-comment">// created from xtype...
25 </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">;
26 </span><span class="jsdoc-var">ds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.dataSource</span><span class="jsdoc-syntax">;
27 </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.container</span><span class="jsdoc-syntax">;
29 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">= [];
30 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.items</span><span class="jsdoc-syntax">) {
31 </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.items</span><span class="jsdoc-syntax">;
32 </span><span class="jsdoc-var">config.items </span><span class="jsdoc-syntax">= [];
35 </span><span class="jsdoc-var">Roo.PagingToolbar.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
36 </span><span class="jsdoc-var">this.ds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">;
37 </span><span class="jsdoc-var">this.cursor </span><span class="jsdoc-syntax">= 0;
38 </span><span class="jsdoc-var">this.renderButtons</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">);
39 </span><span class="jsdoc-var">this.bind</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">);
41 </span><span class="jsdoc-comment">// supprot items array.
43 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">items</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
44 </span><span class="jsdoc-var">this.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">));
45 },</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
49 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.PagingToolbar</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.Toolbar</span><span class="jsdoc-syntax">, {
50 </span><span class="jsdoc-comment">/**
51 * @cfg {Roo.data.Store} dataSource
52 * The underlying data store providing the paged data
55 * @cfg {String/HTMLElement/Element} container
56 * container The id or element that will contain the toolbar
59 * @cfg {Boolean} displayInfo
60 * True to display the displayMsg (defaults to false)
63 * @cfg {Number} pageSize
64 * The number of records to display per page (defaults to 20)
66 </span><span class="jsdoc-var">pageSize</span><span class="jsdoc-syntax">: 20,
67 </span><span class="jsdoc-comment">/**
68 * @cfg {String} displayMsg
69 * The paging status message to display (defaults to "Displaying {start} - {end} of {total}")
71 </span><span class="jsdoc-var">displayMsg </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Displaying {0} - {1} of {2}'</span><span class="jsdoc-syntax">,
72 </span><span class="jsdoc-comment">/**
73 * @cfg {String} emptyMsg
74 * The message to display when no records are found (defaults to "No data to display")
76 </span><span class="jsdoc-var">emptyMsg </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'No data to display'</span><span class="jsdoc-syntax">,
77 </span><span class="jsdoc-comment">/**
78 * Customizable piece of the default paging text (defaults to "Page")
81 </span><span class="jsdoc-var">beforePageText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Page"</span><span class="jsdoc-syntax">,
82 </span><span class="jsdoc-comment">/**
83 * Customizable piece of the default paging text (defaults to "of %0")
86 </span><span class="jsdoc-var">afterPageText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"of {0}"</span><span class="jsdoc-syntax">,
87 </span><span class="jsdoc-comment">/**
88 * Customizable piece of the default paging text (defaults to "First Page")
91 </span><span class="jsdoc-var">firstText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"First Page"</span><span class="jsdoc-syntax">,
92 </span><span class="jsdoc-comment">/**
93 * Customizable piece of the default paging text (defaults to "Previous Page")
96 </span><span class="jsdoc-var">prevText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Previous Page"</span><span class="jsdoc-syntax">,
97 </span><span class="jsdoc-comment">/**
98 * Customizable piece of the default paging text (defaults to "Next Page")
101 </span><span class="jsdoc-var">nextText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Next Page"</span><span class="jsdoc-syntax">,
102 </span><span class="jsdoc-comment">/**
103 * Customizable piece of the default paging text (defaults to "Last Page")
106 </span><span class="jsdoc-var">lastText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Last Page"</span><span class="jsdoc-syntax">,
107 </span><span class="jsdoc-comment">/**
108 * Customizable piece of the default paging text (defaults to "Refresh")
111 </span><span class="jsdoc-var">refreshText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Refresh"</span><span class="jsdoc-syntax">,
113 </span><span class="jsdoc-comment">// private
114 </span><span class="jsdoc-var">renderButtons </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">){
115 </span><span class="jsdoc-var">Roo.PagingToolbar.superclass.render.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
116 </span><span class="jsdoc-var">this.first </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.addButton</span><span class="jsdoc-syntax">({
117 </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.firstText</span><span class="jsdoc-syntax">,
118 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-btn-icon x-grid-page-first"</span><span class="jsdoc-syntax">,
119 </span><span class="jsdoc-var">disabled</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
120 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.onClick.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-string">"first"</span><span class="jsdoc-syntax">])
122 </span><span class="jsdoc-var">this.prev </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.addButton</span><span class="jsdoc-syntax">({
123 </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.prevText</span><span class="jsdoc-syntax">,
124 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-btn-icon x-grid-page-prev"</span><span class="jsdoc-syntax">,
125 </span><span class="jsdoc-var">disabled</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
126 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.onClick.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-string">"prev"</span><span class="jsdoc-syntax">])
128 </span><span class="jsdoc-comment">//this.addSeparator();
129 </span><span class="jsdoc-var">this.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.beforePageText</span><span class="jsdoc-syntax">);
130 </span><span class="jsdoc-var">this.field </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.addDom</span><span class="jsdoc-syntax">({
131 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"input"</span><span class="jsdoc-syntax">,
132 </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"text"</span><span class="jsdoc-syntax">,
133 </span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"3"</span><span class="jsdoc-syntax">,
134 </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"1"</span><span class="jsdoc-syntax">,
135 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-page-number"
136 </span><span class="jsdoc-syntax">})</span><span class="jsdoc-var">.el</span><span class="jsdoc-syntax">);
137 </span><span class="jsdoc-var">this.field.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"keydown"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onPagingKeydown</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
138 </span><span class="jsdoc-var">this.field.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"focus"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){</span><span class="jsdoc-var">this.dom.select</span><span class="jsdoc-syntax">();});
139 </span><span class="jsdoc-var">this.afterTextEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.addText</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.afterPageText</span><span class="jsdoc-syntax">, 1));
140 </span><span class="jsdoc-var">this.field.setHeight</span><span class="jsdoc-syntax">(18);
141 </span><span class="jsdoc-comment">//this.addSeparator();
142 </span><span class="jsdoc-var">this.next </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.addButton</span><span class="jsdoc-syntax">({
143 </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.nextText</span><span class="jsdoc-syntax">,
144 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-btn-icon x-grid-page-next"</span><span class="jsdoc-syntax">,
145 </span><span class="jsdoc-var">disabled</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
146 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.onClick.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-string">"next"</span><span class="jsdoc-syntax">])
148 </span><span class="jsdoc-var">this.last </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.addButton</span><span class="jsdoc-syntax">({
149 </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.lastText</span><span class="jsdoc-syntax">,
150 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-btn-icon x-grid-page-last"</span><span class="jsdoc-syntax">,
151 </span><span class="jsdoc-var">disabled</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
152 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.onClick.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-string">"last"</span><span class="jsdoc-syntax">])
154 </span><span class="jsdoc-comment">//this.addSeparator();
155 </span><span class="jsdoc-var">this.loading </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.addButton</span><span class="jsdoc-syntax">({
156 </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.refreshText</span><span class="jsdoc-syntax">,
157 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-btn-icon x-grid-loading"</span><span class="jsdoc-syntax">,
158 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.onClick.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-string">"refresh"</span><span class="jsdoc-syntax">])
161 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayInfo</span><span class="jsdoc-syntax">){
162 </span><span class="jsdoc-var">this.displayEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.dom.firstChild</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.createChild</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'x-paging-info'</span><span class="jsdoc-syntax">});
166 </span><span class="jsdoc-comment">// private
167 </span><span class="jsdoc-var">updateInfo </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
168 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayEl</span><span class="jsdoc-syntax">){
169 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">count </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ds.getCount</span><span class="jsdoc-syntax">();
170 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">msg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">count </span><span class="jsdoc-syntax">== 0 ?
171 </span><span class="jsdoc-var">this.emptyMsg </span><span class="jsdoc-syntax">:
172 </span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(
173 </span><span class="jsdoc-var">this.displayMsg</span><span class="jsdoc-syntax">,
174 </span><span class="jsdoc-var">this.cursor</span><span class="jsdoc-syntax">+1, </span><span class="jsdoc-var">this.cursor</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">count</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.ds.getTotalCount</span><span class="jsdoc-syntax">()
176 </span><span class="jsdoc-var">this.displayEl.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">msg</span><span class="jsdoc-syntax">);
180 </span><span class="jsdoc-comment">// private
181 </span><span class="jsdoc-var">onLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">){
182 </span><span class="jsdoc-var">this.cursor </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.params </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">o.params.start </span><span class="jsdoc-syntax">: 0;
183 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getPageData</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">ap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.activePage</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ps </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.pages</span><span class="jsdoc-syntax">;
185 </span><span class="jsdoc-var">this.afterTextEl.el.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.afterPageText</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d.pages</span><span class="jsdoc-syntax">);
186 </span><span class="jsdoc-var">this.field.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ap</span><span class="jsdoc-syntax">;
187 </span><span class="jsdoc-var">this.first.setDisabled</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ap </span><span class="jsdoc-syntax">== 1);
188 </span><span class="jsdoc-var">this.prev.setDisabled</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ap </span><span class="jsdoc-syntax">== 1);
189 </span><span class="jsdoc-var">this.next.setDisabled</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ap </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">ps</span><span class="jsdoc-syntax">);
190 </span><span class="jsdoc-var">this.last.setDisabled</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ap </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">ps</span><span class="jsdoc-syntax">);
191 </span><span class="jsdoc-var">this.loading.enable</span><span class="jsdoc-syntax">();
192 </span><span class="jsdoc-var">this.updateInfo</span><span class="jsdoc-syntax">();
195 </span><span class="jsdoc-comment">// private
196 </span><span class="jsdoc-var">getPageData </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
197 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">total </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ds.getTotalCount</span><span class="jsdoc-syntax">();
198 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
199 </span><span class="jsdoc-var">total </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">total</span><span class="jsdoc-syntax">,
200 </span><span class="jsdoc-var">activePage </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Math.ceil</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">this.cursor</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">)/</span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">),
201 </span><span class="jsdoc-var">pages </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">total </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">this.pageSize </span><span class="jsdoc-syntax">? 1 : </span><span class="jsdoc-var">Math.ceil</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">total</span><span class="jsdoc-syntax">/</span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">)
205 </span><span class="jsdoc-comment">// private
206 </span><span class="jsdoc-var">onLoadError </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
207 </span><span class="jsdoc-var">this.loading.enable</span><span class="jsdoc-syntax">();
210 </span><span class="jsdoc-comment">// private
211 </span><span class="jsdoc-var">onPagingKeydown </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
212 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.getKey</span><span class="jsdoc-syntax">();
213 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getPageData</span><span class="jsdoc-syntax">();
214 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.RETURN</span><span class="jsdoc-syntax">){
215 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.field.dom.value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">pageNum</span><span class="jsdoc-syntax">;
216 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">isNaN</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pageNum </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, 10))){
217 </span><span class="jsdoc-var">this.field.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.activePage</span><span class="jsdoc-syntax">;
218 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
220 </span><span class="jsdoc-var">pageNum </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(1, </span><span class="jsdoc-var">pageNum</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">d.pages</span><span class="jsdoc-syntax">) - 1;
221 </span><span class="jsdoc-var">this.ds.load</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">:{</span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">pageNum </span><span class="jsdoc-syntax">* </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">limit</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">}});
222 </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
224 </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.HOME </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.UP </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.PAGEUP </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.RIGHT </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.END </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.DOWN </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.LEFT </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.PAGEDOWN </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">))
226 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pageNum </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.HOME </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.DOWN </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.LEFT </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.PAGEDOWN </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">)) ? 1 : </span><span class="jsdoc-var">d.pages</span><span class="jsdoc-syntax">;
227 </span><span class="jsdoc-var">this.field.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">pageNum</span><span class="jsdoc-syntax">;
228 </span><span class="jsdoc-var">this.ds.load</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">:{</span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: (</span><span class="jsdoc-var">pageNum </span><span class="jsdoc-syntax">- 1) * </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">limit</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">}});
229 </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
231 </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.UP </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.RIGHT </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.PAGEUP </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.DOWN </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.LEFT </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.PAGEDOWN</span><span class="jsdoc-syntax">)
233 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.field.dom.value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">pageNum</span><span class="jsdoc-syntax">;
234 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">increment </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">e.shiftKey</span><span class="jsdoc-syntax">) ? 10 : 1;
235 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.DOWN </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.LEFT </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">e.PAGEDOWN</span><span class="jsdoc-syntax">) {
236 </span><span class="jsdoc-var">increment </span><span class="jsdoc-syntax">*= -1;
238 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">isNaN</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pageNum </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, 10))) {
239 </span><span class="jsdoc-var">this.field.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.activePage</span><span class="jsdoc-syntax">;
240 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
242 </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, 10) + </span><span class="jsdoc-var">increment </span><span class="jsdoc-syntax">>= 1 & </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, 10) + </span><span class="jsdoc-var">increment </span><span class="jsdoc-syntax"><= </span><span class="jsdoc-var">d.pages</span><span class="jsdoc-syntax">)
244 </span><span class="jsdoc-var">this.field.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, 10) + </span><span class="jsdoc-var">increment</span><span class="jsdoc-syntax">;
245 </span><span class="jsdoc-var">pageNum </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(1, </span><span class="jsdoc-var">pageNum </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">increment</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">d.pages</span><span class="jsdoc-syntax">) - 1;
246 </span><span class="jsdoc-var">this.ds.load</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">:{</span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">pageNum </span><span class="jsdoc-syntax">* </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">limit</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">}});
248 </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
252 </span><span class="jsdoc-comment">// private
253 </span><span class="jsdoc-var">beforeLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
254 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.loading</span><span class="jsdoc-syntax">){
255 </span><span class="jsdoc-var">this.loading.disable</span><span class="jsdoc-syntax">();
259 </span><span class="jsdoc-comment">// private
260 </span><span class="jsdoc-var">onClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">which</span><span class="jsdoc-syntax">){
261 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ds</span><span class="jsdoc-syntax">;
262 </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">which</span><span class="jsdoc-syntax">){
263 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">"first"</span><span class="jsdoc-syntax">:
264 </span><span class="jsdoc-var">ds.load</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">:{</span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: 0, </span><span class="jsdoc-var">limit</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">}});
265 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
266 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">"prev"</span><span class="jsdoc-syntax">:
267 </span><span class="jsdoc-var">ds.load</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">:{</span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">this.cursor</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">limit</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">}});
268 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
269 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">"next"</span><span class="jsdoc-syntax">:
270 </span><span class="jsdoc-var">ds.load</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">:{</span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cursor</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">limit</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">}});
271 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
272 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">"last"</span><span class="jsdoc-syntax">:
273 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">total </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ds.getTotalCount</span><span class="jsdoc-syntax">();
274 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">extra </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">total </span><span class="jsdoc-syntax">% </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">;
275 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lastStart </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">extra </span><span class="jsdoc-syntax">? (</span><span class="jsdoc-var">total </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">extra</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">total</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">;
276 </span><span class="jsdoc-var">ds.load</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">:{</span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">lastStart</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">limit</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">}});
277 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
278 </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">"refresh"</span><span class="jsdoc-syntax">:
279 </span><span class="jsdoc-var">ds.load</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">:{</span><span class="jsdoc-var">start</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cursor</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">limit</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">}});
280 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
284 </span><span class="jsdoc-comment">/**
285 * Unbinds the paging toolbar from the specified {@link Roo.data.Store}
286 * @param {Roo.data.Store} store The data store to unbind
288 </span><span class="jsdoc-var">unbind </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">){
289 </span><span class="jsdoc-var">ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforeload"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.beforeLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
290 </span><span class="jsdoc-var">ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"load"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
291 </span><span class="jsdoc-var">ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"loadexception"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoadError</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
292 </span><span class="jsdoc-var">ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"remove"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.updateInfo</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
293 </span><span class="jsdoc-var">ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"add"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.updateInfo</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
294 </span><span class="jsdoc-var">this.ds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">;
297 </span><span class="jsdoc-comment">/**
298 * Binds the paging toolbar to the specified {@link Roo.data.Store}
299 * @param {Roo.data.Store} store The data store to bind
301 </span><span class="jsdoc-var">bind </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">){
302 </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforeload"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.beforeLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
303 </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"load"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
304 </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"loadexception"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoadError</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
305 </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"remove"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.updateInfo</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
306 </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"add"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.updateInfo</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
307 </span><span class="jsdoc-var">this.ds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">;
309 });</span></code></body></html>