53 lines
No EOL
1.7 KiB
JavaScript
53 lines
No EOL
1.7 KiB
JavaScript
/*
|
|
This file is part of Ext JS 3.4
|
|
|
|
Copyright (c) 2011-2013 Sencha Inc
|
|
|
|
Contact: http://www.sencha.com/contact
|
|
|
|
GNU General Public License Usage
|
|
This file may be used under the terms of the GNU General Public License version 3.0 as
|
|
published by the Free Software Foundation and appearing in the file LICENSE included in the
|
|
packaging of this file.
|
|
|
|
Please review the following information to ensure the GNU General Public License version 3.0
|
|
requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
|
|
|
If you are unsure which license is appropriate for your use, please contact the sales department
|
|
at http://www.sencha.com/contact.
|
|
|
|
Build date: 2013-04-03 15:07:25
|
|
*/
|
|
/**
|
|
* Plugin for PagingToolbar which replaces the textfield input with a slider
|
|
*/
|
|
Ext.ux.SlidingPager = Ext.extend(Object, {
|
|
init : function(pbar){
|
|
var idx = pbar.items.indexOf(pbar.inputItem);
|
|
Ext.each(pbar.items.getRange(idx - 2, idx + 2), function(c){
|
|
c.hide();
|
|
});
|
|
var slider = new Ext.Slider({
|
|
width: 114,
|
|
minValue: 1,
|
|
maxValue: 1,
|
|
plugins: new Ext.slider.Tip({
|
|
getText : function(thumb) {
|
|
return String.format('Page <b>{0}</b> of <b>{1}</b>', thumb.value, thumb.slider.maxValue);
|
|
}
|
|
}),
|
|
listeners: {
|
|
changecomplete: function(s, v){
|
|
pbar.changePage(v);
|
|
}
|
|
}
|
|
});
|
|
pbar.insert(idx + 1, slider);
|
|
pbar.on({
|
|
change: function(pb, data){
|
|
slider.setMaxValue(data.pages);
|
|
slider.setValue(data.activePage);
|
|
}
|
|
});
|
|
}
|
|
}); |