public class CollectionGroupBase extends GroupBase implements CollectionGroup
Note the standard header/footer can be used to give a header to the collection as a whole, or to provide actions that apply to the entire collection
For binding purposes the binding path of each row field is indexed. The name
property inherited from ComponentBase
is used as the collection
name. The collectionObjectClass property is used to lookup attributes from
the data dictionary.
GroupBase.ACTION_VALIDATION_COMPONENTS
templateOptions
componentCode, namespaceCode
INITIAL_ORDER_VALUE
Constructor and Description |
---|
CollectionGroupBase() |
Modifier and Type | Method and Description |
---|---|
protected void |
addCollectionPostMetadata()
Add the metadata about this collection to the ViewPostMetadata
that is to be kept in memory between posts for use by other methods
|
void |
completeValidation(ValidationTrace tracer)
Validates different requirements of component compiling a series of reports detailing information on errors
found in the component.
|
CollectionFilter |
getActiveCollectionFilter()
Collection filter instance for filtering the collection data when the
showInactive flag is set to false
|
Action |
getAddBlankLineAction()
The add blank line
Action field rendered when renderAddBlankLineButton is true |
String |
getAddItemCssClass()
The css style class that will be added on the add item group or row
|
String |
getAddLabel()
Convenience getter for the add line label field text.
|
List<? extends Component> |
getAddLineActions()
Component fields that should be rendered for the add line.
|
BindingInfo |
getAddLineBindingInfo()
BindingInfo instance for the add line property used to
determine the full binding path. |
DialogGroup |
getAddLineDialog()
Dialog group to use for the add line when
CollectionGroup.isAddWithDialog() is true. |
String |
getAddLineEnterKeyAction()
Get the id of the add line action to invoke when the enter key is pressed.
|
List<? extends Component> |
getAddLineItems()
List of
Component instances that should be rendered for the
collection add line (if enabled). |
Message |
getAddLineLabel()
Message instance for the add line label |
String |
getAddLinePlacement()
Indicates the add line placement
|
String |
getAddLinePropertyName()
Name of the property that contains an instance for the add line.
|
Action |
getAddWithDialogAction()
The
Action that will be displayed that will open the add line group in a dialog. |
BindingInfo |
getBindingInfo()
Returns the
BindingInfo instance that is configured for the
component |
CollectionGroupBuilder |
getCollectionGroupBuilder()
CollectionGroupBuilder instance that will build the
components dynamically for the collection instance |
CollectionGroupSecurity |
getCollectionGroupSecurity()
Collection Security object that indicates what authorization (permissions) exist for the collection
|
protected String |
getCollectionLabel()
Gets the label for the collection in a human-friendly format.
|
QuickFinder |
getCollectionLookup()
Instance of the
QuickFinder widget that configures a multi-value lookup for the collection |
Class<?> |
getCollectionObjectClass()
Object class the collection maintains.
|
int |
getDisplayCollectionSize()
The number of records to display for a collection
|
int |
getDisplayLength()
Gets the displayLength, the number of items to display on the page (assuming useServerPaging is enabled).
|
int |
getDisplayStart()
Gets the displayStart, the index of the first item to display on the page (assuming useServerPaging is enabled).
|
protected String |
getDuplicateLineLabelString(List<String> duplicateLinePropertyNames)
Gets a comma-separated list of the data field labels that are keyed a duplicates.
|
List<String> |
getDuplicateLinePropertyNames()
List of property names that should be checked for duplicates in the collection.
|
Action |
getEditInDialogSaveActionPrototype()
The
Action that will be displayed within the edit line group in a dialog. |
DialogGroup |
getEditLineDialogPrototype()
Dialog group prototype to use to create the edit line dialog when
CollectionGroup.isEditWithDialog()
is true. |
Action |
getEditWithDialogActionPrototype()
The
Action that will be displayed that will open the edit line group in a dialog. |
int |
getFilteredCollectionSize()
Gets the number of un-filtered elements from the model collection.
|
List<CollectionFilter> |
getFilters()
List of
CollectionFilter instances that should be invoked to filter the collection before
displaying |
List<? extends Component> |
getItems()
List of Component instances that are held by
the container |
List<? extends Component> |
getLineActions()
Action fields that should be rendered for each collection line.
|
List<DialogGroup> |
getLineDialogs()
List of dialog groups that are configured for a line in the collection.
|
String |
getLineEnterKeyAction()
Get the id of the nonAdd line action to invoke when the enter key is pressed.
|
String |
getLineSelectPropertyName()
When
CollectionGroup.isIncludeLineSelectionField() is true, gives the name of the property the select field
should bind to |
String |
getNewItemsCssClass()
The css style class that will be added on new items
|
int |
getPageSize() |
String |
getPropertyName()
Name of the property (relative to the parent object) the component binds
to
|
List<CollectionGroup> |
getSubCollections()
List of
CollectionGroup instances that are sub-collections
of the collection represented by this collection group |
int |
getTotalCollectionSize() |
protected List<String> |
getTotalColumns() |
List<BindingInfo> |
getUnauthorizedLineBindingInfos()
List of
BindingInfo instances that represent lines not authorized to be viewed or edited by the user. |
protected void |
initializeComponentSecurity()
Initializes (if necessary) the component security instance for the component type
|
void |
initializeNewCollectionLine(View view,
Object model,
CollectionGroup collectionGroup,
boolean clearExistingLine)
New collection lines are handled in the framework by maintaining a map on
the form.
|
boolean |
isAddWithDialog()
Indicates that a add action should be rendered and that the add group be displayed in a model dialog.
|
boolean |
isCustomEditLineDialog()
Indicates that a custom edit line dialog is provided by the user.
|
boolean |
isEditLineAuthz() |
boolean |
isEditWithDialog()
Indicates that an edit action should be rendered and that the edit group be displayed in a model dialog.
|
boolean |
isHighlightAddItem()
Indicates whether the add item group or row should be styled with the #addItemCssClass
|
boolean |
isHighlightNewItems()
Indicates whether new items should be styled with the #newItemsCssClass
|
boolean |
isIncludeLineSelectionField()
Indicates whether lines of the collection group should be selected by rendering a
field for each line that will allow selection
|
boolean |
isProcessRemoteFieldHolders()
Do not process remote field holders for collections.
|
boolean |
isRenderAddBlankLineButton()
Indicates that a button will be rendered that allows the user to add blank lines to the collection
|
boolean |
isRenderAddLine()
Indicates whether an add line should be rendered for the collection
|
boolean |
isRenderInactiveToggleButton() |
boolean |
isRenderLineActions()
Indicates whether the action column for the collection should be rendered
|
boolean |
isRenderSaveLineActions()
Indicates whether the save line actions should be rendered
|
boolean |
isShowInactiveLines()
Indicates whether inactive collections lines should be displayed
|
boolean |
isUseServerPaging()
Gets useServerPaging, the flag that indicates whether server side paging is enabled.
|
boolean |
isViewLineAuthz() |
void |
performApplyModel(Object model,
LifecycleElement parent)
The following updates are done here:
Evaluate the progressive render condition (if set) and combine with the current render
status to set the render status
Called after the initialize phase to perform conditional logic based on the model data
|
void |
performFinalize(Object model,
LifecycleElement parent)
Sets the section boolean to true if this group has a rendering header with text
The following finalization is performed:
Sets the headerText of the header Group if it is blank
Set the messageText of the summary Message if it is blank
Finalizes LayoutManager
The following finalization is done here:
progressiveRender and conditionalRefresh variables are processed if set
If any of the style properties were given, sets the style string on the style property
Set the skipInTabOrder flag for nested components
The last phase before the view is rendered
|
void |
performInitialization(Object model)
The following initialization is performed:
Sorts the containers list of components
Initializes the instructional field if necessary
Initializes LayoutManager
The following updates are done here:
Invoke performInitialize on component modifiers
Initializes the component
|
void |
pushCollectionGroupToReference()
Sets a reference in the context map for all nested components in the collection group
instance, and sets selected collection path and id data attributes on nested actions of this group.
|
void |
setActiveCollectionFilter(CollectionFilter activeCollectionFilter)
Setter for the collection filter to use for filter inactive records from the
collection
|
void |
setAddBlankLineAction(Action addBlankLineAction)
Setter for the add blank line
Action field |
void |
setAddItemCssClass(String addItemCssClass)
Setter for the add item css style class
|
void |
setAddLabel(String addLabelText)
Setter for the add line label text
|
void |
setAddLineActions(List<? extends Component> addLineActions)
Setter for the add line action components fields
|
void |
setAddLineBindingInfo(BindingInfo addLineBindingInfo)
Setter for the add line binding info
|
void |
setAddLineDialog(DialogGroup addLineDialog) |
void |
setAddLineEnterKeyAction(String addLineEnterKeyAction) |
void |
setAddLineItems(List<? extends Component> addLineItems)
Setter for the add line field list
|
void |
setAddLineLabel(Message addLineLabel)
Setter for the
Message instance for the add line label |
void |
setAddLinePlacement(String addLinePlacement)
Setter for the add line placement
|
void |
setAddLinePropertyName(String addLinePropertyName)
Setter for the add line property name
|
void |
setAddWithDialog(boolean addWithDialog) |
void |
setAddWithDialogAction(Action addWithDialogAction) |
void |
setBindingInfo(BindingInfo bindingInfo)
Setter for the binding info instance
|
void |
setCollectionGroupBuilder(CollectionGroupBuilder collectionGroupBuilder)
Setter for the collection group building instance
|
void |
setCollectionLookup(QuickFinder collectionLookup)
Setter for the collection lookup quickfinder instance
|
void |
setCollectionObjectClass(Class<?> collectionObjectClass)
Setter for the collection object class
|
void |
setComponentSecurity(ComponentSecurity componentSecurity)
Setter for the components security object
|
void |
setCustomEditLineDialog(boolean customEditLineDialog) |
void |
setDisplayCollectionSize(int displayCollectionSize)
Setter for the display collection size
|
void |
setDisplayLength(int displayLength)
Sets the displayLength, the number of items to display on the page (assuming useServerPaging is enabled).
|
void |
setDisplayStart(int displayStart)
Sets the displayStart, the index of the first item to display on the page (assuming useServerPaging is enabled).
|
void |
setDuplicateLinePropertyNames(List<String> duplicateLinePropertyNames) |
void |
setEditInDialogSaveActionPrototype(Action editInDialogSaveActionPrototype) |
void |
setEditLineAuthz(boolean editLineAuthz) |
void |
setEditLineDialogPrototype(DialogGroup editLineDialogPrototype) |
void |
setEditWithDialog(boolean editWithDialog) |
void |
setEditWithDialogActionPrototype(Action editWithDialogActionPrototype) |
void |
setFilteredCollectionSize(int filteredCollectionSize)
Sets the number of un-filtered elements from the model collection.
|
void |
setFilters(List<CollectionFilter> filters)
Setter for the List of collection filters for which the collection will be filtered against
|
void |
setHighlightAddItem(boolean highlightAddItem)
Setter for the flag that allows for different styling of the add item group or row
|
void |
setHighlightNewItems(boolean highlightNewItems)
Setter for the flag that allows for different styling of new items
|
void |
setIncludeLineSelectionField(boolean includeLineSelectionField)
Setter for the render selected field indicator
|
void |
setLineActions(List<? extends Component> lineActions)
Setter for the line action fields list
|
void |
setLineDialogs(List<DialogGroup> dialogGroups) |
void |
setLineEnterKeyAction(String lineEnterKeyAction) |
void |
setLineSelectPropertyName(String lineSelectPropertyName)
Setter for the property name that will bind to the select field
|
void |
setNewItemsCssClass(String newItemsCssClass)
Setter for the new items css style class
|
void |
setPageSize(int pageSize) |
void |
setPropertyName(String propertyName)
Setter for the collections property name
|
void |
setRenderAddBlankLineButton(boolean renderAddBlankLineButton)
Setter for the flag indicating that the add blank line button must be rendered
|
void |
setRenderAddLine(boolean renderAddLine)
Setter for the render add line indicator
|
void |
setRenderInactiveToggleButton(boolean renderInactiveToggleButton) |
void |
setRenderLineActions(boolean renderLineActions)
Setter for the render line actions indicator
|
void |
setRenderSaveLineActions(boolean renderSaveLineActions)
Setter for the flag indicating whether the save actions should be rendered
|
void |
setShowInactiveLines(boolean showInactiveLines)
Setter for the show inactive indicator
|
void |
setSubCollections(List<CollectionGroup> subCollections)
Setter for the sub collection list
|
void |
setTotalCollectionSize(int totalCollectionSize) |
protected void |
setTotalColumns(List<String> totalColumns)
Setter for the total columns
|
void |
setUnauthorizedLineBindingInfos(List<BindingInfo> unauthorizedLineBindingInfos) |
protected void |
setupAddLineDialog()
When add via dialog is true, initialize the add with dialog action (if necessary) and sets up the
action script for opening the dialog.
|
protected void |
setupLineActionValidationScripts(List<Component> components,
List<Component> actionComponents)
Helper method to set action validation script for every action component provided to validate every
input field component.
|
void |
setUseServerPaging(boolean useServerPaging)
Sets useServerPaging, the flag indicating whether server side paging is enabled.
|
void |
setViewLineAuthz(boolean viewLineAuthz) |
afterEvaluateExpression, buildInputFieldValidationActionScript, getComponentTypeName, getDisclosure, getFieldBindByNamePrefix, getFieldBindingObjectPath, getScrollpane, getSupportedComponents, getWrapperTag, isAjaxDisclosureGroup, isRenderLoading, setDisclosure, setFieldBindByNamePrefix, setFieldBindingObjectPath, setItems, setNestedComponentId, setScrollpane, setupValidationScripts, setWrapperTag, validateInputField
getAdditionalTemplates, getDefaultItemPosition, getEnterKeyAction, getFooter, getHeader, getHeaderText, getHelp, getHelpTitle, getInstructionalMessage, getInstructionalText, getLayoutManager, getValidationMessages, setDefaultItemPosition, setEnterKeyAction, setFooter, setHeader, setHeaderText, setHelp, setInstructionalMessage, setInstructionalText, setLayoutManager, setRenderFooter, setRenderHeader, setTooltipOfComponent, setValidationMessages, sortItems
addAriaAttribute, addDataAttribute, addScriptDataAttribute, addStyleClass, addWrapperCssClass, appendToStyle, checkMutable, clone, getAdditionalComponentsToRefresh, getAdditionalComponentsToRefreshJs, getAdditionalCssClasses, getAlign, getAriaAttributes, getAriaAttributesAsString, getCanCopyOnReadOnly, getCellWidth, getColSpan, getComponentModifiers, getComponentSecurity, getConditionalRefresh, getConditionalRefreshConditionJs, getConditionalRefreshControlNames, getContainerIdSuffix, getContext, getCssClasses, getCssGridSizes, getDataAttributes, getEventHandlerScript, getExcludeIf, getExcludeUnless, getFieldsToSendOnRefresh, getFinalizeMethodAdditionalArguments, getFinalizeMethodInvoker, getFinalizeMethodToCall, getId, getLibraryCssClasses, getMethodToCallOnRefresh, getOnBlurScript, getOnChangeScript, getOnClickScript, getOnCloseScript, getOnDblClickScript, getOnDocumentReadyScript, getOnFocusScript, getOnInputScript, getOnKeyDownScript, getOnKeyPressScript, getOnKeyUpScript, getOnLoadScript, getOnMouseDownScript, getOnMouseMoveScript, getOnMouseOutScript, getOnMouseOverScript, getOnMouseUpScript, getOnSubmitScript, getOnUnloadScript, getOrder, getPhasePathMapping, getPostRenderContent, getPreRenderContent, getProgressiveDisclosureConditionJs, getProgressiveDisclosureControlNames, getProgressiveRender, getPropertyReplacerComponents, getPropertyReplacers, getReadOnly, getRefreshTimer, getRefreshWhenChangedPropertyNames, getRenderedHtmlOutput, getRequired, getRole, getRowSpan, getScriptDataAttributes, getScriptDataAttributesJs, getSimpleDataAttributes, getStyle, getStyleClassesAsString, getTemplate, getTemplateName, getTemplateOptions, getTemplateOptionsJSString, getTitle, getToolTip, getValign, getViewPath, getViewStatus, getWidth, getWrapperCssClasses, getWrapperCssClassesAsString, getWrapperStyle, isDisableSessionPersistence, isDisclosedByAction, isEditAuthz, isFinal, isForceSessionPersistence, isHidden, isInitialized, isModelApplied, isMutable, isOmitFromFormPost, isProgressiveRenderAndRefresh, isProgressiveRenderViaAJAX, isRefreshedByAction, isRender, isRendered, isResetDataOnRefresh, isRetrieveViaAjax, isSelfRendered, isSkipInTabOrder, isViewAuthz, notifyCompleted, pushAllToContext, pushObjectToContext, pushToPropertyReplacerContext, setAdditionalComponentsToRefresh, setAdditionalCssClasses, setAlign, setAriaAttributes, setCanCopyOnReadOnly, setCellWidth, setColSpan, setComponentModifiers, setConditionalRefresh, setContainerIdSuffix, setContext, setCssClasses, setCssGridSizes, setDataAttributes, setDisableSessionPersistence, setDisclosedByAction, setEditAuthz, setExcludeIf, setExcludeUnless, setFieldsToSendOnRefresh, setFinalizeMethodAdditionalArguments, setFinalizeMethodInvoker, setFinalizeMethodToCall, setForceSessionPersistence, setHidden, setId, setLibraryCssClasses, setMethodToCallOnRefresh, setOmitFromFormPost, setOnBlurScript, setOnChangeScript, setOnClickScript, setOnCloseScript, setOnDblClickScript, setOnDocumentReadyScript, setOnFocusScript, setOnInputScript, setOnKeyDownScript, setOnKeyPressScript, setOnKeyUpScript, setOnLoadScript, setOnMouseDownScript, setOnMouseMoveScript, setOnMouseOutScript, setOnMouseOverScript, setOnMouseUpScript, setOnSubmitScript, setOnUnloadScript, setOrder, setPhasePathMapping, setPostRenderContent, setPreRenderContent, setProgressiveRender, setProgressiveRenderAndRefresh, setProgressiveRenderViaAJAX, setPropertyReplacers, setReadOnly, setRefreshedByAction, setRefreshTimer, setRefreshWhenChangedPropertyNames, setRender, setRenderedHtmlOutput, setRequired, setResetDataOnRefresh, setRetrieveViaAjax, setRole, setRowSpan, setScriptDataAttributes, setSelfRendered, setSkipInTabOrder, setStyle, setTemplate, setTemplateName, setTemplateOptions, setTemplateOptionsJSString, setTitle, setToolTip, setValign, setViewAuthz, setViewPath, setViewStatus, setWidth, setWrapperCssClasses, setWrapperStyle, skipLifecycle
getExpressionGraph, getPropertyExpression, getPropertyExpressions, setExpressionGraph, setPropertyExpressions
copy, dataDictionaryPostProcessing, getComponentCode, getNamespaceCode, setComponentCode, setNamespaceCode
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDisclosure, getFieldBindByNamePrefix, getFieldBindingObjectPath, getHeaderText, getScrollpane, getWrapperTag, isRenderLoading, setDisclosure, setFieldBindByNamePrefix, setFieldBindingObjectPath, setHeaderText, setRenderFooter, setScrollpane, setWrapperTag
getEnterKeyAction, getFooter, getHeader, getInstructionalMessage, getLayoutManager, getSupportedComponents, getValidationMessages, setEnterKeyAction, setFooter, setHeader, setInstructionalMessage, setItems, setLayoutManager, setValidationMessages, sortItems
addAriaAttribute, addDataAttribute, addScriptDataAttribute, addStyleClass, addWrapperCssClass, afterEvaluateExpression, appendToStyle, getAdditionalComponentsToRefresh, getAdditionalComponentsToRefreshJs, getAdditionalCssClasses, getAdditionalTemplates, getAlign, getAriaAttributes, getAriaAttributesAsString, getCanCopyOnReadOnly, getCellWidth, getColSpan, getComponentModifiers, getComponentSecurity, getComponentTypeName, getConditionalRefresh, getConditionalRefreshConditionJs, getConditionalRefreshControlNames, getContext, getCssClasses, getCssGridSizes, getDataAttributes, getEventHandlerScript, getExcludeIf, getExcludeUnless, getFieldsToSendOnRefresh, getFinalizeMethodAdditionalArguments, getFinalizeMethodInvoker, getFinalizeMethodToCall, getLibraryCssClasses, getMethodToCallOnRefresh, getOrder, getPostRenderContent, getPreRenderContent, getProgressiveDisclosureConditionJs, getProgressiveDisclosureControlNames, getProgressiveRender, getPropertyReplacerComponents, getPropertyReplacers, getReadOnly, getRefreshTimer, getRefreshWhenChangedPropertyNames, getRenderedHtmlOutput, getRequired, getRole, getRowSpan, getScriptDataAttributes, getScriptDataAttributesJs, getSimpleDataAttributes, getStyle, getStyleClassesAsString, getTemplate, getTemplateName, getTemplateOptions, getTemplateOptionsJSString, getTitle, getToolTip, getValign, getWidth, getWrapperCssClasses, getWrapperStyle, isDisableSessionPersistence, isDisclosedByAction, isForceSessionPersistence, isHidden, isOmitFromFormPost, isProgressiveRenderAndRefresh, isProgressiveRenderViaAJAX, isRefreshedByAction, isRendered, isResetDataOnRefresh, isRetrieveViaAjax, isSelfRendered, setAdditionalComponentsToRefresh, setAdditionalCssClasses, setAlign, setAriaAttributes, setCanCopyOnReadOnly, setCellWidth, setColSpan, setComponentModifiers, setConditionalRefresh, setContext, setCssClasses, setCssGridSizes, setDataAttributes, setDisableSessionPersistence, setDisclosedByAction, setFieldsToSendOnRefresh, setForceSessionPersistence, setHidden, setLibraryCssClasses, setOmitFromFormPost, setOrder, setPostRenderContent, setPreRenderContent, setProgressiveRender, setProgressiveRenderAndRefresh, setProgressiveRenderViaAJAX, setPropertyReplacers, setReadOnly, setRefreshedByAction, setRefreshTimer, setRefreshWhenChangedPropertyNames, setRenderedHtmlOutput, setRequired, setResetDataOnRefresh, setRetrieveViaAjax, setRole, setRowSpan, setScriptDataAttributes, setSelfRendered, setStyle, setTemplate, setTemplateName, setTemplateOptions, setTemplateOptionsJSString, setTitle, setToolTip, setValign, setViewStatus, setWidth, setWrapperCssClasses, setWrapperStyle
getExpressionGraph, getPropertyExpression, getPropertyExpressions, setExpressionGraph, setPropertyExpressions
dataDictionaryPostProcessing, getComponentCode, getNamespaceCode
checkMutable, getContainerIdSuffix, getId, getPhasePathMapping, getViewPath, getViewStatus, isFinal, isInitialized, isModelApplied, isMutable, isRender, notifyCompleted, pushAllToContext, pushObjectToContext, setContainerIdSuffix, setId, setPhasePathMapping, setRender, setViewPath, skipLifecycle
getOnBlurScript, getOnChangeScript, getOnClickScript, getOnCloseScript, getOnDblClickScript, getOnDocumentReadyScript, getOnFocusScript, getOnInputScript, getOnKeyDownScript, getOnKeyPressScript, getOnKeyUpScript, getOnLoadScript, getOnMouseDownScript, getOnMouseMoveScript, getOnMouseOutScript, getOnMouseOverScript, getOnMouseUpScript, getOnSubmitScript, getOnUnloadScript, setOnBlurScript, setOnChangeScript, setOnClickScript, setOnCloseScript, setOnDblClickScript, setOnDocumentReadyScript, setOnFocusScript, setOnInputScript, setOnKeyDownScript, setOnKeyPressScript, setOnKeyUpScript, setOnLoadScript, setOnMouseDownScript, setOnMouseMoveScript, setOnMouseOutScript, setOnMouseOverScript, setOnMouseUpScript, setOnSubmitScript, setOnUnloadScript
getHelp, getHelpTitle, setHelp, setTooltipOfComponent
public CollectionGroupBase()
public void performInitialization(Object model)
GroupBase
Where components can set defaults and setup other necessary state. The initialize method should only be called once per component lifecycle and is invoked within the initialize phase of the view lifecylce.
performInitialization
in interface LifecycleElement
performInitialization
in class GroupBase
model
- - object instance containing the view dataComponentDefaultInitializeTask
public void performApplyModel(Object model, LifecycleElement parent)
Where components can perform conditional logic such as dynamically generating new fields or setting field state based on the given data
performApplyModel
in interface LifecycleElement
performApplyModel
in class ContainerBase
model
- - Top level object containing the data (could be the form or a
top level business object, dto)parent
- parent lifecycle elementprotected void setupLineActionValidationScripts(List<Component> components, List<Component> actionComponents)
components
- the components with input fieldsactionComponents
- the components with actionsprotected void setupAddLineDialog()
public void performFinalize(Object model, LifecycleElement parent)
Here final preparations can be made based on the updated view state.
performFinalize
in interface LifecycleElement
performFinalize
in class GroupBase
model
- - top level object containing the dataparent
- - parent componentprotected void addCollectionPostMetadata()
public void pushCollectionGroupToReference()
pushCollectionGroupToReference
in interface CollectionGroup
protected String getCollectionLabel()
protected String getDuplicateLineLabelString(List<String> duplicateLinePropertyNames)
duplicateLinePropertyNames
- the property names to check for duplicatespublic void initializeNewCollectionLine(View view, Object model, CollectionGroup collectionGroup, boolean clearExistingLine)
CollectionGroup
if an instance
is not available (clearExistingLine will force a new instance). The given
model must be a subclass of UifFormBase
in order to find the
Map.initializeNewCollectionLine
in interface CollectionGroup
model
- Model instance that contains the new collection lines MapclearExistingLine
- boolean that indicates whether the line should be set to a
new instance if it already existspublic boolean isProcessRemoteFieldHolders()
isProcessRemoteFieldHolders
in interface Container
isProcessRemoteFieldHolders
in class ContainerBase
@ViewLifecycleRestriction(value="INITIALIZE") public List<? extends Component> getItems()
List
of Component
instances that are held by
the container
Contained components are rendered within the section template by calling
the associated LayoutManager
.
public Class<?> getCollectionObjectClass()
getCollectionObjectClass
in interface CollectionGroup
public void setCollectionObjectClass(Class<?> collectionObjectClass)
setCollectionObjectClass
in interface CollectionGroup
public String getPropertyName()
getPropertyName
in interface DataBinding
public void setPropertyName(String propertyName)
setPropertyName
in interface CollectionGroup
public BindingInfo getBindingInfo()
BindingInfo
instance that is configured for the
componentgetBindingInfo
in interface DataBinding
BindingInfo
public void setBindingInfo(BindingInfo bindingInfo)
setBindingInfo
in interface DataBinding
@ViewLifecycleRestriction(value="INITIALIZE") public List<? extends Component> getLineActions()
getLineActions
in interface CollectionGroup
public void setLineActions(List<? extends Component> lineActions)
setLineActions
in interface CollectionGroup
public String getAddLineEnterKeyAction()
Use '@DEFAULT' if supposed to use first action where 'defaultEnterKeyAction' property is set to true.
getAddLineEnterKeyAction
in interface CollectionGroup
public void setAddLineEnterKeyAction(String addLineEnterKeyAction)
setAddLineEnterKeyAction
in interface CollectionGroup
CollectionGroup.getAddLineEnterKeyAction()
public String getLineEnterKeyAction()
Use '@DEFAULT' if supposed to use first action where 'defaultEnterKeyAction' property is set to true. In a collection may have to use SpringEL to identify line ID values. Here is a sample value: DemoButton@{#lineSuffix}. Notice the use of '@{#lineSuffix}' to help append line suffix information.
getLineEnterKeyAction
in interface CollectionGroup
public void setLineEnterKeyAction(String lineEnterKeyAction)
setLineEnterKeyAction
in interface CollectionGroup
CollectionGroup.getLineEnterKeyAction()
public boolean isRenderLineActions()
isRenderLineActions
in interface CollectionGroup
CollectionGroup.getLineActions()
public void setRenderLineActions(boolean renderLineActions)
setRenderLineActions
in interface CollectionGroup
public boolean isRenderAddLine()
isRenderAddLine
in interface CollectionGroup
public void setRenderAddLine(boolean renderAddLine)
setRenderAddLine
in interface CollectionGroup
public String getAddLabel()
LayoutManager
For the TableLayoutManager
the label appears in the sequence
column to the left of the add line fields. For the
StackedLayoutManager
the label is placed into the group
header for the line.
getAddLabel
in interface CollectionGroup
public void setAddLabel(String addLabelText)
setAddLabel
in interface CollectionGroup
public Message getAddLineLabel()
Message
instance for the add line labelgetAddLineLabel
in interface CollectionGroup
CollectionGroup.getAddLabel()
public void setAddLineLabel(Message addLineLabel)
Message
instance for the add line labelsetAddLineLabel
in interface CollectionGroup
CollectionGroup.getAddLabel()
public String getAddLinePropertyName()
getAddLinePropertyName
in interface CollectionGroup
public void setAddLinePropertyName(String addLinePropertyName)
setAddLinePropertyName
in interface CollectionGroup
public BindingInfo getAddLineBindingInfo()
BindingInfo
instance for the add line property used to
determine the full binding path. If add line name given
CollectionGroup.getAddLabel()
then it is set as the binding name on the
binding info. Add line label and binding info are not required, in which
case the framework will manage the new add line instances through a
generic map (model must extend UifFormBase)getAddLineBindingInfo
in interface CollectionGroup
public void setAddLineBindingInfo(BindingInfo addLineBindingInfo)
setAddLineBindingInfo
in interface CollectionGroup
@ViewLifecycleRestriction(value="INITIALIZE") public List<? extends Component> getAddLineItems()
Component
instances that should be rendered for the
collection add line (if enabled). If not set, the default group's items
list will be usedgetAddLineItems
in interface CollectionGroup
LifecycleElement.performInitialization(Object)
public void setAddLineItems(List<? extends Component> addLineItems)
setAddLineItems
in interface CollectionGroup
@ViewLifecycleRestriction(value="INITIALIZE") public List<? extends Component> getAddLineActions()
This is generally the add action (button) but can be configured to contain additional components
getAddLineActions
in interface CollectionGroup
public void setAddLineActions(List<? extends Component> addLineActions)
setAddLineActions
in interface CollectionGroup
public boolean isIncludeLineSelectionField()
For example, having the select field enabled could allow selecting multiple lines from a search to return (multi-value lookup)
isIncludeLineSelectionField
in interface CollectionGroup
public void setIncludeLineSelectionField(boolean includeLineSelectionField)
setIncludeLineSelectionField
in interface CollectionGroup
public String getLineSelectPropertyName()
CollectionGroup.isIncludeLineSelectionField()
is true, gives the name of the property the select field
should bind to
Note if no prefix is given in the property name, such as 'form.', it is assumed the property is contained on the collection line. In this case the binding path to the collection line will be appended. In other cases, it is assumed the property is a list or set of String that will hold the selected identifier strings
This property is not required. If not the set the framework will use a property contained on
UifFormBase
getLineSelectPropertyName
in interface CollectionGroup
public void setLineSelectPropertyName(String lineSelectPropertyName)
setLineSelectPropertyName
in interface CollectionGroup
public QuickFinder getCollectionLookup()
QuickFinder
widget that configures a multi-value lookup for the collection
If the collection lookup is enabled (by the render property of the quick finder), CollectionGroup.getCollectionObjectClass()
will be used as the data object class for the lookup (if not set). Field
conversions need to be set as usual and will be applied for each line returned
getCollectionLookup
in interface CollectionGroup
public void setCollectionLookup(QuickFinder collectionLookup)
setCollectionLookup
in interface CollectionGroup
public boolean isShowInactiveLines()
Setting only applies when the collection line type implements the
Inactivatable
interface. If true and showInactive is
set to false, the collection will be filtered to remove any items
whose active status returns false
isShowInactiveLines
in interface CollectionGroup
public void setShowInactiveLines(boolean showInactiveLines)
setShowInactiveLines
in interface CollectionGroup
showInactiveLines
- boolean show inactivepublic CollectionFilter getActiveCollectionFilter()
getActiveCollectionFilter
in interface CollectionGroup
public void setActiveCollectionFilter(CollectionFilter activeCollectionFilter)
setActiveCollectionFilter
in interface CollectionGroup
activeCollectionFilter
- CollectionFilter instancepublic List<CollectionFilter> getFilters()
CollectionFilter
instances that should be invoked to filter the collection before
displayinggetFilters
in interface CollectionGroup
public void setFilters(List<CollectionFilter> filters)
setFilters
in interface CollectionGroup
public List<String> getDuplicateLinePropertyNames()
getDuplicateLinePropertyNames
in interface CollectionGroup
public void setDuplicateLinePropertyNames(List<String> duplicateLinePropertyNames)
setDuplicateLinePropertyNames
in interface CollectionGroup
CollectionGroup.getDuplicateLinePropertyNames()
public List<BindingInfo> getUnauthorizedLineBindingInfos()
BindingInfo
instances that represent lines not authorized to be viewed or edited by the user.getUnauthorizedLineBindingInfos
in interface CollectionGroup
public void setUnauthorizedLineBindingInfos(List<BindingInfo> unauthorizedLineBindingInfos)
setUnauthorizedLineBindingInfos
in interface CollectionGroup
CollectionGroup.getUnauthorizedLineBindingInfos()
@ViewLifecycleRestriction(value="INITIALIZE") public List<CollectionGroup> getSubCollections()
CollectionGroup
instances that are sub-collections
of the collection represented by this collection groupgetSubCollections
in interface CollectionGroup
public void setSubCollections(List<CollectionGroup> subCollections)
setSubCollections
in interface CollectionGroup
public CollectionGroupSecurity getCollectionGroupSecurity()
getCollectionGroupSecurity
in interface CollectionGroup
public void setComponentSecurity(ComponentSecurity componentSecurity)
setComponentSecurity
in interface Component
setComponentSecurity
in interface CollectionGroup
setComponentSecurity
in class ComponentBase
componentSecurity
- instance of CollectionGroupSecurityprotected void initializeComponentSecurity()
initializeComponentSecurity
in class ComponentBase
public boolean isEditLineAuthz()
isEditLineAuthz
in interface CollectionGroup
CollectionGroupSecurity.isEditLineAuthz()
public void setEditLineAuthz(boolean editLineAuthz)
setEditLineAuthz
in interface CollectionGroup
CollectionGroupSecurity.setEditLineAuthz(boolean)
public boolean isViewLineAuthz()
isViewLineAuthz
in interface CollectionGroup
CollectionGroupSecurity.isViewLineAuthz()
public void setViewLineAuthz(boolean viewLineAuthz)
setViewLineAuthz
in interface CollectionGroup
CollectionGroupSecurity.setViewLineAuthz(boolean)
public CollectionGroupBuilder getCollectionGroupBuilder()
CollectionGroupBuilder
instance that will build the
components dynamically for the collection instancegetCollectionGroupBuilder
in interface CollectionGroup
public void setCollectionGroupBuilder(CollectionGroupBuilder collectionGroupBuilder)
setCollectionGroupBuilder
in interface CollectionGroup
public boolean isRenderInactiveToggleButton()
isRenderInactiveToggleButton
in interface CollectionGroup
public void setRenderInactiveToggleButton(boolean renderInactiveToggleButton)
setRenderInactiveToggleButton
in interface CollectionGroup
renderInactiveToggleButton
- the showHideInactiveButton to setpublic int getDisplayCollectionSize()
getDisplayCollectionSize
in interface CollectionGroup
public void setDisplayCollectionSize(int displayCollectionSize)
setDisplayCollectionSize
in interface CollectionGroup
public boolean isHighlightNewItems()
isHighlightNewItems
in interface CollectionGroup
public void setHighlightNewItems(boolean highlightNewItems)
setHighlightNewItems
in interface CollectionGroup
public String getNewItemsCssClass()
getNewItemsCssClass
in interface CollectionGroup
public void setNewItemsCssClass(String newItemsCssClass)
setNewItemsCssClass
in interface CollectionGroup
public String getAddItemCssClass()
getAddItemCssClass
in interface CollectionGroup
public void setAddItemCssClass(String addItemCssClass)
setAddItemCssClass
in interface CollectionGroup
public boolean isHighlightAddItem()
isHighlightAddItem
in interface CollectionGroup
public void setHighlightAddItem(boolean highlightAddItem)
setHighlightAddItem
in interface CollectionGroup
public boolean isRenderAddBlankLineButton()
The button will be added separately from the collection items. The default add line wil not be rendered. The action of the button will call the controller, add the blank line to the collection and do a component refresh.
isRenderAddBlankLineButton
in interface CollectionGroup
public void setRenderAddBlankLineButton(boolean renderAddBlankLineButton)
setRenderAddBlankLineButton
in interface CollectionGroup
public Action getAddBlankLineAction()
Action
field rendered when renderAddBlankLineButton is truegetAddBlankLineAction
in interface CollectionGroup
public void setAddBlankLineAction(Action addBlankLineAction)
Action
fieldsetAddBlankLineAction
in interface CollectionGroup
public String getAddLinePlacement()
Valid values are 'TOP' or 'BOTTOM'. The default is 'TOP'. When the value is 'BOTTOM' the blank line will be added to the end of the collection.
getAddLinePlacement
in interface CollectionGroup
public void setAddLinePlacement(String addLinePlacement)
setAddLinePlacement
in interface CollectionGroup
addLinePlacement
- add line placement stringpublic boolean isRenderSaveLineActions()
isRenderSaveLineActions
in interface CollectionGroup
public void setRenderSaveLineActions(boolean renderSaveLineActions)
setRenderSaveLineActions
in interface CollectionGroup
public boolean isAddWithDialog()
isAddWithDialog
in interface CollectionGroup
public void setAddWithDialog(boolean addWithDialog)
setAddWithDialog
in interface CollectionGroup
CollectionGroup.isAddWithDialog()
public Action getAddWithDialogAction()
Action
that will be displayed that will open the add line group in a dialog.getAddWithDialogAction
in interface CollectionGroup
public void setAddWithDialogAction(Action addWithDialogAction)
setAddWithDialogAction
in interface CollectionGroup
CollectionGroup.getAddWithDialogAction()
public DialogGroup getAddLineDialog()
CollectionGroup.isAddWithDialog()
is true.
If dialog group is not set by add with dialog is true, a default dialog group will be created.
The add line items and actions are still used as usual, unless the items and footer items have been explicity set in the dialog group
getAddLineDialog
in interface CollectionGroup
public void setAddLineDialog(DialogGroup addLineDialog)
setAddLineDialog
in interface CollectionGroup
CollectionGroup.getAddLineDialog()
public boolean isUseServerPaging()
isUseServerPaging
in interface CollectionGroup
public void setUseServerPaging(boolean useServerPaging)
setUseServerPaging
in interface CollectionGroup
useServerPaging
- the useServerPaging value to setpublic int getPageSize()
getPageSize
in interface CollectionGroup
public void setPageSize(int pageSize)
setPageSize
in interface CollectionGroup
public int getDisplayStart()
if this field has not been set, the returned value will be -1
getDisplayStart
in interface CollectionGroup
public void setDisplayStart(int displayStart)
setDisplayStart
in interface CollectionGroup
displayStart
- the displayStart to setpublic int getDisplayLength()
if this field has not been set, the returned value will be -1
getDisplayLength
in interface CollectionGroup
public void setDisplayLength(int displayLength)
setDisplayLength
in interface CollectionGroup
displayLength
- the displayLength to setpublic int getFilteredCollectionSize()
if this field has not been set, the returned value will be -1
getFilteredCollectionSize
in interface CollectionGroup
public void setFilteredCollectionSize(int filteredCollectionSize)
This value is used for display and rendering purposes, it has no effect on the model collection
setFilteredCollectionSize
in interface CollectionGroup
filteredCollectionSize
- the filtered collection sizepublic int getTotalCollectionSize()
public void setTotalCollectionSize(int totalCollectionSize)
protected List<String> getTotalColumns()
protected void setTotalColumns(List<String> totalColumns)
public void completeValidation(ValidationTrace tracer)
completeValidation
in interface Component
completeValidation
in interface CollectionGroup
completeValidation
in class GroupBase
tracer
- Record of component's locationComponent.completeValidation(org.kuali.rice.krad.datadictionary.validator.ValidationTrace)
public boolean isEditWithDialog()
isEditWithDialog
in interface CollectionGroup
public void setEditWithDialog(boolean editWithDialog)
setEditWithDialog
in interface CollectionGroup
CollectionGroup.isEditWithDialog()
public boolean isCustomEditLineDialog()
isCustomEditLineDialog
in interface CollectionGroup
public void setCustomEditLineDialog(boolean customEditLineDialog)
setCustomEditLineDialog
in interface CollectionGroup
CollectionGroup.isCustomEditLineDialog()
public DialogGroup getEditLineDialogPrototype()
CollectionGroup.isEditWithDialog()
is true.
If not specified a default prototype edit line dialog will be created with the items from the collection.
getEditLineDialogPrototype
in interface CollectionGroup
public void setEditLineDialogPrototype(DialogGroup editLineDialogPrototype)
setEditLineDialogPrototype
in interface CollectionGroup
CollectionGroup.getEditLineDialogPrototype()
public Action getEditWithDialogActionPrototype()
Action
that will be displayed that will open the edit line group in a dialog.getEditWithDialogActionPrototype
in interface CollectionGroup
public void setEditWithDialogActionPrototype(Action editWithDialogActionPrototype)
setEditWithDialogActionPrototype
in interface CollectionGroup
CollectionGroup.getEditWithDialogActionPrototype()
public Action getEditInDialogSaveActionPrototype()
Action
that will be displayed within the edit line group in a dialog.getEditInDialogSaveActionPrototype
in interface CollectionGroup
public void setEditInDialogSaveActionPrototype(Action editInDialogSaveActionPrototype)
setEditInDialogSaveActionPrototype
in interface CollectionGroup
CollectionGroup.getEditInDialogSaveActionPrototype()
public List<DialogGroup> getLineDialogs()
getLineDialogs
in interface CollectionGroup
public void setLineDialogs(List<DialogGroup> dialogGroups)
setLineDialogs
in interface CollectionGroup
CollectionGroup.getLineDialogs()
Copyright © 2005–2015 The Kuali Foundation. All rights reserved.