Во-первых, «pagingtoolbar» - это не макет, а не окно, это компонент. Вот версия, которую я использовал в раннем проекте 4.x. Возможно, вам придется настроить его в какой-то момент, потому что он был создан для требований клиентов.
/**
* @class Ext.ux..toolbar.Paging
* @extends Ext.toolbar.Toolbar
* Paging
*/
Ext.define('Ext.ux.toolbar.Paging', {
extend: 'Ext.toolbar.Paging',
alias: 'widget.pagebar',
lastElements: 0,
autoPagesize: true,
initComponent: function() {
var me = this;
me.callParent(arguments);
if (me.autoPagesize) {
me.on('afterlayout', function (tb, layout, eOpts) {
var grid = tb.up('grid');
if (!grid)
grid = tb.up('grid');
grid.on('resize', function (p, aw, ah, eo) {
var view = p.getView(),
height = view.getHeight(),
elements = Math.floor(height/23);
if (me.lastElements == elements)
return;
me.lastElements = elements;
me.adjustPaging(elements);
});
}, me, { single: true });
}
},
/**
* @private recalcPage
* recalculate the current page after the elements per page have changed
* @param {Number} new elements per page count
*/
recalcPage: function (ne) {
var me = this,
se = ((me.store.currentPage - 1) * me.store.pageSize) + 1,
c = me.store.currentPage,
e = me.store.pageSize;
return Math.floor(se/ne) + 1;
},
/**
* @private adjustPaging
* recalculate the current page after the elements per page have changed
* @param {Number} new elements per page count
*/
adjustPaging: function (newElements) {
var me = this,
newPage = me.recalcPage(newElements);
me.store.pageSize = newElements;
me.store.loadPage(newPage);
}
});
пытается ~~ спасибо ~ – Leo
@ user2086007 Добро пожаловать – sra