PagingToolbar
A special Toolbar class, which, when attached to a Store, which has been configured to be paged, controls the loading of that store to page through the data set.
new Grid({
bbar : {
type : 'pagingtoolbar'
}
});
Paging toolbar
//<code-header>
fiddle.title = 'Paging toolbar';
//</code-header>
const
rowCount = 250,
pageSize = 25;
let data = [];
AjaxHelper.mockUrl('/pagedMockUrl', (url, params) => {
const
page = parseInt(params.page, 10),
pageSize = parseInt(params.pageSize, 10),
startIdx = (page - 1) * pageSize;
if (data.length !== rowCount) {
data = DataGenerator.generateData(
rowCount,
null,
1
);
}
let returnedData = data.slice();
// Filter the data if filter parameter is passed
if (params.filter) {
returnedData = returnedData.filter(
CollectionFilter.generateFiltersFunction(
JSON.parse(params.filter).map(f => {
f.property = f.field;
return new CollectionFilter(f);
})
)
);
}
// Sort the data if sort parameter is passed
if (params.sort) {
returnedData.sort(store.createSorterFn(JSON.parse(params.sort)));
}
return {
responseText : JSON.stringify({
success : true,
total : returnedData.length,
data : returnedData.slice(startIdx, startIdx + pageSize)
})
};
});
const store = new AjaxStore({
modelClass : GridRowModel,
readUrl : '/pagedMockUrl',
pageParamName : 'page',
sortParamName : 'sort',
filterParamName : 'filter',
pageSize,
autoLoad : true
});
if (window.Grid) {
const grid = new Grid({
height : '30em',
appendTo : targetElement,
columns : [
{
text : 'First name',
field : 'firstName',
flex : 1
},
{
text : 'Surname',
field : 'surName',
flex : 1
},
{
text : 'Rank',
field : 'rank',
flex : 1,
type : 'number'
},
{
text : 'Percent',
field : 'percent',
width : 150,
type : 'percent'
}
],
store,
bbar : {
type : 'pagingtoolbar',
items : {
click : {
type : 'button',
text : 'Click me',
weight : 175 // Add after last item
}
}
}
});
}
// Use a List in TaskBoard, it is not built on Grid
else {
const panel = new Panel({
height : '30em',
appendTo : targetElement,
scrollable : true,
items : {
list : {
type : 'list',
store,
displayField : 'name'
}
},
bbar : {
type : 'pagingtoolbar',
store,
items : {
click : {
type : 'button',
text : 'Click me',
weight : 175 // Add after last item
}
}
}
});
}Default toolbar items
The toolbar provides some default buttons and other items as described below:
| Reference | Weight | Description |
|---|---|---|
firstPageButton |
100 | Go to first page |
previousPageButton |
110 | Go to previous page |
pageNumber |
120 | TextCurrent page number |
pageCount |
130 | Label showing number of pages |
nextPageButton |
140 | Go to next page |
lastPageButton |
150 | Go to last page |
reloadButton |
160 | Reload data |
dataSummary |
170 | Summary text |
Customizing the toolbar items
The toolbar items can be customized, existing items can be changed or removed, and new items can be added. This is handled using the items config.
Adding additional buttons or widgets to the paging toolbar can be done like so:
bbar : {
type : 'pagingtoolbar',
items : {
click : {
type : 'button',
text : 'Click me',
weight : 175 // Add after last item
}
}
}
Configs
97
Configs
97Common
listenersEvents
Other
The Store that this PagingToolbar is to control. If set to a string value, that string value should represent the property name of the Store's reference on this toolbar's parent component. By default, the toolbar will control the Store found at the parent components 'store' property.
callOnFunctionsWidget
columnWidget
defaultFocusContainer
enableReorderingToolbar
inputFieldAlignContainer
labelPositionToolbar
overflowToolbar
renditionContainer
rtlRTL
spanWidget
Content
defaultsContainer
itemsToolbar
lazyItemsContainer
namedItemsContainer
textContentContainer
toolsToolable
CSS
borderContainer
clsWidget
colorWidget
contentElementClsWidget
htmlClsWidget
itemClsContainer
styleWidget
uiWidget
widgetClsToolbar
DOM
adoptWidget
appendToWidget
contentWidget
datasetWidget
htmlWidget
idWidget
insertBeforeWidget
insertFirstWidget
tagWidget
titleWidget
Float & align
alignWidget
anchorWidget
centeredWidget
constrainToWidget
draggableWidget
floatingWidget
hideAnimationWidget
maximizeOnMobileWidget
positionedWidget
scrollActionWidget
showAnimationWidget
xWidget
yWidget
Layout
alignSelfWidget
dockWidget
flexWidget
heightWidget
hiddenWidget
hideWhenEmptyContainer
layoutContainer
layoutStyleContainer
marginWidget
maxHeightWidget
maxWidthWidget
minHeightWidget
minWidthWidget
textAlignWidget
weightWidget
widthWidget
misc
tabBarItemsContainer
Misc
bubbleEventsEvents
dataFieldWidget
defaultBindPropertyWidget
disabledWidget
elementAttributesWidget
ignoreParentReadOnlyToolbar
localeClassLocalizable
localizableLocalizable
localizablePropertiesLocalizable
maskDefaultsWidget
maskedWidget
monitorResizeWidget
ownerWidget
preventTooltipOnTouchWidget
readOnlyWidget
refWidget
rippleWidget
rootElementWidget
showTooltipWhenDisabledWidget
tabWidget
tooltipWidget
Scrolling
scrollableWidget
Properties
86
Properties
86Class hierarchy
Identifies an object as an instance of PagingToolbar class, or subclass thereof.
Identifies an object as an instance of PagingToolbar class, or subclass thereof.
isContainerContainer
isDelayableDelayable
isEventsEvents
isKeyMapKeyMap
isLocalizableLocalizable
isRTLRTL
isToolableToolable
isToolbarToolbar
isWidgetWidget
Content
toolsToolable
CSS
clsWidget
DOM
appendToWidget
contentWidget
contentElementWidget
datasetWidget
elementWidget
focusableElementWidget
focusElementWidget
htmlWidget
idWidget
insertBeforeWidget
insertFirstWidget
overflowElementWidget
styleWidget
Layout
alignSelfWidget
flexWidget
heightWidget
layoutContainer
layoutStyleContainer
marginWidget
maxHeightWidget
maxWidthWidget
minHeightWidget
minWidthWidget
scrollableWidget
widthWidget
Misc
callOnFunctionsEvents
cellInfoWidget
disabledWidget
localeHelperLocalizable
localeManagerLocalizable
readOnlyWidget
refWidget
tabWidget
tooltipWidget
Other
columnWidget
enableReorderingToolbar
firstItemContainer
hasChangesContainer
inputFieldAlignContainer
isSettingValuesContainer
isValidContainer
itemsContainer
labelPositionToolbar
lastItemContainer
renditionContainer
rtlRTL
spanWidget
valuesContainer
Widget hierarchy
containsFocusWidget
nextSiblingWidget
ownerWidget
parentWidget
previousSiblingWidget
visibleChildCountContainer
widgetMapContainer
Functions
67
Functions
67Configuration
Events
detachListenersBase
Misc
animatePropertyBase
callbackBase
downloadTestCaseBase
resolveCallbackBase
updateLocalizationLocalizable
Other
addContainer
addListenerEvents
announceAriaLiveWidget
composeWidget
createOnFrameDelayable
disableWidget
enableWidget
exitFullscreenWidget
focusWidget
getAtContainer
getWidgetByIdContainer
hasListenerEvents
insertContainer
maskWidget
onEvents
processWidgetConfigContainer
recomposeWidget
relayAllEvents
removeContainer
removeAllContainer
removeAllListenersEvents
removeListenerEvents
requestFullscreenWidget
resetValuesContainer
resumeEventsEvents
revertFocusWidget
setValuesContainer
suspendEventsEvents
triggerEvents
unEvents
unmaskWidget
Widget hierarchy
closestWidget
containsWidget
eachAncestorWidget
eachWidgetWidget
ownsWidget
queryWidget
queryAllWidget
upWidget
Events
19
Events
19beforeDestroyEvents
beforeHideWidget
beforeItemDragStartToolbar
beforeSetRecordContainer
beforeShowWidget
catchAllEvents
destroyEvents
dirtyStateChangeContainer
elementCreatedWidget
focusInWidget
focusOutWidget
hideWidget
itemDragStartToolbar
itemDropToolbar
paintWidget
readOnlyWidget
recomposeWidget
resizeWidget
showWidget
Event handlers
19
Event handlers
19onBeforeDestroyEvents
onBeforeHideWidget
onBeforeItemDragStartToolbar
onBeforeSetRecordContainer
onBeforeShowWidget
onCatchAllEvents
onDestroyEvents
onDirtyStateChangeContainer
onElementCreatedWidget
onFocusInWidget
onFocusOutWidget
onHideWidget
onItemDragStartToolbar
onItemDropToolbar
onPaintWidget
onReadOnlyWidget
onRecomposeWidget
onResizeWidget
onShowWidget
Typedefs
7
Typedefs
7AlignSpecWidget
BryntumListenerConfigEvents
CellWidgetContextWidget
ColorWidget
DelayableConfigDelayable
KeyMapConfigKeyMap
ToolbarItemsToolbar