|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.kuali.rice.krad.datadictionary.DictionaryBeanBase org.kuali.rice.krad.datadictionary.uif.UifDictionaryBeanBase org.kuali.rice.krad.uif.component.ComponentBase org.kuali.rice.krad.uif.element.ContentElementBase org.kuali.rice.krad.uif.element.Action
public class Action
Field that presents an action that can be taken on the UI such as submitting the form or invoking a script
Field Summary |
---|
Fields inherited from interface org.kuali.rice.krad.uif.component.Ordered |
---|
INITIAL_ORDER_VALUE |
Fields inherited from interface org.springframework.core.Ordered |
---|
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
Constructor Summary | |
---|---|
Action()
|
Method Summary | |
---|---|
void |
addActionParameter(String parameterName,
String parameterValue)
Convenience method to add a parameter to the action parameters Map |
protected void |
buildActionData(View view,
Object model,
Component parent)
Builds the data attributes that will be read client side to determine how to handle the action and the additional data that should be submitted with the action |
void |
completeValidation(ValidationTrace tracer)
Validates different requirements of component compiling a series of reports detailing information on errors found in the component. |
String |
getActionEvent()
Name of the event that will be set when the action is invoked |
Image |
getActionImage()
Image to use for the action |
String |
getActionImagePlacement()
|
String |
getActionLabel()
Label text for the action |
String |
getActionParameter(String parameterName)
Get an actionParameter by name |
Map<String,String> |
getActionParameters()
Parameters that should be sent when the action is invoked |
String |
getActionScript()
Client side javascript to be executed when this actionField is clicked |
ActionSecurity |
getActionSecurity()
Action Security object that indicates what authorization (permissions) exist for the action |
Map<String,String> |
getAdditionalSubmitData()
Map of additional data that will be posted when the action is invoked |
String |
getAjaxReturnType()
Gets the return type for the ajax call |
protected Class<? extends ComponentSecurity> |
getComponentSecurityClass()
Returns the security class that is associated with the component (used for initialization and validation) |
List<Component> |
getComponentsForLifecycle()
List of components that are contained within the component and should be sent through the lifecycle |
List<String> |
getDisabledConditionControlNames()
Control names to add handlers to for disable functionality, cannot be set |
String |
getDisabledConditionJs()
Get the disable condition js derived from the springEL, cannot be set. |
String |
getDisabledReason()
If the action field is disabled, gives a reason for why which will be displayed as a tooltip on the action field (button) |
List<String> |
getDisabledWhenChangedPropertyNames()
Gets the property names of fields that when changed, will disable this component |
List<String> |
getEnabledWhenChangedPropertyNames()
Gets the property names of fields that when changed, will enable this component |
String |
getErrorCallback()
Gets the script which will be invoked when the action fails due to problems in the ajax call or the return of an incident report |
String |
getFocusOnIdAfterSubmit()
The element to place focus on in the new page after the new page is retrieved. |
String |
getJumpToIdAfterSubmit()
|
String |
getJumpToNameAfterSubmit()
The name to jump to in the next page, the element with this name will be jumped to automatically when the new page is retrieved after a submit. |
String |
getLoadingMessageText()
Gets the loading message used by action's blockUI |
String |
getMethodToCall()
Name of the method that should be called when the action is selected |
String |
getNavigateToPageId()
For an Action that is part of a
NavigationGroup
|
String |
getPreSubmitCall()
Gets the script which needs to be invoked before the form is submitted |
String |
getRefreshId()
Id for the component that should be refreshed after the action completes |
String |
getRefreshPropertyName()
Property name for the DataField that should be refreshed after the action
completes |
String |
getSuccessCallback()
Gets the script which will be invoked on a successful ajax call |
boolean |
isAjaxSubmit()
When this property is set to true it will submit the form using Ajax instead of the browser submit. |
boolean |
isDisableBlocking()
Indicates whether blocking for the action should be disabled |
boolean |
isDisabled()
Indicates whether the action (input or button) is disabled (doesn't allow interaction) |
boolean |
isDisplayResponseInLightBox()
Indicates if the action response should be displayed in a lightbox |
boolean |
isEvaluateDisabledOnKeyUp()
Evaluate the disable condition on controls which disable it on each key up event |
boolean |
isPerformClientSideValidation()
Indicates whether the form data should be validated on the client side return true if validation should occur, false otherwise |
boolean |
isPerformDirtyValidation()
|
void |
performApplyModel(View view,
Object model,
Component parent)
Sets the disabledExpression, if any, evaluates it and sets the disabled property |
void |
performFinalize(View view,
Object model,
Component parent)
The following finalization is performed: Add methodToCall action parameter if set and setup event code for setting action parameters Invoke method to build the data attributes and submit data for the action Compose the final onclick script for the action Parses the disabled expressions, if any, to equivalent javascript and evaluates the disable/enable when changed property names |
void |
setActionEvent(String actionEvent)
Setter for the action event |
void |
setActionImage(Image actionImage)
Setter for the action image field |
void |
setActionImagePlacement(String actionImagePlacement)
Set to TOP, BOTTOM, LEFT, RIGHT to position image at that location within the button. |
void |
setActionLabel(String actionLabel)
Setter for the actions label |
void |
setActionParameters(Map<String,String> actionParameters)
Setter for the action parameters |
void |
setActionScript(String actionScript)
|
void |
setAdditionalSubmitData(Map<String,String> additionalSubmitData)
Setter for map holding additional data to post |
void |
setAjaxReturnType(String ajaxReturnType)
Setter for the type of ajax return |
void |
setAjaxSubmit(boolean ajaxSubmit)
Setter for ajaxSubmit |
void |
setComponentSecurity(ComponentSecurity componentSecurity)
Override to assert a ActionSecurity instance is set |
void |
setDisableBlocking(boolean disableBlocking)
Setter for disabling blocking when the action is invoked |
void |
setDisabled(boolean disabled)
Setter for the disabled indicator |
void |
setDisabledReason(String disabledReason)
Setter for the disabled reason text |
void |
setDisabledWhenChangedPropertyNames(List<String> disabledWhenChangedPropertyNames)
Sets the property names of fields that when changed, will disable this component |
void |
setDisplayResponseInLightBox(boolean displayResponseInLightBox)
Setter for indicating the response should be rendered in a lightbox |
void |
setEnabledWhenChangedPropertyNames(List<String> enabledWhenChangedPropertyNames)
Sets the property names of fields that when changed, will enable this component |
void |
setErrorCallback(String errorCallback)
Setter for errorCallback |
void |
setEvaluateDisabledOnKeyUp(boolean evaluateDisabledOnKeyUp)
Set evaluateDisableOnKeyUp |
void |
setFocusOnIdAfterSubmit(String focusOnIdAfterSubmit)
|
void |
setJumpToIdAfterSubmit(String jumpToIdAfterSubmit)
The id to jump to in the next page, the element with this id will be jumped to automatically when the new page is retrieved after a submit. |
void |
setJumpToNameAfterSubmit(String jumpToNameAfterSubmit)
|
void |
setLoadingMessageText(String loadingMessageText)
When this property is set, it is used in place of the loading message text used by the blockUI |
void |
setMethodToCall(String methodToCall)
Setter for the actions method to call |
void |
setNavigateToPageId(String navigateToPageId)
Setter for the navigate to page id |
void |
setPerformClientSideValidation(boolean performClientSideValidation)
Setter for the client side validation flag |
void |
setPerformDirtyValidation(boolean performDirtyValidation)
|
void |
setPreSubmitCall(String preSubmitCall)
Setter for preSubmitCall |
void |
setRefreshId(String refreshId)
Setter for the component refresh id |
void |
setRefreshPropertyName(String refreshPropertyName)
Setter for the property name of the DataField that should be refreshed |
void |
setSuccessCallback(String successCallback)
Setter for successCallback |
protected void |
setupRefreshAction(View view)
When the action is updating a component sets up the refresh script for the component (found by the given refresh id or refresh property name) |
Methods inherited from class org.kuali.rice.krad.uif.element.ContentElementBase |
---|
getComponentTypeName |
Methods inherited from class org.kuali.rice.krad.datadictionary.uif.UifDictionaryBeanBase |
---|
getExpressionGraph, getPropertyExpression, getPropertyExpressions, getRefreshExpressionGraph, setExpressionGraph, setPropertyExpressions, setRefreshExpressionGraph |
Methods inherited from class org.kuali.rice.krad.datadictionary.DictionaryBeanBase |
---|
getComponentCode, getNamespaceCode, setComponentCode, setNamespaceCode |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.kuali.rice.krad.datadictionary.uif.UifDictionaryBean |
---|
getExpressionGraph, getPropertyExpression, getPropertyExpressions, getRefreshExpressionGraph, setExpressionGraph, setPropertyExpressions, setRefreshExpressionGraph |
Methods inherited from interface org.kuali.rice.krad.datadictionary.DictionaryBean |
---|
getComponentCode, getNamespaceCode |
Methods inherited from interface org.kuali.rice.krad.uif.component.ScriptEventSupport |
---|
getOnBlurScript, getOnChangeScript, getOnClickScript, getOnCloseScript, getOnDblClickScript, getOnDocumentReadyScript, getOnFocusScript, getOnKeyDownScript, getOnKeyPressScript, getOnKeyUpScript, getOnLoadScript, getOnMouseDownScript, getOnMouseMoveScript, getOnMouseOutScript, getOnMouseOverScript, getOnMouseUpScript, getOnSubmitScript, getOnUnloadScript, setOnBlurScript, setOnLoadScript |
Constructor Detail |
---|
public Action()
Method Detail |
---|
public void performApplyModel(View view, Object model, Component parent)
performApplyModel
in interface Component
performApplyModel
in class ComponentBase
view
- - view instance to which the component belongsmodel
- - Top level object containing the data (could be the form or aparent
- Component.performApplyModel(org.kuali.rice.krad.uif.view.View, java.lang.Object,
org.kuali.rice.krad.uif.component.Component)
public void performFinalize(View view, Object model, Component parent)
performFinalize
in interface Component
performFinalize
in class ComponentBase
view
- - view instance that should be finalized for renderingmodel
- - top level object containing the dataparent
- - parent componentComponentBase.performFinalize(org.kuali.rice.krad.uif.view.View,
java.lang.Object, org.kuali.rice.krad.uif.component.Component)
protected void setupRefreshAction(View view)
view
- - view instance the action belongs toprotected void buildActionData(View view, Object model, Component parent)
Note these data attributes will be exposed as a data map client side. The simple attributes (non object value) are also written out as attributes on the action element.
view
- - view instance the action belongs tomodel
- - model object containing the view dataparent
- - component the holds the actionpublic List<Component> getComponentsForLifecycle()
Component
Used by ViewHelperService
for the various lifecycle callbacks
getComponentsForLifecycle
in interface Component
getComponentsForLifecycle
in class ComponentBase
ComponentBase.getComponentsForLifecycle()
public String getMethodToCall()
For a server side call (clientSideCall is false), gives the name of the method in the mapped controller that should be invoked when the action is selected. For client side calls gives the name of the script function that should be invoked when the action is selected
public void setMethodToCall(String methodToCall)
methodToCall
- public String getActionLabel()
The label text is used by the template renderers to give a human readable label for the action. For buttons this generally is the button text, while for an action link it would be the links displayed text
public void setActionLabel(String actionLabel)
actionLabel
- public Image getActionImage()
When the action image component is set (and render is true) the image will be used to present the action as opposed to the default (input submit). For action link templates the image is used for the link instead of the action link text
public void setActionImage(Image actionImage)
actionImage
- public String getNavigateToPageId()
Action
that is part of a
NavigationGroup
Support exists in the UifControllerBase
for handling
navigation between pages
public void setNavigateToPageId(String navigateToPageId)
navigateToPageId
- public String getActionEvent()
Action events can be looked at by the view or components in order to render differently depending on the action requested.
UifConstants.ActionEvents
public void setActionEvent(String actionEvent)
actionEvent
- public Map<String,String> getAdditionalSubmitData()
Each entry in this map will be sent as a request parameter when the action is chosen. Note this in addition to the form data that is sent. For example, suppose the model contained a property named number and a boolean named showActive, we can send values for this properties by adding the following entries to this map: {'number':'a13', 'showActive', 'true'}
The additionalSubmitData map is different from the actionParameters map. All name/value pairs given as actionParameters populated the form map actionParameters. While name/value pair given in additionalSubmitData populate different form (model) properties
public void setAdditionalSubmitData(Map<String,String> additionalSubmitData)
additionalSubmitData
- public Map<String,String> getActionParameters()
Action renderer will decide how the parameters are sent for the action (via script generated hiddens, or script parameters, ...)
Can be set by other components such as the CollectionGroup
to provide the context the action is in (such as the collection name and
line the action applies to)
public void setActionParameters(Map<String,String> actionParameters)
actionParameters
- public void addActionParameter(String parameterName, String parameterValue)
parameterName
- - name of parameter to addparameterValue
- - value of parameter to addpublic String getActionParameter(String parameterName)
public ActionSecurity getActionSecurity()
public void setComponentSecurity(ComponentSecurity componentSecurity)
ActionSecurity
instance is set
setComponentSecurity
in interface Component
setComponentSecurity
in class ComponentBase
componentSecurity
- - instance of ActionSecurityComponent.setComponentSecurity(org.kuali.rice.krad.uif.component.ComponentSecurity)
protected Class<? extends ComponentSecurity> getComponentSecurityClass()
ComponentBase
getComponentSecurityClass
in class ComponentBase
public String getJumpToIdAfterSubmit()
public void setJumpToIdAfterSubmit(String jumpToIdAfterSubmit)
jumpToIdAfterSubmit
- the jumpToIdAfterSubmit to setpublic String getJumpToNameAfterSubmit()
public void setJumpToNameAfterSubmit(String jumpToNameAfterSubmit)
jumpToNameAfterSubmit
- the jumpToNameAfterSubmit to setpublic String getFocusOnIdAfterSubmit()
The following are allowed:
public void setFocusOnIdAfterSubmit(String focusOnIdAfterSubmit)
focusOnIdAfterSubmit
- the focusOnAfterSubmit to setpublic boolean isPerformClientSideValidation()
public void setPerformClientSideValidation(boolean performClientSideValidation)
performClientSideValidation
- public String getActionScript()
This overrides the default action for this Action so the method called must explicitly submit, navigate, etc. through js, if necessary. In addition, this js occurs AFTER onClickScripts set on this field, it will be the last script executed by the click event. Sidenote: This js is always called after hidden actionParameters and methodToCall methods are written by the js to the html form.
public void setActionScript(String actionScript)
actionScript
- the actionScript to setpublic void setPerformDirtyValidation(boolean performDirtyValidation)
performDirtyValidation
- the blockValidateDirty to setpublic boolean isPerformDirtyValidation()
public boolean isDisabled()
public void setDisabled(boolean disabled)
disabled
- public String getDisabledReason()
isDisabled()
public void setDisabledReason(String disabledReason)
disabledReason
- public String getActionImagePlacement()
public void setActionImagePlacement(String actionImagePlacement)
public String getPreSubmitCall()
The preSubmitCall can carry out custom logic for the action before the submit occurs. The value should be given as one or more lines of script and should return a boolean. If false is returned from the call, the submit is not carried out. Furthermore, the preSubmitCall can refer to the request object through the variable 'kradRequest' or 'this'. This gives full access over the request for doing such things as adding additional data
Examples 'return doFunction(kradRequest);', 'var valid=true;return valid;'
The preSubmit call will be invoked both for ajax and non-ajax submits
public void setPreSubmitCall(String preSubmitCall)
preSubmitCall
- public boolean isAjaxSubmit()
public void setAjaxSubmit(boolean ajaxSubmit)
ajaxSubmit
- public String getAjaxReturnType()
The ajax return type indicates how the response content will be handled in the client. Typical examples include updating a component, the page, or doing a redirect.
UifConstants.AjaxReturnTypes
public void setAjaxReturnType(String ajaxReturnType)
ajaxReturnType
- public boolean isDisplayResponseInLightBox()
public void setDisplayResponseInLightBox(boolean displayResponseInLightBox)
displayResponseInLightBox
- public String getSuccessCallback()
The successCallback can carry out custom logic after a successful ajax submission has been made. The value can contain one or more script statements. In addition, the response contents can be accessed through the variable 'responseContents'
Examples 'handleSuccessfulUpdate(responseContents);'
The successCallback may only be specified when isAjaxSubmit()
is true
public void setSuccessCallback(String successCallback)
successCallback
- public String getErrorCallback()
The errorCallback can carry out custom logic after a failed ajax submission. The value can contain one or more script statements. In addition, the response contents can be accessed through the variable 'responseContents'
Examples 'handleFailedUpdate(responseContents);'
The errorCallback may only be specified when isAjaxSubmit()
is true
public void setErrorCallback(String errorCallback)
errorCallback
- public String getRefreshId()
Either refresh id or refresh property name can be set to configure the component that should be refreshed after the action completes. If both are blank, the page will be refreshed
public void setRefreshId(String refreshId)
refreshId
- public String getRefreshPropertyName()
DataField
that should be refreshed after the action
completes
Either refresh id or refresh property name can be set to configure the component that should be refreshed after the action completes. If both are blank, the page will be refreshed
Property name will be adjusted to use the default binding path unless it contains the form prefix
UifConstants.NO_BIND_ADJUST_PREFIX
public void setRefreshPropertyName(String refreshPropertyName)
refreshPropertyName
- public String getLoadingMessageText()
public void setLoadingMessageText(String loadingMessageText)
loadingMessageText
- public boolean isDisableBlocking()
By default when an action is invoked part of the page or the entire window is blocked until the action completes. If this property is set to true the blocking will not be displayed.
Currently if an action returns a file download, this property should be set to true. If not, the blocking will never get unblocked (because the page does not get notification a file was downloaded)
public void setDisableBlocking(boolean disableBlocking)
disableBlocking
- public void completeValidation(ValidationTrace tracer)
Component
completeValidation
in interface Component
completeValidation
in class ComponentBase
tracer
- Record of component's locationComponent.completeValidation(org.kuali.rice.krad.datadictionary.validator.ValidationTrace)
public boolean isEvaluateDisabledOnKeyUp()
public void setEvaluateDisabledOnKeyUp(boolean evaluateDisabledOnKeyUp)
evaluateDisabledOnKeyUp
- public String getDisabledConditionJs()
public List<String> getDisabledConditionControlNames()
public List<String> getDisabledWhenChangedPropertyNames()
public void setDisabledWhenChangedPropertyNames(List<String> disabledWhenChangedPropertyNames)
disabledWhenChangedPropertyNames
- public List<String> getEnabledWhenChangedPropertyNames()
public void setEnabledWhenChangedPropertyNames(List<String> enabledWhenChangedPropertyNames)
enabledWhenChangedPropertyNames
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |