Package io.jmix.ui.widget
Class JmixPagination
java.lang.Object
com.vaadin.server.AbstractClientConnector
com.vaadin.ui.AbstractComponent
com.vaadin.ui.AbstractComponentContainer
com.vaadin.ui.AbstractLayout
com.vaadin.ui.CssLayout
io.jmix.ui.widget.JmixAbstractPagination
io.jmix.ui.widget.JmixPagination
- All Implemented Interfaces:
com.vaadin.event.ContextClickEvent.ContextClickNotifier,com.vaadin.event.LayoutEvents.LayoutClickNotifier,com.vaadin.event.MethodEventSource,com.vaadin.server.ClientConnector,com.vaadin.server.Sizeable,com.vaadin.shared.Connector,com.vaadin.ui.Component,com.vaadin.ui.Component.HasContextHelp,com.vaadin.ui.ComponentContainer,com.vaadin.ui.HasComponents,com.vaadin.ui.HasComponents.ComponentAttachDetachNotifier,com.vaadin.ui.Layout,Serializable,Iterable<com.vaadin.ui.Component>
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassClass describes data page in the component.Nested classes/interfaces inherited from class io.jmix.ui.widget.JmixAbstractPagination
JmixAbstractPagination.JmixItemsPerPageLayoutNested classes/interfaces inherited from class com.vaadin.server.AbstractClientConnector
com.vaadin.server.AbstractClientConnector.IncorrectConcurrentAccessHandlerNested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
com.vaadin.server.ClientConnector.AttachEvent, com.vaadin.server.ClientConnector.AttachListener, com.vaadin.server.ClientConnector.ConnectorErrorEvent, com.vaadin.server.ClientConnector.DetachEvent, com.vaadin.server.ClientConnector.DetachListenerNested classes/interfaces inherited from interface com.vaadin.ui.Component
com.vaadin.ui.Component.ErrorEvent, com.vaadin.ui.Component.Event, com.vaadin.ui.Component.Focusable, com.vaadin.ui.Component.HasContextHelp, com.vaadin.ui.Component.ListenerNested classes/interfaces inherited from interface com.vaadin.ui.Component.HasContextHelp
com.vaadin.ui.Component.HasContextHelp.ContextHelpIconClickEvent, com.vaadin.ui.Component.HasContextHelp.ContextHelpIconClickListenerNested classes/interfaces inherited from interface com.vaadin.ui.HasComponents
com.vaadin.ui.HasComponents.ComponentAttachDetachNotifier, com.vaadin.ui.HasComponents.ComponentAttachEvent, com.vaadin.ui.HasComponents.ComponentAttachListener, com.vaadin.ui.HasComponents.ComponentDetachEvent, com.vaadin.ui.HasComponents.ComponentDetachListenerNested classes/interfaces inherited from interface com.vaadin.ui.Layout
com.vaadin.ui.Layout.AlignmentHandler, com.vaadin.ui.Layout.MarginHandler, com.vaadin.ui.Layout.SpacingHandlerNested classes/interfaces inherited from interface com.vaadin.server.Sizeable
com.vaadin.server.Sizeable.Unit -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Runnableprotected intprotected PaginationDataBinderprotected intprotected intprotected intprotected BiConsumer<Integer,Integer> protected List<JmixPagination.JmixPage>protected static final StringFields inherited from class io.jmix.ui.widget.JmixAbstractPagination
FIRST_PAGE_STYLENAME, firstButton, itemsPerPageLayout, LAST_PAGE_STYLENAME, lastButton, NAVIGATION_BTN_STYLENAME, NEXT_PAGE_STYLENAME, nextButton, PREV_PAGE_STYLENAME, prevButton, primaryStyleNameFields inherited from class com.vaadin.ui.CssLayout
componentsFields inherited from class com.vaadin.ui.AbstractComponent
componentErrorProvider, DESIGN_ATTR_PLAIN_TEXT, requiredErrorFields inherited from interface com.vaadin.server.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidcreatePages(int totalCount, int itemsToDisplay) Creates pages based on total count of items and items count to display per page.protected voidprotected voidfirePageChangeEvent(int previousPage, int currentPage) voidforceSelectPage(int pageNumber) Sets page without firing refresh event.intintintintgetPages()protected booleanbooleanisFirstResultInRanges(int firstResult) Checks that first result is not greater than last page's first result.protected booleanisPageIndexNotInRange(int pageIdx) voidRemoves all pages from the layout.voidSelects first page or do nothing if current page is first.voidSelects last page or do nothing if current page is last.voidSelects next page or do nothing if current page is last.voidselectPage(int pageNumber) Sets page by its number.voidSelects previous page or do nothing if current page is first.voidsetCurrentPageNumber(int currentPageNumber) Sets current page number.voidsetCurrentPageNumberByFirstResult(int firstResult) Sets page number based on provided first result.voidsetDataBinder(PaginationDataBinder dataBinder) Sets pagination data binder.voidsetDataRefreshedProvider(Supplier<Boolean> dataRefreshedProvider) Sets data refreshed provider.voidsetMaxVisiblePages(int maxVisiblePages) Sets maximum number of visible pages.voidsetOnAfterRefreshListener(Runnable listener) Sets after data refresh listener.voidsetPageChangeListener(BiConsumer<Integer, Integer> listener) Sets page change listener.voidCalculates page numbers and captions based ongetCurrentPageNumber().voidSets to pages selected or not based ongetCurrentPageNumber().Methods inherited from class io.jmix.ui.widget.JmixAbstractPagination
createItemsPerPage, createNavigationBtn, createNavigationButtons, getFirstButton, getItemsPerPageComboBox, getItemsPerPageLabel, getItemsPerPageLayout, getLastButton, getNextButton, getPrevButton, getStyleName, isItemsPerPageUnlimitedOptionVisible, isItemsPerPageVisible, setItemsPerPageUnlimitedOptionVisible, setItemsPerPageVisible, setStyleNameMethods inherited from class com.vaadin.ui.CssLayout
addComponent, addComponent, addComponentAsFirst, addLayoutClickListener, beforeClientResponse, getComponent, getComponentCount, getComponentIndex, getCss, getState, getState, iterator, readDesign, removeComponent, removeLayoutClickListener, replaceComponent, writeDesignMethods inherited from class com.vaadin.ui.AbstractLayout
isRequiredIndicatorVisible, readMargin, setRequiredIndicatorVisible, writeMarginMethods inherited from class com.vaadin.ui.AbstractComponentContainer
addComponentAttachListener, addComponentDetachListener, addComponents, fireComponentAttachEvent, fireComponentDetachEvent, getComponentIterator, moveComponentsFrom, removeAllComponents, removeComponentAttachListener, removeComponentDetachListener, setHeight, setWidthMethods inherited from class com.vaadin.ui.AbstractComponent
addContextClickListener, addContextHelpIconClickListener, addListener, addShortcutListener, addStyleName, attach, detach, ensureContextHelpInitialized, findAncestor, fireComponentErrorEvent, fireComponentEvent, fireContextHelpClick, focus, getActionManager, getCaption, getComponentError, getComponentErrorProvider, getContextHelpText, getCustomAttributes, getData, getDebugId, getDescription, getErrorMessage, getHeight, getHeightUnits, getIcon, getId, getJTestId, getLocale, getParent, getPrimaryStyleName, getRequiredError, getWidth, getWidthUnits, isCaptionAsHtml, isConnectorEnabled, isContextHelpTextHtmlEnabled, isEnabled, isOrHasAncestor, isReadOnly, isResponsive, isVisible, removeContextClickListener, removeListener, removeShortcutListener, removeStyleName, setCaption, setCaptionAsHtml, setComponentError, setComponentErrorProvider, setContextHelpText, setContextHelpTextHtmlEnabled, setData, setDebugId, setDescription, setDescription, setEnabled, setHeight, setHeightFull, setHeightUndefined, setIcon, setId, setJTestId, setLocale, setParent, setPrimaryStyleName, setReadOnly, setRequiredError, setResponsive, setSizeFull, setSizeUndefined, setVisible, setWidth, setWidthFull, setWidthUndefinedMethods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getIncorrectConcurrentAccessHandler, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isThis, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setConnectorResource, setErrorHandler, setIncorrectConcurrentAccessHandler, setResource, updateDiffstateMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirty, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandlerMethods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, addStyleNames, attach, getCaption, getDescription, getIcon, getId, getJTestId, getLocale, getParent, getPrimaryStyleName, getUI, isEnabled, isVisible, removeListener, removeStyleName, removeStyleNames, setCaption, setEnabled, setIcon, setId, setJTestId, setParent, setPrimaryStyleName, setStyleName, setVisibleMethods inherited from interface com.vaadin.ui.ComponentContainer
addComponents, getComponentIterator, moveComponentsFrom, removeAllComponentsMethods inherited from interface com.vaadin.shared.Connector
getConnectorIdMethods inherited from interface com.vaadin.ui.HasComponents.ComponentAttachDetachNotifier
addComponentAttachListener, addComponentDetachListener, removeComponentAttachListener, removeComponentDetachListenerMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface com.vaadin.server.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setHeightFull, setHeightUndefined, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull, setWidthUndefined
-
Field Details
-
PRIMARY_STYLENAME
- See Also:
-
pages
-
dataBinder
-
maxVisiblePages
protected int maxVisiblePages -
currentPageNumber
protected int currentPageNumber -
lastPageNumber
protected int lastPageNumber -
itemsToDisplay
protected int itemsToDisplay -
pageChangeListener
-
dataRefreshedProvider
-
afterRefreshListener
-
-
Constructor Details
-
JmixPagination
public JmixPagination()
-
-
Method Details
-
createContentLayout
protected void createContentLayout() -
getMaxVisiblePages
public int getMaxVisiblePages()- Returns:
- maximum number of visible pages
-
setMaxVisiblePages
public void setMaxVisiblePages(int maxVisiblePages) Sets maximum number of visible pages.- Parameters:
maxVisiblePages- maximum visible pages value
-
getCurrentPageNumber
public int getCurrentPageNumber()- Returns:
- current page number
-
setCurrentPageNumber
public void setCurrentPageNumber(int currentPageNumber) Sets current page number. Note, page number starts from1.- Parameters:
currentPageNumber- current page number value
-
getLastPageNumber
public int getLastPageNumber()- Returns:
- number of last page
-
getItemsToDisplay
public int getItemsToDisplay()- Returns:
- items count that should be displayed per page
-
getDataBinder
- Returns:
- data source provider
-
setDataBinder
Sets pagination data binder.- Parameters:
dataBinder- data binder
-
removePages
public void removePages()Removes all pages from the layout. -
createPages
public void createPages(int totalCount, int itemsToDisplay) Creates pages based on total count of items and items count to display per page.- Parameters:
totalCount- total count of itemsitemsToDisplay- items count to display per page
-
getPages
- Returns:
- pages list
-
getCurrentPage
- Returns:
- current page or
nullif list of pages is empty or number of current page is out of page number range
-
setCurrentPageNumberByFirstResult
public void setCurrentPageNumberByFirstResult(int firstResult) Sets page number based on provided first result. Throws an exception if page number cannot be set.- Parameters:
firstResult- first result value
-
isFirstResultInRanges
public boolean isFirstResultInRanges(int firstResult) Checks that first result is not greater than last page's first result.- Parameters:
firstResult- first result value to check- Returns:
trueif provided first result is less than or equal to last page's first result
-
selectFirstPage
public void selectFirstPage()Selects first page or do nothing if current page is first. -
selectNextPage
public void selectNextPage()Selects next page or do nothing if current page is last. -
selectPreviousPage
public void selectPreviousPage()Selects previous page or do nothing if current page is first. -
selectLastPage
public void selectLastPage()Selects last page or do nothing if current page is last. -
selectPage
public void selectPage(int pageNumber) Sets page by its number. Note, page number starts from 1.- Parameters:
pageNumber- number of page
-
forceSelectPage
public void forceSelectPage(int pageNumber) Sets page without firing refresh event. Note, page number starts from 1.- Parameters:
pageNumber- number of page
-
setOnAfterRefreshListener
Sets after data refresh listener. Is invoked data refreshing is finished successfully. -
fireAfterRefreshEvent
protected void fireAfterRefreshEvent() -
setPageChangeListener
Sets page change listener. Listener is invoked when selected page switched to another. -
firePageChangeEvent
protected void firePageChangeEvent(int previousPage, int currentPage) -
setDataRefreshedProvider
Sets data refreshed provider. Providestrueif data refreshing is finished successfully. -
updatePageSelections
public void updatePageSelections()Sets to pages selected or not based ongetCurrentPageNumber(). -
updatePageNumbers
public void updatePageNumbers()Calculates page numbers and captions based ongetCurrentPageNumber(). -
isDataRefreshed
protected boolean isDataRefreshed() -
isPageIndexNotInRange
protected boolean isPageIndexNotInRange(int pageIdx)
-