Class ContainerableListPanel<C extends Containerable,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
,ReportObjectsListPanel
public abstract class ContainerableListPanel<C extends Containerable,PO extends SelectableRow> extends BasePanel<C>
- Author:
- skublik Abstract class for List panels with table.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static String
OPERATION_EVALUATE_EXPRESSION
-
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 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, ItemPath columnPath, ExpressionType expression)
protected abstract List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>>
createDefaultColumns()
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, ItemPath itemPath, ExpressionType expression)
protected List<CompositedIconButtonDto>
createNewButtonDescription()
protected Collection<SelectorOptions<GetOperationOptions>>
createOptions()
protected abstract ISelectableDataProvider<PO>
createProvider()
protected void
createReportPerformed(org.apache.wicket.ajax.AjaxRequestTarget target)
protected Search<C>
createSearch(Class<C> type)
protected org.apache.wicket.model.LoadableDetachableModel<Search<C>>
createSearchModel()
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()
protected Collection<String>
evaluateExpression(C rowValue, Item<?,?> columnItem, ExpressionType expression, GuiObjectColumnType customColumn)
String
getAdditionalBoxCssClasses()
protected int
getAutoRefreshInterval()
protected PrismContainerDefinition<C>
getContainerDefinitionForColumns()
ObjectPaging
getCurrentTablePaging()
protected ISelectableDataProvider
getDataProvider()
protected Class<C>
getDefaultType()
protected GuiObjectListViewType
getDefaultView()
protected org.apache.wicket.model.IModel<?>
getExportableColumnDataModel(org.apache.wicket.model.IModel<PO> rowModel, GuiObjectColumnType customColumn, ItemPath columnPath, ExpressionType expression)
CompiledObjectCollectionView
getObjectCollectionView()
protected Collection<SelectorOptions<GetOperationOptions>>
getOptions()
PageStorage
getPageStorage()
protected PageStorage
getPageStorage(String storageKey)
ContainerPanelConfigurationType
getPanelConfiguration()
protected List<C>
getPreselectedObjectList()
protected abstract C
getRowRealValue(PO rowModelObject)
protected String
getSearchByNameParameterValue()
org.apache.wicket.model.LoadableDetachableModel<Search<C>>
getSearchModel()
List<PO>
getSelectedObjects()
int
getSelectedObjectsCount()
abstract List<C>
getSelectedRealObjects()
protected String
getStorageKey()
protected String
getStringValueForObject(ObjectType object)
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()
Collection<String>
loadExportableColumnDataModel(org.apache.wicket.model.IModel<PO> rowModel, GuiObjectColumnType customColumn, ItemPath columnPath, ExpressionType expression)
protected boolean
notContainsNameColumn(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
-
-
-
-
Field Detail
-
OPERATION_EVALUATE_EXPRESSION
protected static final String OPERATION_EVALUATE_EXPRESSION
-
-
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
-
createSearchModel
protected org.apache.wicket.model.LoadableDetachableModel<Search<C>> createSearchModel()
-
getSearchByNameParameterValue
protected String getSearchByNameParameterValue()
-
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()
-
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 PrismContainerDefinition<C> 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, ItemPath columnPath, ExpressionType expression)
-
getExportableColumnDataModel
protected org.apache.wicket.model.IModel<?> getExportableColumnDataModel(org.apache.wicket.model.IModel<PO> rowModel, GuiObjectColumnType customColumn, ItemPath columnPath, ExpressionType expression)
-
loadExportableColumnDataModel
public Collection<String> loadExportableColumnDataModel(org.apache.wicket.model.IModel<PO> rowModel, GuiObjectColumnType customColumn, ItemPath columnPath, ExpressionType expression)
-
evaluateExpression
protected Collection<String> evaluateExpression(C rowValue, Item<?,?> columnItem, ExpressionType expression, GuiObjectColumnType customColumn)
-
getStringValueForObject
protected String getStringValueForObject(ObjectType object)
-
notContainsNameColumn
protected boolean notContainsNameColumn(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, ItemPath itemPath, ExpressionType expression)
-
createDefaultColumns
protected abstract 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()
-
createOptions
protected final Collection<SelectorOptions<GetOperationOptions>> createOptions()
-
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)
-
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 Containerable>
-
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()
-
-