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
,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:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ContainerableListPanel(String id, Class<C> defaultType)
ContainerableListPanel(String id, Class<C> defaultType, Collection<SelectorOptions<GetOperationOptions>> options)
ContainerableListPanel(String id, Class<C> defaultType, Collection<SelectorOptions<GetOperationOptions>> options, ContainerPanelConfigurationType configurationType)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addCustomActions(@NotNull List<InlineMenuItem> actionsList, SerializableSupplier<Collection<? extends C>> objectsSupplier)
void
addPerformed(org.apache.wicket.ajax.AjaxRequestTarget target, List<C> selected)
void
clearCache()
protected SearchContext
createAdditionalSearchContext()
protected org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>
createCheckboxColumn()
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)
protected List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>>
createDefaultColumns()
protected CsvDownloadButtonPanel
createDownloadButton(String buttonId)
protected org.apache.wicket.Component
createHeader(String headerId)
protected abstract org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>
createIconColumn()
protected List<InlineMenuItem>
createInlineMenu()
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)
protected List<CompositedIconButtonDto>
createNewButtonDescription()
protected abstract ISelectableDataProvider<PO>
createProvider()
protected void
createReportPerformed(org.apache.wicket.ajax.AjaxRequestTarget target)
org.apache.wicket.model.StringResourceModel
createStringResource(String resourceKey, Object... objects)
protected List<org.apache.wicket.Component>
createToolbarButtonsList(String idButton)
protected void
customProcessNewRowItem(org.apache.wicket.markup.repeater.Item<PO> item, org.apache.wicket.model.IModel<PO> model)
protected boolean
defaultCollectionExists()
protected boolean
enableSavePageSize()
String
getAdditionalBoxCssClasses()
protected int
getAutoRefreshInterval()
protected ItemDefinition<?>
getContainerDefinitionForColumns()
ObjectPaging
getCurrentTablePaging()
protected ISelectableDataProvider
getDataProvider()
protected Class<C>
getDefaultType()
protected GuiObjectListViewType
getDefaultView()
protected String
getInlineMenuCssClass()
CompiledObjectCollectionView
getObjectCollectionView()
protected Collection<SelectorOptions<GetOperationOptions>>
getOptions()
PageStorage
getPageStorage()
protected PageStorage
getPageStorage(String storageKey)
ContainerPanelConfigurationType
getPanelConfiguration()
protected List<C>
getPreselectedObjectList()
protected String
getSearchByNameParameterValue()
org.apache.wicket.model.LoadableDetachableModel<Search<C>>
getSearchModel()
List<PO>
getSelectedObjects()
int
getSelectedObjectsCount()
abstract List<C>
getSelectedRealObjects()
protected String
getSortProperty(GuiObjectColumnType customColumn, ExpressionType expressionType)
protected String
getStorageKey()
BoxedTablePanel<PO>
getTable()
protected abstract UserProfileStorage.TableId
getTableId()
Class<C>
getType()
protected List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>>
getViewColumnsTransformed(List<GuiObjectColumnType> customColumns)
protected List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>>
getViewColumnsTransformed(List<GuiObjectColumnType> customColumns, boolean shouldCheckForNameColumn)
protected boolean
hideFooterIfSinglePage()
protected BoxedTablePanel<PO>
initItemTable()
protected SearchPanel
initSearch(String headerId)
protected boolean
isCollectionViewPanel()
protected boolean
isCollectionViewPanelForCompiledView()
protected boolean
isCollectionViewPanelForWidget()
protected boolean
isHeaderVisible()
protected boolean
isListPanelVisible()
protected boolean
isMenuItemVisible(org.apache.wicket.model.IModel<PO> rowModel)
protected boolean
isNewObjectButtonEnabled()
protected boolean
isPagingVisible()
protected boolean
isPreview()
protected boolean
isRefreshEnabled()
boolean
isValidFormComponents()
boolean
isValidFormComponents(org.apache.wicket.ajax.AjaxRequestTarget target)
boolean
isValidFormComponentsOfRow(org.apache.wicket.model.IModel<PO> rowModel, org.apache.wicket.ajax.AjaxRequestTarget target)
protected boolean
notContainsNameColumn(@NotNull List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>> columns)
protected void
onInitialize()
void
refreshTable(org.apache.wicket.ajax.AjaxRequestTarget target)
void
resetSearchModel()
void
resetTable(org.apache.wicket.ajax.AjaxRequestTarget target)
protected void
saveSearchModel(ObjectPaging paging)
void
setAdditionalBoxCssClasses(String boxCssClasses)
protected void
setDefaultSorting(ISelectableDataProvider<PO> provider)
void
setManualRefreshEnabled(Boolean manualRefreshEnabled)
-
Methods inherited from class com.evolveum.midpoint.gui.api.component.BasePanel
createComponentPath, createModel, createStringResource, createStringResource, createStringResource, createStringResource, createStringResource, createStringResource, getFeedbackPanel, getMidpointConfiguration, getModel, getModelObject, getPageBase, getParentPage, getPrismContext, getRegistry, getSchemaService, getSession, getString, getString, getWebApplicationConfiguration, showResult
-
Methods inherited from class org.apache.wicket.markup.html.panel.Panel
getRegionMarkup, newMarkupSourcingStrategy
-
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession
-
Methods 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, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren
-
Methods 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, wrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
ContainerableListPanel
public ContainerableListPanel(String id, Class<C> defaultType)
- 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, Collection<SelectorOptions<GetOperationOptions>> options)
-
ContainerableListPanel
public ContainerableListPanel(String id, Class<C> defaultType, Collection<SelectorOptions<GetOperationOptions>> options, ContainerPanelConfigurationType configurationType)
-
-
Method Detail
-
onInitialize
protected void onInitialize()
- Overrides:
onInitialize
in classorg.apache.wicket.MarkupContainer
-
getSearchByNameParameterValue
protected String getSearchByNameParameterValue()
-
createAdditionalSearchContext
protected SearchContext createAdditionalSearchContext()
-
isListPanelVisible
protected boolean isListPanelVisible()
-
createHeader
protected org.apache.wicket.Component createHeader(String headerId)
-
initItemTable
protected BoxedTablePanel<PO> initItemTable()
-
customProcessNewRowItem
protected void customProcessNewRowItem(org.apache.wicket.markup.repeater.Item<PO> item, org.apache.wicket.model.IModel<PO> model)
-
isPagingVisible
protected boolean isPagingVisible()
-
getTableId
protected abstract UserProfileStorage.TableId getTableId()
-
isHeaderVisible
protected boolean isHeaderVisible()
-
isPreview
protected boolean isPreview()
-
getPageStorage
protected PageStorage getPageStorage(String storageKey)
-
getPageStorage
public PageStorage getPageStorage()
-
createNewButtonDescription
protected List<CompositedIconButtonDto> createNewButtonDescription()
-
isNewObjectButtonEnabled
protected boolean isNewObjectButtonEnabled()
-
getTable
public BoxedTablePanel<PO> getTable()
-
enableSavePageSize
protected boolean enableSavePageSize()
-
getInlineMenuCssClass
protected String getInlineMenuCssClass()
-
isMenuItemVisible
protected boolean isMenuItemVisible(org.apache.wicket.model.IModel<PO> rowModel)
-
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)
-
getContainerDefinitionForColumns
protected ItemDefinition<?> 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)
-
getSortProperty
protected String getSortProperty(GuiObjectColumnType customColumn, ExpressionType expressionType)
-
notContainsNameColumn
protected boolean notContainsNameColumn(@NotNull @NotNull List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>> columns)
-
createCheckboxColumn
protected org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String> createCheckboxColumn()
-
createIconColumn
protected abstract org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String> 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
protected List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>> createDefaultColumns()
-
createInlineMenu
protected List<InlineMenuItem> createInlineMenu()
-
createProvider
protected abstract ISelectableDataProvider<PO> createProvider()
-
getSelectedObjectsCount
public int getSelectedObjectsCount()
-
initSearch
protected SearchPanel initSearch(String headerId)
-
getAdditionalBoxCssClasses
public String getAdditionalBoxCssClasses()
-
setAdditionalBoxCssClasses
public void setAdditionalBoxCssClasses(String boxCssClasses)
-
createToolbarButtonsList
protected List<org.apache.wicket.Component> createToolbarButtonsList(String idButton)
-
createDownloadButton
protected CsvDownloadButtonPanel createDownloadButton(String buttonId)
-
getStorageKey
protected String getStorageKey()
-
isRefreshEnabled
protected boolean isRefreshEnabled()
-
getAutoRefreshInterval
protected int getAutoRefreshInterval()
-
getObjectCollectionView
public CompiledObjectCollectionView getObjectCollectionView()
-
isCollectionViewPanelForWidget
protected boolean isCollectionViewPanelForWidget()
-
isCollectionViewPanelForCompiledView
protected boolean isCollectionViewPanelForCompiledView()
-
isCollectionViewPanel
protected boolean isCollectionViewPanel()
-
defaultCollectionExists
protected boolean defaultCollectionExists()
-
getDataProvider
protected ISelectableDataProvider getDataProvider()
-
getOptions
protected Collection<SelectorOptions<GetOperationOptions>> getOptions()
-
refreshTable
public void refreshTable(org.apache.wicket.ajax.AjaxRequestTarget target)
-
resetTable
public void resetTable(org.apache.wicket.ajax.AjaxRequestTarget target)
-
resetSearchModel
public void resetSearchModel()
-
saveSearchModel
protected void saveSearchModel(ObjectPaging paging)
-
clearCache
public void clearCache()
-
createStringResource
public org.apache.wicket.model.StringResourceModel createStringResource(String resourceKey, Object... objects)
- Overrides:
createStringResource
in classBasePanel<C extends Serializable>
-
addCustomActions
protected void addCustomActions(@NotNull @NotNull List<InlineMenuItem> actionsList, SerializableSupplier<Collection<? extends C>> objectsSupplier)
-
addPerformed
public void addPerformed(org.apache.wicket.ajax.AjaxRequestTarget target, List<C> selected)
-
getCurrentTablePaging
public ObjectPaging getCurrentTablePaging()
-
hideFooterIfSinglePage
protected boolean hideFooterIfSinglePage()
-
setManualRefreshEnabled
public void setManualRefreshEnabled(Boolean manualRefreshEnabled)
-
createReportPerformed
protected void createReportPerformed(org.apache.wicket.ajax.AjaxRequestTarget target)
-
getDefaultView
protected GuiObjectListViewType getDefaultView()
-
setDefaultSorting
protected void setDefaultSorting(ISelectableDataProvider<PO> provider)
-
getPanelConfiguration
public ContainerPanelConfigurationType 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()
-
-