Class ContainerableListPanel<C extends Serializable,PO extends SelectableRow>
java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
com.evolveum.midpoint.gui.api.component.BasePanel<C>
com.evolveum.midpoint.gui.impl.component.ContainerableListPanel<C,PO>
- Type Parameters:
C- the container of displayed objects in tablePO- the type of the object processed by provider
- All Implemented Interfaces:
Serializable,Iterable<org.apache.wicket.Component>,org.apache.wicket.event.IEventSink,org.apache.wicket.event.IEventSource,org.apache.wicket.feedback.IFeedbackContributor,org.apache.wicket.IConverterLocator,org.apache.wicket.IMetadataContext<Serializable,,org.apache.wicket.Component> org.apache.wicket.IQueueRegion,org.apache.wicket.markup.html.IHeaderContributor,org.apache.wicket.request.component.IRequestableComponent,org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>,org.apache.wicket.util.io.IClusterable
- Direct Known Subclasses:
AuditLogViewerPanel,CaseWorkItemsPanel,CertificationCasesPanel,CertificationWorkItemTable,CorrelationProcessedObjectPanel,MappingProcessedObjectPanel,MultivalueContainerListPanel,ObjectListPanel,ProcessedObjectsPanel,ReportObjectsListPanel
public abstract class ContainerableListPanel<C extends Serializable,PO extends SelectableRow>
extends BasePanel<C>
- Author:
- skublik Abstract class for List panels with table.
- See Also:
-
Field Summary
Fields inherited from class org.apache.wicket.markup.html.panel.Panel
PANELFields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS -
Constructor Summary
ConstructorsConstructorDescriptionContainerableListPanel(String id, Class<C> defaultType) ContainerableListPanel(String id, Class<C> defaultType, ContainerPanelConfigurationType configurationType) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddBasicActions(List<InlineMenuItem> menuItems) Method define basic menu action that is default for all subclasses and will be added on end of menu items list.protected voidaddCustomActions(@NotNull List<InlineMenuItem> actionsList, SerializableSupplier<Collection<? extends C>> objectsSupplier) voidaddPerformed(org.apache.wicket.ajax.AjaxRequestTarget target, List<C> selected) voidprotected SearchContextprotected org.apache.wicket.ComponentcreateCollapsibleContent(String id, @NotNull org.apache.wicket.model.IModel<PO> rowModel) createCustomExportableColumn(org.apache.wicket.model.IModel<String> columnDisplayModel, GuiObjectColumnType customColumn, SerializableSupplier<VariablesMap> variablesSupplier, ExpressionType expression) createCustomExportableColumn(org.apache.wicket.model.IModel<String> columnDisplayModel, GuiObjectColumnType customColumn, ExpressionType expression) protected org.apache.wicket.ComponentcreateHeader(String headerId) protected List<InlineMenuItem>createNameColumn(org.apache.wicket.model.IModel<String> displayModel, GuiObjectColumnType customColumn, ExpressionType expression) protected List<CompositedIconButtonDto>protected org.apache.wicket.ComponentCreates a fallback UI panel to be displayed when the container model has no values.protected abstract ISelectableDataProvider<PO>protected voidcreateReportPerformed(org.apache.wicket.ajax.AjaxRequestTarget target) protected Searchorg.apache.wicket.model.StringResourceModelcreateStringResource(String resourceKey, Object... objects) protected org.apache.wicket.markup.html.WebMarkupContainerprotected List<org.apache.wicket.Component>createToolbarButtonsList(String idButton) protected voidcustomProcessNewRowItem(org.apache.wicket.markup.repeater.Item<PO> item, org.apache.wicket.model.IModel<PO> model) protected booleanprotected booleanbooleanDetermines whether the panel should display a special UI component (e.g.protected booleanprotected AbstractGuiColumn<?,?> findPredefinedColumn(GuiObjectColumnType customColumn) protected Stringprotected intprotected <T extends com.evolveum.wicket.chartjs.ChartConfiguration>
org.apache.wicket.model.IModel<ChartedHeaderDto<T>>protected intprotected Stringprotected ColumnTypeConfigContextprotected ItemDefinition<?>protected @Nullable DefaultGuiObjectListPanelConfigurationTypeprotected intprotected GuiObjectListViewTypeprotected Stringprotected StringgetInlineMenuItemCssClass(@Nullable org.apache.wicket.model.IModel<PO> rowModel) @NotNull List<InlineMenuItem>protected LoadableModel<org.apache.wicket.request.mapper.parameter.PageParameters>protected org.apache.wicket.Componentprotected org.apache.wicket.model.StringResourceModelprotected PageStoragegetPageStorage(String storageKey) protected StringgetRowObjectName(org.apache.wicket.model.IModel<PO> rowModel) protected Stringintprotected StringgetSortProperty(GuiObjectColumnType customColumn, ExpressionType expressionType) protected StringgetTable()org.apache.wicket.Componentprotected Stringprotected abstract UserProfileStorage.TableIdgetType()getViewColumnsTransformed(List<GuiObjectColumnType> customColumns) getViewColumnsTransformed(List<GuiObjectColumnType> customColumns, boolean shouldCheckForNameColumn) protected Stringprotected booleanprotected CollapsibleBoxedTablePanel<PO>initCollapsableItemTable(ISelectableDataProvider<PO> provider, List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO, String>> columns) Initializes collapsable table panel.protected BoxedTablePanel<PO>protected SearchPanelinitSearch(String headerId) protected booleanChecks if the table is collapsible.protected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanisFooterVisible(boolean defaultCondition) protected booleanprotected booleanprotected booleanprotected booleanisMenuItemVisible(org.apache.wicket.model.IModel<PO> rowModel) protected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanisUseStorageSearch(Search search) booleanbooleanisValidFormComponents(org.apache.wicket.ajax.AjaxRequestTarget target) booleanisValidFormComponentsOfRow(org.apache.wicket.model.IModel<PO> rowModel, org.apache.wicket.ajax.AjaxRequestTarget target) protected <T extends Serializable>
Search<T>loadSearch(PageStorage storage) protected booleannotContainsNameColumn(@NotNull List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO, String>> columns) protected voidvoidrefreshTable(org.apache.wicket.ajax.AjaxRequestTarget target) voidvoidresetTable(org.apache.wicket.ajax.AjaxRequestTarget target) voidprotected voidsaveSearchModel(ObjectPaging paging) voidsetAdditionalBoxCssClasses(String boxCssClasses) protected voidsetDefaultSorting(ISelectableDataProvider<PO> provider) protected voidsetDefaultSorting(ISelectableDataProvider<PO> provider, List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO, String>> columns) voidsetManualRefreshEnabled(Boolean manualRefreshEnabled) voidsetUseCollectionView(boolean useCollectionView) This is to avoid using the object collection in search defined in page as it's loaded automagically.protected booleanprotected booleanMethods inherited from class com.evolveum.midpoint.gui.api.component.BasePanel
createComponentPath, createModel, createStringResource, createStringResource, createStringResource, createStringResource, createStringResource, createStringResource, getBrowserTabSessionStorage, getFeedbackPanel, getMidpointConfiguration, getModel, getModelObject, getPageBase, getParentPage, getPrismContext, getRegistry, getSchemaService, getSession, getSessionStorage, getString, getString, getSubscriptionState, getWebApplicationConfiguration, showResultMethods inherited from class org.apache.wicket.markup.html.panel.Panel
getRegionMarkup, newMarkupSourcingStrategyMethods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSessionMethods inherited from class org.apache.wicket.MarkupContainer
add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onDetach, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildrenMethods inherited from class org.apache.wicket.Component
add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrapMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.wicket.IQueueRegion
dequeue, newDequeueContextMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
ContainerableListPanel
- Parameters:
defaultType- specifies type of the object that will be selected by default. It can be changed.
-
ContainerableListPanel
public ContainerableListPanel(String id, Class<C> defaultType, ContainerPanelConfigurationType configurationType)
-
-
Method Details
-
onInitialize
protected void onInitialize()- Overrides:
onInitializein classorg.apache.wicket.MarkupContainer
-
isUseStorageSearch
-
loadSearch
-
getSearchByNameParameterValue
-
setUseCollectionView
public void setUseCollectionView(boolean useCollectionView) This is to avoid using the object collection in search defined in page as it's loaded automagically. E.g. on popup where we want to do complete different search - withoutuseCollectionViewqual false, search builder will load collection from underlying page no matter what.- Parameters:
useCollectionView-
-
createSearch
-
isFulltextEnabled
protected boolean isFulltextEnabled() -
createAdditionalSearchContext
-
isCollapsableTable
protected boolean isCollapsableTable()Checks if the table is collapsible.- Returns:
trueif the table is collapsible,falseotherwise.
-
isListPanelVisible
protected boolean isListPanelVisible() -
createHeader
-
getChartedHeaderDtoModel
protected <T extends com.evolveum.wicket.chartjs.ChartConfiguration> org.apache.wicket.model.IModel<ChartedHeaderDto<T>> getChartedHeaderDtoModel() -
initItemTable
-
displayIsolatedNoValuePanel
protected boolean displayIsolatedNoValuePanel() -
getTableContainerAdditionalCssClasses
-
isSearchResultInfoVisible
protected boolean isSearchResultInfoVisible() -
isCollapseToggleColumnVisible
protected boolean isCollapseToggleColumnVisible() -
createCollapsibleContent
-
createTableButtonToolbar
-
showTableAsCard
protected boolean showTableAsCard() -
initCollapsableItemTable
protected CollapsibleBoxedTablePanel<PO> initCollapsableItemTable(ISelectableDataProvider<PO> provider, List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO, String>> columns) Initializes collapsable table panel. -
getCollapsibleToggleColumnIndex
protected int getCollapsibleToggleColumnIndex() -
getDefaultPageSize
protected int getDefaultPageSize() -
getAvailablePageSizes
-
getDefaultObjectListConfiguration
@Nullable protected @Nullable DefaultGuiObjectListPanelConfigurationType getDefaultObjectListConfiguration() -
customProcessNewRowItem
-
isPagingVisible
protected boolean isPagingVisible() -
getTableId
-
isHeaderVisible
protected boolean isHeaderVisible() -
isPreview
protected boolean isPreview() -
getPageStorage
-
getPageStorage
-
createNewButtonDescription
-
isNewObjectButtonEnabled
protected boolean isNewObjectButtonEnabled() -
getTable
-
getTableComponent
public org.apache.wicket.Component getTableComponent() -
getType
-
getDefaultType
-
enableSavePageSize
protected boolean enableSavePageSize() -
createActionsColumn
-
getInlineMenuItems
-
addBasicActions
Method define basic menu action that is default for all subclasses and will be added on end of menu items list. -
getInlineMenuCssClass
-
isMenuItemVisible
-
getRowObjectName
-
collectColumns
-
shouldCheckForNameColumn
protected boolean shouldCheckForNameColumn() -
getViewColumnsTransformed
protected List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>> getViewColumnsTransformed(List<GuiObjectColumnType> customColumns) -
getViewColumnsTransformed
protected List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>> getViewColumnsTransformed(List<GuiObjectColumnType> customColumns, boolean shouldCheckForNameColumn) -
findPredefinedColumn
-
getColumnTypeConfigContext
-
getContainerDefinitionForColumns
-
createCustomExportableColumn
protected org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String> createCustomExportableColumn(org.apache.wicket.model.IModel<String> columnDisplayModel, GuiObjectColumnType customColumn, ExpressionType expression) -
createCustomExportableColumn
protected org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String> createCustomExportableColumn(org.apache.wicket.model.IModel<String> columnDisplayModel, GuiObjectColumnType customColumn, SerializableSupplier<VariablesMap> variablesSupplier, ExpressionType expression) -
getSortProperty
-
notContainsNameColumn
-
createCheckboxColumn
-
createIconColumn
-
createNameColumn
protected org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String> createNameColumn(org.apache.wicket.model.IModel<String> displayModel, GuiObjectColumnType customColumn, ExpressionType expression) -
createDefaultColumns
-
createInlineMenu
-
createProvider
-
getSelectedObjectsCount
public int getSelectedObjectsCount() -
getSelectedObjects
-
getSelectedRealObjects
-
getPreselectedObjectList
-
initSearch
-
getAdditionalBoxCssClasses
-
setAdditionalBoxCssClasses
-
createToolbarButtonsList
-
getStorageKey
-
isRefreshEnabled
protected boolean isRefreshEnabled() -
getAutoRefreshInterval
protected int getAutoRefreshInterval() -
getObjectCollectionView
-
getCollectionNameFromPageParameters
-
isCollectionViewPanelForWidget
protected boolean isCollectionViewPanelForWidget() -
getWidgetNameOfCollection
-
isCollectionViewPanelForCompiledView
protected boolean isCollectionViewPanelForCompiledView() -
isCollectionViewPanel
protected boolean isCollectionViewPanel() -
defaultCollectionExists
protected boolean defaultCollectionExists() -
getDataProvider
-
refreshTable
public void refreshTable(org.apache.wicket.ajax.AjaxRequestTarget target) -
resetTableColumns
public void resetTableColumns() -
resetTable
public void resetTable(org.apache.wicket.ajax.AjaxRequestTarget target) -
resetSearchModel
public void resetSearchModel() -
saveSearchModel
-
clearCache
public void clearCache() -
createStringResource
public org.apache.wicket.model.StringResourceModel createStringResource(String resourceKey, Object... objects) - Overrides:
createStringResourcein classBasePanel<C extends Serializable>
-
addCustomActions
protected void addCustomActions(@NotNull @NotNull List<InlineMenuItem> actionsList, SerializableSupplier<Collection<? extends C>> objectsSupplier) -
addPerformed
-
getCurrentTablePaging
-
isDataTableVisible
protected boolean isDataTableVisible() -
setManualRefreshEnabled
-
getSearchModel
-
createReportPerformed
protected void createReportPerformed(org.apache.wicket.ajax.AjaxRequestTarget target) -
getDefaultView
-
setDefaultSorting
-
setDefaultSorting
protected void setDefaultSorting(ISelectableDataProvider<PO> provider, List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO, String>> columns) -
getPanelConfiguration
-
isValidFormComponents
public boolean isValidFormComponents(org.apache.wicket.ajax.AjaxRequestTarget target) -
isValidFormComponentsOfRow
public boolean isValidFormComponentsOfRow(org.apache.wicket.model.IModel<PO> rowModel, org.apache.wicket.ajax.AjaxRequestTarget target) -
isValidFormComponents
public boolean isValidFormComponents() -
getInlineMenuItemCssClass
-
displayNoValuePanel
public boolean displayNoValuePanel()Determines whether the panel should display a special UI component (e.g.NoValuePanel) when there are no values present in the container. -
createPanelForNoValue
protected org.apache.wicket.Component createPanelForNoValue()Creates a fallback UI panel to be displayed when the container model has no values.This method constructs a
NoValuePanelthat visually indicates the absence of configured resource object types and provides a set of actionable toolbar buttons (e.g., create new or suggest type).- Returns:
- A
Componentinstance to be used as the panel when no values are present.
-
getNoValuePanel
protected org.apache.wicket.Component getNoValuePanel() -
getNoValuePanelCustomSubTitleModel
protected org.apache.wicket.model.StringResourceModel getNoValuePanelCustomSubTitleModel()
-