X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/examples/ux/SlidingPager.js diff --git a/examples/ux/SlidingPager.js b/examples/ux/SlidingPager.js index fc8b9edd..2eddccc9 100644 --- a/examples/ux/SlidingPager.js +++ b/examples/ux/SlidingPager.js @@ -1,39 +1,54 @@ -/*! - * Ext JS Library 3.3.1 - * Copyright(c) 2006-2010 Sencha Inc. - * licensing@sencha.com - * http://www.sencha.com/license - */ /** - * Plugin for PagingToolbar which replaces the textfield input with a slider - */ -Ext.ux.SlidingPager = Ext.extend(Object, { +* @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.inputItem); + var idx = pbar.items.indexOf(pbar.child("#inputItem")), + slider; + Ext.each(pbar.items.getRange(idx - 2, idx + 2), function(c){ c.hide(); }); - var slider = new Ext.Slider({ + + slider = Ext.create('Ext.slider.Single', { width: 114, minValue: 1, maxValue: 1, - plugins: new Ext.slider.Tip({ - getText : function(thumb) { - return String.format('Page {0} of {1}', thumb.value, thumb.slider.maxValue); - } - }), + hideLabel: true, + tipText: function(thumb) { + return Ext.String.format('Page {0} of {1}', thumb.value, thumb.slider.maxValue); + }, listeners: { changecomplete: function(s, v){ - pbar.changePage(v); + pbar.store.loadPage(v); } } }); + pbar.insert(idx + 1, slider); + pbar.on({ change: function(pb, data){ - slider.setMaxValue(data.pages); - slider.setValue(data.activePage); + slider.setMaxValue(data.pageCount); + slider.setValue(data.currentPage); } }); } -}); \ No newline at end of file +});