X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/25ef3491bd9ae007ff1fc2b0d7943e6eaaccf775..3789b528d8dd8aad4558e38e22d775bcab1cbd36:/examples/ux/SlidingPager.js?ds=inline
diff --git a/examples/ux/SlidingPager.js b/examples/ux/SlidingPager.js
index 710e718e..2eddccc9 100644
--- a/examples/ux/SlidingPager.js
+++ b/examples/ux/SlidingPager.js
@@ -1,38 +1,54 @@
-/*!
- * Ext JS Library 3.0.3
- * Copyright(c) 2006-2009 Ext JS, LLC
- * licensing@extjs.com
- * http://www.extjs.com/license
- */
-Ext.ux.SlidingPager = Ext.extend(Object, {
- init : function(pbar){
- Ext.each(pbar.items.getRange(2,6), function(c){
- c.hide();
- });
- var slider = new Ext.Slider({
- width: 114,
- minValue: 1,
- maxValue: 1,
- plugins: new Ext.ux.SliderTip({
- getText : function(s){
- return String.format('Page {0} of {1}', s.value, s.maxValue);
- }
- }),
- listeners: {
- changecomplete: function(s, v){
- pbar.changePage(v);
- }
- }
- });
- pbar.insert(5, slider);
- pbar.on({
- change: function(pb, data){
- slider.maxValue = data.pages;
- slider.setValue(data.activePage);
- },
- beforedestroy: function(){
- slider.destroy();
- }
- });
- }
-});
\ No newline at end of file
+/**
+* @class Ext.ux.SlidingPager
+* @extends Object
+* Plugin for PagingToolbar which replaces the textfield input with a slider
+* @constructor
+* Create a new ItemSelector
+* @param {Object} config Configuration options
+*/
+Ext.define('Ext.ux.SlidingPager', {
+ extend: 'Object',
+ requires: [
+ 'Ext.slider.Single',
+ 'Ext.slider.Tip'
+ ],
+
+ constructor : function(config) {
+ if (config) {
+ Ext.apply(this, config);
+ }
+ },
+
+ init : function(pbar){
+ var idx = pbar.items.indexOf(pbar.child("#inputItem")),
+ slider;
+
+ Ext.each(pbar.items.getRange(idx - 2, idx + 2), function(c){
+ c.hide();
+ });
+
+ slider = Ext.create('Ext.slider.Single', {
+ width: 114,
+ minValue: 1,
+ maxValue: 1,
+ hideLabel: true,
+ tipText: function(thumb) {
+ return Ext.String.format('Page {0} of {1}', thumb.value, thumb.slider.maxValue);
+ },
+ listeners: {
+ changecomplete: function(s, v){
+ pbar.store.loadPage(v);
+ }
+ }
+ });
+
+ pbar.insert(idx + 1, slider);
+
+ pbar.on({
+ change: function(pb, data){
+ slider.setMaxValue(data.pageCount);
+ slider.setValue(data.currentPage);
+ }
+ });
+ }
+});