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 voidaddCustomActions(@NotNull List<InlineMenuItem> actionsList, SerializableSupplier<Collection<? extends C>> objectsSupplier)voidaddPerformed(org.apache.wicket.ajax.AjaxRequestTarget target, List<C> selected)voidclearCache()protected SearchContextcreateAdditionalSearchContext()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 CsvDownloadButtonPanelcreateDownloadButton(String buttonId)protected org.apache.wicket.ComponentcreateHeader(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 voidcreateReportPerformed(org.apache.wicket.ajax.AjaxRequestTarget target)org.apache.wicket.model.StringResourceModelcreateStringResource(String resourceKey, Object... objects)protected 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 booleandefaultCollectionExists()protected booleanenableSavePageSize()StringgetAdditionalBoxCssClasses()protected intgetAutoRefreshInterval()protected ItemDefinition<?>getContainerDefinitionForColumns()ObjectPaginggetCurrentTablePaging()protected ISelectableDataProvidergetDataProvider()protected Class<C>getDefaultType()protected GuiObjectListViewTypegetDefaultView()protected StringgetInlineMenuCssClass()CompiledObjectCollectionViewgetObjectCollectionView()protected Collection<SelectorOptions<GetOperationOptions>>getOptions()PageStoragegetPageStorage()protected PageStoragegetPageStorage(String storageKey)ContainerPanelConfigurationTypegetPanelConfiguration()protected List<C>getPreselectedObjectList()protected StringgetSearchByNameParameterValue()org.apache.wicket.model.LoadableDetachableModel<Search<C>>getSearchModel()List<PO>getSelectedObjects()intgetSelectedObjectsCount()abstract List<C>getSelectedRealObjects()protected StringgetSortProperty(GuiObjectColumnType customColumn, ExpressionType expressionType)protected StringgetStorageKey()BoxedTablePanel<PO>getTable()protected abstract UserProfileStorage.TableIdgetTableId()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 booleanhideFooterIfSinglePage()protected BoxedTablePanel<PO>initItemTable()protected SearchPanelinitSearch(String headerId)protected booleanisCollectionViewPanel()protected booleanisCollectionViewPanelForCompiledView()protected booleanisCollectionViewPanelForWidget()protected booleanisHeaderVisible()protected booleanisListPanelVisible()protected booleanisMenuItemVisible(org.apache.wicket.model.IModel<PO> rowModel)protected booleanisNewObjectButtonEnabled()protected booleanisPagingVisible()protected booleanisPreview()protected booleanisRefreshEnabled()booleanisValidFormComponents()booleanisValidFormComponents(org.apache.wicket.ajax.AjaxRequestTarget target)booleanisValidFormComponentsOfRow(org.apache.wicket.model.IModel<PO> rowModel, org.apache.wicket.ajax.AjaxRequestTarget target)protected booleannotContainsNameColumn(@NotNull List<org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn<PO,String>> columns)protected voidonInitialize()voidrefreshTable(org.apache.wicket.ajax.AjaxRequestTarget target)voidresetSearchModel()voidresetTable(org.apache.wicket.ajax.AjaxRequestTarget target)protected voidsaveSearchModel(ObjectPaging paging)voidsetAdditionalBoxCssClasses(String boxCssClasses)protected voidsetDefaultSorting(ISelectableDataProvider<PO> provider)voidsetManualRefreshEnabled(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:
onInitializein 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:
createStringResourcein 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()
-
-