Interface CollectionLayoutManager
- All Superinterfaces:
Cloneable,Copyable,DictionaryBean,LayoutManager,LifecycleElement,Serializable,UifDictionaryBean
- All Known Subinterfaces:
StackedLayoutManager,TableLayoutManager
- All Known Implementing Classes:
CollectionLayoutManagerBase,StackedLayoutManagerBase,TableLayoutManagerBase
Unlike other group instances, collection group instances need to generate new instances of the configured components for each line of the collection. The field instances for each line are wrapped differently depending on what layout manager is being applied. Therefore as the collection lines are being built (during the applyModel phase) this method will be invoked on the manager so that it may setup the line as needed.
- Author:
- Kuali Rice Team (rice.collab@kuali.org)
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidbuildLine(LineBuilderContext lineBuilderContext) Call to the layout manager to build the components necessary for the given collection line, within an active view lifecycle.Group for rendering the add line when separate (always the case for stacked layout, and a configuration for table layout).Widget used to page the collection.Field instance that serves as a prototype for creating the select field on each line whenCollectionGroup.isIncludeLineSelectionField()is true.Field group instance that is used as a prototype for creating the sub-collection field groups.voidprocessPagingRequest(Object model, CollectionGroup collectionGroup) Invoked when a paging request occurs to carry out the paging request.voidsetAddLineGroup(Group addLineGroup) voidsetPagerWidget(Pager pagerWidget) voidsetSelectFieldPrototype(Field selectFieldPrototype) voidsetSubCollectionFieldGroupPrototype(FieldGroup subCollectionFieldGroupPrototype) Methods inherited from interface org.kuali.rice.krad.datadictionary.DictionaryBean
dataDictionaryPostProcessing, getComponentCode, getNamespaceCodeMethods inherited from interface org.kuali.rice.krad.uif.layout.LayoutManager
addStyleClass, appendToStyle, getAdditionalCssClasses, getCssClasses, getLibraryCssClasses, getPropertyReplacers, getStyle, getSupportedContainer, getTemplate, getTemplateName, setAdditionalCssClasses, setCssClasses, setLibraryCssClasses, setPropertyReplacers, setStyle, setTemplate, setTemplateNameMethods inherited from interface org.kuali.rice.krad.uif.util.LifecycleElement
checkMutable, getContainerIdSuffix, getContext, getId, getPhasePathMapping, getViewPath, getViewStatus, isFinal, isInitialized, isModelApplied, isMutable, isRender, notifyCompleted, performApplyModel, performFinalize, performInitialization, pushAllToContext, pushObjectToContext, setContainerIdSuffix, setContext, setId, setPhasePathMapping, setRender, setViewPath, setViewStatus, skipLifecycleMethods inherited from interface org.kuali.rice.krad.datadictionary.uif.UifDictionaryBean
getExpressionGraph, getPropertyExpression, getPropertyExpressions, setExpressionGraph, setPropertyExpressions
-
Method Details
-
buildLine
Call to the layout manager to build the components necessary for the given collection line, within an active view lifecycle.As the collection is being iterated over by the
CollectionGroupLineBuilderthis method is invoked for each line. The builder will create copies of the configured fields and actions for the line and pass into the layout manager so they can be assembled- Parameters:
lineBuilderContext- context for the line to be built
-
processPagingRequest
Invoked when a paging request occurs to carry out the paging request.- Parameters:
model- object containing the view's datacollectionGroup- collection group the request was made for
-
getAddLineGroup
Group getAddLineGroup()Group for rendering the add line when separate (always the case for stacked layout, and a configuration for table layout).This group can be used to configure how the add line will be rendered. For example the layout manager configured on the group will be used to rendered the add line fields. If the header (title) is not set on the group, it will be set from
CollectionGroup.getAddLabel(). In addition,CollectionGroup.getAddLineActions()will be added to the group footer items.- Returns:
- Group instance for the collection add line
-
setAddLineGroup
- See Also:
-
getSubCollectionFieldGroupPrototype
FieldGroup getSubCollectionFieldGroupPrototype()Field group instance that is used as a prototype for creating the sub-collection field groups.- Returns:
- GroupField instance to use as prototype
-
setSubCollectionFieldGroupPrototype
- See Also:
-
getSelectFieldPrototype
Field getSelectFieldPrototype()Field instance that serves as a prototype for creating the select field on each line whenCollectionGroup.isIncludeLineSelectionField()is true.This prototype can be used to set the control used for the select field (generally will be a checkbox control) in addition to styling and other setting. The binding path will be formed with using the
CollectionGroup.getLineSelectPropertyName()or if not set the framework will useUifFormBase.getSelectedCollectionLines()- Returns:
- select field prototype instance
-
setSelectFieldPrototype
- See Also:
-
getPagerWidget
Pager getPagerWidget()Widget used to page the collection.The settings in this widget are only used by TableLayoutManagers which DO NOT take advantage of the RichTable option (this has its own paging implementation). To turn off RichTable and use a basic table with server paging set richTable.render="false" and useServerPaging="true" on the CollectionGroup which uses this layout manager.
- Returns:
- the Pager widget
-
setPagerWidget
- See Also:
-